mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
fixed length of current database name if it is dropped (BUG#1986)
mysql-test/r/query_cache.result: test of BUG#1986 mysql-test/t/query_cache.test: test of BUG#1986 sql/sql_db.cc: as far as we remove db name we should remove its length
This commit is contained in:
parent
2e939d77df
commit
4eb6fd537b
3 changed files with 24 additions and 2 deletions
|
@ -809,4 +809,12 @@ show status like "Qcache_queries_in_cache";
|
|||
Variable_name Value
|
||||
Qcache_queries_in_cache 4
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int(1));
|
||||
CREATE DATABASE mysqltest;
|
||||
USE mysqltest;
|
||||
DROP DATABASE mysqltest;
|
||||
SELECT * FROM test.t1;
|
||||
a
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL query_cache_size=0;
|
||||
|
|
|
@ -585,4 +585,17 @@ show status like "Qcache_queries_in_cache";
|
|||
# Keep things tidy
|
||||
#
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# DROP current database test
|
||||
#
|
||||
CREATE TABLE t1 (a int(1));
|
||||
CREATE DATABASE mysqltest;
|
||||
USE mysqltest;
|
||||
DROP DATABASE mysqltest;
|
||||
SELECT * FROM test.t1;
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
SET GLOBAL query_cache_size=0;
|
||||
|
|
|
@ -409,7 +409,7 @@ exit:
|
|||
when the slave is replicating a DROP DATABASE:
|
||||
- garbage characters in the error message:
|
||||
"Error 'Can't drop database 'test2'; database doesn't exist' on query
|
||||
'h4zI¿'"
|
||||
'h4zI<EFBFBD>©'"
|
||||
- segfault
|
||||
- hang in "free(vio)" (yes!) in the I/O or SQL slave threads (so slave
|
||||
server hangs at shutdown etc).
|
||||
|
@ -418,7 +418,8 @@ exit:
|
|||
{
|
||||
if (!(thd->slave_thread)) /* a slave thread will free it itself */
|
||||
x_free(thd->db);
|
||||
thd->db= 0;
|
||||
thd->db= 0;
|
||||
thd->db_length= 0;
|
||||
}
|
||||
exit2:
|
||||
VOID(pthread_mutex_unlock(&LOCK_mysql_create_db));
|
||||
|
|
Loading…
Reference in a new issue