1--source include/have_rocksdb.inc
2
3#
4# UPDATE IGNORE
5#
6
7# MyRocks does not support gap locks in REPEATABLE-READ mode, test does not
8# require RR ISO to complete, so lets alter the ISO to RC
9set session transaction_isolation='READ-COMMITTED';
10
11CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
12
13INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'),(10000,'foobar');
14INSERT INTO t1 (a,b) SELECT a, b FROM t1;
15
16CREATE TABLE t2 (c CHAR(8), d INT, pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
17
18INSERT INTO t2 (c,d) SELECT b, a FROM t1;
19
20UPDATE IGNORE t1 SET b = 'upd1' WHERE b IS NOT NULL ORDER BY a LIMIT 1;
21SELECT a,b FROM t1 ORDER BY pk;
22
23--error ER_SUBQUERY_NO_1_ROW
24UPDATE t1, t2 SET b = 'upd2a', c = 'upd2b'
25  WHERE c < b OR a != ( SELECT 1 UNION SELECT 2 );
26
27UPDATE IGNORE t1, t2 SET b = 'upd2a', c = 'upd2b'
28  WHERE c < b OR a != ( SELECT 1 UNION SELECT 2 );
29
30SELECT a,b FROM t1 ORDER BY pk;
31SELECT c,d FROM t2 ORDER BY pk;
32
33# Cleanup
34DROP TABLE t1, t2;
35