MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:December 15 2008 7:20am
Subject:bzr commit into mysql-5.0 branch (zhenxing.he:2636) Bug#35583
View as plain text  
#At file:///media/sdb2/hezx/work/mysql/bzrwork/b35583/5.0/

 2636 He Zhenxing	2008-12-15
      BUG#35583 mysqlbinlog replay fails with ERROR 1146 when temp tables are used
      When using CREATE TEMPORARY TABLE LIKE to create a temporary table, 
      or using TRUNCATE to delete all rows of a temporary table, they 
      did not set the tmp_table_used flag, and cause the omission of
      "SET @@session.pseudo_thread_id" when dumping binlog with mysqlbinlog,
      and cause error when replay the statements.
      This patch fixed the problem by setting tmp_table_used in these two

per-file messages:
    set thd->tmp_table_used when truncate temporary table
    set thd->tmp_table_used when using create like to create temporary tables
=== modified file 'sql/'
--- a/sql/	2008-03-27 11:52:55 +0000
+++ b/sql/	2008-12-15 07:20:29 +0000
@@ -918,6 +918,9 @@ bool mysql_truncate(THD *thd, TABLE_LIST
     if ((error= (int) !(open_temporary_table(thd, path, table_list->db,
 					     table_list->table_name, 1))))
       (void) rm_temporary_table(table_type, path);
+    else
+      thd->tmp_table_used= 1;
       If we return here we will not have logged the truncation to the bin log
       and we will not send_ok() to the client.

=== modified file 'sql/'
--- a/sql/	2008-05-12 16:01:13 +0000
+++ b/sql/	2008-12-15 07:20:29 +0000
@@ -2876,6 +2876,7 @@ bool mysql_create_like_table(THD* thd, T
 				dst_path); /* purecov: inspected */
       goto err;     /* purecov: inspected */
+    thd->tmp_table_used= 1;
   else if (err)

bzr commit into mysql-5.0 branch (zhenxing.he:2636) Bug#35583He Zhenxing15 Dec
  • Re: bzr commit into mysql-5.0 branch (zhenxing.he:2636) Bug#35583Luís Soares20 Dec