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

Merge 10.11 into 11.4

This commit is contained in:
Marko Mäkelä
2025-01-09 07:58:08 +02:00
473 changed files with 4731 additions and 3149 deletions

View File

@@ -66,4 +66,28 @@ SELECT COUNT(*) FROM t;
COUNT(*)
2
DROP TABLE t1, t2, t;
#
# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
# failed in cmp_rec_rec_simple_field
#
CREATE TABLE t1(a BLOB, b VARCHAR(2048), PRIMARY KEY (b)) ENGINE=InnoDB;
INSERT INTO t1 VALUES
(REPEAT('x',4805),'a'), (REPEAT('x',16111),'b'),
(REPEAT('x',65535),'c'), (REPEAT('x',11312),'d'),
(REPEAT('x',35177),'e'), (REPEAT('x',65535),'f'),
(REPEAT('x',1988),'g'), (NULL,REPEAT('x',2048)),
(REPEAT('x',2503),'h'), (REPEAT('x',33152),'i'),
(REPEAT('x',65535),'j'), (REPEAT('x',1988),'k'),
(REPEAT('x',65535),'l'), (REPEAT('x',65535),'m'),
(REPEAT('x',65535),'n'), (REPEAT('x',65535),'o'),
(REPEAT('x',1988),'p'), (REPEAT('x',2503),'q'),
(REPEAT('x',65535),'r'), (REPEAT('x',65535),'s'),
(REPEAT('x',65535),'t'), (REPEAT('x',3169),'u'),
(REPEAT('x',7071),'v'), (REPEAT('x',16111),'w'),
(REPEAT('x',2325),'x'), (REPEAT('x',33152),'y'),
(REPEAT('x',65535),'z'), (REPEAT('x',65535),'aa'),
(REPEAT('x',16111),'bb'), (REPEAT('x',4805),'cc'),
(REPEAT('x',65535),'dd');
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
DROP TABLE t1;
SET GLOBAL innodb_stats_persistent=@default_stats_persistent;

View File

@@ -0,0 +1,8 @@
--- innodb-64k-crash.result 2024-11-28 10:37:26.491384671 +0530
+++ innodb-64k-crash.reject 2024-11-28 11:05:46.461405444 +0530
@@ -334,5 +334,4 @@
REPEAT('s', 1024), REPEAT('t', 1024),
REPEAT('u', 1024), REPEAT('v', 1024),
REPEAT('w', 1024), REPEAT('x', 1024));
-ERROR 42000: Row size too large (> 16383). 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.
DROP TABLE t1;

View File

@@ -0,0 +1,52 @@
--- innodb-64k-crash.result 2024-11-28 10:37:26.491384671 +0530
+++ innodb-64k-crash.reject 2024-11-28 11:10:13.381250612 +0530
@@ -290,49 +290,3 @@
# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
# failed in cmp_rec_rec_simple_field
#
-CREATE TABLE t1(f1 int not null, f2 text, f3 text, f4 text,
-f5 text, f6 text, f7 text, f8 text,
-f9 text, f10 text, f11 text, f12 text,
-f13 text, f14 text, f15 text, f16 text,
-f17 text, f18 text, f19 text, f20 text,
-f21 text, f22 text, f23 text, f24 text,
-f25 text, PRIMARY KEY(f1))ENGINE=InnoDB;
-SET STATEMENT unique_checks=0,foreign_key_checks=0 FOR
-INSERT INTO t1 VALUES(1, REPEAT('a', 1024), REPEAT('b', 1024),
-REPEAT('c', 1024), REPEAT('d', 1024),
-REPEAT('e', 1024), REPEAT('f', 1024),
-REPEAT('g', 4096), REPEAT('h', 1024),
-REPEAT('i', 1024), REPEAT('j', 1024),
-REPEAT('k', 1024), REPEAT('l', 1024),
-REPEAT('m', 1024), REPEAT('n', 1024),
-REPEAT('o', 1024), REPEAT('p', 1024),
-REPEAT('q', 1024), REPEAT('r', 1024),
-REPEAT('s', 1024), REPEAT('t', 1024),
-REPEAT('u', 1024), REPEAT('v', 1024),
-REPEAT('w', 1024), REPEAT('x', 1024)),
-(2, REPEAT('a', 1024), REPEAT('b', 1024),
-REPEAT('c', 1024), REPEAT('d', 1024),
-REPEAT('e', 1024), REPEAT('f', 1024),
-REPEAT('g', 4096), REPEAT('h', 1024),
-REPEAT('i', 1024), REPEAT('j', 1024),
-REPEAT('k', 1024), REPEAT('l', 1024),
-REPEAT('m', 1024), REPEAT('n', 1024),
-REPEAT('o', 1024), REPEAT('p', 1024),
-REPEAT('q', 1024), REPEAT('r', 1024),
-REPEAT('s', 1024), REPEAT('t', 1024),
-REPEAT('u', 1024), REPEAT('v', 1024),
-REPEAT('w', 1024), REPEAT('x', 1024)),
-(3, REPEAT('a', 1024), REPEAT('b', 1024),
-REPEAT('c', 1024), REPEAT('d', 1024),
-REPEAT('e', 1024), REPEAT('f', 1024),
-REPEAT('g', 4096), REPEAT('h', 1024),
-REPEAT('i', 1024), REPEAT('j', 1024),
-REPEAT('k', 1024), REPEAT('l', 1024),
-REPEAT('m', 1024), REPEAT('n', 1024),
-REPEAT('o', 1024), REPEAT('p', 1024),
-REPEAT('q', 1024), REPEAT('r', 1024),
-REPEAT('s', 1024), REPEAT('t', 1024),
-REPEAT('u', 1024), REPEAT('v', 1024),
-REPEAT('w', 1024), REPEAT('x', 1024));
-ERROR 42000: Row size too large (> 16383). 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.
-DROP TABLE t1;

