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;
|