1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Bug#21114 (Foreign key creation fails to table with name format)

Due to the complexity of this change, everything is documented in WL#3565

This patch is the third iteration, it takes into account the comments
received to date.
This commit is contained in:
malff/marcsql@weblab.(none)
2006-11-02 11:01:53 -07:00
parent e2d8d52293
commit 62c242cc75
19 changed files with 7792 additions and 1627 deletions

View File

@ -0,0 +1,59 @@
#
# 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= <value_1>;
# -- source parser_stress_func.inc
# let $FCT= <value_2>;
# -- source parser_stress_func.inc
# let $verbose=0;
# let $FCT= <value_3>;
# -- source parser_stress_func.inc
# let $FCT= <value_4>;
# -- 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;