View File

@@ -286,3 +286,53 @@ Table Op Msg_type Msg_text
test.t1 check status OK
test.t2 check status OK
drop table t1,t2;
#
# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
# failed in cmp_rec_rec_simple_field
#
CREATE TABLE t1(f1 int not null, f2 text, f3 text, f4 text,
f5 text, f6 text, f7 text, f8 text,
f9 text, f10 text, f11 text, f12 text,
f13 text, f14 text, f15 text, f16 text,
f17 text, f18 text, f19 text, f20 text,
f21 text, f22 text, f23 text, f24 text,
f25 text, PRIMARY KEY(f1))ENGINE=InnoDB;
SET STATEMENT unique_checks=0,foreign_key_checks=0 FOR
INSERT INTO t1 VALUES(1, REPEAT('a', 1024), REPEAT('b', 1024),
REPEAT('c', 1024), REPEAT('d', 1024),
REPEAT('e', 1024), REPEAT('f', 1024),
REPEAT('g', 4096), REPEAT('h', 1024),
REPEAT('i', 1024), REPEAT('j', 1024),
REPEAT('k', 1024), REPEAT('l', 1024),
REPEAT('m', 1024), REPEAT('n', 1024),
REPEAT('o', 1024), REPEAT('p', 1024),
REPEAT('q', 1024), REPEAT('r', 1024),
REPEAT('s', 1024), REPEAT('t', 1024),
REPEAT('u', 1024), REPEAT('v', 1024),
REPEAT('w', 1024), REPEAT('x', 1024)),
(2, REPEAT('a', 1024), REPEAT('b', 1024),
REPEAT('c', 1024), REPEAT('d', 1024),
REPEAT('e', 1024), REPEAT('f', 1024),
REPEAT('g', 4096), REPEAT('h', 1024),
REPEAT('i', 1024), REPEAT('j', 1024),
REPEAT('k', 1024), REPEAT('l', 1024),
REPEAT('m', 1024), REPEAT('n', 1024),
REPEAT('o', 1024), REPEAT('p', 1024),
REPEAT('q', 1024), REPEAT('r', 1024),
REPEAT('s', 1024), REPEAT('t', 1024),
REPEAT('u', 1024), REPEAT('v', 1024),
REPEAT('w', 1024), REPEAT('x', 1024)),
(3, REPEAT('a', 1024), REPEAT('b', 1024),
REPEAT('c', 1024), REPEAT('d', 1024),
REPEAT('e', 1024), REPEAT('f', 1024),
REPEAT('g', 4096), REPEAT('h', 1024),
REPEAT('i', 1024), REPEAT('j', 1024),
REPEAT('k', 1024), REPEAT('l', 1024),
REPEAT('m', 1024), REPEAT('n', 1024),
REPEAT('o', 1024), REPEAT('p', 1024),
REPEAT('q', 1024), REPEAT('r', 1024),
REPEAT('s', 1024), REPEAT('t', 1024),
REPEAT('u', 1024), REPEAT('v', 1024),
REPEAT('w', 1024), REPEAT('x', 1024));
ERROR 42000: Row size too large (> 16383). 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.
DROP TABLE t1;

View File

