List:Commits« Previous MessageNext Message »
From:Chad MILLER Date:August 15 2006 5:30pm
Subject:bk commit into 5.1 tree (cmiller:1.2271)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of cmiller. When cmiller 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, 2006-08-15 19:30:24+02:00, cmiller@stripped +3 -0
  Merge maint1.mysql.com:/data/localhome/cmiller/bug20908/my50-bug20908
  into  maint1.mysql.com:/data/localhome/cmiller/bug20908/my51-bug20908
  MERGE: 1.1810.1696.105

  mysql-test/r/variables.result@stripped, 2006-08-15 19:30:20+02:00, cmiller@stripped +0 -0
    Auto merged
    MERGE: 1.76.1.12

  mysql-test/t/variables.test@stripped, 2006-08-15 19:30:20+02:00, cmiller@stripped +0 -0
    Auto merged
    MERGE: 1.51.1.12

  sql/sql_lex.cc@stripped, 2006-08-15 19:30:20+02:00, cmiller@stripped +0 -0
    Auto merged
    MERGE: 1.142.1.51

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	cmiller
# Host:	maint1.mysql.com
# Root:	/data/localhome/cmiller/bug20908/my51-bug20908/RESYNC

--- 1.194/sql/sql_lex.cc	2006-08-15 19:30:31 +02:00
+++ 1.195/sql/sql_lex.cc	2006-08-15 19:30:31 +02:00
@@ -1049,6 +1049,8 @@ int MYSQLlex(void *arg, void *yythd)
       if (c == '.')
 	lex->next_state=MY_LEX_IDENT_SEP;
       length= (uint) (lex->ptr - lex->tok_start)-1;
+      if (length == 0) 
+        return(ABORT_SYM);              // Names must be nonempty.
       if ((tokval= find_keyword(lex,length,0)))
       {
 	yyUnget();				// Put back 'c'

--- 1.88/mysql-test/r/variables.result	2006-08-15 19:30:31 +02:00
+++ 1.89/mysql-test/r/variables.result	2006-08-15 19:30:31 +02:00
@@ -689,6 +689,12 @@ select @@log_queries_not_using_indexes;
 show variables like 'log_queries_not_using_indexes';
 Variable_name	Value
 log_queries_not_using_indexes	OFF
+select @@"";
+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 '""' at line 1
+select @@&;
+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 '&' at line 1
+select @@@;
+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 '@' at line 1
 End of 5.0 tests
 set global binlog_cache_size         =@my_binlog_cache_size;
 set global connect_timeout           =@my_connect_timeout;

--- 1.61/mysql-test/t/variables.test	2006-08-15 19:30:31 +02:00
+++ 1.62/mysql-test/t/variables.test	2006-08-15 19:30:31 +02:00
@@ -585,6 +585,16 @@ show variables like 'ssl%';
 select @@log_queries_not_using_indexes;
 show variables like 'log_queries_not_using_indexes';
 
+#
+# Bug#20908: Crash if select @@""
+#
+--error ER_PARSE_ERROR
+select @@"";
+--error ER_PARSE_ERROR
+select @@&;
+--error ER_PARSE_ERROR
+select @@@;
+
 --echo End of 5.0 tests
 
 # This is at the very after the versioned tests, since it involves doing
@@ -620,3 +630,4 @@ set global server_id                 =@m
 set global slow_launch_time          =@my_slow_launch_time;
 set global storage_engine            =@my_storage_engine;
 set global thread_cache_size         =@my_thread_cache_size;
+
Thread
bk commit into 5.1 tree (cmiller:1.2271)Chad MILLER15 Aug