109 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Setup
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS test.t1;
 | |
| --enable_warnings
 | |
| CREATE TABLE test.t1(id INT);
 | |
| 
 | |
| # Test one insert inside transaction
 | |
| 
 | |
| START TRANSACTION;
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| COMMIT;
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Test multiple inserts inside transaction
 | |
| 
 | |
| START TRANSACTION;
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| INSERT INTO test.t1 VALUES (2);
 | |
| INSERT INTO test.t1 VALUES (3);
 | |
| COMMIT;
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Test multi-value insert inside transaction
 | |
| 
 | |
| START TRANSACTION;
 | |
| INSERT INTO test.t1 VALUES (1), (2), (3);
 | |
| COMMIT;
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Test non-transaction inserts
 | |
| 
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| INSERT INTO test.t1 VALUES (2);
 | |
| INSERT INTO test.t1 VALUES (3);
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Test different tables in inserts inside transactions
 | |
| 
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS test.t2;
 | |
| --enable_warnings
 | |
| CREATE TABLE test.t2(id int);
 | |
| 
 | |
| START TRANSACTION;
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| --disable_abort_on_error
 | |
| INSERT INTO test.t2 VALUES (1);
 | |
| --enable_abort_on_error
 | |
| COMMIT;
 | |
| 
 | |
| SELECT COUNT(*) FROM test.t2;
 | |
| DROP TABLE test.t2;
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Test inserts to different tables with selects between them inside a transaction
 | |
| 
 | |
| CREATE TABLE test.t2(id int);
 | |
| 
 | |
| START TRANSACTION;
 | |
| INSERT INTO test.t1 VALUES (1);
 | |
| SELECT 1;
 | |
| INSERT INTO test.t2 VALUES (1);
 | |
| COMMIT;
 | |
| 
 | |
| SELECT COUNT(*) FROM test.t2;
 | |
| DROP TABLE test.t2;
 | |
| 
 | |
| SHOW STATUS LIKE 'COM_INSERT';
 | |
| SHOW STATUS LIKE 'COM_LOAD';
 | |
| SELECT COUNT(*) FROM test.t1;
 | |
| DELETE FROM test.t1;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| # Cleanup
 | |
| DROP TABLE test.t1;
 | 
