Commit 1a170dc0 authored by unknown's avatar unknown

Fixes bug #12517. Clear user variables and replication events before

closing temp tables in thread cleanup.


mysql-test/r/connect.result:
  added results for test of bug #12517
mysql-test/t/connect.test:
  added test of bug #12517
sql/sql_class.cc:
  Clear user variables and replication events before
  closing temp tables in thread cleanup.
parent 8dd3a7d9
...@@ -65,3 +65,19 @@ show tables; ...@@ -65,3 +65,19 @@ show tables;
Tables_in_test Tables_in_test
delete from mysql.user where user=_binary"test"; delete from mysql.user where user=_binary"test";
flush privileges; flush privileges;
use test;
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (id integer not null auto_increment primary key);
drop table if exists t2;
Warnings:
Note 1051 Unknown table 't2'
create temporary table t2(id integer not null auto_increment primary key);
set @id := 1;
delete from t1 where id like @id;
use test;
drop table if exists t2;
Warnings:
Note 1051 Unknown table 't2'
drop table if exists t1;
...@@ -77,4 +77,22 @@ show tables; ...@@ -77,4 +77,22 @@ show tables;
delete from mysql.user where user=_binary"test"; delete from mysql.user where user=_binary"test";
flush privileges; flush privileges;
# Test for bug #12517.
connect (con2,localhost,root,,test);
connection con2;
use test;
drop table if exists t1;
create table t1 (id integer not null auto_increment primary key);
drop table if exists t2;
create temporary table t2(id integer not null auto_increment primary key);
set @id := 1;
delete from t1 where id like @id;
disconnect con2;
sleep 5;
connect (con1,localhost,root,,test);
connection con1;
use test;
drop table if exists t2;
drop table if exists t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -353,12 +353,12 @@ void THD::cleanup(void) ...@@ -353,12 +353,12 @@ void THD::cleanup(void)
mysql_ha_flush(this, (TABLE_LIST*) 0, mysql_ha_flush(this, (TABLE_LIST*) 0,
MYSQL_HA_CLOSE_FINAL | MYSQL_HA_FLUSH_ALL); MYSQL_HA_CLOSE_FINAL | MYSQL_HA_FLUSH_ALL);
hash_free(&handler_tables_hash); hash_free(&handler_tables_hash);
delete_dynamic(&user_var_events);
hash_free(&user_vars);
close_temporary_tables(this); close_temporary_tables(this);
my_free((char*) variables.time_format, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*) variables.time_format, MYF(MY_ALLOW_ZERO_PTR));
my_free((char*) variables.date_format, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*) variables.date_format, MYF(MY_ALLOW_ZERO_PTR));
my_free((char*) variables.datetime_format, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*) variables.datetime_format, MYF(MY_ALLOW_ZERO_PTR));
delete_dynamic(&user_var_events);
hash_free(&user_vars);
if (global_read_lock) if (global_read_lock)
unlock_global_read_lock(this); unlock_global_read_lock(this);
if (ull) if (ull)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment