Loading mysql-test/r/create.result +9 −0 Original line number Diff line number Diff line Loading @@ -572,3 +572,12 @@ ERROR HY000: You can't specify target table 't1' for update in FROM clause flush tables with read lock; unlock tables; drop table t1; create table t1(column.name int); ERROR 42000: Incorrect table name 'column' create table t1(test.column.name int); ERROR 42000: Incorrect table name 'column' create table t1(xyz.t1.name int); ERROR 42000: Incorrect database name 'xyz' create table t1(t1.name int); create table t2(test.t2.name int); drop table t1,t2; mysql-test/t/create.test +13 −0 Original line number Diff line number Diff line Loading @@ -477,3 +477,16 @@ create table t2 union = (t1) select * from t1; flush tables with read lock; unlock tables; drop table t1; # # Bug#10413: Invalid column name is not rejected # --error 1103 create table t1(column.name int); --error 1103 create table t1(test.column.name int); --error 1102 create table t1(xyz.t1.name int); create table t1(t1.name int); create table t2(test.t2.name int); drop table t1,t2; sql/sql_yacc.yy +25 −1 Original line number Diff line number Diff line Loading @@ -5016,7 +5016,31 @@ simple_ident: field_ident: ident { $$=$1;} | ident '.' ident { $$=$3;} /* Skip schema name in create*/ | ident '.' ident '.' ident { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, $1.str, table->db)) { net_printf(YYTHD, ER_WRONG_DB_NAME, $1.str); YYABORT; } if (my_strcasecmp(table_alias_charset, $3.str, table->real_name)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, $3.str); YYABORT; } $$=$5; } | ident '.' ident { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, $1.str, table->alias)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, $1.str); YYABORT; } $$=$3; } | '.' ident { $$=$2;} /* For Delphi */; table_ident: Loading Loading
mysql-test/r/create.result +9 −0 Original line number Diff line number Diff line Loading @@ -572,3 +572,12 @@ ERROR HY000: You can't specify target table 't1' for update in FROM clause flush tables with read lock; unlock tables; drop table t1; create table t1(column.name int); ERROR 42000: Incorrect table name 'column' create table t1(test.column.name int); ERROR 42000: Incorrect table name 'column' create table t1(xyz.t1.name int); ERROR 42000: Incorrect database name 'xyz' create table t1(t1.name int); create table t2(test.t2.name int); drop table t1,t2;
mysql-test/t/create.test +13 −0 Original line number Diff line number Diff line Loading @@ -477,3 +477,16 @@ create table t2 union = (t1) select * from t1; flush tables with read lock; unlock tables; drop table t1; # # Bug#10413: Invalid column name is not rejected # --error 1103 create table t1(column.name int); --error 1103 create table t1(test.column.name int); --error 1102 create table t1(xyz.t1.name int); create table t1(t1.name int); create table t2(test.t2.name int); drop table t1,t2;
sql/sql_yacc.yy +25 −1 Original line number Diff line number Diff line Loading @@ -5016,7 +5016,31 @@ simple_ident: field_ident: ident { $$=$1;} | ident '.' ident { $$=$3;} /* Skip schema name in create*/ | ident '.' ident '.' ident { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, $1.str, table->db)) { net_printf(YYTHD, ER_WRONG_DB_NAME, $1.str); YYABORT; } if (my_strcasecmp(table_alias_charset, $3.str, table->real_name)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, $3.str); YYABORT; } $$=$5; } | ident '.' ident { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, $1.str, table->alias)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, $1.str); YYABORT; } $$=$3; } | '.' ident { $$=$2;} /* For Delphi */; table_ident: Loading