diff options
Diffstat (limited to 'mysql-test/suite/innodb/r/read_only_recovery.result')
-rw-r--r-- | mysql-test/suite/innodb/r/read_only_recovery.result | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/read_only_recovery.result b/mysql-test/suite/innodb/r/read_only_recovery.result new file mode 100644 index 00000000..add0da94 --- /dev/null +++ b/mysql-test/suite/innodb/r/read_only_recovery.result @@ -0,0 +1,44 @@ +connect con1, localhost, root; +CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t VALUES(1); +BEGIN; +INSERT INTO t VALUES(2); +DELETE FROM t WHERE a=2; +connection default; +# Normal MariaDB shutdown would roll back the above transaction. +# We want the transaction to remain open, so we will kill the server +# after ensuring that any non-transactional files are clean. +FLUSH TABLES; +# Ensure that the above incomplete transaction becomes durable. +SET GLOBAL innodb_flush_log_at_trx_commit=1; +BEGIN; +INSERT INTO t VALUES(0); +DELETE FROM t WHERE a=0; +COMMIT; +# restart: --innodb-force-recovery=3 +disconnect con1; +SELECT * FROM t; +a +1 +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +SELECT * FROM t; +a +1 +UPDATE t SET a=3 WHERE a=1; +# restart: --innodb-read-only +# Starting with MariaDB 10.2, innodb_read_only implies READ UNCOMMITTED. +# In earlier versions, this would return the last committed version +# (empty table)! +SELECT * FROM t; +a +3 +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +SELECT * FROM t; +a +3 +SET GLOBAL innodb_max_purge_lag_wait=0; +# restart +SELECT * FROM t; +a +3 +DROP TABLE t; |