# # Bug#21114 (Foreign key creation fails to table with name format) # # Trying to trick the parser into thinking $FCT(...) is a function call, # which is not in the CREATE TABLE and FOREIGN KEY ... REFERENCES syntax # # Usage : # # let $engine_type=InnoDb; # let $verbose=1; # let $FCT= ; # -- source parser_stress_func.inc # let $FCT= ; # -- source parser_stress_func.inc # let $verbose=0; # let $FCT= ; # -- source parser_stress_func.inc # let $FCT= ; # -- source parser_stress_func.inc -- disable_warnings eval drop table if exists $FCT; drop table if exists bug21114_child; -- enable_warnings --disable_query_log --disable_result_log eval CREATE TABLE $FCT( col1 int not null, col2 int not null, col3 varchar(10), CONSTRAINT pk PRIMARY KEY (col1, col2) ) ENGINE $engine_type; eval CREATE TABLE bug21114_child( pk int not null, fk_col1 int not null, fk_col2 int not null, fk_col3 int not null, fk_col4 int not null, CONSTRAINT fk_fct FOREIGN KEY (fk_col1, fk_col2) REFERENCES $FCT(col1, col2), CONSTRAINT fk_fct_space FOREIGN KEY (fk_col3, fk_col4) REFERENCES $FCT (col1, col2) ) ENGINE $engine_type; --enable_query_log --enable_result_log if ($verbose) { eval SHOW CREATE TABLE $FCT; SHOW CREATE TABLE bug21114_child; } DROP TABLE bug21114_child; eval DROP TABLE $FCT;