summaryrefslogtreecommitdiff
path: root/sql/sql_base.cc
diff options
context:
space:
mode:
authoraelkin@mysql.com <>2006-05-14 20:31:42 +0300
committeraelkin@mysql.com <>2006-05-14 20:31:42 +0300
commitc8a6d6c473cddc442e41cfbc27c68d6f9f2c4246 (patch)
tree4c47f07c90727d17e77c0e831e9b24e29652844b /sql/sql_base.cc
parentc90ae2d2e54d2ec58870d947fc7c03460aef33dc (diff)
downloadmariadb-git-c8a6d6c473cddc442e41cfbc27c68d6f9f2c4246.tar.gz
BUG#19188: incorrect temporary table name of DROP query in replication
manual merge to account 5.0 specific names of TABLE class
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r--sql/sql_base.cc26
1 files changed, 13 insertions, 13 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index f0480a1c616..b6694edea78 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -620,7 +620,7 @@ void close_temporary_tables(THD *thd)
TABLE *table;
if (!thd->temporary_tables)
return;
-
+
if (!mysql_bin_log.is_open())
{
for (table= thd->temporary_tables; table; table= table->next)
@@ -642,12 +642,12 @@ void close_temporary_tables(THD *thd)
String s_query= String(buf, sizeof(buf), system_charset_info);
bool found_user_tables= false;
LINT_INIT(next);
-
- /*
- insertion sort of temp tables by pseudo_thread_id to build ordered list
+
+ /*
+ insertion sort of temp tables by pseudo_thread_id to build ordered list
of sublists of equal pseudo_thread_id
*/
-
+
for (prev_table= thd->temporary_tables, table= prev_table->next;
table;
prev_table= table, table= table->next)
@@ -657,7 +657,7 @@ void close_temporary_tables(THD *thd)
{
if (!found_user_tables)
found_user_tables= true;
- for (prev_sorted= NULL, sorted= thd->temporary_tables; sorted != table;
+ for (prev_sorted= NULL, sorted= thd->temporary_tables; sorted != table;
prev_sorted= sorted, sorted= sorted->next)
{
if (!is_user_table(sorted) ||
@@ -666,7 +666,7 @@ void close_temporary_tables(THD *thd)
/* move into the sorted part of the list from the unsorted */
prev_table->next= table->next;
table->next= sorted;
- if (prev_sorted)
+ if (prev_sorted)
{
prev_sorted->next= table;
}
@@ -687,11 +687,11 @@ void close_temporary_tables(THD *thd)
{
thd->options |= OPTION_QUOTE_SHOW_CREATE;
}
-
+
/* scan sorted tmps to generate sequence of DROP */
for (table= thd->temporary_tables; table; table= next)
{
- if (is_user_table(table))
+ if (is_user_table(table))
{
/* Set pseudo_thread_id to be that of the processed table */
thd->variables.pseudo_thread_id= tmpkeyval(thd, table);
@@ -706,10 +706,10 @@ void close_temporary_tables(THD *thd)
We are going to add 4 ` around the db/table names and possible more
due to special characters in the names
*/
- append_identifier(thd, &s_query, table->table_cache_key, strlen(table->table_cache_key));
+ append_identifier(thd, &s_query, table->s->db, strlen(table->s->db));
s_query.q_append('.');
- append_identifier(thd, &s_query, table->real_name,
- strlen(table->real_name));
+ append_identifier(thd, &s_query, table->s->table_name,
+ strlen(table->s->table_name));
s_query.q_append(',');
next= table->next;
close_temporary(table, 1);
@@ -730,7 +730,7 @@ void close_temporary_tables(THD *thd)
qinfo.error_code= 0;
write_binlog_with_system_charset(thd, &qinfo);
}
- else
+ else
{
next= table->next;
close_temporary(table, 1);