1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.6 into 10.10

The MDEV-29693 conflict resolution is from Monty, as well as is
a bug fix where ANALYZE TABLE wrongly built histograms for
single-column PRIMARY KEY.
Also includes a fix for safe_malloc error reporting.

Other things:
- Copied main.log_slow from 10.4 to avoid mtr issue

Disabled test:
- spider/bugfix.mdev_27239 because we started to get
  +Error	1429 Unable to connect to foreign data source: localhost
  -Error	1158 Got an error reading communication packets
- main.delayed
  - Bug#54332 Deadlock with two connections doing LOCK TABLE+INSERT DELAYED
    This part is disabled for now as it fails randomly with different
    warnings/errors (no corruption).
This commit is contained in:
Marko Mäkelä
2023-10-13 15:14:37 +03:00
committed by Monty
436 changed files with 13299 additions and 28179 deletions

View File

@@ -6,8 +6,6 @@ SET default_storage_engine=InnoDB;
--disable_query_log
call mtr.add_suppression("Cannot add field .* in table .* because after adding it, the row size is");
SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
SET GLOBAL innodb_read_only_compressed=OFF;
--enable_query_log
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
@@ -144,38 +142,40 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_1(a2(436));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx4 on worklog5743_1(a2(434));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx4 on worklog5743_1(a2(290));
show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_1(a1, a2(430));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx6 on worklog5743_1(a1, a2(428));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx6 on worklog5743_1(a1, a2(283));
show warnings;
# Test edge cases for indexes using key_block_size=2
SET sql_mode= '';
--error ER_TOO_BIG_ROWSIZE
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;
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;
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;
@@ -313,6 +313,9 @@ rollback;
drop table worklog5743;
-- echo ### Test 6 ###
create table worklog5743(a TEXT not null, primary key (a(1000)));
drop table worklog5743;
create table worklog5743(a TEXT) ROW_FORMAT=COMPACT;
# Excercise the column length check in ha_innobase::add_index()
@@ -376,9 +379,7 @@ create table worklog5743(a TEXT not null) ROW_FORMAT=COMPACT;
-- error ER_INDEX_COLUMN_TOO_LONG
create index idx on worklog5743(a(768));
create index idx2 on worklog5743(a(767));
--disable_query_log
SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
--enable_query_log
drop table worklog5743;
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;

View File

@@ -6,8 +6,6 @@ SET default_storage_engine=InnoDB;
--disable_query_log
call mtr.add_suppression("Cannot add field .* in table .* because after adding it, the row size is");
SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
SET GLOBAL innodb_read_only_compressed=OFF;
--enable_query_log
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
@@ -146,14 +144,14 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_1(a2(436));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx4 on worklog5743_1(a2(434));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx4 on worklog5743_1(a2(290));
show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_1(a1, a2(430));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx6 on worklog5743_1(a1, a2(428));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx6 on worklog5743_1(a1, a2(283));
show warnings;
# Test edge cases for indexes using key_block_size=2
@@ -163,14 +161,14 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_2(a2(948));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx4 on worklog5743_2(a2(946));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx4 on worklog5743_2(a2(802));
show warnings;
-- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_2(a1, a2(942));
show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only
create index idx6 on worklog5743_2(a1, a2(940));
# MDEV-27634 innodb_zip tests failing on s390x
create index idx6 on worklog5743_2(a1, a2(795));
show warnings;
# Test edge cases for indexes using key_block_size=4
@@ -398,9 +396,7 @@ create table worklog5743(a TEXT not null) ROW_FORMAT=COMPACT;
-- error ER_INDEX_COLUMN_TOO_LONG
create index idx on worklog5743(a(768));
create index idx2 on worklog5743(a(767));
--disable_query_log
SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
--enable_query_log
drop table worklog5743;
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;