EVOLUTION-MANAGER
Edit File: autoinc_vars.test
--source include/have_rocksdb.inc # # auto-increment-offset and auto-increment-increment # ############################################ # TODO: # This test currently produces wrong result # on the line 36 of the result file and further # due to bug MySQL:47118. # When/if the bug is fixed, # the result will need to be updated ############################################ --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings --echo #--------------------------- --echo # auto_increment_offset --echo #--------------------------- SET auto_increment_offset = 200; CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b CHAR(8)) ENGINE=rocksdb; # If auto_increment_offset is greater than auto_increment_increment, # the offset is ignored INSERT INTO t1 (a,b) VALUES (NULL,'a'),(NULL,'b'),(NULL,'c'); SELECT LAST_INSERT_ID(); SELECT a,b FROM t1 ORDER BY a; --echo #--------------------------- --echo # auto_increment_increment --echo #--------------------------- SET auto_increment_increment = 300; # offset should not be ignored anymore INSERT INTO t1 (a,b) VALUES (NULL,'d'),(NULL,'e'),(NULL,'f'); SELECT LAST_INSERT_ID(); SELECT a,b FROM t1 ORDER BY a; SET auto_increment_increment = 50; INSERT INTO t1 (a,b) VALUES (NULL,'g'),(NULL,'h'),(NULL,'i'); SELECT LAST_INSERT_ID(); SELECT a,b FROM t1 ORDER BY a; DROP TABLE t1; --echo #--------------------------- --echo # offset is greater than the max value --echo #--------------------------- SET auto_increment_increment = 500; SET auto_increment_offset = 300; CREATE TABLE t1 (a TINYINT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb; --echo # In MariaDB, this is an error: --error HA_ERR_AUTOINC_ERANGE INSERT INTO t1 (a) VALUES (NULL); SELECT LAST_INSERT_ID(); SELECT a FROM t1 ORDER BY a; DROP TABLE t1; --echo #--------------------------- --echo # test large autoincrement values --echo #--------------------------- SET auto_increment_increment = 1; SET auto_increment_offset = 1; CREATE TABLE t1 (a BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, b CHAR(8)) ENGINE=rocksdb; INSERT INTO t1 VALUES (18446744073709551613, 'a'); SHOW CREATE TABLE t1; INSERT INTO t1 VALUES (NULL, 'b'); SHOW CREATE TABLE t1; --error ER_AUTOINC_READ_FAILED INSERT INTO t1 VALUES (NULL, 'c'); SELECT * FROM t1; DROP TABLE t1; SET auto_increment_increment = 300; CREATE TABLE t1 (a BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, b CHAR(8)) ENGINE=rocksdb; INSERT INTO t1 VALUES (18446744073709551613, 'a'); SHOW CREATE TABLE t1; --error ER_AUTOINC_READ_FAILED INSERT INTO t1 VALUES (NULL, 'b'); SHOW CREATE TABLE t1; --error ER_AUTOINC_READ_FAILED INSERT INTO t1 VALUES (NULL, 'c'); SELECT * FROM t1; DROP TABLE t1; SET auto_increment_offset = 200; CREATE TABLE t1 (a BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, b CHAR(8)) ENGINE=rocksdb; INSERT INTO t1 VALUES (18446744073709551613, 'a'); SHOW CREATE TABLE t1; --error ER_AUTOINC_READ_FAILED INSERT INTO t1 VALUES (NULL, 'b'); SHOW CREATE TABLE t1; --error ER_AUTOINC_READ_FAILED INSERT INTO t1 VALUES (NULL, 'c'); SELECT * FROM t1; DROP TABLE t1; --echo #---------------------------------- --echo # Issue #792 Crash in autoincrement --echo #---------------------------------- CREATE TABLE t1(C1 DOUBLE AUTO_INCREMENT KEY,C2 CHAR) ENGINE=ROCKSDB; INSERT INTO t1 VALUES(2177,0); DROP TABLE t1; CREATE TABLE t0(c0 BLOB) ENGINE=ROCKSDB; INSERT INTO t0 VALUES(0); ALTER TABLE t0 AUTO_INCREMENT=0; DROP TABLE t0; --echo #--------------------------------------------------------------- --echo # MDEV-16703 Assertion failed in load_auto_incr_value_from_index --echo #--------------------------------------------------------------- CREATE TABLE t1 (pk INT AUTO_INCREMENT, a INT, PRIMARY KEY(pk)) ENGINE=RocksDB; INSERT INTO t1 (a) VALUES (1); UPDATE t1 SET pk = 3; ALTER TABLE t1 AUTO_INCREMENT 2; DROP TABLE t1; --echo #---------------------------------- --echo # Issue #792 Crash in autoincrement --echo #---------------------------------- CREATE TABLE t1(C1 DOUBLE AUTO_INCREMENT KEY,C2 CHAR) ENGINE=ROCKSDB; INSERT INTO t1 VALUES(2177,0); DROP TABLE t1; CREATE TABLE t0(c0 BLOB) ENGINE=ROCKSDB; INSERT INTO t0 VALUES(0); ALTER TABLE t0 AUTO_INCREMENT=0; DROP TABLE t0; --echo #---------------------------------- --echo # Issue #869 Crash in autoincrement --echo #---------------------------------- CREATE TABLE t1 (pk INT AUTO_INCREMENT, a INT, PRIMARY KEY(pk)) ENGINE=RocksDB; INSERT INTO t1 (a) VALUES (1); UPDATE t1 SET pk = 3; ALTER TABLE t1 AUTO_INCREMENT 2; DROP TABLE t1;