--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;