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 MILLER | 15 Aug |