mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-28 17:15:19 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --source include/have_partition.inc
 | |
| --source include/have_innodb_plugin.inc
 | |
| 
 | |
| #
 | |
| # Bug#32430 - show engine innodb status causes errors
 | |
| #
 | |
| 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;
 | |
| --echo # con1
 | |
| connect(con1,localhost,root,,);
 | |
| SET NAMES utf8;
 | |
| START TRANSACTION;
 | |
| --echo # default connection
 | |
| connection default;
 | |
| UPDATE `t``\""e` SET a = 16 WHERE a = 0;
 | |
| --echo # con1
 | |
| connection con1;
 | |
| UPDATE `t``\""e` SET a = 8 WHERE a = 22;
 | |
| let $id_1= `SELECT CONNECTION_ID()`;
 | |
| SEND;
 | |
| UPDATE `t``\""e` SET a = 12 WHERE a = 0;
 | |
| --echo # default connection
 | |
| connection default;
 | |
| let $wait_timeout= 2;
 | |
| let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
 | |
| WHERE ID = $id_1 AND STATE = 'Searching rows for update';
 | |
| --source include/wait_condition.inc
 | |
| #--echo # tested wait condition $wait_condition_reps times
 | |
| # INNODB_LOCKS only exists in innodb_plugin
 | |
| --sorted_result
 | |
| SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
 | |
| GROUP BY lock_table;
 | |
| set @old_sql_mode = @@sql_mode;
 | |
| set sql_mode = 'ANSI_QUOTES';
 | |
| --sorted_result
 | |
| SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
 | |
| GROUP BY lock_table;
 | |
| set @@sql_mode = @old_sql_mode;
 | |
| --error ER_LOCK_DEADLOCK
 | |
| UPDATE `t``\""e` SET a = 4 WHERE a = 22;
 | |
| --echo # First table reported in 'SHOW ENGINE InnoDB STATUS'
 | |
| # RECORD LOCKS space id 0 page no 50 n bits 80 index `PRIMARY` in \
 | |
| # Database `test`, Table `t1`, Partition `p0`, Subpartition `sp0` \
 | |
| # trx id 0 775
 | |
| # NOTE: replace_regex is very slow on match copy/past '(.*)' regex's
 | |
| # on big texts, removing a lot of text before + after makes it much faster.
 | |
| #/.*in (.*) trx.*/\1/
 | |
| --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in //
 | |
| SHOW ENGINE InnoDB STATUS;
 | |
| set @old_sql_mode = @@sql_mode;
 | |
| set sql_mode = 'ANSI_QUOTES';
 | |
| --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in //
 | |
| SHOW ENGINE InnoDB STATUS;
 | |
| set @@sql_mode = @old_sql_mode;
 | |
| --echo # con1
 | |
| connection con1;
 | |
| REAP;
 | |
| ROLLBACK;
 | |
| disconnect con1;
 | |
| --echo # default connection
 | |
| connection default;
 | |
| DROP TABLE `t``\""e`;
 | |
| SET NAMES DEFAULT;
 |