From 19f134e40b6898e8a70f5780bd7a546f25a5aa3d Mon Sep 17 00:00:00 2001 From: "aelkin@mysql.com" <> Date: Sun, 23 Apr 2006 19:42:26 +0300 Subject: [PATCH] Bug#17263: incorrect DROP query in temporary tables replication accounting non-ai32 in tmpkeyval. This changeset is supposed to be specifically for 4.1. Another changeset is going to push into 5. --- sql/sql_base.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 756fb8189dc..60e91aff3f9 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -483,11 +483,10 @@ void close_temporary(TABLE *table,bool delete_table) DBUG_VOID_RETURN; } -/* close_temporary_tables' internal */ +/* close_temporary_tables' internal, 4 is due to uint4korr definition */ static inline uint tmpkeyval(THD *thd, TABLE *table) { - return uint4korr(table->table_cache_key + table->key_length - - sizeof(thd->variables.pseudo_thread_id)); + return uint4korr(table->table_cache_key + table->key_length - 4); } /* Creates one DROP TEMPORARY TABLE binlog event for each pseudo-thread */ @@ -513,7 +512,7 @@ void close_temporary_tables(THD *thd) */ for (prev_table= thd->temporary_tables, table= prev_table->next, - found_user_tables= (prev_table->table_name[0] != '#'); + found_user_tables= (prev_table->real_name[0] != '#'); table; prev_table= table, table= table->next) {