summaryrefslogtreecommitdiff
path: root/sql/sql_load.cc
diff options
context:
space:
mode:
authormonty@narttu.mysql.fi <>2003-02-27 03:49:26 +0200
committermonty@narttu.mysql.fi <>2003-02-27 03:49:26 +0200
commit0197fc78c91216ad866b801e7a4f880522ab5656 (patch)
tree0be3851671c59db010c557b551f49cc78c27f79a /sql/sql_load.cc
parent3b073a08e0dd99df731033339c0e29ff7c07c101 (diff)
parentc20453ba9a0aea9c8d236f6bc42dc9be91cff6a4 (diff)
downloadmariadb-git-0197fc78c91216ad866b801e7a4f880522ab5656.tar.gz
Merge with 4.0
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r--sql/sql_load.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index 9415618c561..d387ebe27ae 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -91,7 +91,9 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
*enclosed=ex->enclosed;
bool is_fifo=0;
LOAD_FILE_INFO lf_info;
- char * db = table_list->db ? table_list->db : thd->db;
+ char *db = table_list->db; // This is never null
+ /* If no current database, use database where table is located */
+ char *tdb= thd->db ? thd->db : db;
bool transactional_table, log_delayed;
DBUG_ENTER("mysql_load");
@@ -173,10 +175,10 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
ex->file_name+=dirname_length(ex->file_name);
#endif
if (!dirname_length(ex->file_name) &&
- strlen(ex->file_name)+strlen(mysql_data_home)+strlen(thd->db)+3 <
+ strlen(ex->file_name)+strlen(mysql_data_home)+strlen(tdb)+3 <
FN_REFLEN)
{
- (void) sprintf(name,"%s/%s/%s",mysql_data_home,thd->db,ex->file_name);
+ (void) sprintf(name,"%s/%s/%s",mysql_data_home,tdb,ex->file_name);
unpack_filename(name,name); /* Convert to system format */
}
else