List:Commits« Previous MessageNext Message »
From:Gleb Shchepa Date:June 24 2008 4:03pm
Subject:bzr commit into mysql-5.0 branch (gshchepa:2642) Bug#33812
View as plain text  
#At file:///work/bzr/mysql-5.0-bugteam/

 2642 Gleb Shchepa	2008-06-24
      back-port from 5.1.
      
      Bug#33812: mysql client incorrectly parsing DELIMITER
            
      Remove unnecessary and incorrect code that tried
      to pull delimiter commands out of the middle of
      statements.
modified:
  client/mysql.cc
  mysql-test/r/mysql.result
  mysql-test/t/mysql_delimiter.sql

=== modified file 'client/mysql.cc'
--- a/client/mysql.cc	2008-06-24 14:32:06 +0000
+++ b/client/mysql.cc	2008-06-24 16:03:17 +0000
@@ -2081,37 +2081,6 @@ 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	2007-10-04 08:06:01 +0000
+++ b/mysql-test/r/mysql.result	2008-06-24 16:03:17 +0000
@@ -38,6 +38,8 @@ 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 14:32:06 +0000
+++ b/mysql-test/t/mysql_delimiter.sql	2008-06-24 16:03:17 +0000
@@ -61,6 +61,12 @@ 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 commit into mysql-5.0 branch (gshchepa:2642) Bug#33812Gleb Shchepa24 Jun