1# 2# Bug#21114 (Foreign key creation fails to table with name format) 3# 4# Trying to trick the parser into thinking $FCT(...) is a function call, 5# which is not in the CREATE TABLE and FOREIGN KEY ... REFERENCES syntax 6# 7# Usage : 8# 9# let $engine_type=InnoDb; 10# let $verbose=1; 11# let $FCT= <value_1>; 12# -- source parser_stress_func.inc 13# let $FCT= <value_2>; 14# -- source parser_stress_func.inc 15# let $verbose=0; 16# let $FCT= <value_3>; 17# -- source parser_stress_func.inc 18# let $FCT= <value_4>; 19# -- source parser_stress_func.inc 20 21-- disable_warnings 22eval drop table if exists $FCT; 23drop table if exists bug21114_child; 24-- enable_warnings 25 26--disable_query_log 27--disable_result_log 28 29eval CREATE TABLE $FCT( 30 col1 int not null, 31 col2 int not null, 32 col3 varchar(10), 33 CONSTRAINT pk PRIMARY KEY (col1, col2) 34) ENGINE $engine_type; 35 36eval CREATE TABLE bug21114_child( 37 pk int not null, 38 fk_col1 int not null, 39 fk_col2 int not null, 40 fk_col3 int not null, 41 fk_col4 int not null, 42 CONSTRAINT fk_fct FOREIGN KEY (fk_col1, fk_col2) 43 REFERENCES $FCT(col1, col2), 44 CONSTRAINT fk_fct_space FOREIGN KEY (fk_col3, fk_col4) 45 REFERENCES $FCT (col1, col2) 46) ENGINE $engine_type; 47 48--enable_query_log 49--enable_result_log 50 51if ($verbose) 52{ 53 eval SHOW CREATE TABLE $FCT; 54 SHOW CREATE TABLE bug21114_child; 55} 56 57DROP TABLE bug21114_child; 58eval DROP TABLE $FCT; 59 60