List:Commits« Previous MessageNext Message »
From:Davi Arnaut Date:July 18 2008 1:48am
Subject:bzr push into mysql-5.0 branch (davi:2580 to 2581) Bug#38158, Bug#33812
View as plain text  
 2581 Davi Arnaut	2008-07-17
      Bug#33812: mysql client incorrectly parsing DELIMITER
      
      Revert fix for this bug as it introduced a regression
      reported in Bug#38158.
modified:
  client/mysql.cc
  mysql-test/r/mysql.result
  mysql-test/t/mysql_delimiter.sql

 2580 Jonathan Perkin	2008-07-17 [merge]
      Merge from mysql-5.0.66-release
added:
  mysql-test/r/parser.result
  mysql-test/t/parser.test
modified:
  mysql-test/include/have_archive.inc
  mysql-test/include/have_bdb.inc
  mysql-test/include/have_big5.inc
  mysql-test/include/have_blackhole.inc
  mysql-test/include/have_case_sensitive_file_system.inc
  mysql-test/include/have_compress.inc
  mysql-test/include/have_cp1250_ch.inc
  mysql-test/include/have_cp932.inc
  mysql-test/include/have_crypt.inc
  mysql-test/include/have_csv.inc
  mysql-test/include/have_eucjpms.inc
  mysql-test/include/have_euckr.inc
  mysql-test/include/have_exampledb.inc
  mysql-test/include/have_federated_db.inc
  mysql-test/include/have_gb2312.inc
  mysql-test/include/have_gbk.inc
  mysql-test/include/have_geometry.inc
  mysql-test/include/have_innodb.inc
  mysql-test/include/have_latin2_ch.inc
  mysql-test/include/have_log_bin.inc
  mysql-test/include/have_lowercase0.inc
  mysql-test/include/have_multi_ndb.inc
  mysql-test/include/have_ndb.inc
  mysql-test/include/have_query_cache.inc
  mysql-test/include/have_sjis.inc
  mysql-test/include/have_ssl.inc
  mysql-test/include/have_tis620.inc
  mysql-test/include/have_ucs2.inc
  mysql-test/include/have_udf.inc
  mysql-test/include/have_ujis.inc
  mysql-test/r/comments.result
  mysql-test/r/ps.result
  mysql-test/r/varbinary.result
  mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test
  mysql-test/t/varbinary.test
  mysys/default.c
  sql/item.cc
  sql/log_event.cc
  sql/sp_head.h
  sql/sql_lex.cc
  sql/sql_parse.cc
  sql/sql_yacc.yy

=== modified file 'client/mysql.cc'
--- a/client/mysql.cc	2008-06-24 16:05:56 +0000
+++ b/client/mysql.cc	2008-07-17 23:19:13 +0000
@@ -2081,6 +2081,37 @@ static bool add_line(String &buffer,char
 	continue;
       }
     }
+    else if (!*ml_comment && !*in_string &&
+             (end_of_line - pos) >= 10 &&
+             !my_strnncoll(charset_info, (uchar*) pos, 10,
+                           (const uchar*) "delimiter ", 10))
+    {
+      // Flush previously accepted characters
+      if (out != line)
+      {
+        buffer.append(line, (uint32) (out - line));
+        out= line;
+      }
+
+      // Flush possible comments in the buffer
+      if (!buffer.is_empty())
+      {
+        if (com_go(&buffer, 0) > 0) // < 0 is not fatal
+          DBUG_RETURN(1);
+        buffer.length(0);
+      }
+
+      /*
+        Delimiter wants the get rest of the given line as argument to
+        allow one to change ';' to ';;' and back
+      */
+      buffer.append(pos);
+      if (com_delimiter(&buffer, pos) > 0)
+        DBUG_RETURN(1);
+
+      buffer.length(0);
+      break;
+    }
     else if (!*ml_comment && !*in_string && is_prefix(pos, delimiter))
     {
       // Found a statement. Continue parsing after the delimiter

=== modified file 'mysql-test/r/mysql.result'
--- a/mysql-test/r/mysql.result	2008-06-24 16:03:17 +0000
+++ b/mysql-test/r/mysql.result	2008-07-17 23:19:13 +0000
@@ -38,8 +38,6 @@ t2
 t3
 Tables_in_test
 t1
-delimiter
-1
 _
 Test delimiter : from command line
 a

=== modified file 'mysql-test/t/mysql_delimiter.sql'
--- a/mysql-test/t/mysql_delimiter.sql	2008-06-24 16:03:17 +0000
+++ b/mysql-test/t/mysql_delimiter.sql	2008-07-17 23:19:13 +0000
@@ -61,12 +61,6 @@ show tables//
 delimiter ; # Reset delimiter
 
 #
-# Bug #33812: mysql client incorrectly parsing DELIMITER
-#
-select a as delimiter from t1
-delimiter ; # Reset delimiter
-
-#
 # Bug #36244: MySQL CLI doesn't recognize standalone -- as comment
 #             before DELIMITER statement
 #

Thread
bzr push into mysql-5.0 branch (davi:2580 to 2581) Bug#38158, Bug#33812Davi Arnaut18 Jul