40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								SET NAMES utf8;
							 | 
						||
| 
								 | 
							
								CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
							 | 
						||
| 
								 | 
							
								ENGINE=InnoDB
							 | 
						||
| 
								 | 
							
								PARTITION BY RANGE (a)
							 | 
						||
| 
								 | 
							
								SUBPARTITION BY HASH (a)
							 | 
						||
| 
								 | 
							
								(PARTITION `p0``\""e` VALUES LESS THAN (100)
							 | 
						||
| 
								 | 
							
								(SUBPARTITION `sp0``\""e`,
							 | 
						||
| 
								 | 
							
								SUBPARTITION `sp1``\""e`),
							 | 
						||
| 
								 | 
							
								PARTITION `p1``\""e` VALUES LESS THAN (MAXVALUE)
							 | 
						||
| 
								 | 
							
								(SUBPARTITION `sp2``\""e`,
							 | 
						||
| 
								 | 
							
								SUBPARTITION `sp3``\""e`));
							 | 
						||
| 
								 | 
							
								INSERT INTO `t``\""e` VALUES (0), (2), (6), (10), (14), (18), (22);
							 | 
						||
| 
								 | 
							
								START TRANSACTION;
							 | 
						||
| 
								 | 
							
								# con1
							 | 
						||
| 
								 | 
							
								SET NAMES utf8;
							 | 
						||
| 
								 | 
							
								START TRANSACTION;
							 | 
						||
| 
								 | 
							
								# default connection
							 | 
						||
| 
								 | 
							
								UPDATE `t``\""e` SET a = 16 WHERE a = 0;
							 | 
						||
| 
								 | 
							
								# con1
							 | 
						||
| 
								 | 
							
								UPDATE `t``\""e` SET a = 8 WHERE a = 22;
							 | 
						||
| 
								 | 
							
								UPDATE `t``\""e` SET a = 12 WHERE a = 0;
							 | 
						||
| 
								 | 
							
								# default connection
							 | 
						||
| 
								 | 
							
								UPDATE `t``\""e` SET a = 4 WHERE a = 22;
							 | 
						||
| 
								 | 
							
								ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
							 | 
						||
| 
								 | 
							
								# First table reported in 'SHOW ENGINE InnoDB STATUS'
							 | 
						||
| 
								 | 
							
								SHOW ENGINE InnoDB STATUS;
							 | 
						||
| 
								 | 
							
								Type	Name	Status
							 | 
						||
| 
								 | 
							
								InnoDB		index `PRIMARY` of table `test`.`t``\""e` /* Partition `p0``\""e`, Subpartition `sp0``\""e` */
							 | 
						||
| 
								 | 
							
								set @old_sql_mode = @@sql_mode;
							 | 
						||
| 
								 | 
							
								set sql_mode = 'ANSI_QUOTES';
							 | 
						||
| 
								 | 
							
								SHOW ENGINE InnoDB STATUS;
							 | 
						||
| 
								 | 
							
								Type	Name	Status
							 | 
						||
| 
								 | 
							
								InnoDB		index `PRIMARY` of table `test`.`t``\""e` /* Partition `p0``\""e`, Subpartition `sp0``\""e` */
							 | 
						||
| 
								 | 
							
								set @@sql_mode = @old_sql_mode;
							 | 
						||
| 
								 | 
							
								# con1
							 | 
						||
| 
								 | 
							
								ROLLBACK;
							 | 
						||
| 
								 | 
							
								# default connection
							 | 
						||
| 
								 | 
							
								DROP TABLE `t``\""e`;
							 | 
						||
| 
								 | 
							
								SET NAMES DEFAULT;
							 |