Fix create.test in --ps-protocol broken by the previous push.

This commit is contained in:
kostja@bodhi.(none) 2008-04-17 03:27:14 +04:00
parent 7289eccfbd
commit d42545fbc6
2 changed files with 12 additions and 5 deletions

View File

@ -4775,9 +4775,6 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table,
DBUG_ENTER("mysql_create_like_table"); DBUG_ENTER("mysql_create_like_table");
/* CREATE TABLE ... LIKE is not allowed for views. */
src_table->required_type= FRMTYPE_TABLE;
/* /*
By opening source table we guarantee that it exists and no concurrent By opening source table we guarantee that it exists and no concurrent
DDL operation will mess with it. Later we also take an exclusive DDL operation will mess with it. Later we also take an exclusive

View File

@ -3577,20 +3577,30 @@ create2:
| LIKE table_ident | LIKE table_ident
{ {
THD *thd= YYTHD; THD *thd= YYTHD;
TABLE_LIST *src_table;
LEX *lex= thd->lex; LEX *lex= thd->lex;
lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
if (!lex->select_lex.add_table_to_list(thd, $2, NULL, 0, TL_READ)) src_table= lex->select_lex.add_table_to_list(thd, $2, NULL, 0,
TL_READ);
if (! src_table)
MYSQL_YYABORT; MYSQL_YYABORT;
/* CREATE TABLE ... LIKE is not allowed for views. */
src_table->required_type= FRMTYPE_TABLE;
} }
| '(' LIKE table_ident ')' | '(' LIKE table_ident ')'
{ {
THD *thd= YYTHD; THD *thd= YYTHD;
TABLE_LIST *src_table;
LEX *lex= thd->lex; LEX *lex= thd->lex;
lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
if (!lex->select_lex.add_table_to_list(thd, $3, NULL, 0, TL_READ)) src_table= lex->select_lex.add_table_to_list(thd, $3, NULL, 0,
TL_READ);
if (! src_table)
MYSQL_YYABORT; MYSQL_YYABORT;
/* CREATE TABLE ... LIKE is not allowed for views. */
src_table->required_type= FRMTYPE_TABLE;
} }
; ;