448 lines
23 KiB
Plaintext
448 lines
23 KiB
Plaintext
SET default_storage_engine=InnoDB;
|
|
# Test 1) Show the page size from Information Schema
|
|
SELECT variable_value FROM performance_schema.global_status
|
|
WHERE LOWER(variable_name) = 'innodb_page_size';
|
|
variable_value
|
|
4096
|
|
# Test 2) The number of buffer pool pages is dependent upon the page size.
|
|
SELECT variable_value FROM performance_schema.global_status
|
|
WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
|
|
variable_value
|
|
{checked_valid}
|
|
# Test 3) Query some information_shema tables that are dependent upon
|
|
# the page size.
|
|
SELECT t.name table_name, t.n_cols, t.flag table_flags,
|
|
i.name index_name, i.page_no root_page, i.type,
|
|
i.n_fields, i.merge_threshold
|
|
FROM INFORMATION_SCHEMA.INNODB_TABLES t,
|
|
INFORMATION_SCHEMA.INNODB_INDEXES i
|
|
WHERE t.table_id = i.table_id
|
|
AND t.name LIKE 'mysql%'
|
|
AND t.name NOT LIKE 'mysql/ndb_binlog_index'
|
|
ORDER BY t.name, i.index_id;
|
|
table_name n_cols table_flags index_name root_page type n_fields merge_threshold
|
|
CREATE TABLE t1 (a INT KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=innodb;
|
|
CREATE TABLE t2 (a INT KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=innodb;
|
|
CREATE TABLE t3 (a INT KEY, b TEXT) ROW_FORMAT=COMPRESSED ENGINE=innodb;
|
|
CREATE TABLE t4 (a INT KEY, b TEXT) ROW_FORMAT=DYNAMIC ENGINE=innodb;
|
|
SELECT t.name table_name, t.n_cols, t.flag table_flags,
|
|
i.name index_name, i.page_no root_page, i.type,
|
|
i.n_fields, i.merge_threshold
|
|
FROM INFORMATION_SCHEMA.INNODB_TABLES t,
|
|
INFORMATION_SCHEMA.INNODB_INDEXES i
|
|
WHERE t.table_id = i.table_id
|
|
AND t.name LIKE 'test%'
|
|
ORDER BY t.name, i.name;
|
|
table_name n_cols table_flags index_name root_page type n_fields merge_threshold
|
|
test/t1 8 0 PRIMARY 4 3 7 50
|
|
test/t2 8 1 PRIMARY 4 3 7 50
|
|
test/t3 8 37 PRIMARY 4 3 7 50
|
|
test/t4 8 33 PRIMARY 4 3 7 50
|
|
=== information_schema.innodb_tablespaces and innodb_datafiles ===
|
|
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
|
|
mtr/global_suppressions Single DEFAULT 0 Dynamic MYSQLD_DATADIR/mtr/global_suppressions.ibd
|
|
mtr/test_suppressions Single DEFAULT 0 Dynamic MYSQLD_DATADIR/mtr/test_suppressions.ibd
|
|
test/t1 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1.ibd
|
|
test/t2 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t2.ibd
|
|
test/t3 Single DEFAULT 2048 Compressed MYSQLD_DATADIR/test/t3.ibd
|
|
test/t4 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t4.ibd
|
|
=== information_schema.files ===
|
|
Space_Name File_Type Engine Status Tablespace_Name Path
|
|
mtr/global_suppressions TABLESPACE InnoDB NORMAL mtr/global_suppressions MYSQLD_DATADIR/mtr/global_suppressions.ibd
|
|
mtr/test_suppressions TABLESPACE InnoDB NORMAL mtr/test_suppressions MYSQLD_DATADIR/mtr/test_suppressions.ibd
|
|
test/t1 TABLESPACE InnoDB NORMAL test/t1 MYSQLD_DATADIR/test/t1.ibd
|
|
test/t2 TABLESPACE InnoDB NORMAL test/t2 MYSQLD_DATADIR/test/t2.ibd
|
|
test/t3 TABLESPACE InnoDB NORMAL test/t3 MYSQLD_DATADIR/test/t3.ibd
|
|
test/t4 TABLESPACE InnoDB NORMAL test/t4 MYSQLD_DATADIR/test/t4.ibd
|
|
DROP TABLE t1, t2, t3, t4;
|
|
# Test 4) The maximum row size is dependent upon the page size.
|
|
# Redundant: 1979, Compact: 1982.
|
|
# Compressed: 1982, Dynamic: 1982.
|
|
# Each row format has its own amount of overhead that
|
|
# varies depending on number of fields and other overhead.
|
|
SET SESSION innodb_strict_mode = ON;
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(127)
|
|
) ROW_FORMAT=redundant;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(128)
|
|
) charset latin1 ROW_FORMAT=redundant;
|
|
ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(155)
|
|
) ROW_FORMAT=compact;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(156)
|
|
) charset latin1 ROW_FORMAT=compact;
|
|
ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(76)
|
|
) ROW_FORMAT=compressed;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(79)
|
|
) charset latin1 ROW_FORMAT=compressed;
|
|
ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(155)
|
|
) ROW_FORMAT=dynamic;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
|
|
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(156)
|
|
) charset latin1 ROW_FORMAT=dynamic;
|
|
ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
|
CREATE TABLE t1 (a varchar(64) character set utf8,
|
|
b varchar(64) character set utf8,
|
|
c varchar(64) character set utf8,
|
|
d varchar(64) character set utf8,
|
|
PRIMARY KEY (a,b,c,d))
|
|
charset latin1
|
|
ENGINE=innodb;
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a varchar(64) character set utf8,
|
|
b varchar(64) character set utf8,
|
|
c varchar(64) character set utf8,
|
|
d varchar(65) character set utf8,
|
|
PRIMARY KEY (a,b,c,d))
|
|
charset latin1
|
|
ENGINE=innodb;
|
|
ERROR 42000: Specified key was too long; max key length is 768 bytes
|
|
CREATE TABLE t1 (a varchar(64) character set utf8,
|
|
b varchar(64) character set utf8,
|
|
c varchar(64) character set utf8,
|
|
d varchar(64) character set utf8,
|
|
e varchar(64) character set utf8,
|
|
PRIMARY KEY (a), KEY (b,c,d,e))
|
|
charset latin1
|
|
ENGINE=innodb;
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a varchar(64) character set utf8,
|
|
b varchar(64) character set utf8,
|
|
c varchar(64) character set utf8,
|
|
d varchar(64) character set utf8,
|
|
e varchar(65) character set utf8,
|
|
PRIMARY KEY (a), KEY (b,c,d,e))
|
|
charset latin1
|
|
ENGINE=innodb;
|
|
ERROR 42000: Specified key was too long; max key length is 768 bytes
|
|
# Test 5) Make sure that KEY_BLOCK_SIZE=4, 2 & 1 are all
|
|
# accepted and that KEY_BLOCK_SIZE=16 & 8 are rejected
|
|
# in strict mode and converted to 4 in non-strict mode.
|
|
SET SESSION innodb_strict_mode = ON;
|
|
CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4.
|
|
Error 1031 Table storage engine for 't1' doesn't have this option
|
|
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4.
|
|
Error 1031 Table storage engine for 't1' doesn't have this option
|
|
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=2;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=1;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=0;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED
|
|
DROP TABLE t1;
|
|
SET SESSION innodb_strict_mode = OFF;
|
|
CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
|
Warnings:
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8.
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8.
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=2;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=1;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
|
|
ALTER TABLE t1 KEY_BLOCK_SIZE=0;
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
SELECT table_name, row_format, create_options
|
|
FROM information_schema.tables WHERE table_name = 't1';
|
|
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
|
t1 Compressed row_format=COMPRESSED
|
|
DROP TABLE t1;
|
|
# Test 6) Make sure that KEY_BLOCK_SIZE = 8 and 16
|
|
# are both rejected when innodb_file_per_table=OFF
|
|
SET SESSION innodb_strict_mode = ON;
|
|
SET GLOBAL innodb_file_per_table = OFF;
|
|
SHOW VARIABLES LIKE 'innodb_file_per_table';
|
|
Variable_name Value
|
|
innodb_file_per_table OFF
|
|
CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8;
|
|
ERROR HY000: Table storage engine for 't4' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4.
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Error 1031 Table storage engine for 't4' doesn't have this option
|
|
CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16;
|
|
ERROR HY000: Table storage engine for 't5' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4.
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Error 1031 Table storage engine for 't5' doesn't have this option
|
|
SET GLOBAL innodb_file_per_table = ON;
|
|
CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8;
|
|
ERROR HY000: Table storage engine for 't4' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4.
|
|
Error 1031 Table storage engine for 't4' doesn't have this option
|
|
CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16;
|
|
ERROR HY000: Table storage engine for 't5' doesn't have this option
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4.
|
|
Error 1031 Table storage engine for 't5' doesn't have this option
|
|
# Test 7) Not included here; 16k only
|
|
# Test 8) Test creating a table that could lead to undo log overflow.
|
|
CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
|
|
h blob,i blob,j blob,k blob,l blob,m blob,n blob,
|
|
o blob,p blob,q blob,r blob,s blob,t blob,u blob)
|
|
ENGINE=InnoDB ROW_FORMAT=dynamic;
|
|
SET @a = repeat('a', 767);
|
|
SET @b = repeat('b', 767);
|
|
SET @c = repeat('c', 767);
|
|
SET @d = repeat('d', 767);
|
|
SET @e = repeat('e', 767);
|
|
INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
|
|
UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
|
|
k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b;
|
|
CREATE INDEX t1a ON t1 (a(767));
|
|
UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
|
|
k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c;
|
|
CREATE INDEX t1b ON t1 (b(767));
|
|
UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
|
|
k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
|
|
ERROR HY000: Undo log record is too big.
|
|
BEGIN;
|
|
UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
|
|
UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d,k=@d,l=@d,m=@d,
|
|
n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
|
|
COMMIT;
|
|
CREATE INDEX t1c ON t1 (c(767));
|
|
UPDATE t1 SET c=@e;
|
|
CREATE INDEX t1d ON t1 (d(767));
|
|
UPDATE t1 SET d=@e;
|
|
ERROR HY000: Undo log record is too big.
|
|
CREATE INDEX t1e ON t1 (e(767));
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` blob,
|
|
`b` blob,
|
|
`c` blob,
|
|
`d` blob,
|
|
`e` blob,
|
|
`f` blob,
|
|
`g` blob,
|
|
`h` blob,
|
|
`i` blob,
|
|
`j` blob,
|
|
`k` blob,
|
|
`l` blob,
|
|
`m` blob,
|
|
`n` blob,
|
|
`o` blob,
|
|
`p` blob,
|
|
`q` blob,
|
|
`r` blob,
|
|
`s` blob,
|
|
`t` blob,
|
|
`u` blob,
|
|
KEY `t1a` (`a`(767)),
|
|
KEY `t1b` (`b`(767)),
|
|
KEY `t1c` (`c`(767)),
|
|
KEY `t1d` (`d`(767)),
|
|
KEY `t1e` (`e`(767))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC
|
|
DROP TABLE t1;
|
|
SET SESSION innodb_strict_mode = OFF;
|
|
CREATE TABLE t1(
|
|
pk01 varchar(48), pk02 varchar(48), pk03 varchar(48), pk04 varchar(48),
|
|
pk05 varchar(48), pk06 varchar(48), pk07 varchar(48), pk08 varchar(48),
|
|
pk09 varchar(48), pk10 varchar(48), pk11 varchar(48), pk12 varchar(48),
|
|
pk13 varchar(48), pk14 varchar(48), pk15 varchar(48), pk16 varchar(48),
|
|
sk01 varchar(48), sk02 varchar(48), sk03 varchar(48), sk04 varchar(48),
|
|
sk05 varchar(48), sk06 varchar(48), sk07 varchar(48), sk08 varchar(48),
|
|
sk09 varchar(48), sk10 varchar(48), sk11 varchar(48), sk12 varchar(48),
|
|
sk13 varchar(48), sk14 varchar(48), sk15 varchar(48), sk16 varchar(48),
|
|
PRIMARY KEY pk(pk01,pk02,pk03,pk04,pk05,pk06,pk07,pk08,
|
|
pk09,pk10,pk11,pk12,pk13,pk14,pk15,pk16),
|
|
KEY pk(sk01,sk02,sk03,sk04,sk05,sk06,sk07,sk08,
|
|
sk09,sk10,sk11,sk12,sk13,sk14,sk15,sk16))
|
|
charset latin1
|
|
ROW_FORMAT=Redundant ENGINE=InnoDB;
|
|
SET @r = repeat('a', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('b', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('c', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('d', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('e', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
DELETE from t1;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(
|
|
pk01 varchar(48), pk02 varchar(48), pk03 varchar(48), pk04 varchar(48),
|
|
pk05 varchar(48), pk06 varchar(48), pk07 varchar(48), pk08 varchar(48),
|
|
pk09 varchar(48), pk10 varchar(48), pk11 varchar(48), pk12 varchar(48),
|
|
pk13 varchar(48), pk14 varchar(48), pk15 varchar(48), pk16 varchar(48),
|
|
sk01 varchar(48), sk02 varchar(48), sk03 varchar(48), sk04 varchar(48),
|
|
sk05 varchar(48), sk06 varchar(48), sk07 varchar(48), sk08 varchar(48),
|
|
sk09 varchar(48), sk10 varchar(48), sk11 varchar(48), sk12 varchar(48),
|
|
sk13 varchar(48), sk14 varchar(48), sk15 varchar(48), sk16 varchar(48),
|
|
PRIMARY KEY pk(pk01,pk02,pk03,pk04,pk05,pk06,pk07,pk08,
|
|
pk09,pk10,pk11,pk12,pk13,pk14,pk15,pk16),
|
|
KEY pk(sk01,sk02,sk03,sk04,sk05,sk06,sk07,sk08,
|
|
sk09,sk10,sk11,sk12,sk13,sk14,sk15,sk16))
|
|
charset latin1
|
|
ROW_FORMAT=Compressed KEY_BLOCK_SIZE=4 ENGINE=InnoDB;
|
|
SET @r = repeat('a', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('b', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('c', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('d', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
SET @r = repeat('e', 48);
|
|
INSERT INTO t1 VALUES(@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,
|
|
@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
|
DELETE from t1;
|
|
DROP TABLE t1;
|
|
SET SESSION innodb_strict_mode = off;
|
|
CREATE TABLE t1(
|
|
c text NOT NULL, d text NOT NULL,
|
|
PRIMARY KEY (c(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
Warnings:
|
|
Warning 139 Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(
|
|
c text NOT NULL, d text NOT NULL,
|
|
PRIMARY KEY (c(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
|
|
drop table t1;
|
|
CREATE TABLE t1(
|
|
c text NOT NULL, d text NOT NULL,
|
|
PRIMARY KEY (c(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
|
|
drop table t1;
|
|
CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
Warnings:
|
|
Warning 139 Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(c text, PRIMARY KEY (c(421)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
|
DROP TABLE t1;
|
|
#
|
|
# Bug #29283055: CLASS.CC:2604: VOID THD::SEND_STATEMENT_STATUS(): ASSERTION `0' FAILED.
|
|
#
|
|
USE mysql;
|
|
RENAME TABLE mysql.slave_master_info to mysql.slave_master_info_28490361;
|
|
CREATE TABLE mysql.slave_master_info(Number_of_lines int(10)unsigned COMMENT 'Number of lines in the file.',Master_log_name text COLLATE utf8_bin COMMENT 'The name of the master binary log currently being read from the master.',Master_log_pos INT(20) unsigned COMMENT 'The master log position of the last read event.',Host char(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT''COMMENT 'The host name of the master.',User_name text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',User_password text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',Port int(10) unsigned COMMENT 'The network port used to connect to the master.',Connect_retry int(10) unsigned COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',Enabled_ssl INT(1) COMMENT 'Indicates whether the server supports SSL connections.',Ssl_ca text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',Ssl_capath text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',Ssl_cert text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',Ssl_cipher text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',Sslk text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',Ssl_verify_server_cert INT(1) COMMENT 'Whether to verify the server certificate.',Heartbeat float,Bind text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',Ignored_server_ids text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored,followed by the actual server IDs',Uuid text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',Retry_count INT(20) unsigned COMMENT 'Number of reconnect attempts,to the master,before giving up.',Ssl_crl text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',Ssl_crlpath text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',Enabled_auto_position INT(1) COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',PRIMARY KEY (Host,Port)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information' ENGINE=ARCHIVE;
|
|
ERROR 42000: Specified key was too long; max key length is 8 bytes
|
|
create temporary table mysql.slave_master_info (a varchar(334) character set utf32 primary key) ROW_FORMAT=COMPACT ENGINE=INNODB;
|
|
ERROR 42000: Specified key was too long; max key length is 767 bytes
|
|
create table mysql.slave_master_info (a varchar(334) character set utf32 primary key) ROW_FORMAT=COMPACT ENGINE=INNODB;
|
|
# Cleanup
|
|
DROP TABLE mysql.slave_master_info;
|
|
RENAME TABLE mysql.slave_master_info_28490361 to mysql.slave_master_info;
|