1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
--source include/have_ndb.inc
# Tests for CREATE TABLE .. ROW_FORMAT=[DEFAULT|FIXED|DYNAMIC|COMPRESSED|etc.]
--echo # Create table without specifying ROW_FORMAT, should use default
--echo # which is DYNAMIC
CREATE TABLE t1_dynamic(
a int primary key,
b int
) engine = NDB;
--echo # Create table with ROW_FORMAT=FIXED, should use FIXED
CREATE TABLE t2_fixed(
a int primary key,
b int
) ROW_FORMAT=FIXED engine = NDB;
--echo # Create table with ROW_FORMAT=DEFAULT, will also use DYNAMIC
CREATE TABLE t4_default_dynamic(
a int primary key,
b int
) ROW_FORMAT=DEFAULT engine = NDB;
--echo # Show that tables are using the expected row_format
SELECT table_name, row_format FROM information_schema.tables
WHERE TABLE_SCHEMA = 'test' order by TABLE_NAME;
--echo #
--echo # Check that columns can _not_ be added inplace on a table
--echo # which has ROW_FORMAT=FIXED
--echo #
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t2_fixed
algorithm=inplace,
ADD COLUMN c int null;
--echo #
--echo # Check that columns can be added inplace on a table
--echo # which has ROW_FORMAT=DYNAMIC
--echo #
ALTER TABLE t1_dynamic
algorithm=inplace,
ADD COLUMN c int null COLUMN_FORMAT DYNAMIC;
--echo #
--echo # Check that ROW_FORMAT can _not_ be changed with inplace ALTER
--echo #
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t1_dynamic
algorithm=inplace,
ROW_FORMAT=FIXED;
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t2_fixed
algorithm=inplace,
ROW_FORMAT=DYNAMIC;
--echo #
--echo # Check that ROW_FORMAT can be changed with copying ALTER
--echo #
--echo # DYNAMIC -> FIXED
ALTER TABLE t4_default_dynamic
algorithm=copy,
ROW_FORMAT=FIXED;
let $t4_row_format = `SELECT row_format FROM information_schema.tables
WHERE TABLE_NAME='t4_default_dynamic'`;
if ($t4_row_format != "Fixed")
{
echo t4_row_format: $t4_row_format;
die Failed to change ROW_FORMAT of t4 to FIXED;
}
--echo # FIXED -> DYNAMIC
ALTER TABLE t2_fixed
algorithm=copy,
ROW_FORMAT=DYNAMIC;
let $t2_row_format = `SELECT row_format FROM information_schema.tables
WHERE TABLE_NAME='t2_fixed'`;
if ($t2_row_format != "Dynamic")
{
echo t2_row_format: $t2_row_format;
die Failed to change ROW_FORMAT of t2 to DYNAMIC;
}
DROP TABLE t1_dynamic,t2_fixed,t4_default_dynamic;
|