diff options
author | unknown <antony@ltantony.rdg.cyberkinetica.homeunix.net> | 2004-11-17 15:49:10 +0000 |
---|---|---|
committer | unknown <antony@ltantony.rdg.cyberkinetica.homeunix.net> | 2004-11-17 15:49:10 +0000 |
commit | 191fa2993286da65e1896801e6e4a9bdf153c200 (patch) | |
tree | 64d4ad2d56e8db843d4d3030e373422b4c15938b /sql/mysql_priv.h | |
parent | 1dad655030e240bbf9a48e3290ffe48b68d82466 (diff) | |
download | mariadb-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/mysql_priv.h')
-rw-r--r-- | sql/mysql_priv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 7a49799c7cd..27d7f104e44 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -282,6 +282,7 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset; #define MODE_ERROR_FOR_DIVISION_BY_ZERO (MODE_INVALID_DATES*2) #define MODE_TRADITIONAL (MODE_ERROR_FOR_DIVISION_BY_ZERO*2) #define MODE_NO_AUTO_CREATE_USER (MODE_TRADITIONAL*2) +#define MODE_BROKEN_NOT (MODE_NO_AUTO_CREATE_USER*2) #define RAID_BLOCK_SIZE 1024 |