mirror of
https://github.com/MariaDB/server.git
synced 2025-12-03 05:41:09 +03:00
Merge 10.3 into 10.4
This commit is contained in:
@@ -659,9 +659,9 @@ START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
connection default;
|
||||
DELETE IGNORE FROM t1 WHERE b = 1;
|
||||
Warnings:
|
||||
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 20. Please drop extra constraints and try again
|
||||
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
|
||||
Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
|
||||
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 20. Please drop extra constraints and try again
|
||||
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
|
||||
Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
|
||||
SELECT a FROM t1 FORCE INDEX(a);
|
||||
a
|
||||
@@ -812,6 +812,25 @@ ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint
|
||||
Parsing foreign keys 3...
|
||||
ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
Parsing foreign keys 4...
|
||||
#
|
||||
# MDEV-27583 InnoDB uses different constants for FK cascade
|
||||
# error message in SQL vs error log
|
||||
#
|
||||
CREATE TABLE t1
|
||||
(a INT, b INT, KEY(b),
|
||||
CONSTRAINT FOREIGN KEY (a) REFERENCES t1 (b) ON DELETE CASCADE)
|
||||
ENGINE=InnoDB;
|
||||
INSERT INTO t1 (a,b) VALUES
|
||||
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
|
||||
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,1),(1,0);
|
||||
DELETE FROM t1 WHERE b = 1;
|
||||
ERROR HY000: Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
|
||||
Error 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
|
||||
DROP TABLE t1;
|
||||
FOUND 1 /InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15.*/ in mysqld.1.err
|
||||
# End of 10.2 tests
|
||||
CREATE TABLE t1 (a GEOMETRY, INDEX(a(8)),
|
||||
FOREIGN KEY (a) REFERENCES x (xx)) ENGINE=InnoDB;
|
||||
|
||||
@@ -5,11 +5,14 @@ WHERE LOWER(variable_name) = 'innodb_page_size';
|
||||
variable_value
|
||||
16384
|
||||
# Test 4) The maximum row size is dependent upon the page size.
|
||||
# Redundant: 8123, Compact: 8126.
|
||||
# Compressed: 8126, Dynamic: 8126.
|
||||
# Redundant: 8123, Compact: 8126, Dynamic: 8126.
|
||||
# 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;
|
||||
SET @save_frequency=@@GLOBAL.innodb_purge_rseg_truncate_frequency;
|
||||
SET @save_level=@@GLOBAL.innodb_compression_level;
|
||||
SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
|
||||
SET GLOBAL innodb_compression_level=1;
|
||||
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(200),
|
||||
@@ -18,7 +21,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
|
||||
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
|
||||
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
|
||||
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
|
||||
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157)
|
||||
c36 char(200), c37 char(200), c38 char(196)
|
||||
) ROW_FORMAT=compressed;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
@@ -495,10 +498,13 @@ drop table t1;
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(438)))
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(292)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
||||
DROP TABLE t1;
|
||||
InnoDB 0 transactions not purged
|
||||
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
|
||||
SET GLOBAL innodb_compression_level=@save_level;
|
||||
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
|
||||
DROP TABLE tlong;
|
||||
DROP TABLE tlong2;
|
||||
|
||||
@@ -822,6 +822,29 @@ eval create table t1($fk_ref int primary key, $fk_field int, $constrs) engine in
|
||||
drop table t1;
|
||||
--enable_query_log
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-27583 InnoDB uses different constants for FK cascade
|
||||
--echo # error message in SQL vs error log
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1
|
||||
(a INT, b INT, KEY(b),
|
||||
CONSTRAINT FOREIGN KEY (a) REFERENCES t1 (b) ON DELETE CASCADE)
|
||||
ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES
|
||||
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
|
||||
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,1),(1,0);
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
DELETE FROM t1 WHERE b = 1;
|
||||
SHOW WARNINGS;
|
||||
DROP TABLE t1;
|
||||
|
||||
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
|
||||
let SEARCH_PATTERN= InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15.*;
|
||||
-- source include/search_pattern_in_file.inc
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
# MDEV-21792 Server aborts upon attempt to create foreign key on spatial field
|
||||
|
||||
@@ -12,15 +12,17 @@ SELECT variable_value FROM information_schema.global_status
|
||||
WHERE LOWER(variable_name) = 'innodb_page_size';
|
||||
|
||||
--echo # Test 4) The maximum row size is dependent upon the page size.
|
||||
--echo # Redundant: 8123, Compact: 8126.
|
||||
--echo # Compressed: 8126, Dynamic: 8126.
|
||||
--echo # Redundant: 8123, Compact: 8126, Dynamic: 8126.
|
||||
--echo # Each row format has its own amount of overhead that
|
||||
--echo # varies depending on number of fields and other overhead.
|
||||
|
||||
SET SESSION innodb_strict_mode = ON;
|
||||
SET @save_frequency=@@GLOBAL.innodb_purge_rseg_truncate_frequency;
|
||||
SET @save_level=@@GLOBAL.innodb_compression_level;
|
||||
SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
|
||||
SET GLOBAL innodb_compression_level=1;
|
||||
|
||||
|
||||
# Compressed table; 7959 bytes with 40 CHAR fields
|
||||
# Compressed table: compressBound() for the s390x DFLTCC instruction
|
||||
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(200),
|
||||
@@ -29,7 +31,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
|
||||
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
|
||||
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
|
||||
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
|
||||
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157)
|
||||
c36 char(200), c37 char(200), c38 char(196)
|
||||
) ROW_FORMAT=compressed;
|
||||
|
||||
DROP TABLE t1;
|
||||
@@ -445,17 +447,17 @@ drop table t1;
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(438)))
|
||||
CREATE TABLE t1(c text, PRIMARY KEY (c(292)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
|
||||
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# The tests that uses these tables required the purge thread to run.
|
||||
# Just in case it has not by now, provide a 10 second wait.
|
||||
--source include/wait_all_purged.inc
|
||||
|
||||
--sleep 10
|
||||
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
|
||||
SET GLOBAL innodb_compression_level=@save_level;
|
||||
|
||||
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
|
||||
DROP TABLE tlong;
|
||||
|
||||
Reference in New Issue
Block a user