@@ -451,7 +451,7 @@ restore: t1 .ibd and .cfg files
SET SESSION debug_dbug=@saved_debug_dbug;
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
ALTER TABLE t1 IMPORT TABLESPACE;
ERROR HY000: Got error 42 'Tablespace not found' from ./test/t1.ibd
ERROR HY000: Got error 41 'Tablespace not found' from ./test/t1.ibd
SET SESSION debug_dbug=@saved_debug_dbug;
restore: t1 .ibd and .cfg files
SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";

View File

@@ -1,4 +1,6 @@
@@ -377,8 +377,6 @@
--- insert_into_empty.result
+++ insert_into_empty,32k.result
@@ -446,12 +446,9 @@
c09 text, c10 text, c11 text, c12 text) ENGINE=InnoDB;
SET GLOBAL INNODB_DEFAULT_ROW_FORMAT= COMPACT;
ALTER TABLE t1 FORCE;
@@ -7,3 +9,7 @@
INSERT IGNORE INTO t1 VALUES
(1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
(2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
-ERROR 42000: Row size too large (> 8126). 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.
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK

View File

@@ -1,10 +1,40 @@
--- a/mysql-test/suite/innodb/r/insert_into_empty.result
+++ b/mysql-test/suite/innodb/r/insert_into_empty.result
@@ -430,6 +430,7 @@
--- insert_into_empty.result
+++ insert_into_empty,4k.result
@@ -451,7 +451,7 @@
INSERT IGNORE INTO t1 VALUES
(1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
(2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
-ERROR 42000: Row size too large (> 8126). 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.
+ERROR 42000: Row size too large (> 1982). 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.
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -542,28 +542,6 @@
commit;
DROP TABLE t1;
#
-# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
-# failed in cmp_rec_rec_simple_field
-#
-CREATE TABLE t1(a BLOB, b VARCHAR(2048), PRIMARY KEY (b)) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (REPEAT('x',4805),'a'), (REPEAT('x',16111),'b'),
-(REPEAT('x',65535),'c'), (REPEAT('x',11312),'d'),
-(REPEAT('x',35177),'e'), (REPEAT('x',65535),'f'),
-(REPEAT('x',1988),'g'), (NULL,REPEAT('x',2048)),
-(REPEAT('x',2503),'h'), (REPEAT('x',33152),'i'),
-(REPEAT('x',65535),'j'), (REPEAT('x',1988),'k'),
-(REPEAT('x',65535),'l'), (REPEAT('x',65535),'m'),
-(REPEAT('x',65535),'n'), (REPEAT('x',65535),'o'),
-(REPEAT('x',1988),'p'), (REPEAT('x',2503),'q'),
-(REPEAT('x',65535),'r'), (REPEAT('x',65535),'s'),
-(REPEAT('x',65535),'t'), (REPEAT('x',3169),'u'),
-(REPEAT('x',7071),'v'), (REPEAT('x',16111),'w'),
-(REPEAT('x',2325),'x'), (REPEAT('x',33152),'y'),
-(REPEAT('x',65535),'z'), (REPEAT('x',65535),'aa'),
-(REPEAT('x',16111),'bb'), (REPEAT('x',4805),'cc'),
-(REPEAT('x',65535),'dd');
-DROP TABLE t1;
-#
# Assertion `page_dir_get_n_heap(new_page) == 2U' failed
# in dberr_t PageBulk::init()
#

View File

@@ -1,4 +1,6 @@
@@ -377,8 +377,6 @@
--- insert_into_empty.result
+++ insert_into_empty,64k.result
@@ -446,12 +446,9 @@
c09 text, c10 text, c11 text, c12 text) ENGINE=InnoDB;
SET GLOBAL INNODB_DEFAULT_ROW_FORMAT= COMPACT;
ALTER TABLE t1 FORCE;
@@ -7,3 +9,7 @@
INSERT IGNORE INTO t1 VALUES
(1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
(2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
-ERROR 42000: Row size too large (> 8126). 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.
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK

View File

@@ -0,0 +1,40 @@
--- insert_into_empty.result
+++ insert_into_empty,8k.result
@@ -451,7 +451,7 @@
INSERT IGNORE INTO t1 VALUES
(1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
(2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
-ERROR 42000: Row size too large (> 8126). 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.
+ERROR 42000: Row size too large (> 4030). 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.
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -542,28 +542,6 @@
commit;
DROP TABLE t1;
#
-# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
-# failed in cmp_rec_rec_simple_field
-#
-CREATE TABLE t1(a BLOB, b VARCHAR(2048), PRIMARY KEY (b)) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (REPEAT('x',4805),'a'), (REPEAT('x',16111),'b'),
-(REPEAT('x',65535),'c'), (REPEAT('x',11312),'d'),
-(REPEAT('x',35177),'e'), (REPEAT('x',65535),'f'),
-(REPEAT('x',1988),'g'), (NULL,REPEAT('x',2048)),
-(REPEAT('x',2503),'h'), (REPEAT('x',33152),'i'),
-(REPEAT('x',65535),'j'), (REPEAT('x',1988),'k'),
-(REPEAT('x',65535),'l'), (REPEAT('x',65535),'m'),
-(REPEAT('x',65535),'n'), (REPEAT('x',65535),'o'),
-(REPEAT('x',1988),'p'), (REPEAT('x',2503),'q'),
-(REPEAT('x',65535),'r'), (REPEAT('x',65535),'s'),
-(REPEAT('x',65535),'t'), (REPEAT('x',3169),'u'),
-(REPEAT('x',7071),'v'), (REPEAT('x',16111),'w'),
-(REPEAT('x',2325),'x'), (REPEAT('x',33152),'y'),
-(REPEAT('x',65535),'z'), (REPEAT('x',65535),'aa'),
-(REPEAT('x',16111),'bb'), (REPEAT('x',4805),'cc'),
-(REPEAT('x',65535),'dd');
-DROP TABLE t1;
-#
# Assertion `page_dir_get_n_heap(new_page) == 2U' failed
# in dberr_t PageBulk::init()
#

View File

@@ -451,6 +451,7 @@ Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB o
INSERT IGNORE INTO t1 VALUES
(1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
(2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
ERROR 42000: Row size too large (> 8126). 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.
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -540,4 +541,43 @@ INSERT INTO t1 VALUES(2,0);
DELETE FROM t1;
commit;
DROP TABLE t1;
#
# MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)'
# failed in cmp_rec_rec_simple_field
#
CREATE TABLE t1(a BLOB, b VARCHAR(2048), PRIMARY KEY (b)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (REPEAT('x',4805),'a'), (REPEAT('x',16111),'b'),
(REPEAT('x',65535),'c'), (REPEAT('x',11312),'d'),
(REPEAT('x',35177),'e'), (REPEAT('x',65535),'f'),
(REPEAT('x',1988),'g'), (NULL,REPEAT('x',2048)),
(REPEAT('x',2503),'h'), (REPEAT('x',33152),'i'),
(REPEAT('x',65535),'j'), (REPEAT('x',1988),'k'),
(REPEAT('x',65535),'l'), (REPEAT('x',65535),'m'),
(REPEAT('x',65535),'n'), (REPEAT('x',65535),'o'),
(REPEAT('x',1988),'p'), (REPEAT('x',2503),'q'),
(REPEAT('x',65535),'r'), (REPEAT('x',65535),'s'),
(REPEAT('x',65535),'t'), (REPEAT('x',3169),'u'),
(REPEAT('x',7071),'v'), (REPEAT('x',16111),'w'),
(REPEAT('x',2325),'x'), (REPEAT('x',33152),'y'),
(REPEAT('x',65535),'z'), (REPEAT('x',65535),'aa'),
(REPEAT('x',16111),'bb'), (REPEAT('x',4805),'cc'),
(REPEAT('x',65535),'dd');
DROP TABLE t1;
#
# Assertion `page_dir_get_n_heap(new_page) == 2U' failed
# in dberr_t PageBulk::init()
#
CREATE TABLE t1(f1 INT)ENGINE=InnoDB PARTITION BY RANGE (f1) (PARTITION p0 VALUES LESS THAN (100));
SET @old_bulk_op=
(SELECT variable_value FROM information_schema.global_status
WHERE variable_name = 'innodb_bulk_operations');
BEGIN;
INSERT INTO t1 SELECT seq FROM seq_1_to_1;
COMMIT;
SELECT variable_value-@old_bulk_op bulk_operations
FROM information_schema.global_status
WHERE variable_name = 'innodb_bulk_operations';
bulk_operations
1
DROP TABLE t1;
# End of 10.11 tests

View File

@@ -19,7 +19,7 @@ SHOW VARIABLES LIKE 'innodb_log_file_size';
Variable_name Value
innodb_log_file_size 4194304
FOUND 1 /InnoDB: Resized log to 4\.000MiB/ in mysqld.1.err
SET @save=@@GLOBAL.innodb_log_file_buffering;
SET @save=@@global.innodb_log_file_buffering;
SET GLOBAL innodb_log_file_buffering=OFF;
SET GLOBAL innodb_log_file_buffering=ON;
SET GLOBAL innodb_log_file_buffering=@save;