summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2001-12-21 07:00:58 +0200
committermonty@hundin.mysql.fi <>2001-12-21 07:00:58 +0200
commit55a2ab6e7e4e9f3bb1a48715a3f1e713aa3abb35 (patch)
tree14f15faabd0531594907bd3b9b9e4787da493d83 /sql/sql_db.cc
parentf5a1abd8612906d73760cccd19fa1b7d47a08150 (diff)
downloadmariadb-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.cc7
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);
}