summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorunknown <kostja@bodhi.(none)>2008-05-20 11:38:17 +0400
committerunknown <kostja@bodhi.(none)>2008-05-20 11:38:17 +0400
commit4175806efca7644c41ab77e5a8f07d1cc5a1ac00 (patch)
treec2c65314fdd8ac05f82de10701ce5eb6a9856e11 /sql/sql_yacc.yy
parent41116166257e92df96c394035c8b580e48626b00 (diff)
parent4b13b5cb34de81942d52173663031fb119d5b8e1 (diff)
downloadmariadb-git-4175806efca7644c41ab77e5a8f07d1cc5a1ac00.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into bodhi.(none):/opt/local/work/mysql-5.1-27430 Makefile.am: Auto merged include/my_global.h: Auto merged mysql-test/include/mix1.inc: Auto merged sql/item.cc: Auto merged sql/my_decimal.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/share/errmsg.txt: Auto merged sql/sql_yacc.yy: Auto merged libmysqld/CMakeLists.txt: Manual merge. libmysqld/lib_sql.cc: Manual merge. mysql-test/t/disabled.def: Manual merge.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy14
1 files changed, 12 insertions, 2 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 25549936f5a..54399c3791c 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -3582,20 +3582,30 @@ create2:
| LIKE table_ident
{
THD *thd= YYTHD;
+ TABLE_LIST *src_table;
LEX *lex= thd->lex;
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;
+ /* CREATE TABLE ... LIKE is not allowed for views. */
+ src_table->required_type= FRMTYPE_TABLE;
}
| '(' LIKE table_ident ')'
{
THD *thd= YYTHD;
+ TABLE_LIST *src_table;
LEX *lex= thd->lex;
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;
+ /* CREATE TABLE ... LIKE is not allowed for views. */
+ src_table->required_type= FRMTYPE_TABLE;
}
;