summaryrefslogtreecommitdiff
path: root/mysql-test/main/trans_read_only.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/trans_read_only.result')
-rw-r--r--mysql-test/main/trans_read_only.result42
1 files changed, 42 insertions, 0 deletions
diff --git a/mysql-test/main/trans_read_only.result b/mysql-test/main/trans_read_only.result
new file mode 100644
index 00000000000..5e86b0993cd
--- /dev/null
+++ b/mysql-test/main/trans_read_only.result
@@ -0,0 +1,42 @@
+#
+# 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 @@tx_read_only;
+@@tx_read_only
+1
+# Also for new connections.
+connect con1, localhost, root;
+SELECT @@tx_read_only;
+@@tx_read_only
+1
+SET SESSION TRANSACTION READ WRITE;
+SELECT @@tx_read_only;
+@@tx_read_only
+0
+disconnect con1;
+connection default;
+SELECT @@tx_read_only;
+@@tx_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;