diff options
author | monty@hundin.mysql.fi <> | 2001-12-21 07:00:58 +0200 |
---|---|---|
committer | monty@hundin.mysql.fi <> | 2001-12-21 07:00:58 +0200 |
commit | 55a2ab6e7e4e9f3bb1a48715a3f1e713aa3abb35 (patch) | |
tree | 14f15faabd0531594907bd3b9b9e4787da493d83 /sql/sql_db.cc | |
parent | f5a1abd8612906d73760cccd19fa1b7d47a08150 (diff) | |
download | mariadb-git-55a2ab6e7e4e9f3bb1a48715a3f1e713aa3abb35.tar.gz |
Cleanup of alarm macros.
Fixed data corruption bug in query cache.
Made queries be dependent of the database in use.
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r-- | sql/sql_db.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc index b476a8b1797..dd8ed634011 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -317,19 +317,19 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db, bool mysql_change_db(THD *thd,const char *name) { - int length; + int length, db_length; char *dbname=my_strdup((char*) name,MYF(MY_WME)); char path[FN_REFLEN]; uint db_access; DBUG_ENTER("mysql_change_db"); - if (!dbname || !(length=stripp_sp(dbname))) + if (!dbname || !(db_length=stripp_sp(dbname))) { x_free(dbname); /* purecov: inspected */ send_error(&thd->net,ER_NO_DB_ERROR); /* purecov: inspected */ DBUG_RETURN(1); /* purecov: inspected */ } - if ((length > NAME_LEN) || check_db_name(dbname)) + if ((db_length > NAME_LEN) || check_db_name(dbname)) { net_printf(&thd->net,ER_WRONG_DB_NAME, dbname); x_free(dbname); @@ -369,6 +369,7 @@ bool mysql_change_db(THD *thd,const char *name) send_ok(&thd->net); x_free(thd->db); thd->db=dbname; + thd->db_length=db_length; thd->db_access=db_access; DBUG_RETURN(0); } |