1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-21679 innodb_zip.index_large_prefix_4k fails with ER_TOO_BIG_ROWSIZE

The test innodb_zip.index_large_prefix_4k would not run unless it is
invoked as
./mtr --mysqld=--innodb-page-size=4k innodb_zip.index_large_prefix_4k

This test was originally developed to cover an option that was removed
in commit 0c92794db3. Starting with
MariaDB Server 10.2, which introduced innodb_default_row_format=dynamic,
the option innodb_large_prefix had become useless.

Let us remove some of the stale tests and adjust the outcome to the
expected behaviour.
This commit is contained in:
Marko Mäkelä
2023-09-11 09:06:01 +03:00
parent 86f6129ca2
commit d4fd4ae4cf
2 changed files with 32 additions and 64 deletions

View File

@ -154,29 +154,28 @@ show warnings;
# Test edge cases for indexes using key_block_size=2
SET sql_mode= '';
set innodb_strict_mode=off;
create index idx1 on worklog5743_2(a2(4000));
set innodb_strict_mode=on;
show warnings;
show create table worklog5743_2;
drop index idx1 on worklog5743_2;
create index idx3 on worklog5743_2(a2(769));
show warnings;
create index idx4 on worklog5743_2(a2(768));
show warnings;
-- error ER_TOO_LONG_KEY
create index idx5 on worklog5743_2(a1, a2(765));
show warnings;
create index idx6 on worklog5743_2(a1, a2(764));
create index idx6 on worklog5743_2(a1, a2(768));
show warnings;
# Test edge cases for indexes using key_block_size=4
set innodb_strict_mode=off;
create index idx1 on worklog5743_4(a2(4000));
set innodb_strict_mode=on;
show warnings;
show create table worklog5743_4;
create index idx3 on worklog5743_4(a2(769));
show warnings;
create index idx4 on worklog5743_4(a2(768));
show warnings;
-- error ER_TOO_LONG_KEY
create index idx5 on worklog5743_4(a1, a2(765));
show warnings;
create index idx6 on worklog5743_4(a1, a2(764));
show warnings;
SET sql_mode= default;
@ -272,7 +271,6 @@ show warnings;
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(769)) ROW_FORMAT=DYNAMIC;
-- error ER_TOO_LONG_KEY
create index idx1 on worklog5743(a2);
show warnings;
drop table worklog5743;
@ -285,7 +283,6 @@ update worklog5743 set a1 = 3333;
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(765)) ROW_FORMAT=DYNAMIC;
-- error ER_TOO_LONG_KEY
create index idx1 on worklog5743(a1, a2);
show warnings;
drop table worklog5743;
@ -316,9 +313,8 @@ rollback;
drop table worklog5743;
-- echo ### Test 6 ###
# Create a table with old format, and the limit is 768 bytes.
-- error ER_TOO_LONG_KEY
create table worklog5743(a TEXT not null, primary key (a(1000)));
drop table worklog5743;
create table worklog5743(a TEXT) ROW_FORMAT=COMPACT;