diff options
Diffstat (limited to 'storage/rocksdb/mysql-test/rocksdb/t/replace.test')
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/replace.test | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb/t/replace.test b/storage/rocksdb/mysql-test/rocksdb/t/replace.test new file mode 100644 index 00000000..3ac37330 --- /dev/null +++ b/storage/rocksdb/mysql-test/rocksdb/t/replace.test @@ -0,0 +1,54 @@ +--source include/have_rocksdb.inc + +# +# Basic REPLACE statements +# + +########################################### +# TODO: +# A part of the test is currently disabled +# because unique indexes are not supported +########################################### + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb; + +# When there is no duplicate key, REPLACE should work as INSERT + +REPLACE INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'); +--sorted_result +SELECT a,b FROM t1; + +REPLACE t1 (a,b) VALUE (10,'foo'),(10,'foo'); +--sorted_result +SELECT a,b FROM t1; + +DROP TABLE t1; + +--disable_parsing + +CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY, UNIQUE INDEX (a)) ENGINE=rocksdb; +REPLACE INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'); +--error ER_DUP_ENTRY +INSERT INTO t1 (a,b) VALUES (2,'d'); +REPLACE INTO t1 (a,b) VALUES (2,'d'); +--sorted_result +SELECT a,b FROM t1; + +DROP TABLE t1; + +--enable_parsing + +CREATE TABLE t1 (a INT, b CHAR(8), PRIMARY KEY (b)) ENGINE=rocksdb; +REPLACE INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'); +--error ER_DUP_ENTRY +INSERT INTO t1 (a,b) VALUES (4,'b'); +REPLACE INTO t1 (a,b) VALUES (4,'b'); +--sorted_result +SELECT a,b FROM t1; + +DROP TABLE t1; + |