diff options
Diffstat (limited to 'storage/rocksdb/mysql-test/rocksdb/t/type_text_indexes.test')
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/type_text_indexes.test | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb/t/type_text_indexes.test b/storage/rocksdb/mysql-test/rocksdb/t/type_text_indexes.test new file mode 100644 index 00000000000..5fdc4bff39d --- /dev/null +++ b/storage/rocksdb/mysql-test/rocksdb/t/type_text_indexes.test @@ -0,0 +1,171 @@ +--source include/have_rocksdb.inc +--source include/have_debug.inc + +# +# TEXT columns with indexes +# + +SET @ORIG_PAUSE_BACKGROUND_WORK = @@ROCKSDB_PAUSE_BACKGROUND_WORK; +SET GLOBAL ROCKSDB_PAUSE_BACKGROUND_WORK = 1; + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + + +CREATE TABLE t1 ( + t TEXT, + tt TINYTEXT, + m MEDIUMTEXT, + l LONGTEXT, + PRIMARY KEY t (t(32)) +) ENGINE=rocksdb; + +SHOW INDEX IN t1; + +INSERT INTO t1 (t,tt,m,l) VALUES +('','','',''), +('a','b','c','d'), +('b','d','c','b'), +('test1','test2','test3','test4'), +(REPEAT('a',128),REPEAT('b',128),REPEAT('c',128),REPEAT('d',128)), +('abc','def','ghi','jkl'), +('test2','test3','test4','test5'), +('test3','test4','test5','test6'), +(REPEAT('b',128),REPEAT('f',128),REPEAT('e',128),REPEAT('d',128)), +(REPEAT('c',128),REPEAT('b',128),REPEAT('c',128),REPEAT('e',128)); + +--replace_column 9 # +EXPLAIN SELECT SUBSTRING(t,16) AS f FROM t1 WHERE t IN ('test1','test2') ORDER BY f; +SELECT SUBSTRING(t,16) AS f FROM t1 WHERE t IN ('test1','test2') ORDER BY f; + +--replace_column 9 # +EXPLAIN SELECT SUBSTRING(t,16) AS f FROM t1 IGNORE INDEX (PRIMARY) WHERE t IN ('test1','test2') ORDER BY f; +SELECT SUBSTRING(t,16) AS f FROM t1 IGNORE INDEX (PRIMARY) WHERE t IN ('test1','test2') ORDER BY f; +DROP TABLE t1; + +--error ER_BLOB_KEY_WITHOUT_LENGTH +CREATE TABLE t1 ( + t TEXT, + tt TINYTEXT, + m MEDIUMTEXT, + l LONGTEXT, + pk TINYTEXT PRIMARY KEY, + UNIQUE INDEX l_tt (l(256),tt(64)) +) ENGINE=rocksdb; + +CREATE TABLE t1 ( + t TEXT, + tt TINYTEXT, + m MEDIUMTEXT, + l LONGTEXT, + pk MEDIUMTEXT, + PRIMARY KEY mt (pk(1)), + INDEX (m(128)) +) ENGINE=rocksdb; + +SHOW INDEX IN t1; + +INSERT INTO t1 (t,tt,m,l,pk) VALUES +('','','','','0'), +('a','b','c','d','1'), +('b','d','c','b','2'), +('test1','test2','test3','test4','3'), +(REPEAT('a',128),REPEAT('b',128),REPEAT('c',128),REPEAT('d',128),'4'), +('abc','def','ghi','jkl','5'), +('test2','test3','test4','test5','6'), +('test3','test4','test5','test6','7'), +(REPEAT('b',128),REPEAT('f',128),REPEAT('e',128),REPEAT('d',128),'8'), +(REPEAT('c',128),REPEAT('b',128),REPEAT('c',128),REPEAT('e',128),'9'); + +--replace_column 9 # +EXPLAIN SELECT SUBSTRING(m,128) AS f FROM t1 WHERE m = 'test1' ORDER BY f DESC; +SELECT SUBSTRING(m,128) AS f FROM t1 WHERE m = 'test1' ORDER BY f DESC; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b TEXT, + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +INSERT INTO t1 (b) VALUES +('00000000000000000000000000000000'), +('00000000000000000000000000000001'), +('00000000000000000000000000000002'); + +SELECT b FROM t1; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b TINYTEXT, + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +INSERT INTO t1 (b) VALUES +('00000000000000000000000000000000'), +('00000000000000000000000000000001'), +('00000000000000000000000000000002'); + +SELECT b FROM t1; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b MEDIUMTEXT, + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +INSERT INTO t1 (b) VALUES +('00000000000000000000000000000000'), +('00000000000000000000000000000001'), +('00000000000000000000000000000002'); + +SELECT b FROM t1; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b LONGTEXT, + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +INSERT INTO t1 (b) VALUES +('00000000000000000000000000000000'), +('00000000000000000000000000000001'), +('00000000000000000000000000000002'); + +SELECT b FROM t1; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b LONGTEXT CHARACTER SET "binary" COLLATE "binary", + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +INSERT INTO t1 (b) VALUES +('00000000000000000000000000000000'), +('00000000000000000000000000000001'), +('00000000000000000000000000000002'); +INSERT INTO t1 (b) VALUES (''), (_binary 0x0), (' '); + +SELECT hex(b) FROM t1; + +DROP TABLE t1; + +CREATE TABLE t1 ( + b LONGTEXT CHARACTER SET "latin1" COLLATE "latin1_bin", + PRIMARY KEY b (b(32)) +) ENGINE=rocksdb; + +--error ER_DUP_ENTRY +INSERT INTO t1 (b) VALUES (''), (_binary 0x0), (' '); + +INSERT INTO t1 (b) VALUES (''), (_binary 0x0); +SELECT hex(b) FROM t1; + +DROP TABLE t1; + +SET GLOBAL ROCKSDB_PAUSE_BACKGROUND_WORK = @ORIG_PAUSE_BACKGROUND_WORK; |