Timofey Turenko 8c6ca38a8a add tests
2017-05-23 21:09:30 +03:00

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;