# # WL#5968: Implement START TRANSACTION READ (WRITE|ONLY); # # # Test9: The --transaction-read-only startup option. # Check that the option was set by the .opt file. SELECT @@transaction_read_only; @@transaction_read_only 1 # Also for new connections. connect con1, localhost, root; SELECT @@transaction_read_only; @@transaction_read_only 1 SET SESSION TRANSACTION READ WRITE; SELECT @@transaction_read_only; @@transaction_read_only 0 disconnect con1; connection default; SELECT @@transaction_read_only; @@transaction_read_only 1 # # Test 10: SET TRANSACTION / START TRANSACTION + implicit commit. SET SESSION TRANSACTION READ WRITE; SET TRANSACTION READ ONLY; # Since DDL does implicit commit before starting, SET TRANSACTION # will have no effect because the "next" transaction will already # be over before the DDL statement starts. CREATE TABLE t1 (a INT); START TRANSACTION READ ONLY; # The same happens with START TRANSACTION DROP TABLE t1; # # Test 11: INSERT DELAYED CREATE TABLE t1(a INT); START TRANSACTION READ ONLY; INSERT DELAYED INTO t1 VALUES (1); ERROR 25006: Cannot execute statement in a READ ONLY transaction COMMIT; DROP TABLE t1;