mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Bug#46941 crash with lower_case_table_names=2 and
 | |
| #           foreign data dictionary confusion
 | |
| #
 | |
| CREATE DATABASE XY;
 | |
| USE XY;
 | |
| set @old_table_open_cache=@@table_open_cache;
 | |
| set global table_open_cache = 512;
 | |
| set global table_open_cache = @old_table_open_cache;
 | |
| DROP DATABASE XY;
 | |
| USE TEST;
 | |
| #
 | |
| # Bug55222 Mysqldump table names case bug in REFERENCES clause
 | |
| # InnoDB did not handle lower_case_table_names=2 for
 | |
| # foreign_table_names and referenced_table_names.
 | |
| #
 | |
| SHOW VARIABLES LIKE 'lower_case_table_names';
 | |
| Variable_name	Value
 | |
| lower_case_table_names	2
 | |
| DROP TABLE IF EXISTS `Table2`;
 | |
| DROP TABLE IF EXISTS `Table1`;
 | |
| CREATE TABLE `Table1`(c1 INT PRIMARY KEY) ENGINE=InnoDB;
 | |
| CREATE TABLE `Table2`(c1 INT PRIMARY KEY, c2 INT) ENGINE=InnoDB;
 | |
| ALTER TABLE `Table2` ADD CONSTRAINT fk1 FOREIGN KEY(c2) REFERENCES `Table1`(c1);
 | |
| SHOW CREATE TABLE `Table2`;
 | |
| Table	Table2
 | |
| Create Table	CREATE TABLE `Table2` (
 | |
|   `c1` int(11) NOT NULL,
 | |
|   `c2` int(11) DEFAULT NULL,
 | |
|   PRIMARY KEY (`c1`),
 | |
|   KEY `fk1` (`c2`),
 | |
|   CONSTRAINT `fk1` FOREIGN KEY (`c2`) REFERENCES `Table1` (`c1`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 | |
| SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_SCHEMA='test';
 | |
| CONSTRAINT_CATALOG	def
 | |
| CONSTRAINT_SCHEMA	test
 | |
| CONSTRAINT_NAME	fk1
 | |
| UNIQUE_CONSTRAINT_CATALOG	def
 | |
| UNIQUE_CONSTRAINT_SCHEMA	test
 | |
| UNIQUE_CONSTRAINT_NAME	PRIMARY
 | |
| MATCH_OPTION	NONE
 | |
| UPDATE_RULE	RESTRICT
 | |
| DELETE_RULE	RESTRICT
 | |
| TABLE_NAME	Table2
 | |
| REFERENCED_TABLE_NAME	Table1
 | |
| DROP TABLE `Table2`;
 | |
| DROP TABLE `Table1`;
 | |
| DROP TABLE IF EXISTS Product_Order;
 | |
| DROP TABLE IF EXISTS Product;
 | |
| DROP TABLE IF EXISTS Customer;
 | |
| CREATE TABLE Product (Category INT NOT NULL, Id INT NOT NULL,
 | |
| Price DECIMAL, PRIMARY KEY(Category, Id)) ENGINE=InnoDB;
 | |
| CREATE TABLE Customer (Id INT NOT NULL, PRIMARY KEY (Id)) ENGINE=InnoDB;
 | |
| CREATE TABLE Product_Order (No INT NOT NULL AUTO_INCREMENT,
 | |
| Product_Category INT NOT NULL,
 | |
| Product_Id INT NOT NULL,
 | |
| Customer_Id INT NOT NULL,
 | |
| PRIMARY KEY(No),
 | |
| INDEX (Product_Category, Product_Id),
 | |
| FOREIGN KEY (Product_Category, Product_Id)
 | |
| REFERENCES Product(Category, Id) ON UPDATE CASCADE ON DELETE RESTRICT,
 | |
| INDEX (Customer_Id),
 | |
| FOREIGN KEY (Customer_Id)
 | |
| REFERENCES Customer(Id)
 | |
| ) ENGINE=INNODB;
 | |
| SHOW CREATE TABLE Product_Order;
 | |
| Table	Product_Order
 | |
| Create Table	CREATE TABLE `Product_Order` (
 | |
|   `No` int(11) NOT NULL AUTO_INCREMENT,
 | |
|   `Product_Category` int(11) NOT NULL,
 | |
|   `Product_Id` int(11) NOT NULL,
 | |
|   `Customer_Id` int(11) NOT NULL,
 | |
|   PRIMARY KEY (`No`),
 | |
|   KEY `Product_Category` (`Product_Category`,`Product_Id`),
 | |
|   KEY `Customer_Id` (`Customer_Id`),
 | |
|   CONSTRAINT `product_order_ibfk_1` FOREIGN KEY (`Product_Category`, `Product_Id`) REFERENCES `Product` (`Category`, `Id`) ON UPDATE CASCADE,
 | |
|   CONSTRAINT `product_order_ibfk_2` FOREIGN KEY (`Customer_Id`) REFERENCES `Customer` (`Id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 | |
| SHOW CREATE TABLE Product;
 | |
| Table	Product
 | |
| Create Table	CREATE TABLE `Product` (
 | |
|   `Category` int(11) NOT NULL,
 | |
|   `Id` int(11) NOT NULL,
 | |
|   `Price` decimal(10,0) DEFAULT NULL,
 | |
|   PRIMARY KEY (`Category`,`Id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 | |
| SHOW CREATE TABLE Customer;
 | |
| Table	Customer
 | |
| Create Table	CREATE TABLE `Customer` (
 | |
|   `Id` int(11) NOT NULL,
 | |
|   PRIMARY KEY (`Id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 | |
| SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_SCHEMA='test';
 | |
| CONSTRAINT_CATALOG	def
 | |
| CONSTRAINT_SCHEMA	test
 | |
| CONSTRAINT_NAME	product_order_ibfk_1
 | |
| UNIQUE_CONSTRAINT_CATALOG	def
 | |
| UNIQUE_CONSTRAINT_SCHEMA	test
 | |
| UNIQUE_CONSTRAINT_NAME	PRIMARY
 | |
| MATCH_OPTION	NONE
 | |
| UPDATE_RULE	CASCADE
 | |
| DELETE_RULE	RESTRICT
 | |
| TABLE_NAME	Product_Order
 | |
| REFERENCED_TABLE_NAME	Product
 | |
| CONSTRAINT_CATALOG	def
 | |
| CONSTRAINT_SCHEMA	test
 | |
| CONSTRAINT_NAME	product_order_ibfk_2
 | |
| UNIQUE_CONSTRAINT_CATALOG	def
 | |
| UNIQUE_CONSTRAINT_SCHEMA	test
 | |
| UNIQUE_CONSTRAINT_NAME	PRIMARY
 | |
| MATCH_OPTION	NONE
 | |
| UPDATE_RULE	RESTRICT
 | |
| DELETE_RULE	RESTRICT
 | |
| TABLE_NAME	Product_Order
 | |
| REFERENCED_TABLE_NAME	Customer
 | |
| DROP TABLE Product_Order;
 | |
| DROP TABLE Product;
 | |
| DROP TABLE Customer;
 | 
