summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2006-05-18 12:21:13 +0500
committerunknown <bar@mysql.com>2006-05-18 12:21:13 +0500
commit9c686c8a68af12b3a491dc8049b7ddc50db8010e (patch)
treebec37258ef1c39ae65c60629526a1ace74c597b0 /sql/sql_db.cc
parentde0e4a9a8fe58ff025554d6fe3db1641b3c9ffe4 (diff)
downloadmariadb-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.cc6
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);
}