diff options
author | unknown <ingo/istruewing@chilla.local> | 2006-08-02 18:10:51 +0200 |
---|---|---|
committer | unknown <ingo/istruewing@chilla.local> | 2006-08-02 18:10:51 +0200 |
commit | 312034fa4491708f19aff9efd527c50519cc0078 (patch) | |
tree | 376ef2cb6c75057dd05993c3db0e65e82dd33e4d /sql/sql_db.cc | |
parent | 3232bd58e861d873ae1cfe9f4ceefe6529ff90a3 (diff) | |
parent | ef976d20c95cb547dcb6123f0072d06bea61f177 (diff) | |
download | mariadb-git-312034fa4491708f19aff9efd527c50519cc0078.tar.gz |
Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into chilla.local:/home/mydev/mysql-5.1-bug18775
sql/ha_myisam.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_db.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Manual merge
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r-- | sql/sql_db.cc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 77d99862bf0..a5ad62ccad6 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -560,7 +560,7 @@ bool mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info, VOID(pthread_mutex_lock(&LOCK_mysql_create_db)); /* Check directory */ - path_len= build_table_filename(path, sizeof(path), db, "", ""); + path_len= build_table_filename(path, sizeof(path), db, "", "", 0); path[path_len-1]= 0; // Remove last '/' from path if (my_stat(path,&stat_info,MYF(0))) @@ -704,7 +704,7 @@ bool mysql_alter_db(THD *thd, const char *db, HA_CREATE_INFO *create_info) We pass MY_DB_OPT_FILE as "extension" to avoid "table name to file name" encoding. */ - build_table_filename(path, sizeof(path), db, "", MY_DB_OPT_FILE); + build_table_filename(path, sizeof(path), db, "", MY_DB_OPT_FILE, 0); if ((error=write_db_opt(thd, path, create_info))) goto exit; @@ -797,7 +797,7 @@ bool mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent) VOID(pthread_mutex_lock(&LOCK_mysql_create_db)); - length= build_table_filename(path, sizeof(path), db, "", ""); + length= build_table_filename(path, sizeof(path), db, "", "", 0); strmov(path+length, MY_DB_OPT_FILE); // Append db option file name del_dbopt(path); // Remove dboption hash entry path[length]= '\0'; // Remove file name @@ -1324,7 +1324,7 @@ bool mysql_change_db(THD *thd, const char *name, bool no_access_check) } } #endif - path_length= build_table_filename(path, sizeof(path), db_name, "", ""); + path_length= build_table_filename(path, sizeof(path), db_name, "", "", 0); if (path_length && path[path_length-1] == FN_LIBCHAR) path[path_length-1]= '\0'; // remove ending '\' if (my_access(path,F_OK)) @@ -1469,11 +1469,12 @@ bool mysql_rename_db(THD *thd, LEX_STRING *old_db, LEX_STRING *new_db) if (thd->db && !strcmp(thd->db, old_db->str)) change_to_newdb= 1; - build_table_filename(path, sizeof(path)-1, old_db->str, "", MY_DB_OPT_FILE); + build_table_filename(path, sizeof(path)-1, + old_db->str, "", MY_DB_OPT_FILE, 0); if ((load_db_opt(thd, path, &create_info))) create_info.default_table_charset= thd->variables.collation_server; - length= build_table_filename(path, sizeof(path)-1, old_db->str, "", ""); + length= build_table_filename(path, sizeof(path)-1, old_db->str, "", "", 0); if (length && path[length-1] == FN_LIBCHAR) path[length-1]=0; // remove ending '\' if ((error= my_access(path,F_OK))) @@ -1538,9 +1539,10 @@ bool mysql_rename_db(THD *thd, LEX_STRING *old_db, LEX_STRING *new_db) If some tables were left in the new directory, rmdir() will fail. It garantees we never loose any tables. */ - build_table_filename(path, sizeof(path)-1, new_db->str,"",MY_DB_OPT_FILE); + build_table_filename(path, sizeof(path)-1, + new_db->str,"",MY_DB_OPT_FILE, 0); my_delete(path, MYF(MY_WME)); - length= build_table_filename(path, sizeof(path)-1, new_db->str, "", ""); + length= build_table_filename(path, sizeof(path)-1, new_db->str, "", "", 0); if (length && path[length-1] == FN_LIBCHAR) path[length-1]=0; // remove ending '\' rmdir(path); @@ -1592,9 +1594,9 @@ bool mysql_rename_db(THD *thd, LEX_STRING *old_db, LEX_STRING *new_db) /* pass empty file name, and file->name as extension to avoid encoding */ build_table_filename(oldname, sizeof(oldname)-1, - old_db->str, "", file->name); + old_db->str, "", file->name, 0); build_table_filename(newname, sizeof(newname)-1, - new_db->str, "", file->name); + new_db->str, "", file->name, 0); my_rename(oldname, newname, MYF(MY_WME)); } my_dirend(dirp); |