mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	Includes 5.6 changesets for: ***** Fix for BUG#13489996 valgrind:conditional jump or move depends on uninitialised values-field_blob. blob_ptr_size was not initialized properly: remove this variable. ***** Bug#14021323 CRASH IN FIELD::SET_NULL WHEN INSERTING ROWS TO NEW TABLE *****
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- source include/have_innodb.inc
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug#21704: Renaming column does not update FK definition.
 | |
| --echo #
 | |
| 
 | |
| --echo
 | |
| --echo # Test that it's not possible to rename columns participating in a
 | |
| --echo # foreign key (either in the referencing or referenced table).
 | |
| --echo
 | |
| 
 | |
| CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ROW_FORMAT=COMPACT ENGINE=INNODB;
 | |
| 
 | |
| CREATE TABLE t2 (a INT PRIMARY KEY, b INT,
 | |
|                  CONSTRAINT fk1 FOREIGN KEY (a) REFERENCES t1(a))
 | |
| ROW_FORMAT=COMPACT ENGINE=INNODB;
 | |
| 
 | |
| CREATE TABLE t3 (a INT PRIMARY KEY, b INT, KEY(b), C INT,
 | |
|   CONSTRAINT fk2 FOREIGN KEY (b) REFERENCES t3 (a))
 | |
| ROW_FORMAT=COMPACT ENGINE=INNODB;
 | |
| 
 | |
| INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
 | |
| INSERT INTO t2 VALUES (1,1),(2,2),(3,3);
 | |
| INSERT INTO t3 VALUES (1,1,1),(2,2,2),(3,3,3);
 | |
| 
 | |
| --echo
 | |
| --echo # Test renaming the column in the referenced table.
 | |
| --echo
 | |
| 
 | |
| --enable_info
 | |
| ALTER TABLE t1 CHANGE a e INT;
 | |
| 
 | |
| --echo # Ensure that online column rename works.
 | |
| 
 | |
| ALTER TABLE t1 CHANGE b c INT;
 | |
| 
 | |
| --echo
 | |
| --echo # Test renaming the column in the referencing table
 | |
| --echo
 | |
| 
 | |
| ALTER TABLE t2 CHANGE a z INT;
 | |
| 
 | |
| --echo # Ensure that online column rename works.
 | |
| 
 | |
| ALTER TABLE t2 CHANGE b c INT;
 | |
| 
 | |
| --echo
 | |
| --echo # Test with self-referential constraints
 | |
| --echo
 | |
| 
 | |
| ALTER TABLE t3 CHANGE a f INT;
 | |
| 
 | |
| ALTER TABLE t3 CHANGE b g INT;
 | |
| 
 | |
| --echo # Ensure that online column rename works.
 | |
| 
 | |
| ALTER TABLE t3 CHANGE c d INT;
 | |
| 
 | |
| --echo
 | |
| --echo # Cleanup.
 | |
| --echo
 | |
| 
 | |
| --disable_info
 | |
| SHOW CREATE TABLE t1;
 | |
| SHOW CREATE TABLE t2;
 | |
| SHOW CREATE TABLE t3;
 | |
| 
 | |
| SELECT f.*, c.*
 | |
| FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS c
 | |
| INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FOREIGN f
 | |
| ON c.ID=f.ID
 | |
| WHERE FOR_NAME LIKE 'test/t%';
 | |
| 
 | |
| DROP TABLE t3;
 | |
| DROP TABLE t2;
 | |
| DROP TABLE t1;
 |