Below is the list of changes that have just been committed into a local
5.1 repository of marcsql. When marcsql does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-08-09 17:31:00-06:00, malff@weblab.(none) +2 -0
Bug#25930 (CREATE TABLE x SELECT ... parses columns wrong when ran with
ANSI_QUOTES mode)
This patch contains a test case only, showing that the bug has been fixed.
The issue was related to parsing <"blah">, where the lexical analyser
would not properly delimit the start and end of the token.
Properly making the token boundaries has been fixed in sql_lex.cc
with the patch for bug 25411 : see the Lex_input_stream class.
mysql-test/r/parser.result@stripped, 2007-08-09 17:30:56-06:00, malff@weblab.(none) +10 -0
Test case for Bug#25930, which was fixed by Bug#25411
mysql-test/t/parser.test@stripped, 2007-08-09 17:30:56-06:00, malff@weblab.(none) +22 -0
Test case for Bug#25930, which was fixed by Bug#25411
diff -Nrup a/mysql-test/r/parser.result b/mysql-test/r/parser.result
--- a/mysql-test/r/parser.result 2007-01-11 14:58:02 -07:00
+++ b/mysql-test/r/parser.result 2007-08-09 17:30:56 -06:00
@@ -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 -Nrup a/mysql-test/t/parser.test b/mysql-test/t/parser.test
--- a/mysql-test/t/parser.test 2007-01-11 14:58:02 -07:00
+++ b/mysql-test/t/parser.test 2007-08-09 17:30:56 -06:00
@@ -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;
#=============================================================================