Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.8
-
None
-
None
Description
After CREATE OR REPLACE implementation the test create-big now fails.
Before CREATE OR REPLACE, a create .... select that tried to create an existing table, failed in mysql_execute_command():
res= open_and_lock_tables(thd, lex->query_tables, TRUE, 0);
|
if (res)
|
{
|
/* Got error or warning. Set res to 1 if error */
|
if (!(res= thd->is_error()))
|
my_ok(thd);
|
}
|
else
|
{
|
/* The table already exists */
|
if (create_table->table)
|
{
|
if (create_info.options & HA_LEX_CREATE_IF_NOT_EXISTS)
|
{
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
|
ER_TABLE_EXISTS_ERROR,
|
ER(ER_TABLE_EXISTS_ERROR),
|
create_info.alias);
|
my_ok(thd);
|
}
|
else
|
{
|
my_error(ER_TABLE_EXISTS_ERROR, MYF(0), create_info.alias);
|
res= 1;
|
}
|
goto end_with_restore_list;
|
}
|
Now this if (create_table->table block is removed, so the failure happens much later. As a result, the test fails.