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