60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# 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;
							 | 
						||
| 
								 | 
							
								
							 |