1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Better fix for CREATE TABLE IF NOT EXISTS ... SELECT

Fixed chsize() problem on windows
Extend default timeout on windows clients to 1 year (to avoid timeout problems)
This commit is contained in:
monty@mashka.mysql.fi
2003-10-15 21:41:13 +03:00
parent 4897c6649d
commit 84d9d98078
10 changed files with 86 additions and 33 deletions

View File

@ -728,7 +728,10 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
&& find_temporary_table(thd,db,table_name))
{
if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
{
create_info->table_existed= 1; // Mark that table existed
DBUG_RETURN(0);
}
my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
DBUG_RETURN(-1);
}
@ -739,13 +742,17 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
{
VOID(pthread_mutex_unlock(&LOCK_open));
if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
{
create_info->table_existed= 1; // Mark that table existed
DBUG_RETURN(0);
}
my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
DBUG_RETURN(-1);
}
}
thd->proc_info="creating table";
create_info->table_existed= 0; // Mark that table is created
if (thd->sql_mode & MODE_NO_DIR_IN_CREATE)
create_info->data_file_name= create_info->index_file_name= 0;