diff options
-rw-r--r-- | mysql-test/r/parser.result | 10 | ||||
-rw-r--r-- | mysql-test/t/parser.test | 22 |
2 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result index cb44a235f25..76326f65f08 100644 --- a/mysql-test/r/parser.result +++ b/mysql-test/r/parser.result @@ -273,6 +273,16 @@ create table VAR_SAMP(a int); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP(a int)' at line 1 create table VAR_SAMP (a int); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP (a int)' at line 1 +DROP TABLE IF EXISTS table_25930_a; +DROP TABLE IF EXISTS table_25930_b; +SET SQL_MODE = 'ANSI_QUOTES'; +CREATE TABLE table_25930_a ( "blah" INT ); +CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; +desc table_25930_b; +Field Type Null Key Default Extra +"blah" - 1 bigint(12) YES NULL +DROP TABLE table_25930_a; +DROP TABLE table_25930_b; SET @@sql_mode=@save_sql_mode; select pi(3.14); ERROR 42000: Incorrect parameter count in the call to native function 'pi' diff --git a/mysql-test/t/parser.test b/mysql-test/t/parser.test index 65aa9dbb89b..79c9129bb74 100644 --- a/mysql-test/t/parser.test +++ b/mysql-test/t/parser.test @@ -363,6 +363,28 @@ create table VAR_SAMP(a int); --error ER_PARSE_ERROR create table VAR_SAMP (a int); +# +# Bug#25930 (CREATE TABLE x SELECT ... parses columns wrong when ran with +# ANSI_QUOTES mode) +# + +--disable_warnings +DROP TABLE IF EXISTS table_25930_a; +DROP TABLE IF EXISTS table_25930_b; +--enable_warnings + +SET SQL_MODE = 'ANSI_QUOTES'; +CREATE TABLE table_25930_a ( "blah" INT ); +CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; + +# The lexer used to chop the first <">, +# not marking the start of the token "blah" correctly. +desc table_25930_b; + +DROP TABLE table_25930_a; +DROP TABLE table_25930_b; + + SET @@sql_mode=@save_sql_mode; #============================================================================= |