List:Internals« Previous MessageNext Message »
From:gluh Date:April 1 2005 9:13am
Subject:bk commit into 5.0 tree (gluh:1.1843) BUG#9383
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of gluh. When gluh 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
  1.1843 05/04/01 12:13:43 gluh@stripped +4 -0
  Fix for bug#9383: INFORMATION_SCHEMA.COLUMNS, JOIN, Crash, prepared statement
    restore original 'lex->query_tables' table list after
    processing of information schema table
    remove unnecessary operations

  BitKeeper/etc/logging_ok
    1.311 05/04/01 12:13:42 gluh@stripped +1 -0
    Logging to logging@stripped accepted

  sql/sql_show.cc
    1.230 05/04/01 12:11:50 gluh@stripped +1 -2
    Fix for bug#9383:INFORMATION_SCHEMA.COLUMNS, JOIN, Crash, prepared statement
      restore original 'lex->query_tables' table list after
      processing of information schema table
      remove unnecessary operations

  mysql-test/t/ps.test
    1.34 05/04/01 12:11:50 gluh@stripped +21 -0
    Fix for bug#9383:INFORMATION_SCHEMA.COLUMNS, JOIN, Crash, prepared statement

  mysql-test/r/ps.result
    1.35 05/04/01 12:11:50 gluh@stripped +18 -0
    Fix for bug#9383:INFORMATION_SCHEMA.COLUMNS, JOIN, Crash, prepared statement

# 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:	gluh
# Host:	eagle.intranet.mysql.r18.ru
# Root:	/home/gluh/MySQL/Bugs/mysql-5.0.9383

--- 1.229/sql/sql_show.cc	Fri Mar 25 16:09:15 2005
+++ 1.230/sql/sql_show.cc	Fri Apr  1 12:11:50 2005
@@ -3434,7 +3434,6 @@
     TABLE_LIST *table_list= tab->table->pos_in_table_list;
     if (table_list->schema_table && thd->fill_derived_tables())
     {
-      TABLE_LIST *save_next_global= table_list->next_global;
       TABLE_LIST **query_tables_last= lex->query_tables_last;
       TABLE *old_derived_tables= thd->derived_tables;
       MYSQL_LOCK *sql_lock= thd->lock;
@@ -3458,8 +3457,8 @@
       thd->lock= sql_lock;
       lex->sql_command= SQLCOM_SELECT;
       thd->derived_tables= old_derived_tables;
-      table_list->next_global= save_next_global;
       lex->query_tables_last= query_tables_last;
+      *query_tables_last= 0;
     }
   }
   thd->no_warnings_for_error= 0;

--- 1.310/BitKeeper/etc/logging_ok	Wed Mar 30 17:13:56 2005
+++ 1.311/BitKeeper/etc/logging_ok	Fri Apr  1 12:13:42 2005
@@ -56,6 +56,7 @@
 georg@stripped
 georg@stripped
 gerberb@stripped
+gluh@stripped
 gluh@gluh.(none)
 gluh@stripped
 gordon@stripped

--- 1.34/mysql-test/r/ps.result	Thu Mar  3 17:39:22 2005
+++ 1.35/mysql-test/r/ps.result	Fri Apr  1 12:11:50 2005
@@ -524,3 +524,21 @@
 a	b	c	a	b	c
 deallocate prepare stmt;
 drop table t1,t2;
+SET @aux= "SELECT COUNT(*)
+                FROM INFORMATION_SCHEMA.COLUMNS A,
+                INFORMATION_SCHEMA.COLUMNS B
+                WHERE A.TABLE_SCHEMA = B.TABLE_SCHEMA
+                AND A.TABLE_NAME = B.TABLE_NAME
+                AND A.COLUMN_NAME = B.COLUMN_NAME AND
+                A.TABLE_NAME = 'user'";
+prepare my_stmt from @aux;
+execute my_stmt;
+COUNT(*)
+37
+execute my_stmt;
+COUNT(*)
+37
+execute my_stmt;
+COUNT(*)
+37
+deallocate prepare my_stmt;

--- 1.33/mysql-test/t/ps.test	Thu Mar  3 17:39:22 2005
+++ 1.34/mysql-test/t/ps.test	Fri Apr  1 12:11:50 2005
@@ -540,3 +540,24 @@
 
 drop table t1,t2;
 
+
+#
+# Bug#9383: INFORMATION_SCHEMA.COLUMNS, JOIN, Crash, prepared statement
+#
+
+eval SET @aux= "SELECT COUNT(*)
+                FROM INFORMATION_SCHEMA.COLUMNS A,
+                INFORMATION_SCHEMA.COLUMNS B
+                WHERE A.TABLE_SCHEMA = B.TABLE_SCHEMA
+                AND A.TABLE_NAME = B.TABLE_NAME
+                AND A.COLUMN_NAME = B.COLUMN_NAME AND
+                A.TABLE_NAME = 'user'";
+
+let $exec_loop_count= 3;
+eval prepare my_stmt from @aux;
+while ($exec_loop_count)
+{
+  eval execute my_stmt;
+  dec $exec_loop_count;
+}
+deallocate prepare my_stmt;
Thread
bk commit into 5.0 tree (gluh:1.1843) BUG#9383gluh1 Apr