summaryrefslogtreecommitdiff
path: root/mysql-test/main/trans_read_only.test
diff options
context:
space:
mode:
authorMichael Widenius <monty@mariadb.org>2018-03-09 14:05:35 +0200
committerMonty <monty@mariadb.org>2018-03-29 13:59:44 +0300
commita7abddeffa6a760ce948c2dfb007cdf3f1a369d5 (patch)
tree70eb743fa965a17380bbc0ac88ae79ca1075b896 /mysql-test/main/trans_read_only.test
parentab1941266c59a19703a74b5593cf3f508a5752d7 (diff)
downloadmariadb-git-a7abddeffa6a760ce948c2dfb007cdf3f1a369d5.tar.gz
Create 'main' test directory and move 't' and 'r' there
Diffstat (limited to 'mysql-test/main/trans_read_only.test')
-rw-r--r--mysql-test/main/trans_read_only.test49
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;