diff options
Diffstat (limited to 'mysql-test/main/trans_read_only.test')
-rw-r--r-- | mysql-test/main/trans_read_only.test | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/mysql-test/main/trans_read_only.test b/mysql-test/main/trans_read_only.test new file mode 100644 index 00000000000..38b2a833216 --- /dev/null +++ b/mysql-test/main/trans_read_only.test @@ -0,0 +1,49 @@ +--source include/not_embedded.inc + +--echo # +--echo # WL#5968: Implement START TRANSACTION READ (WRITE|ONLY); +--echo # + +--echo # +--echo # Test9: The --transaction-read-only startup option. + +--echo # Check that the option was set by the .opt file. +SELECT @@tx_read_only; + +--echo # Also for new connections. +connect (con1, localhost, root); +SELECT @@tx_read_only; +SET SESSION TRANSACTION READ WRITE; +SELECT @@tx_read_only; +disconnect con1; +--source include/wait_until_disconnected.inc + +connection default; +SELECT @@tx_read_only; + + +--echo # +--echo # Test 10: SET TRANSACTION / START TRANSACTION + implicit commit. + +SET SESSION TRANSACTION READ WRITE; +--disable_ps_protocol +SET TRANSACTION READ ONLY; +--echo # Since DDL does implicit commit before starting, SET TRANSACTION +--echo # will have no effect because the "next" transaction will already +--echo # be over before the DDL statement starts. +CREATE TABLE t1 (a INT); + +START TRANSACTION READ ONLY; +--echo # The same happens with START TRANSACTION +DROP TABLE t1; +--enable_ps_protocol + +--echo # +--echo # Test 11: INSERT DELAYED + +CREATE TABLE t1(a INT); +START TRANSACTION READ ONLY; +--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION +INSERT DELAYED INTO t1 VALUES (1); +COMMIT; +DROP TABLE t1; |