diff options
author | unknown <bar@mysql.com> | 2006-05-18 12:21:13 +0500 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-05-18 12:21:13 +0500 |
commit | 9c686c8a68af12b3a491dc8049b7ddc50db8010e (patch) | |
tree | bec37258ef1c39ae65c60629526a1ace74c597b0 /sql/sql_db.cc | |
parent | de0e4a9a8fe58ff025554d6fe3db1641b3c9ffe4 (diff) | |
download | mariadb-git-9c686c8a68af12b3a491dc8049b7ddc50db8010e.tar.gz |
Bug#19392 Rename Database: Crash if case change
Problem:
Renaming a database to itself crashed server.
It hapenned because of wrong DBUG_ASSERT.
Fix: removing wrong DBUG_ASSERT. Now it reports
a correct error message "database alreadt exists".
mysql-test/r/renamedb.result:
Adding test case
mysql-test/t/renamedb.test:
Adding test case
sql/sql_db.cc:
DBUG_ASSERT crashed server when renaming a database to itself.
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r-- | sql/sql_db.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 3d035359b6f..cb43bb77def 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -134,9 +134,9 @@ void lock_db_delete(const char *name, uint length) { my_dblock_t *opt; safe_mutex_assert_owner(&LOCK_lock_db); - opt= (my_dblock_t *)hash_search(&lock_db_cache, (const byte*) name, length); - DBUG_ASSERT(opt != NULL); - hash_delete(&lock_db_cache, (byte*) opt); + if (opt= (my_dblock_t *)hash_search(&lock_db_cache, + (const byte*) name, length)) + hash_delete(&lock_db_cache, (byte*) opt); } |