mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	innodb_autoinc_lock_mode = 2 innodb_buffer_pool_dump_at_shutdown = ON innodb_buffer_pool_dump_pct = 25 innodb_buffer_pool_load_at_startup = ON innodb_checksum_algorithm = CRC32 innodb_file_format = Barracuda innodb_large_prefix = ON innodb_log_compressed_pages = ON innodb_purge_threads = 4 innodb_strict_mode = ON binlog_annotate_row_events = ON binlog_format = MIXED binlog-row-event-max-size = 8192 group_concat_max_len = 1M lock_wait_timeout = 86400 log_slow_admin_statements = ON log_slow_slave_statements = ON log_warnings = 2 max_allowed_packet = 16M replicate_annotate_row_events = ON slave_net_timeout = 60 sync_binlog = 1 aria_recover = BACKUP,QUICK myisam_recover_options = BACKUP,QUICK
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Test of wrong call to unlock_row
 | |
| # MDEV-5629 Failing assertion: state == TRX_STATE_NOT_STARTED on
 | |
| # concurrent CREATE OR REPLACE and transactional UPDATE
 | |
| #
 | |
| 
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB;
 | |
| INSERT INTO t1 VALUES (1,1),(2,2);
 | |
| 
 | |
| CREATE TABLE t2 (c INT, d INT) ENGINE=InnoDB;
 | |
| INSERT INTO t2 VALUES (1,1), (2,2);
 | |
| 
 | |
| CREATE TABLE t3 (e INT) ENGINE=InnoDB;
 | |
| CREATE TABLE t4 ENGINE=InnoDB AS SELECT * FROM t2;
 | |
| 
 | |
| --connect (con11,localhost,root,,test)
 | |
| 
 | |
| BEGIN;
 | |
| UPDATE t1 SET a = 0 WHERE a = ( SELECT e FROM t3 );
 | |
| 
 | |
| --connect (con12,localhost,root,,test)
 | |
| 
 | |
| --send 
 | |
| UPDATE t4 SET d = 1 WHERE d in ( SELECT a FROM t1 ) ORDER BY c LIMIT 6;
 | |
| 
 | |
| --connection con11
 | |
| 
 | |
| # Wait for con12 to start waiting for con11
 | |
| let $wait_condition=
 | |
|   select count(*) = 1 from information_schema.innodb_trx
 | |
|   where trx_state = "lock wait" and
 | |
|         trx_query like "%SELECT a FROM t1%";
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| UPDATE t4 SET d = 9;
 | |
| 
 | |
| --connection con12
 | |
| --error ER_LOCK_DEADLOCK
 | |
| --reap
 | |
| --connection con11
 | |
| commit;
 | |
| --connection default
 | |
| --disconnect con12
 | |
| --disconnect con11
 | |
| drop table t1,t2,t3,t4;
 | |
| 
 | |
| call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
 | |
| call mtr.add_suppression("Sort aborted.*");
 |