summaryrefslogtreecommitdiff
path: root/sql/lex.h
diff options
context:
space:
mode:
authorunknown <antony@ltantony.rdg.cyberkinetica.homeunix.net>2004-11-17 15:49:10 +0000
committerunknown <antony@ltantony.rdg.cyberkinetica.homeunix.net>2004-11-17 15:49:10 +0000
commit191fa2993286da65e1896801e6e4a9bdf153c200 (patch)
tree64d4ad2d56e8db843d4d3030e373422b4c15938b /sql/lex.h
parent1dad655030e240bbf9a48e3290ffe48b68d82466 (diff)
downloadmariadb-git-191fa2993286da65e1896801e6e4a9bdf153c200.tar.gz
WL#638 - Fix precedence for parsing NOT ... LIKE expression s
Rework parser expression rules Rework handling for "||" concat/or Eliminate some shift/reduce conflicts Add support for "xxx IS [ NOT ] truth_value" mysql-test/r/ansi.result: Fix test for new BROKEN_NOT mode bit mysql-test/r/bool.result: WL#638 New test for BROKEN_NOT mode New test for "expr IS [NOT] truth_value" syntax mysql-test/r/sql_mode.result: Fix test for new BROKEN_NOT mode bit mysql-test/t/bool.test: WL#638 New test for BROKEN_NOT mode New test for "expr IS [NOT] truth_value" syntax sql/lex.h: WL#638 "&&" and "AND" return different tokens, NOT token changed to NOT_SYM OR_OR_CONCAT token changed to OR_OR_SYM New token "UNKNOWN" sql/mysql_priv.h: WL#638 New mode: BROKEN_NOT sql/mysqld.cc: WL#638 New mode: BROKEN_NOT sql/set_var.cc: WL#638 New mode: BROKEN_NOT BROKEN_NOT is set in MYSQL323 and MYSQL40 modes sql/sql_lex.cc: Bug#638 Alter tokens returned by lexer depending upon sql_mode: Return NOT2_SYM token instead of NOT_SYM when in BROKEN_NOT mode Return OR2_SYM token instead of OR_OR_SYM when not in PIPES_AS_CONCAT mode sql/sql_yacc.yy: WL#638 Change grammar to respect proper SQL syntax for NOT Clean up grammar, eliminate >100 shift/reduce conflicts New support for "expr IS [NOT] truth_value" SQL syntax Remove or_or_concat() support func. New support func is_truth_value()
Diffstat (limited to 'sql/lex.h')
-rw-r--r--sql/lex.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/lex.h b/sql/lex.h
index db31b3af994..cf0059a1397 100644
--- a/sql/lex.h
+++ b/sql/lex.h
@@ -48,7 +48,7 @@ SYM_GROUP sym_group_rtree= {"RTree keys", "HAVE_RTREE_KEYS"};
*/
static SYMBOL symbols[] = {
- { "&&", SYM(AND_SYM)},
+ { "&&", SYM(AND_AND_SYM)},
{ "<", SYM(LT)},
{ "<=", SYM(LE)},
{ "<>", SYM(NE)},
@@ -334,7 +334,7 @@ static SYMBOL symbols[] = {
{ "NEXT", SYM(NEXT_SYM)},
{ "NO", SYM(NO_SYM)},
{ "NONE", SYM(NONE_SYM)},
- { "NOT", SYM(NOT)},
+ { "NOT", SYM(NOT_SYM)},
{ "NO_WRITE_TO_BINLOG", SYM(NO_WRITE_TO_BINLOG)},
{ "NULL", SYM(NULL_SYM)},
{ "NUMERIC", SYM(NUMERIC_SYM)},
@@ -489,6 +489,7 @@ static SYMBOL symbols[] = {
{ "UNICODE", SYM(UNICODE_SYM)},
{ "UNION", SYM(UNION_SYM)},
{ "UNIQUE", SYM(UNIQUE_SYM)},
+ { "UNKNOWN", SYM(UNKNOWN_SYM)},
{ "UNLOCK", SYM(UNLOCK_SYM)},
{ "UNSIGNED", SYM(UNSIGNED)},
{ "UNTIL", SYM(UNTIL_SYM)},
@@ -523,7 +524,7 @@ static SYMBOL symbols[] = {
{ "YEAR", SYM(YEAR_SYM)},
{ "YEAR_MONTH", SYM(YEAR_MONTH_SYM)},
{ "ZEROFILL", SYM(ZEROFILL)},
- { "||", SYM(OR_OR_CONCAT)}
+ { "||", SYM(OR_OR_SYM)}
};