75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
#***********************************************************
|
|
# WL#7703:
|
|
# Check the max key length 3072 when innodb_large_prefix=ON
|
|
# Check boundary value of max key length 3073
|
|
# When innodb_file_format=Antelope, compress DDLs fails
|
|
# Check file_format_max becomes Barracuda on DDL operation
|
|
# on compression table.
|
|
#***********************************************************
|
|
-- source include/have_innodb.inc
|
|
-- source include/have_innodb_16k.inc
|
|
|
|
# Check some default settings
|
|
SELECT @@innodb_strict_mode;
|
|
|
|
SELECT @@innodb_file_per_table;
|
|
|
|
SET GLOBAL innodb_large_prefix=ON;
|
|
|
|
# check the ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes
|
|
--error ER_TOO_LONG_KEY
|
|
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
|
|
|
# check the ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes
|
|
--error ER_TOO_LONG_KEY
|
|
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB KEY_BLOCK_SIZE=2;
|
|
|
|
# check DDL is successful at boundary value of key length
|
|
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3072))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
|
|
|
DROP table tab0;
|
|
|
|
SET GLOBAL innodb_file_format=Antelope;
|
|
|
|
# WL#8307 Make ROW_FORMAT=DYNAMIC the default
|
|
# will allow ROW_FORMAT=DYNAMIC even if innodb_file_format=Antelope.
|
|
CREATE TABLE tab0(c1 INT,c2 LONGBLOB ) ENGINE=InnoDB ROW_FORMAT=Dynamic;
|
|
DROP TABLE tab0;
|
|
|
|
SET GLOBAL innodb_file_format=Default;
|
|
|
|
SELECT @@innodb_file_format;
|
|
|
|
SET GLOBAL innodb_strict_mode=OFF;
|
|
|
|
# Check with default value
|
|
SET GLOBAL innodb_strict_mode=Default;
|
|
|
|
SELECT @@innodb_strict_mode;
|
|
|
|
SET GLOBAL innodb_large_prefix=OFF;
|
|
|
|
SELECT @@innodb_large_prefix;
|
|
|
|
SET GLOBAL innodb_large_prefix=Default;
|
|
|
|
# Check with default value
|
|
SELECT @@innodb_large_prefix;
|
|
|
|
SET GLOBAL innodb_file_format_max=Default;
|
|
|
|
# Check with default value
|
|
SELECT @@innodb_file_format_max;
|
|
|
|
CREATE TABLE tab1(c1 int ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
|
|
|
# Check file format changed to Barracuda, on DDL operation
|
|
SELECT @@innodb_file_format_max;
|
|
|
|
SET GLOBAL innodb_file_format_max=Default;
|
|
|
|
# Restore to the value that we explicitly used at startup.
|
|
SET GLOBAL innodb_large_prefix=off;
|
|
|
|
DROP TABLE tab1;
|