1--source include/have_rocksdb.inc 2 3# 4# Basic ALTER TABLE statements. 5# 6# USAGE of table options in ALTER statements 7# is covered in tbl_standard_opts and tbl_opt*.tests. 8# 9# Index operations are covered in index* tests. 10# 11# ALTER OFFLINE is not covered as it is not supported, as of 5.5.23 12# 13 14--disable_warnings 15DROP TABLE IF EXISTS t1, t2; 16--enable_warnings 17 18CREATE TABLE t1 (pk INT PRIMARY KEY, a INT, c CHAR(8)) ENGINE=rocksdb; 19INSERT INTO t1 VALUES (1,1,'a'),(2,5,'z'); 20 21# Column operations 22 23ALTER TABLE t1 ADD COLUMN b INT; 24SHOW CREATE TABLE t1; 25 26ALTER TABLE t1 ALTER COLUMN a SET DEFAULT '0'; 27SHOW CREATE TABLE t1; 28 29ALTER TABLE t1 ALTER a DROP DEFAULT; 30SHOW CREATE TABLE t1; 31 32ALTER TABLE t1 CHANGE COLUMN b b1 CHAR(8) FIRST; 33SHOW CREATE TABLE t1; 34 35ALTER TABLE t1 CHANGE b1 b INT AFTER c; 36SHOW CREATE TABLE t1; 37 38ALTER TABLE t1 CHANGE b b CHAR(8); 39SHOW CREATE TABLE t1; 40 41ALTER TABLE t1 MODIFY COLUMN b INT; 42SHOW CREATE TABLE t1; 43 44ALTER TABLE t1 MODIFY COLUMN b CHAR(8) FIRST; 45SHOW CREATE TABLE t1; 46 47ALTER TABLE t1 MODIFY COLUMN b INT AFTER a; 48SHOW CREATE TABLE t1; 49 50ALTER TABLE t1 DROP COLUMN b; 51SHOW CREATE TABLE t1; 52 53 54# Rename table 55 56ALTER TABLE t1 RENAME TO t2; 57--error ER_NO_SUCH_TABLE 58SHOW CREATE TABLE t1; 59SHOW CREATE TABLE t2; 60DROP TABLE t2; 61 62 63# ORDER BY 64CREATE TABLE t1 (pk INT PRIMARY KEY, a INT, b INT) ENGINE=rocksdb; 65INSERT INTO t1 VALUES (1,1,5),(2,2,2),(3,4,3); 66SHOW CREATE TABLE t1; 67 68ALTER TABLE t1 ORDER BY b ASC, a DESC, pk DESC; 69SHOW CREATE TABLE t1; 70SELECT * FROM t1; 71DROP TABLE t1; 72 73 74# Character set, collate 75 76CREATE TABLE t1 (pk INT PRIMARY KEY, a INT, b CHAR(8), c CHAR(8)) ENGINE=rocksdb CHARACTER SET latin1 COLLATE latin1_general_cs; 77INSERT INTO t1 VALUES (1,5,'z','t'); 78SHOW CREATE TABLE t1; 79 80ALTER TABLE t1 CONVERT TO CHARACTER SET utf8; 81SHOW CREATE TABLE t1; 82 83ALTER TABLE t1 DEFAULT CHARACTER SET = latin1 COLLATE latin1_general_ci; 84SHOW CREATE TABLE t1; 85 86 87# A 'null' ALTER operation 88 89ALTER TABLE t1 FORCE; 90SHOW CREATE TABLE t1; 91 92DROP TABLE t1; 93 94 95