summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/main/alter_table_errors.result19
-rw-r--r--mysql-test/main/alter_table_errors.test11
-rw-r--r--mysql-test/main/check.result10
-rw-r--r--mysql-test/main/check.test12
-rw-r--r--mysql-test/main/func_group_innodb.result24
-rw-r--r--mysql-test/main/func_group_innodb.test19
-rw-r--r--mysql-test/main/func_math.result7
-rw-r--r--mysql-test/main/func_math.test8
-rw-r--r--mysql-test/main/grant5.result7
-rw-r--r--mysql-test/main/grant5.test10
-rw-r--r--mysql-test/main/innodb_ext_key.result1
-rw-r--r--mysql-test/main/innodb_ext_key.test1
-rw-r--r--mysql-test/main/innodb_mysql_sync.result4
-rw-r--r--mysql-test/main/innodb_mysql_sync.test2
-rw-r--r--mysql-test/main/mysqldump.result6
-rw-r--r--mysql-test/main/mysqldump.test2
-rw-r--r--mysql-test/main/partition_alter.test2
-rw-r--r--mysql-test/main/partition_innodb.result23
-rw-r--r--mysql-test/main/partition_innodb.test25
-rw-r--r--mysql-test/main/ps_error.result73
-rw-r--r--mysql-test/main/ps_error.test66
-rw-r--r--mysql-test/main/range_innodb.result18
-rw-r--r--mysql-test/main/range_innodb.test17
-rw-r--r--mysql-test/main/read_only.result16
-rw-r--r--mysql-test/main/read_only.test23
-rw-r--r--mysql-test/main/subselect_exists2in.result4
-rw-r--r--mysql-test/main/udf.result14
-rw-r--r--mysql-test/main/udf.test13
-rw-r--r--mysql-test/main/union.result38
-rw-r--r--mysql-test/main/union.test35
-rw-r--r--mysql-test/main/view.result4
-rw-r--r--mysql-test/main/win.result23
-rw-r--r--mysql-test/main/win.test19
-rw-r--r--mysql-test/std_data/mdev17909#P#p20181029.MYD0
-rw-r--r--mysql-test/std_data/mdev17909#P#p20181029.MYIbin0 -> 1024 bytes
-rw-r--r--mysql-test/std_data/mdev17909#P#p20181128.MYD0
-rw-r--r--mysql-test/std_data/mdev17909#P#p20181128.MYIbin0 -> 1024 bytes
-rw-r--r--mysql-test/std_data/mdev17909.frmbin0 -> 3284 bytes
-rw-r--r--mysql-test/std_data/mdev17909.parbin0 -> 48 bytes
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change.result1
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-alter.result28
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-disable.result1
-rw-r--r--mysql-test/suite/encryption/r/innodb-missing-key.result1
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change.test1
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-alter.test38
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-disable.test1
-rw-r--r--mysql-test/suite/encryption/t/innodb-missing-key.test1
-rw-r--r--mysql-test/suite/galera/disabled.def5
-rw-r--r--mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result380
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover.result7
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result7
-rw-r--r--mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result1
-rw-r--r--mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,release.rdiff114
-rw-r--r--mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test161
-rw-r--r--mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test3
-rw-r--r--mysql-test/suite/innodb/include/crc32.pl33
-rw-r--r--mysql-test/suite/innodb/r/alter_inplace_perfschema.result9
-rw-r--r--mysql-test/suite/innodb/r/data_types.result12
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-debug.result23
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter.result31
-rw-r--r--mysql-test/suite/innodb/r/innodb-index.result16
-rw-r--r--mysql-test/suite/innodb/r/innodb-virtual-columns.result13
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_bugs.result130
-rw-r--r--mysql-test/suite/innodb/t/alter_inplace_perfschema.test8
-rw-r--r--mysql-test/suite/innodb/t/data_types.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-debug.test32
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter.test18
-rw-r--r--mysql-test/suite/innodb/t/innodb-index.test22
-rw-r--r--mysql-test/suite/innodb/t/innodb-virtual-columns.test11
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_bugs.test138
-rw-r--r--mysql-test/suite/innodb/t/recovery_shutdown.test6
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result11
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test10
-rw-r--r--mysql-test/suite/mariabackup/drop_table_during_backup.result5
-rw-r--r--mysql-test/suite/mariabackup/drop_table_during_backup.test9
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.opt6
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.result7
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.test48
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.result4
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.test43
-rw-r--r--mysql-test/suite/mariabackup/huge_lsn.opt4
-rw-r--r--mysql-test/suite/mariabackup/partition_partial.opt1
-rw-r--r--mysql-test/suite/mariabackup/partition_partial.result31
-rw-r--r--mysql-test/suite/mariabackup/partition_partial.test44
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.result9
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.test7
-rw-r--r--mysql-test/suite/mariabackup/unencrypted_page_compressed.result11
-rw-r--r--mysql-test/suite/mariabackup/unencrypted_page_compressed.test50
-rw-r--r--mysql-test/suite/rpl/r/rpl_idempotency.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_user.result11
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_user.test11
-rw-r--r--mysql-test/suite/storage_engine/type_bool.result4
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded.result2
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result2
-rw-r--r--mysql-test/suite/sys_vars/r/table_definition_cache_basic.result16
-rw-r--r--mysql-test/suite/sys_vars/t/table_definition_cache_basic.test6
-rw-r--r--mysql-test/suite/vcol/r/upgrade.result16
-rw-r--r--mysql-test/suite/vcol/t/upgrade.test15
-rw-r--r--mysql-test/unstable-tests213
100 files changed, 2262 insertions, 191 deletions
diff --git a/mysql-test/main/alter_table_errors.result b/mysql-test/main/alter_table_errors.result
index 020a30304d0..b26409e3d05 100644
--- a/mysql-test/main/alter_table_errors.result
+++ b/mysql-test/main/alter_table_errors.result
@@ -8,3 +8,22 @@ t CREATE TABLE `t` (
`v` int(11) GENERATED ALWAYS AS (`a`) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t;
+create temporary table t1 (a int, v int as (a));
+alter table t1 change column a b int, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
+show create table t1;
+Table Create Table
+t1 CREATE TEMPORARY TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `v` int(11) GENERATED ALWAYS AS (`a`) VIRTUAL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create temporary table t2 (a int, v int as (a));
+lock table t2 write;
+alter table t2 change column a b int, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
+show create table t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `v` int(11) GENERATED ALWAYS AS (`a`) VIRTUAL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
diff --git a/mysql-test/main/alter_table_errors.test b/mysql-test/main/alter_table_errors.test
index d9982ac26f4..8fa65b0f330 100644
--- a/mysql-test/main/alter_table_errors.test
+++ b/mysql-test/main/alter_table_errors.test
@@ -8,3 +8,14 @@ create table t (a int, v int as (a)) engine=innodb;
alter table t change column a b tinyint, algorithm=inplace;
show create table t;
drop table t;
+
+create temporary table t1 (a int, v int as (a));
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 change column a b int, algorithm=inplace;
+show create table t1;
+
+create temporary table t2 (a int, v int as (a));
+lock table t2 write;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t2 change column a b int, algorithm=inplace;
+show create table t2;
diff --git a/mysql-test/main/check.result b/mysql-test/main/check.result
index e3dcda773f4..e882a4cdbe6 100644
--- a/mysql-test/main/check.result
+++ b/mysql-test/main/check.result
@@ -85,3 +85,13 @@ t1 CREATE TABLE `t1` (
`c` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
+create temporary table t1 (
+id int not null auto_increment primary key,
+f int not null default 0
+);
+insert into t1 () values ();
+alter ignore table t1 add constraint check (f > 0);
+Warnings:
+Warning 4025 CONSTRAINT `CONSTRAINT_1` failed for `test`.`t1`
+alter table t1;
+drop table t1;
diff --git a/mysql-test/main/check.test b/mysql-test/main/check.test
index cce8fd34c9c..475a7996a09 100644
--- a/mysql-test/main/check.test
+++ b/mysql-test/main/check.test
@@ -103,3 +103,15 @@ CREATE OR REPLACE TABLE t1 (a INT, b INT, c INT, CHECK (a+b>0)) ENGINE=MyISAM;
ALTER TABLE t1 DROP COLUMN b, DROP CONSTRAINT `CONSTRAINT_1`;
SHOW CREATE TABLE t1;
DROP TABLE t1;
+
+#
+# MDEV-16903 Assertion `!auto_increment_field_not_null' failed in TABLE::init after unsuccessful attempt to add CHECK constraint on temporary table
+#
+create temporary table t1 (
+ id int not null auto_increment primary key,
+ f int not null default 0
+);
+insert into t1 () values ();
+alter ignore table t1 add constraint check (f > 0);
+alter table t1;
+drop table t1;
diff --git a/mysql-test/main/func_group_innodb.result b/mysql-test/main/func_group_innodb.result
index 27493ae710b..e149997af4f 100644
--- a/mysql-test/main/func_group_innodb.result
+++ b/mysql-test/main/func_group_innodb.result
@@ -246,4 +246,28 @@ EXPLAIN SELECT MIN(c) FROM t1 GROUP BY b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range NULL b 263 NULL 3 Using index for group-by
DROP TABLE t1;
+#
+# MDEV-17589: Stack-buffer-overflow with indexed varchar (utf8) field
+#
+CREATE TABLE t1 (v1 varchar(1020), v2 varchar(2), v3 varchar(2),
+KEY k1 (v3,v2,v1)) ENGINE=InnoDB CHARACTER SET=utf8 ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES ('king', 'qu','qu'), ('bad','go','go');
+explain
+SELECT MIN(t1.v1) FROM t1 where t1.v2='qu' and t1.v3='qu';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+SELECT MIN(t1.v1) FROM t1 where t1.v2='qu' and t1.v3='qu';
+MIN(t1.v1)
+king
+drop table t1;
+CREATE TABLE t1 (v1 varchar(1024) CHARACTER SET utf8, KEY v1 (v1)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES ('king'), ('bad');
+explain
+SELECT MIN(x.v1) FROM (SELECT t1.* FROM t1 WHERE t1.v1 >= 'p') x;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No matching min/max row
+SELECT MIN(x.v1) FROM (SELECT t1.* FROM t1 WHERE t1.v1 >= 'p') x;
+MIN(x.v1)
+NULL
+drop table t1;
End of 5.5 tests
diff --git a/mysql-test/main/func_group_innodb.test b/mysql-test/main/func_group_innodb.test
index 1d175f85ed9..c4914b97641 100644
--- a/mysql-test/main/func_group_innodb.test
+++ b/mysql-test/main/func_group_innodb.test
@@ -192,4 +192,23 @@ EXPLAIN SELECT MIN(c) FROM t1 GROUP BY b;
DROP TABLE t1;
+--echo #
+--echo # MDEV-17589: Stack-buffer-overflow with indexed varchar (utf8) field
+--echo #
+
+CREATE TABLE t1 (v1 varchar(1020), v2 varchar(2), v3 varchar(2),
+ KEY k1 (v3,v2,v1)) ENGINE=InnoDB CHARACTER SET=utf8 ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES ('king', 'qu','qu'), ('bad','go','go');
+explain
+SELECT MIN(t1.v1) FROM t1 where t1.v2='qu' and t1.v3='qu';
+SELECT MIN(t1.v1) FROM t1 where t1.v2='qu' and t1.v3='qu';
+drop table t1;
+
+CREATE TABLE t1 (v1 varchar(1024) CHARACTER SET utf8, KEY v1 (v1)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES ('king'), ('bad');
+explain
+SELECT MIN(x.v1) FROM (SELECT t1.* FROM t1 WHERE t1.v1 >= 'p') x;
+SELECT MIN(x.v1) FROM (SELECT t1.* FROM t1 WHERE t1.v1 >= 'p') x;
+drop table t1;
+
--echo End of 5.5 tests
diff --git a/mysql-test/main/func_math.result b/mysql-test/main/func_math.result
index eafee43e2a2..251979dba03 100644
--- a/mysql-test/main/func_math.result
+++ b/mysql-test/main/func_math.result
@@ -1316,5 +1316,12 @@ t2 CREATE TABLE `t2` (
DROP TABLE t1, t2;
SET sql_mode=DEFAULT;
#
+# MDEV-18150 Assertion `decimals_to_set <= 38' failed in Item_func_round::fix_length_and_dec_decimal
+#
+CREATE TABLE t1 (i INT(23));
+SELECT ROUND( i, 18446744073709551594 ) AS f FROM t1;
+f
+DROP TABLE t1;
+#
# End of 10.3 tests
#
diff --git a/mysql-test/main/func_math.test b/mysql-test/main/func_math.test
index bf95cfd7868..5d7c593a63d 100644
--- a/mysql-test/main/func_math.test
+++ b/mysql-test/main/func_math.test
@@ -920,5 +920,13 @@ SET sql_mode=DEFAULT;
--echo #
+--echo # MDEV-18150 Assertion `decimals_to_set <= 38' failed in Item_func_round::fix_length_and_dec_decimal
+--echo #
+
+CREATE TABLE t1 (i INT(23));
+SELECT ROUND( i, 18446744073709551594 ) AS f FROM t1;
+DROP TABLE t1;
+
+--echo #
--echo # End of 10.3 tests
--echo #
diff --git a/mysql-test/main/grant5.result b/mysql-test/main/grant5.result
index 24abc61a348..c0fecf0c369 100644
--- a/mysql-test/main/grant5.result
+++ b/mysql-test/main/grant5.result
@@ -18,3 +18,10 @@ ERROR 42000: Access denied for user 'test'@'%' to database 'mysql'
connection default;
drop user test, foo;
drop role foo;
+CREATE TABLE t1 (a INT);
+LOCK TABLE t1 WRITE;
+REVOKE EXECUTE ON PROCEDURE sp FROM u;
+ERROR HY000: Table 'user' was not locked with LOCK TABLES
+REVOKE PROCESS ON *.* FROM u;
+ERROR HY000: Table 'user' was not locked with LOCK TABLES
+DROP TABLE t1;
diff --git a/mysql-test/main/grant5.test b/mysql-test/main/grant5.test
index 14f2fd65020..649bba7d1ca 100644
--- a/mysql-test/main/grant5.test
+++ b/mysql-test/main/grant5.test
@@ -23,3 +23,13 @@ show grants for foo@'%'; # user
drop user test, foo;
drop role foo;
+#
+# MDEV-17975 Assertion `! is_set()' or `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed upon REVOKE under LOCK TABLE
+#
+CREATE TABLE t1 (a INT);
+LOCK TABLE t1 WRITE;
+--error ER_TABLE_NOT_LOCKED
+REVOKE EXECUTE ON PROCEDURE sp FROM u;
+--error ER_TABLE_NOT_LOCKED
+REVOKE PROCESS ON *.* FROM u;
+DROP TABLE t1;
diff --git a/mysql-test/main/innodb_ext_key.result b/mysql-test/main/innodb_ext_key.result
index c55e8d138f8..7a994730738 100644
--- a/mysql-test/main/innodb_ext_key.result
+++ b/mysql-test/main/innodb_ext_key.result
@@ -1089,6 +1089,7 @@ from
t0 A, t0 B, t0 C;
drop table t0,t1;
#
+#
# MDEV-10360: Extended keys: index properties depend on index order
#
create table t0 (a int);
diff --git a/mysql-test/main/innodb_ext_key.test b/mysql-test/main/innodb_ext_key.test
index a721943e8bc..4104ac5f787 100644
--- a/mysql-test/main/innodb_ext_key.test
+++ b/mysql-test/main/innodb_ext_key.test
@@ -726,6 +726,7 @@ if ($rows < 2)
drop table t0,t1;
--echo #
+--echo #
--echo # MDEV-10360: Extended keys: index properties depend on index order
--echo #
create table t0 (a int);
diff --git a/mysql-test/main/innodb_mysql_sync.result b/mysql-test/main/innodb_mysql_sync.result
index a8a264d6580..3f284edde86 100644
--- a/mysql-test/main/innodb_mysql_sync.result
+++ b/mysql-test/main/innodb_mysql_sync.result
@@ -489,7 +489,9 @@ DROP TABLE t1;
SET DEBUG_SYNC= 'alter_table_copy_after_lock_upgrade SIGNAL upgraded';
#Setup a table with FULLTEXT index.
connection default;
-CREATE TABLE t1(fld1 CHAR(10), FULLTEXT(fld1)) ENGINE= INNODB;
+CREATE TABLE t1(fld1 CHAR(10), FULLTEXT(fld1), FULLTEXT(fld1)) ENGINE= INNODB;
+Warnings:
+Note 1831 Duplicate index `fld1_2`. This is deprecated and will be disallowed in a future release
INSERT INTO t1 VALUES("String1");
#OPTIMIZE TABLE operation.
OPTIMIZE TABLE t1;
diff --git a/mysql-test/main/innodb_mysql_sync.test b/mysql-test/main/innodb_mysql_sync.test
index 66935f811d7..4026080c4b4 100644
--- a/mysql-test/main/innodb_mysql_sync.test
+++ b/mysql-test/main/innodb_mysql_sync.test
@@ -650,7 +650,7 @@ SET DEBUG_SYNC= 'alter_table_copy_after_lock_upgrade SIGNAL upgraded';
--echo #Setup a table with FULLTEXT index.
--connection default
-CREATE TABLE t1(fld1 CHAR(10), FULLTEXT(fld1)) ENGINE= INNODB;
+CREATE TABLE t1(fld1 CHAR(10), FULLTEXT(fld1), FULLTEXT(fld1)) ENGINE= INNODB;
INSERT INTO t1 VALUES("String1");
--echo #OPTIMIZE TABLE operation.
diff --git a/mysql-test/main/mysqldump.result b/mysql-test/main/mysqldump.result
index 1366f9bdd12..556245df9cd 100644
--- a/mysql-test/main/mysqldump.result
+++ b/mysql-test/main/mysqldump.result
@@ -4333,12 +4333,12 @@ second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL E
show create event ee1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
ee1 UTC CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5 latin1 latin1_swedish_ci latin1_swedish_ci
-create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;
+create event ee2 on schedule at '2030-12-31 21:01:22' do set @a=5;
create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
-second ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+second ee2 root@localhost UTC ONE TIME 2030-12-31 21:01:22 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
second ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
drop database second;
create database third;
@@ -4346,7 +4346,7 @@ use third;
show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
third ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
-third ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+third ee2 root@localhost UTC ONE TIME 2030-12-31 21:01:22 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
third ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
drop database third;
set time_zone = 'SYSTEM';
diff --git a/mysql-test/main/mysqldump.test b/mysql-test/main/mysqldump.test
index 6567596c35c..dbd32f3e74a 100644
--- a/mysql-test/main/mysqldump.test
+++ b/mysql-test/main/mysqldump.test
@@ -1810,7 +1810,7 @@ show create event ee1;
## prove three works (with spaces and tabs on the end)
# start with one from the previous restore
-create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;
+create event ee2 on schedule at '2030-12-31 21:01:22' do set @a=5;
create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
show events;
--exec $MYSQL_DUMP --events second > $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
diff --git a/mysql-test/main/partition_alter.test b/mysql-test/main/partition_alter.test
index 62a3e1c0777..91ae67e2f7b 100644
--- a/mysql-test/main/partition_alter.test
+++ b/mysql-test/main/partition_alter.test
@@ -79,7 +79,6 @@ partition p1 values less than ('2016-10-18'),
partition p2 values less than ('2020-10-19'));
insert t1 values (0, '2000-01-02', 0);
insert t1 values (1, '2020-01-02', 10);
---replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
--error ER_CONSTRAINT_FAILED
alter table t1 add check (b in (0, 1));
alter table t1 add check (b in (0, 10));
@@ -96,7 +95,6 @@ partition p1 values less than ('2016-10-18'),
partition p2 values less than ('2020-10-19'));
insert t1 values (0, '2000-01-02', 0);
insert t1 values (1, '2020-01-02', 10);
---replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
--error ER_CONSTRAINT_FAILED
alter table t1 add check (b in (0, 1));
alter table t1 add check (b in (0, 10));
diff --git a/mysql-test/main/partition_innodb.result b/mysql-test/main/partition_innodb.result
index 3d8d2040a48..cdfe619cb29 100644
--- a/mysql-test/main/partition_innodb.result
+++ b/mysql-test/main/partition_innodb.result
@@ -954,6 +954,26 @@ test_jfg test_jfg11
test_jfg test_jfg12#P#p1000
test_jfg test_jfg12#P#pmax
DROP DATABASE test_jfg;
+create table t1 (a int) engine=innodb;
+create table t2 (
+b int,
+c int,
+d bit not null default 0,
+v bit as (d) virtual,
+key (b,v)
+) engine=innodb partition by hash (b);
+insert into t1 values (1),(2);
+insert into t2 (b,c,d) values (1,1,0),(2,2,0);
+explain select t1.* from t1 join t2 on (v = a);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+1 SIMPLE t2 index NULL b 7 NULL 2 Using where; Using index; Using join buffer (flat, BNL join)
+select t1.* from t1 join t2 on (v = a);
+a
+drop table t1, t2;
+#
+# End of 10.2 tests
+#
#
# MDEV-16241 Assertion `inited==RND' failed in handler::ha_rnd_end()
#
@@ -965,3 +985,6 @@ SELECT COUNT(*) FROM t1 WHERE x IS NULL AND y IS NULL AND z IS NULL;
COUNT(*)
2
DROP TABLE t1;
+#
+# End of 10.3 tests
+#
diff --git a/mysql-test/main/partition_innodb.test b/mysql-test/main/partition_innodb.test
index 4b4662da47b..57d644d293d 100644
--- a/mysql-test/main/partition_innodb.test
+++ b/mysql-test/main/partition_innodb.test
@@ -1048,6 +1048,27 @@ database_name = 'test_jfg';
DROP DATABASE test_jfg;
+#
+# MDEV-17755 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) || (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))' failed in Field_bit::val_int upon SELECT with JOIN, partitions, indexed virtual column
+#
+create table t1 (a int) engine=innodb;
+create table t2 (
+ b int,
+ c int,
+ d bit not null default 0,
+ v bit as (d) virtual,
+ key (b,v)
+) engine=innodb partition by hash (b);
+insert into t1 values (1),(2);
+insert into t2 (b,c,d) values (1,1,0),(2,2,0);
+explain select t1.* from t1 join t2 on (v = a);
+select t1.* from t1 join t2 on (v = a);
+drop table t1, t2;
+
+--echo #
+--echo # End of 10.2 tests
+--echo #
+
--echo #
--echo # MDEV-16241 Assertion `inited==RND' failed in handler::ha_rnd_end()
--echo #
@@ -1057,3 +1078,7 @@ PARTITION BY SYSTEM_TIME (PARTITION p1 HISTORY, PARTITION pn CURRENT);
INSERT INTO t1 VALUES (1, 7, 8, 9), (2, NULL, NULL, NULL), (3, NULL, NULL, NULL);
SELECT COUNT(*) FROM t1 WHERE x IS NULL AND y IS NULL AND z IS NULL;
DROP TABLE t1;
+
+--echo #
+--echo # End of 10.3 tests
+--echo #
diff --git a/mysql-test/main/ps_error.result b/mysql-test/main/ps_error.result
new file mode 100644
index 00000000000..c3c312e82f5
--- /dev/null
+++ b/mysql-test/main/ps_error.result
@@ -0,0 +1,73 @@
+#
+# MDEV-17741 Assertion `thd->Item_change_list::is_empty()' failed in mysql_parse after unsuccessful PS
+#
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+SELECT a FROM t1 GROUP BY NULL WITH ROLLUP;
+a
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ;
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+#
+# MDEV-17738 Server crashes in Item::delete_self on closing connection after unsuccessful PS
+#
+SET SQL_MODE='STRICT_ALL_TABLES';
+PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+SELECT 'All done';
+All done
+All done
+SET SQL_MODE=DEFAULT;
+SET SQL_MODE='STRICT_ALL_TABLES';
+PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+DEALLOCATE PREPARE stmt;
+SELECT 'All done';
+All done
+All done
+SET SQL_MODE=DEFAULT;
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+SELECT a FROM t1 GROUP BY a;
+a
+SELECT * FROM t1;
+a
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+EXECUTE stmt;
+ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+SELECT a FROM t1 GROUP BY a;
+a
+INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
diff --git a/mysql-test/main/ps_error.test b/mysql-test/main/ps_error.test
new file mode 100644
index 00000000000..5efb5d36137
--- /dev/null
+++ b/mysql-test/main/ps_error.test
@@ -0,0 +1,66 @@
+#
+# Tests related to PS returning errors rather than doing successfull execution
+#
+
+--echo #
+--echo # MDEV-17741 Assertion `thd->Item_change_list::is_empty()' failed in mysql_parse after unsuccessful PS
+--echo #
+
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+SELECT a FROM t1 GROUP BY NULL WITH ROLLUP;
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ;
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+
+
+--echo #
+--echo # MDEV-17738 Server crashes in Item::delete_self on closing connection after unsuccessful PS
+--echo #
+
+SET SQL_MODE='STRICT_ALL_TABLES';
+PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+--source include/restart_mysqld.inc
+SELECT 'All done';
+SET SQL_MODE=DEFAULT;
+
+SET SQL_MODE='STRICT_ALL_TABLES';
+PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+SELECT 'All done';
+SET SQL_MODE=DEFAULT;
+
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+SELECT a FROM t1 GROUP BY a;
+SELECT * FROM t1;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
+
+SET SQL_MODE= 'STRICT_ALL_TABLES';
+CREATE TABLE t1 (a INT);
+PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
+--error ER_TRUNCATED_WRONG_VALUE
+EXECUTE stmt;
+SELECT a FROM t1 GROUP BY a;
+INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
diff --git a/mysql-test/main/range_innodb.result b/mysql-test/main/range_innodb.result
index 794e6c7b3cc..8bb1c833a56 100644
--- a/mysql-test/main/range_innodb.result
+++ b/mysql-test/main/range_innodb.result
@@ -37,3 +37,21 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t0 ALL NULL NULL NULL NULL 10
1 SIMPLE t2 range a,b b 5 NULL 201 Using where; Using join buffer (flat, BNL join)
drop table t0,t1,t2;
+CREATE TABLE t1 (
+pk INT PRIMARY KEY, f1 INT, f2 CHAR(1), f3 CHAR(1),
+KEY(f1), KEY(f2)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(1,4,'v',NULL),(2,6,'v',NULL),(3,7,'c',NULL),(4,1,'e',NULL),(5,0,'x',NULL),
+(6,7,'i',NULL),(7,7,'e',NULL),(8,1,'p',NULL),(9,7,'s',NULL),(10,1,'j',NULL),
+(11,5,'z',NULL),(12,2,'c',NULL),(13,0,'a',NULL),(14,1,'q',NULL),(15,8,'y',NULL),
+(16,1,'m',NULL),(17,1,'r',NULL),(18,9,'v',NULL),(19,1,'n',NULL);
+CREATE TABLE t2 (f4 INT, f5 CHAR(1)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (4,'q'),(NULL,'j');
+SELECT * FROM t1 AS t1_1, t1 AS t1_2, t2
+WHERE f5 = t1_2.f2 AND ( t1_1.f1 = 103 AND t1_1.f2 = 'o' OR t1_1.pk < f4 );
+pk f1 f2 f3 pk f1 f2 f3 f4 f5
+1 4 v NULL 14 1 q NULL 4 q
+2 6 v NULL 14 1 q NULL 4 q
+3 7 c NULL 14 1 q NULL 4 q
+drop table t1,t2;
diff --git a/mysql-test/main/range_innodb.test b/mysql-test/main/range_innodb.test
index f76794814ef..605006587cc 100644
--- a/mysql-test/main/range_innodb.test
+++ b/mysql-test/main/range_innodb.test
@@ -45,3 +45,20 @@ explain select * from t0 left join t2 on t2.a <t0.a and t2.b between 50 and 250;
drop table t0,t1,t2;
+CREATE TABLE t1 (
+ pk INT PRIMARY KEY, f1 INT, f2 CHAR(1), f3 CHAR(1),
+ KEY(f1), KEY(f2)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES
+(1,4,'v',NULL),(2,6,'v',NULL),(3,7,'c',NULL),(4,1,'e',NULL),(5,0,'x',NULL),
+(6,7,'i',NULL),(7,7,'e',NULL),(8,1,'p',NULL),(9,7,'s',NULL),(10,1,'j',NULL),
+(11,5,'z',NULL),(12,2,'c',NULL),(13,0,'a',NULL),(14,1,'q',NULL),(15,8,'y',NULL),
+(16,1,'m',NULL),(17,1,'r',NULL),(18,9,'v',NULL),(19,1,'n',NULL);
+
+CREATE TABLE t2 (f4 INT, f5 CHAR(1)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (4,'q'),(NULL,'j');
+
+SELECT * FROM t1 AS t1_1, t1 AS t1_2, t2
+WHERE f5 = t1_2.f2 AND ( t1_1.f1 = 103 AND t1_1.f2 = 'o' OR t1_1.pk < f4 );
+drop table t1,t2;
diff --git a/mysql-test/main/read_only.result b/mysql-test/main/read_only.result
index 2029413c0f0..83dfada5f29 100644
--- a/mysql-test/main/read_only.result
+++ b/mysql-test/main/read_only.result
@@ -170,11 +170,24 @@ flush privileges;
drop database mysqltest_db1;
set global read_only= @start_read_only;
#
+# MDEV-16987 - ALTER DATABASE possible in read-only mode
+#
+CREATE USER user1@localhost;
+GRANT ALTER ON test1.* TO user1@localhost;
+CREATE DATABASE test1;
+SET GLOBAL read_only=1;
+ALTER DATABASE test1 CHARACTER SET utf8;
+ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
+SET GLOBAL read_only=0;
+DROP DATABASE test1;
+DROP USER user1@localhost;
+USE test;
+# End of 5.5 tests
+#
# WL#5968 Implement START TRANSACTION READ (WRITE|ONLY);
#
#
# Test interaction with read_only system variable.
-DROP TABLE IF EXISTS t1;
CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1), (2);
CREATE USER user1;
@@ -211,3 +224,4 @@ connection default;
DROP USER user1;
SET GLOBAL read_only= 0;
DROP TABLE t1;
+# End of 10.0 tests
diff --git a/mysql-test/main/read_only.test b/mysql-test/main/read_only.test
index a05f813346e..5314b11154f 100644
--- a/mysql-test/main/read_only.test
+++ b/mysql-test/main/read_only.test
@@ -283,6 +283,23 @@ flush privileges;
drop database mysqltest_db1;
set global read_only= @start_read_only;
+--echo #
+--echo # MDEV-16987 - ALTER DATABASE possible in read-only mode
+--echo #
+CREATE USER user1@localhost;
+GRANT ALTER ON test1.* TO user1@localhost;
+CREATE DATABASE test1;
+SET GLOBAL read_only=1;
+change_user user1;
+--error ER_OPTION_PREVENTS_STATEMENT
+ALTER DATABASE test1 CHARACTER SET utf8;
+change_user root;
+SET GLOBAL read_only=0;
+DROP DATABASE test1;
+DROP USER user1@localhost;
+USE test;
+
+--echo # End of 5.5 tests
--echo #
--echo # WL#5968 Implement START TRANSACTION READ (WRITE|ONLY);
@@ -291,10 +308,6 @@ set global read_only= @start_read_only;
--echo #
--echo # Test interaction with read_only system variable.
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1), (2);
@@ -344,3 +357,5 @@ DROP TABLE t1;
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
+
+--echo # End of 10.0 tests
diff --git a/mysql-test/main/subselect_exists2in.result b/mysql-test/main/subselect_exists2in.result
index 95fc1c19b82..36ca0bf82f2 100644
--- a/mysql-test/main/subselect_exists2in.result
+++ b/mysql-test/main/subselect_exists2in.result
@@ -330,7 +330,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
3 MATERIALIZED t3 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t2.b' of SELECT #3 was resolved in SELECT #2
-Note 1003 /* select#1 */ select (/* select#2 */ select 1 from dual where !(1 is not null and <in_optimizer>(1,1 in ( <materialize> (/* select#3 */ select `test`.`t3`.`c` from `test`.`t3` where `test`.`t3`.`c` is not null ), <primary_index_lookup>(1 in <temporary table> on distinct_key where 1 = `<subquery3>`.`c`))))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1`
+Note 1003 /* select#1 */ select (/* select#2 */ select 1 from dual where !(1 is not null and <in_optimizer>(1,1 in (<primary_index_lookup>(1 in <temporary table> on distinct_key where 1 = `<subquery3>`.`c`))))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1`
SELECT ( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) ) FROM t1;
( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )
1
@@ -344,7 +344,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
3 MATERIALIZED t3 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t2.b' of SELECT #3 was resolved in SELECT #2
-Note 1003 /* select#1 */ select (/* select#2 */ select 1 from dual where !(1 is not null and <in_optimizer>(1,1 in ( <materialize> (/* select#3 */ select `test`.`t3`.`c` from `test`.`t3` where `test`.`t3`.`c` is not null ), <primary_index_lookup>(1 in <temporary table> on distinct_key where 1 = `<subquery3>`.`c`))))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1`
+Note 1003 /* select#1 */ select (/* select#2 */ select 1 from dual where !(1 is not null and <in_optimizer>(1,1 in (<primary_index_lookup>(1 in <temporary table> on distinct_key where 1 = `<subquery3>`.`c`))))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1`
SELECT ( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) ) FROM t1;
( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )
1
diff --git a/mysql-test/main/udf.result b/mysql-test/main/udf.result
index 6af6b167511..edbae7e046f 100644
--- a/mysql-test/main/udf.result
+++ b/mysql-test/main/udf.result
@@ -465,3 +465,17 @@ a b
Hello HL
DROP FUNCTION METAPHON;
DROP TABLE t1;
+#
+# MDEV-15424: Unreasonal SQL Error (1356) on select from view
+#
+CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
+create table t1(a int , b int);
+insert into t1 values(100, 54), (200, 199);
+create view v1 as select myfunc_int(max(a) over (order by b) , b) from t1;
+select * from v1;
+myfunc_int(max(a) over (order by b) , b)
+154
+399
+drop view v1;
+drop function myfunc_int;
+drop table t1;
diff --git a/mysql-test/main/udf.test b/mysql-test/main/udf.test
index c3a25c6bcce..d2c0dad8398 100644
--- a/mysql-test/main/udf.test
+++ b/mysql-test/main/udf.test
@@ -528,3 +528,16 @@ DROP FUNCTION METAPHON;
#INSERT INTO t1 (a) VALUES ('Hello');
#SELECT * FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-15424: Unreasonal SQL Error (1356) on select from view
+--echo #
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
+create table t1(a int , b int);
+insert into t1 values(100, 54), (200, 199);
+create view v1 as select myfunc_int(max(a) over (order by b) , b) from t1;
+select * from v1;
+drop view v1;
+drop function myfunc_int;
+drop table t1;
diff --git a/mysql-test/main/union.result b/mysql-test/main/union.result
index a41148f2600..da99d65dec3 100644
--- a/mysql-test/main/union.result
+++ b/mysql-test/main/union.result
@@ -2150,6 +2150,44 @@ select @advertAcctId as a from dual union all select 1.0 from dual;
a
1000003.0
1.0
+#
+# MDEV-13784: query causes seg fault
+#
+CREATE TABLE t1 (`bug_id` int NOT NULL PRIMARY KEY, `product_id` int NOT NULL);
+INSERT INTO t1 VALUES (45199,1184);
+CREATE TABLE t2 (`product_id` int NOT NULL,`userid` int NOT NULL, PRIMARY KEY (`product_id`,`userid`));
+INSERT INTO t2 VALUES (1184,103),(1184,624),(1184,1577),(1184,1582);
+CREATE TABLE t3 (`id` int NOT NULL PRIMARY KEY,`name` varchar(64));
+CREATE TABLE t4 ( `userid` int NOT NULL PRIMARY KEY, `login_name` varchar(255));
+INSERT INTO t4 VALUES (103,'foo'),(624,'foo'),(1577,'foo'),(1582,'foo');
+CREATE TABLE t5 (`id` int NOT NULL PRIMARY KEY, `name` varchar(64));
+explain select
+(
+select login_name from t4 where userId = (
+select userid from t2 where product_id = t1.product_id
+union
+select userid from t2 where product_id = (
+select id from t5 where name = (select name from t3 where id = t1.product_id)) limit 1 )
+) as x from t1 where (t1.bug_id=45199);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system PRIMARY NULL NULL NULL 1
+2 SUBQUERY t4 eq_ref PRIMARY PRIMARY 4 func 1 Using where
+3 SUBQUERY t2 ref PRIMARY PRIMARY 4 const 3 Using index
+4 UNION t2 ref PRIMARY PRIMARY 4 func 1 Using where; Using index
+5 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+6 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+NULL UNION RESULT <union3,4> ALL NULL NULL NULL NULL NULL
+select
+(
+select login_name from t4 where userId = (
+select userid from t2 where product_id = t1.product_id
+union
+select userid from t2 where product_id = (
+select id from t5 where name = (select name from t3 where id = t1.product_id)) limit 1 )
+) as x from t1 where (t1.bug_id=45199);
+x
+foo
+drop table t1, t2, t3, t4, t5;
End of 5.5 tests
#
# WL#1763 Avoid creating temporary table in UNION ALL
diff --git a/mysql-test/main/union.test b/mysql-test/main/union.test
index 878d7118ef5..e7543ba4a81 100644
--- a/mysql-test/main/union.test
+++ b/mysql-test/main/union.test
@@ -1485,6 +1485,41 @@ eval SET NAMES $old_charset;
SET @advertAcctId = 1000003;
select @advertAcctId as a from dual union all select 1.0 from dual;
+--echo #
+--echo # MDEV-13784: query causes seg fault
+--echo #
+
+CREATE TABLE t1 (`bug_id` int NOT NULL PRIMARY KEY, `product_id` int NOT NULL);
+INSERT INTO t1 VALUES (45199,1184);
+
+CREATE TABLE t2 (`product_id` int NOT NULL,`userid` int NOT NULL, PRIMARY KEY (`product_id`,`userid`));
+INSERT INTO t2 VALUES (1184,103),(1184,624),(1184,1577),(1184,1582);
+
+CREATE TABLE t3 (`id` int NOT NULL PRIMARY KEY,`name` varchar(64));
+
+
+CREATE TABLE t4 ( `userid` int NOT NULL PRIMARY KEY, `login_name` varchar(255));
+INSERT INTO t4 VALUES (103,'foo'),(624,'foo'),(1577,'foo'),(1582,'foo');
+CREATE TABLE t5 (`id` int NOT NULL PRIMARY KEY, `name` varchar(64));
+
+explain select
+(
+ select login_name from t4 where userId = (
+ select userid from t2 where product_id = t1.product_id
+ union
+ select userid from t2 where product_id = (
+ select id from t5 where name = (select name from t3 where id = t1.product_id)) limit 1 )
+) as x from t1 where (t1.bug_id=45199);
+select
+(
+ select login_name from t4 where userId = (
+ select userid from t2 where product_id = t1.product_id
+ union
+ select userid from t2 where product_id = (
+ select id from t5 where name = (select name from t3 where id = t1.product_id)) limit 1 )
+) as x from t1 where (t1.bug_id=45199);
+drop table t1, t2, t3, t4, t5;
+
--echo End of 5.5 tests
--echo #
diff --git a/mysql-test/main/view.result b/mysql-test/main/view.result
index 2bc82f90e46..d97517d5ce7 100644
--- a/mysql-test/main/view.result
+++ b/mysql-test/main/view.result
@@ -4613,7 +4613,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1
-Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,10 AS `a` from `test`.`t1` where !<expr_cache><10,`test`.`t1`.`a`>(<in_optimizer>(10,<exists>(/* select#2 */ select NULL from `test`.`t4` where `test`.`t4`.`a` >= `test`.`t1`.`a` and trigcond(<cache>(10) = NULL or <cache>(NULL is null)) having trigcond(NULL is null))))
+Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,10 AS `a` from `test`.`t1` where !<expr_cache><10,`test`.`t1`.`a`>(<in_optimizer>(10,<exists>(/* select#2 */ select NULL from `test`.`t4` where `test`.`t4`.`a` >= `test`.`t1`.`a` and trigcond(<cache>(10) = NULL or 1) having trigcond(NULL is null))))
SELECT * FROM t1, t2
WHERE t2.a NOT IN (SELECT t3.b FROM t3 RIGHT JOIN t4 ON (t4.a = t3.a)
WHERE t4.a >= t1.a);
@@ -4629,7 +4629,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'v1.a' of SELECT #2 was resolved in SELECT #1
-Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,10 AS `a` from `test`.`t1` where !<expr_cache><10,`test`.`t1`.`a`>(<in_optimizer>(10,<exists>(/* select#2 */ select NULL from `test`.`t4` where `test`.`t4`.`a` >= `test`.`t1`.`a` and trigcond(<cache>(10) = NULL or <cache>(NULL is null)) having trigcond(NULL is null))))
+Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,10 AS `a` from `test`.`t1` where !<expr_cache><10,`test`.`t1`.`a`>(<in_optimizer>(10,<exists>(/* select#2 */ select NULL from `test`.`t4` where `test`.`t4`.`a` >= `test`.`t1`.`a` and trigcond(<cache>(10) = NULL or 1) having trigcond(NULL is null))))
SELECT * FROM v1, t2
WHERE t2.a NOT IN (SELECT t3.b FROM t3 RIGHT JOIN t4 ON (t4.a = t3.a)
WHERE t4.a >= v1.a);
diff --git a/mysql-test/main/win.result b/mysql-test/main/win.result
index 6ee6f01ba8d..73f9c65b41f 100644
--- a/mysql-test/main/win.result
+++ b/mysql-test/main/win.result
@@ -3471,7 +3471,25 @@ MIN(b1) OVER ()
1
drop table t1;
#
-# Start of 10.3 tests
+# MDEV-15424: Unreasonal SQL Error (1356) on select from view
+#
+create table t1 (id int, n1 int);
+insert into t1 values (1,1), (2,1), (3,2), (4,4);
+create view v1 as SELECT ifnull(max(n1) over (partition by n1),'aaa') FROM t1;
+explain select * from v1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 4
+2 DERIVED t1 ALL NULL NULL NULL NULL 4 Using temporary
+select * from v1;
+ifnull(max(n1) over (partition by n1),'aaa')
+1
+1
+2
+4
+drop table t1;
+drop view v1;
+#
+# End of 10.2 tests
#
#
# MDEV-16489 when lead() returns null on a datetime field, the result is treated as the literal string '[NULL]'
@@ -3490,3 +3508,6 @@ d x
00:00:01 00:00:02
00:00:02 NULL
DROP TABLE t1;
+#
+# End of 10.3 tests
+#
diff --git a/mysql-test/main/win.test b/mysql-test/main/win.test
index 1b49ac681f4..15e96ec7e8e 100644
--- a/mysql-test/main/win.test
+++ b/mysql-test/main/win.test
@@ -2229,7 +2229,20 @@ SELECT DISTINCT MIN(b1) OVER () FROM t1;
drop table t1;
--echo #
---echo # Start of 10.3 tests
+--echo # MDEV-15424: Unreasonal SQL Error (1356) on select from view
+--echo #
+
+create table t1 (id int, n1 int);
+insert into t1 values (1,1), (2,1), (3,2), (4,4);
+
+create view v1 as SELECT ifnull(max(n1) over (partition by n1),'aaa') FROM t1;
+explain select * from v1;
+select * from v1;
+drop table t1;
+drop view v1;
+
+--echo #
+--echo # End of 10.2 tests
--echo #
--echo #
@@ -2245,3 +2258,7 @@ CREATE TABLE t1 (d time);
INSERT INTO t1 VALUES ('00:00:01'),('00:00:02');
SELECT *, LEAD(d) OVER (ORDER BY d) AS x FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # End of 10.3 tests
+--echo #
diff --git a/mysql-test/std_data/mdev17909#P#p20181029.MYD b/mysql-test/std_data/mdev17909#P#p20181029.MYD
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/mysql-test/std_data/mdev17909#P#p20181029.MYD
diff --git a/mysql-test/std_data/mdev17909#P#p20181029.MYI b/mysql-test/std_data/mdev17909#P#p20181029.MYI
new file mode 100644
index 00000000000..dcdd088b4dc
--- /dev/null
+++ b/mysql-test/std_data/mdev17909#P#p20181029.MYI
Binary files differ
diff --git a/mysql-test/std_data/mdev17909#P#p20181128.MYD b/mysql-test/std_data/mdev17909#P#p20181128.MYD
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/mysql-test/std_data/mdev17909#P#p20181128.MYD
diff --git a/mysql-test/std_data/mdev17909#P#p20181128.MYI b/mysql-test/std_data/mdev17909#P#p20181128.MYI
new file mode 100644
index 00000000000..dcdd088b4dc
--- /dev/null
+++ b/mysql-test/std_data/mdev17909#P#p20181128.MYI
Binary files differ
diff --git a/mysql-test/std_data/mdev17909.frm b/mysql-test/std_data/mdev17909.frm
new file mode 100644
index 00000000000..575ecd2c70f
--- /dev/null
+++ b/mysql-test/std_data/mdev17909.frm
Binary files differ
diff --git a/mysql-test/std_data/mdev17909.par b/mysql-test/std_data/mdev17909.par
new file mode 100644
index 00000000000..d9141dd0dee
--- /dev/null
+++ b/mysql-test/std_data/mdev17909.par
Binary files differ
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change.result b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
index 179be43cc41..5812ff6dce9 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
@@ -3,6 +3,7 @@ call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t1.ibd looks corrupted; key_version=1");
call mtr.add_suppression("File '.*mysql-test.std_data.keysbad3\\.txt' not found");
# Start server with keys2.txt
SET GLOBAL innodb_file_per_table = ON;
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-alter.result b/mysql-test/suite/encryption/r/innodb-encryption-alter.result
index 1d5b88bc750..995360a5744 100644
--- a/mysql-test/suite/encryption/r/innodb-encryption-alter.result
+++ b/mysql-test/suite/encryption/r/innodb-encryption-alter.result
@@ -77,7 +77,6 @@ t2 CREATE TABLE `t2` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-DROP TABLE t2;
CREATE TABLE t3 (a int not null primary key) engine=innodb ENCRYPTION_KEY_ID=4;
ERROR HY000: Can't create table `test`.`t3` (errno: 140 "Wrong create options")
SHOW WARNINGS;
@@ -85,3 +84,30 @@ Level Code Message
Warning 140 InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1
Error 1005 Can't create table `test`.`t3` (errno: 140 "Wrong create options")
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+FLUSH TABLES;
+create table t1(f1 int not null, f2 int not null)engine=innodb encrypted=yes;
+insert into t1 values(1, 2), (2, 3), (4, 5), (5, 6), (7, 8);
+insert into t1 select * from t1;
+BEGIN;
+INSERT INTO t2 VALUES (1);
+connect con1, localhost, root;
+SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL done WAIT_FOR ever';
+alter table t1 force;
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR done';
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+COMMIT;
+disconnect con1;
+select * from t1;
+f1 f2
+1 2
+2 3
+4 5
+5 6
+7 8
+1 2
+2 3
+4 5
+5 6
+7 8
+drop table t1,t2;
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-disable.result b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
index d8d37ba7493..94b47103dd0 100644
--- a/mysql-test/suite/encryption/r/innodb-encryption-disable.result
+++ b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
@@ -1,6 +1,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
create table t5 (
`intcol1` int(32) DEFAULT NULL,
diff --git a/mysql-test/suite/encryption/r/innodb-missing-key.result b/mysql-test/suite/encryption/r/innodb-missing-key.result
index 32ae29ca76b..6f4a45d817a 100644
--- a/mysql-test/suite/encryption/r/innodb-missing-key.result
+++ b/mysql-test/suite/encryption/r/innodb-missing-key.result
@@ -1,6 +1,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
# Start server with keys2.txt
CREATE TABLE t1(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=19;
CREATE TABLE t2(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change.test b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
index 5c424d8752b..a832880c494 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
@@ -13,6 +13,7 @@ call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t1.ibd looks corrupted; key_version=1");
call mtr.add_suppression("File '.*mysql-test.std_data.keysbad3\\.txt' not found");
--echo # Start server with keys2.txt
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-alter.test b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
index e8391d97d6c..a6a4dbaff9b 100644
--- a/mysql-test/suite/encryption/t/innodb-encryption-alter.test
+++ b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
@@ -1,13 +1,12 @@
-- source include/have_innodb.inc
+-- source include/have_debug.inc
+-- source include/have_debug_sync.inc
-- source include/have_file_key_management_plugin.inc
#
# MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID
#
-let $encrypt_tables = `SELECT @@innodb_encrypt_tables`;
-let $threads = `SELECT @@innodb_encryption_threads`;
-
SET GLOBAL innodb_encrypt_tables = ON;
SET GLOBAL innodb_encryption_threads = 4;
@@ -99,14 +98,35 @@ ALTER TABLE t2 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
SHOW WARNINGS;
SHOW CREATE TABLE t2;
-DROP TABLE t2;
--error ER_CANT_CREATE_TABLE
CREATE TABLE t3 (a int not null primary key) engine=innodb ENCRYPTION_KEY_ID=4;
SHOW WARNINGS;
-# reset system
---disable_query_log
-EVAL SET GLOBAL innodb_encrypt_tables = $encrypt_tables;
-EVAL SET GLOBAL innodb_encryption_threads = $threads;
---enable_query_log
+FLUSH TABLES;
+
+create table t1(f1 int not null, f2 int not null)engine=innodb encrypted=yes;
+insert into t1 values(1, 2), (2, 3), (4, 5), (5, 6), (7, 8);
+insert into t1 select * from t1;
+BEGIN;
+INSERT INTO t2 VALUES (1);
+
+connect con1, localhost, root;
+SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL done WAIT_FOR ever';
+send alter table t1 force;
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR done';
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+COMMIT;
+
+--let $shutdown_timeout= 0
+--source include/restart_mysqld.inc
+disconnect con1;
+
+select * from t1;
+drop table t1,t2;
+
+# Work around missing crash recovery at the SQL layer.
+let $datadir= `select @@datadir`;
+--remove_files_wildcard $datadir/test #sql-*.frm
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-disable.test b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
index 0994078788e..6d6f1c40d4c 100644
--- a/mysql-test/suite/encryption/t/innodb-encryption-disable.test
+++ b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
@@ -10,6 +10,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
# Suppression for builds where file_key_management plugin is linked statically
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
diff --git a/mysql-test/suite/encryption/t/innodb-missing-key.test b/mysql-test/suite/encryption/t/innodb-missing-key.test
index cf851a54def..c2a73d594b4 100644
--- a/mysql-test/suite/encryption/t/innodb-missing-key.test
+++ b/mysql-test/suite/encryption/t/innodb-missing-key.test
@@ -10,6 +10,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
--echo # Start server with keys2.txt
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
index 03ddda7aa76..180f28401ee 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -20,9 +20,6 @@ galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB
GAL-419 : MDEV-13549 Galera test failures
galera_var_notify_cmd : MDEV-13549 Galera test failures
galera_as_slave_replication_bundle : MDEV-13549 Galera test failures
-galera_gcache_recover : MDEV-13549 Galera test failures
-galera_gcache_recover_full_gcache : MDEV-13549 Galera test failures
-galera_gcache_recover_manytrx : MDEV-13549 Galera test failures
galera_ssl_upgrade : MDEV-13549 Galera test failures
MW-329 : wsrep_local_replays not stable
MW-416 : MDEV-13549 Galera test failures
@@ -49,3 +46,5 @@ galera_pc_ignore_sb : MDEV-17357 Test failure on galera.galera_pc_ignore_sb
MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C]
MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C]
MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C]
+query_cache : MDEV-18137: Galera test failure on query_cache
+galera_gcache_recover_manytrx : MDEV-15740
diff --git a/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result b/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result
new file mode 100644
index 00000000000..3eb638ca49a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result
@@ -0,0 +1,380 @@
+CREATE TABLE user(id int primary key, j int) ENGINE=InnoDB;
+CREATE TABLE user_session(id int primary key, fk1 int, fk2 int) ENGINE=InnoDB;
+alter table user_session add foreign key (fk1) references user(id);
+INSERT INTO user values (1,0), (2,0), (3,0), (4,0);
+INSERT INTO user_session values (1,1,1);
+connect node_1_u, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connect node_1_i, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connect node_2_i, 127.0.0.1, root, , test, $NODE_MYPORT_2;
+"Phase 1: plain SQL statements"
+connection node_1;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+update user set j = j + 1 WHERE id > 0;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+insert into user_session(id,fk1,fk2) values (2, 2, 2);
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+insert into user_session(id,fk1,fk2) values (2, 2, 3);
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+"Phase 2: prepared statements"
+connection node_1_u;
+prepare upd from 'update user set j = j + 1 WHERE id > 0';
+connection node_1_i;
+prepare ins1 from 'insert into user_session(id,fk1,fk2) values (2, 2, 2)';
+connection node_2_i;
+prepare ins2 from 'insert into user_session(id,fk1,fk2) values (2, 2, 3)';
+connection node_1;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1_u;
+begin;
+execute upd;
+connection node_1_i;
+set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+execute ins1;
+connection node_1;
+set debug_sync='now WAIT_FOR ins_waiting';
+connection node_2_i;
+execute ins2;
+connection node_1;
+set debug_sync='now SIGNAL cont_ins';
+connection node_1_i;
+connection node_1_u;
+commit;
+connection node_1;
+truncate user_session;
+set debug_sync = reset;
+connection node_1;
+drop table user_session,user;
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover.result b/mysql-test/suite/galera/r/galera_gcache_recover.result
index 127bcba39d8..d3ba06c1333 100644
--- a/mysql-test/suite/galera/r/galera_gcache_recover.result
+++ b/mysql-test/suite/galera/r/galera_gcache_recover.result
@@ -1,18 +1,25 @@
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
SET SESSION wsrep_sync_wait = 0;
+connection node_2;
SET SESSION wsrep_sync_wait = 0;
Killing server ...
+connection node_1;
INSERT INTO t1 VALUES (2);
Killing server ...
+connection node_1;
Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ...
INSERT INTO t1 VALUES (3);
+connection node_2;
Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ...
+connection node_1;
include/diff_servers.inc [servers=1 2]
+connection node_1;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [async IST sender starting to serve]
+connection node_2;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result b/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
index 30ee5772411..588af5668bb 100644
--- a/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
@@ -1,19 +1,26 @@
SET SESSION wsrep_sync_wait = 0;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
+connection node_2;
SET SESSION wsrep_sync_wait = 0;
Killing server ...
+connection node_1;
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
Killing server ...
+connection node_1;
Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ...
+connection node_2;
Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ...
+connection node_1;
include/diff_servers.inc [servers=1 2]
+connection node_1;
DROP TABLE t1;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [IST first seqno 2 not found from cache, falling back to SST]
+connection node_2;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
diff --git a/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result b/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
index cdf330643c2..380a0235ac2 100644
--- a/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
+++ b/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
@@ -150,6 +150,7 @@ connection node_3;
connection node_2;
STOP SLAVE;
RESET SLAVE ALL;
+set global gtid_slave_pos="";
reset master;
#Connection 3
connection node_3;
diff --git a/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,release.rdiff b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,release.rdiff
new file mode 100644
index 00000000000..bbd75f5230a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,release.rdiff
@@ -0,0 +1,114 @@
+--- galera_ist_innodb_flush_logs.result
++++ galera_ist_innodb_flush_logs,release.result
+@@ -94,111 +94,3 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
+-Performing State Transfer on a server that has been killed and restarted
+-while a DDL was in progress on it
+-connection node_1;
+-CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+-SET AUTOCOMMIT=OFF;
+-START TRANSACTION;
+-INSERT INTO t1 VALUES ('node1_committed_before');
+-INSERT INTO t1 VALUES ('node1_committed_before');
+-INSERT INTO t1 VALUES ('node1_committed_before');
+-INSERT INTO t1 VALUES ('node1_committed_before');
+-INSERT INTO t1 VALUES ('node1_committed_before');
+-connection node_2;
+-START TRANSACTION;
+-INSERT INTO t1 VALUES ('node2_committed_before');
+-INSERT INTO t1 VALUES ('node2_committed_before');
+-INSERT INTO t1 VALUES ('node2_committed_before');
+-INSERT INTO t1 VALUES ('node2_committed_before');
+-INSERT INTO t1 VALUES ('node2_committed_before');
+-COMMIT;
+-SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
+-connection node_1;
+-ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+-connection node_2;
+-SET wsrep_sync_wait = 0;
+-Killing server ...
+-connection node_1;
+-SET AUTOCOMMIT=OFF;
+-START TRANSACTION;
+-INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+-COMMIT;
+-START TRANSACTION;
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+-SET AUTOCOMMIT=OFF;
+-START TRANSACTION;
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-connection node_2;
+-Performing --wsrep-recover ...
+-connection node_2;
+-Starting server ...
+-Using --wsrep-start-position when starting mysqld ...
+-SET AUTOCOMMIT=OFF;
+-START TRANSACTION;
+-INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+-COMMIT;
+-connection node_1;
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+-COMMIT;
+-SET AUTOCOMMIT=OFF;
+-START TRANSACTION;
+-INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+-INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+-COMMIT;
+-connection node_1a_galera_st_kill_slave_ddl;
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+-ROLLBACK;
+-SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+-COUNT(*) = 2
+-1
+-SELECT COUNT(*) = 35 FROM t1;
+-COUNT(*) = 35
+-1
+-SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+-COUNT(*) = 0
+-1
+-COMMIT;
+-SET AUTOCOMMIT=ON;
+-connection node_1;
+-SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+-COUNT(*) = 2
+-1
+-SELECT COUNT(*) = 35 FROM t1;
+-COUNT(*) = 35
+-1
+-SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+-COUNT(*) = 0
+-1
+-DROP TABLE t1;
+-COMMIT;
+-SET AUTOCOMMIT=ON;
+-SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test b/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test
new file mode 100644
index 00000000000..02322fc02ec
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test
@@ -0,0 +1,161 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/galera_cluster.inc
+#
+# This test will reproduce regressions of bugs
+# https://github.com/codership/mysql-wsrep/issues/335
+# https://github.com/codership/mysql-wsrep/issues/336
+#
+# The test will issue duplicate inserts into a table, which has foreign key
+# constraint for a parent table.
+# The inserts happen in separate nodes, and the
+# The test outline is as follows:
+# 1. in node 1, an update is done for the FK parent row, in a transaction,
+# which is left open. The purpose of this is just to establish a X lock on
+# the parent row.
+# 2. in node 1, an insert for the child table is sent. The insert will have to wait
+# for the parent row X lock, because it needs S lock on the same row.
+# However, we have set an DBUG sync point just before the insert will call for
+# innodb suspend
+# 3. in node 2, a similar insert is issued. This will replicate to node 1 and try to
+# abort the conflicting update and blocked insert
+# 4. the inserts dbug sync point is relased, and insert should continue and abort
+# gracefully
+# 5. update is continued to commit, and it should also observe the deadlock
+#
+# This test is run in 3 phases:
+#
+# 1. with plain SQL statement
+# 2. as SQL prepared statements
+# 3. as SQl stored procedures
+#
+# The test phase 3 is for reproducing the issue in bug #336 specifically
+#
+
+#
+# create the test tables and foreign key constraint between them
+#
+CREATE TABLE user(id int primary key, j int) ENGINE=InnoDB;
+CREATE TABLE user_session(id int primary key, fk1 int, fk2 int) ENGINE=InnoDB;
+alter table user_session add foreign key (fk1) references user(id);
+
+# populate a few initial rows
+INSERT INTO user values (1,0), (2,0), (3,0), (4,0);
+INSERT INTO user_session values (1,1,1);
+
+#
+# prepare test connections, for:
+# update of parent row in node1
+# insert of child row in node1
+# insert of child row in node2
+
+--connect node_1_u, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_i, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_2_i, 127.0.0.1, root, , test, $NODE_MYPORT_2
+
+
+#
+# test phase 1: plain SQL statements
+#
+--echo "Phase 1: plain SQL statements"
+
+
+--connection node_1
+let $counter=10;
+let $sleep_period=1;
+
+while($counter > 0)
+{
+ --connection node_1_u
+ begin;
+ update user set j = j + 1 WHERE id > 0;
+
+ --connection node_1_i
+ set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+ send insert into user_session(id,fk1,fk2) values (2, 2, 2);
+
+ --connection node_1
+ set debug_sync='now WAIT_FOR ins_waiting';
+
+ --connection node_2_i
+ insert into user_session(id,fk1,fk2) values (2, 2, 3);
+
+ --connection node_1
+ set debug_sync='now SIGNAL cont_ins';
+
+ --connection node_1_i
+ --error 0,ER_LOCK_DEADLOCK,ER_DUP_ENTRY
+ reap;
+
+ --connection node_1_u
+ --error 0,ER_LOCK_DEADLOCK
+ commit;
+
+ --connection node_1
+ --error 0,ER_LOCK_DEADLOCK
+ truncate user_session;
+ set debug_sync = reset;
+
+ dec $counter;
+}
+
+#
+# test phase 2: prepared statements
+#
+--echo "Phase 2: prepared statements"
+
+--connection node_1_u
+prepare upd from 'update user set j = j + 1 WHERE id > 0';
+
+--connection node_1_i
+prepare ins1 from 'insert into user_session(id,fk1,fk2) values (2, 2, 2)';
+
+--connection node_2_i
+prepare ins2 from 'insert into user_session(id,fk1,fk2) values (2, 2, 3)';
+
+--connection node_1
+let $counter=10;
+let $sleep_period=1;
+
+while($counter > 0)
+{
+ --connection node_1_u
+ begin;
+ execute upd;
+ #update user set j = j + 1 WHERE id > 0;
+
+ --connection node_1_i
+ set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+ send execute ins1;
+
+ --connection node_1
+ set debug_sync='now WAIT_FOR ins_waiting';
+
+ --connection node_2_i
+ execute ins2;
+
+ --connection node_1
+ set debug_sync='now SIGNAL cont_ins';
+
+ --connection node_1_i
+ --error 0,ER_LOCK_DEADLOCK,ER_DUP_ENTRY
+ reap;
+
+ --connection node_1_u
+ --error 0,ER_LOCK_DEADLOCK
+ commit;
+
+ --connection node_1
+
+ --error 0,ER_LOCK_DEADLOCK
+ truncate user_session;
+ set debug_sync = reset;
+
+ dec $counter;
+}
+
+
+--connection node_1
+
+drop table user_session,user;
diff --git a/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test
index 3fe94ad16b7..3ed7ec1d09e 100644
--- a/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test
+++ b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test
@@ -196,6 +196,9 @@ DROP TABLE t2,t1;
--connection node_2
STOP SLAVE;
RESET SLAVE ALL;
+--disable_warnings
+set global gtid_slave_pos="";
+--enable_warnings
reset master;
--echo #Connection 3
diff --git a/mysql-test/suite/innodb/include/crc32.pl b/mysql-test/suite/innodb/include/crc32.pl
new file mode 100644
index 00000000000..c2bce09dd36
--- /dev/null
+++ b/mysql-test/suite/innodb/include/crc32.pl
@@ -0,0 +1,33 @@
+# The following is Public Domain / Creative Commons CC0 from
+# http://billauer.co.il/blog/2011/05/perl-crc32-crc-xs-module/
+
+sub mycrc32 {
+ my ($input, $init_value, $polynomial) = @_;
+
+ $init_value = 0 unless (defined $init_value);
+ $polynomial = 0xedb88320 unless (defined $polynomial);
+
+ my @lookup_table;
+
+ for (my $i=0; $i<256; $i++) {
+ my $x = $i;
+ for (my $j=0; $j<8; $j++) {
+ if ($x & 1) {
+ $x = ($x >> 1) ^ $polynomial;
+ } else {
+ $x = $x >> 1;
+ }
+ }
+ push @lookup_table, $x;
+ }
+
+ my $crc = $init_value ^ 0xffffffff;
+
+ foreach my $x (unpack ('C*', $input)) {
+ $crc = (($crc >> 8) & 0xffffff) ^ $lookup_table[ ($crc ^ $x) & 0xff ];
+ }
+
+ $crc = $crc ^ 0xffffffff;
+
+ return $crc;
+}
diff --git a/mysql-test/suite/innodb/r/alter_inplace_perfschema.result b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result
index 68e25664031..440a1d0d6b3 100644
--- a/mysql-test/suite/innodb/r/alter_inplace_perfschema.result
+++ b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result
@@ -1,3 +1,4 @@
+select count_star into @init_count from performance_schema.events_waits_summary_global_by_event_name WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
connect ddl, localhost, root,,;
update performance_schema.setup_instruments set enabled='yes';
update performance_schema.setup_consumers set enabled='yes';
@@ -8,10 +9,10 @@ SET DEBUG_SYNC = 'row_log_apply_before SIGNAL go WAIT_FOR gone';
ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE;
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR go';
-SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long
-WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
-object_name
-tmp/Innodb Merge Temp File
+select count_star into @final_count from performance_schema.events_waits_summary_global_by_event_name WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
+SELECT @final_count - @init_count;
+@final_count - @init_count
+11
SET DEBUG_SYNC = 'now SIGNAL gone';
connection ddl;
disconnect ddl;
diff --git a/mysql-test/suite/innodb/r/data_types.result b/mysql-test/suite/innodb/r/data_types.result
index 4e919e37cee..1394431b09d 100644
--- a/mysql-test/suite/innodb/r/data_types.result
+++ b/mysql-test/suite/innodb/r/data_types.result
@@ -77,7 +77,9 @@ t1_VARCHAR_500_BINARY VARCHAR(500) BINARY,
t1_YEAR_2 YEAR(2),
t1_YEAR_4 YEAR(4),
t1_CHAR_0 CHAR(0),
-t1_MYSQL_0 CHAR(0) CHARACTER SET utf8
+t1_MYSQL_0 CHAR(0) CHARACTER SET utf8,
+t1_VARCHAR_0 VARCHAR(0),
+t1_VARMYSQL_0 VARCHAR(0) CHARACTER SET utf8
) ENGINE=InnoDB;
Warnings:
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
@@ -151,10 +153,12 @@ t1_TINYINT DATA_INT
t1_TINYINT_UNSIGNED DATA_INT UNSIGNED
t1_TINYTEXT DATA_BLOB
t1_VARBINARY_100 DATA_BINARY
+t1_VARCHAR_0 DATA_VARCHAR
t1_VARCHAR_10 DATA_VARCHAR
t1_VARCHAR_10_BINARY DATA_VARMYSQL
t1_VARCHAR_500 DATA_VARCHAR
t1_VARCHAR_500_BINARY DATA_VARMYSQL
+t1_VARMYSQL_0 DATA_VARMYSQL
t1_YEAR_2 DATA_INT UNSIGNED
t1_YEAR_4 DATA_INT UNSIGNED
DROP TABLE t1;
@@ -164,3 +168,9 @@ DROP TABLE t1;
CREATE TABLE t1 (c CHAR(0), KEY(c)) ENGINE=InnoDB;
INSERT INTO t1 VALUES ('');
DROP TABLE t1;
+#
+# MDEV-18039 Assertion failed in btr_node_ptr_max_size for VARCHAR(0)
+#
+CREATE TABLE t1 (c VARCHAR(0), KEY(c)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('');
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result
index 73037247272..51ba58aa1ef 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result
@@ -75,3 +75,26 @@ connection default;
ERROR 23000: Duplicate entry '1' for key 'a'
SET DEBUG_SYNC='RESET';
DROP TABLE t1;
+#
+# MDEV-17470 Orphan temporary files after interrupted ALTER
+# cause InnoDB: Operating system error number 17 and eventual
+# fatal error 71
+#
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY, i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL,1),(NULL,2),(NULL,3),(NULL,4),(NULL,5),(NULL,6),(NULL,7),(NULL,8);
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+LOCK TABLE t1 READ;
+connect con1,localhost,root,,test;
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+connection default;
+kill query @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+disconnect con1;
+connection default;
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-alter.result b/mysql-test/suite/innodb/r/innodb-alter.result
index e9f827c004e..c596dbb497d 100644
--- a/mysql-test/suite/innodb/r/innodb-alter.result
+++ b/mysql-test/suite/innodb/r/innodb-alter.result
@@ -439,15 +439,15 @@ tt CREATE TABLE `tt` (
FULLTEXT KEY `ct` (`ct`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
-ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
-ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
CREATE TABLE tu (
pk INT PRIMARY KEY, FTS_DOC_ID BIGINT UNSIGNED NOT NULL, t TEXT,
FULLTEXT INDEX(t)
) ENGINE=InnoDB;
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
-ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
DROP TABLE tu;
CREATE TABLE tv (
@@ -456,7 +456,7 @@ UNIQUE INDEX FTS_DOC_ID_INDEX(FTS_DOC_ID),
FULLTEXT INDEX(t)
) ENGINE=InnoDB;
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
-ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
DROP TABLE tv;
ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
@@ -498,8 +498,6 @@ ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL, ALGORITHM=INPLACE;
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY
ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
ALGORITHM=INPLACE;
-ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY
-ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, ALGORITHM=INPLACE;
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try ALGORITHM=COPY
ALTER TABLE t1o DROP COLUMN FTS_DOC_ID;
@@ -879,6 +877,27 @@ NAME
a
b
DROP TABLE t1;
+# and an MDEV-18041 regression related to indexes prefixes
+create table `test` (
+`test_old` varchar(255) NOT NULL,
+`other` varchar(255) NOT NULL,
+PRIMARY KEY (`test_old`,`other`),
+UNIQUE KEY uk (`test_old`(100), `other`)
+) ENGINE=InnoDB;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+name pos
+test_old 0
+other 1
+test_old 0
+other 1
+alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+name pos
+test_new 0
+other 1
+test_new 0
+other 1
+drop table `test`;
#
# BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN
# DICT_MEM_TABLE_COL_RENAME_LOW
diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result
index 8d7dcb84486..734cc41a8ea 100644
--- a/mysql-test/suite/innodb/r/innodb-index.result
+++ b/mysql-test/suite/innodb/r/innodb-index.result
@@ -1892,3 +1892,19 @@ f1
SELECT * FROM t2;
f1
DROP TABLE t1, t2;
+#
+# MDEV-18186 assertion failure on missing InnoDB index
+#
+CREATE TABLE t (a INT, INDEX i1 (a)) ENGINE=INNODB;
+DROP TABLE t;
+CREATE TABLE t (a INT) ENGINE=INNODB;
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) DEFAULT NULL,
+ KEY `i1` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+Warnings:
+Warning 1082 InnoDB: Table test/t contains 0 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MariaDB
+Warning 1082 InnoDB: Table test/t contains 0 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MariaDB
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/innodb-virtual-columns.result b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
index 6fbb7dcc58f..bf21e352681 100644
--- a/mysql-test/suite/innodb/r/innodb-virtual-columns.result
+++ b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
@@ -330,3 +330,16 @@ term uw_id plan wdraw_rsn admit_term
1035 2 CSM ACAD 1009
drop table grad_degree;
drop table gso_grad_supr;
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL, FULLTEXT KEY(b)) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+SELECT * FROM t1;
+a b c
+1 foo 1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+ALTER TABLE t1 ADD FULLTEXT KEY(b);
+SELECT * FROM t1;
+a b c
+1 foo 1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/instant_alter_bugs.result b/mysql-test/suite/innodb/r/instant_alter_bugs.result
new file mode 100644
index 00000000000..14d88c64de8
--- /dev/null
+++ b/mysql-test/suite/innodb/r/instant_alter_bugs.result
@@ -0,0 +1,130 @@
+#
+# MDEV-17821 Assertion `!page_rec_is_supremum(rec)' failed
+# in btr_pcur_store_position
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY, c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,2);
+ALTER TABLE t1 ADD COLUMN f VARCHAR(255);
+ALTER TABLE t1 DROP COLUMN f;
+DELETE FROM t1;
+HANDLER t1 OPEN;
+HANDLER t1 READ `PRIMARY` <= (3);
+pk c
+DROP TABLE t1;
+CREATE TABLE t1 (
+pk INT AUTO_INCREMENT,
+f1 CHAR(32),
+f2 CHAR(32),
+f3 CHAR(32),
+f4 INT,
+f5 CHAR(32),
+f6 INT,
+f7 INT,
+f8 INT,
+PRIMARY KEY (pk),
+UNIQUE (f6)
+) ENGINE=InnoDB;
+INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES
+('reality', 'llt', 'within', -1996816384, 'j', 160, 7, -1822687232),
+('h', 'j', 'j', 251, 'civilian', NULL, 211, NULL),
+('ltq', 'b', 'mud', 111, 'v', 90, 0, NULL),
+('toxic', 'breakfast', 'series', 2, 'x', NULL, 118, 2),
+('h', 'n', 'vision', 84, 'n', NULL, 197, 103),
+('h', 'tq', 'q', 6, 'bet', -1927151616, -446038016, 3),
+('pocket', 'qjt', 'jtl', 0, 'blink', NULL, 12, 0),
+('k', 'uv', 'exist', 37, 'g', 149, -1610219520, NULL),
+('parent', 'motion', 'u', 70, 'promote', NULL, 178, NULL),
+('get', 'convict', 'liquid', -780337152, 'd', NULL, 4, NULL),
+('vp', 'px', 'xi', -631111680, 'support', NULL, 8, NULL),
+('ck', 'z', 'minority', 8, 'k', NULL, 864878592, NULL),
+('kxx', 'g', 'container', 1, 'cholesterol', NULL, 4, 1404436480),
+('xxv', 'rail', 'j', 219, 'serious', NULL, -816119808, 62),
+('x', 'v', 'vr', 146, 'm', 16, 170, -1765867520),
+('age', 'm', 'q', -1251278848, 'rte', 6, 224, NULL),
+('discrimination', 't', 'q', 31, 'exl', 0, 2, 244),
+('water', 'x', 'ldb', 98, 'r', 235, 4, 63),
+('d', 'db', 'p', 248, 'so-called', 102, -255524864, 198),
+('last', 'bz', 'us', 0, 'experienced', 137, 240, 134),
+('q', 'z', 'attract', 67, 'code', 67, 75, 1758920704),
+('yellow', 'c', 'u', 6, 'v', 1731985408, 528154624, 2),
+('cognitive', 'he', 'protective', 590020608, 'sentence', NULL, 4, 102),
+('eih', 'l', 'ih', 1266024448, 'traditionally', NULL, 190, NULL),
+('pine', 'i', 'y', 6, 'glimpse', 214, 7, -1486880768),
+('jo', 'everyone', 'ol', 0, 'lj', NULL, 1, 0),
+('blood', 'f', 'scientist', 54, 'j', 1341128704, 168, NULL),
+('z', 'brief', 'ambassador', 115, 'ygp', 82, 129, NULL),
+('gp', 'severe', 'consist', 7, 'p', -1829961728, 602669056, 154),
+('admit', 'poetry', 'x', 116, 'enemy', 174, -2128543744, -407764992),
+('s', 'norm', 'decide', 2055667712, 'rtz', NULL, 99, -1233715200),
+('tzg', 'f', 'beg', 2016280576, 'w', NULL, -643825664, 137),
+('zgg', 'x', 'f', 148, 'y', -987496448, -708116480, 8),
+('attorney', 'perfectly', 's', 49, 'z', -1865285632, 56, -1518534656),
+('concentrate', 's', 'k', -1028849664, 'tir', 83, -1592459264, 1820065792),
+('t', 'sacrifice', 'ir', -2143879168, 'recipe', 156, 217, NULL),
+('wdf', 'd', 'f', 137, 'empty', NULL, 188, NULL),
+('o', 'customer', 'qd', -2135293952, 'z', 1527840768, 227, -1174929408),
+('d', 'qow', 'o', 1472266240, 'whe', NULL, 7, 197),
+('deny', 'reputation', 'dutch', 59, 'v', 124, 2, 191),
+('m', 'liver', 'fv', 0, 'policy', 781582336, 198574080, 177),
+('vk', 'kx', 'immigrant', -1452736512, 'x', 163, 76, 6) ,
+('j', 'ru', 'r', 67, 'joke', NULL, 3, NULL),
+('o', 'u', 'a', -569442304, 'uz', NULL, 933298176, NULL),
+('g', 'zb', 'c', -1694760960, 'fish', 18, -390463488, 1),
+('bb', 'o', 'b', 6, 'z', 9, 12, NULL),
+('compelling', 'xe', 'debut', 89, 'e', -734724096, 119, 175),
+('md', 'r', 'object', 1046478848, 'frequently', 915537920, 0, 1506410496),
+('dwn', 'wnz', 'x', 1767571456, 'nz', 241, -882180096, 9),
+('zvf', 'vfo', 'g', -844824576, 'w', NULL, 1, 9),
+('w', 'pose', 'r', 1029308416, 'a', -48627712, 1756168192, NULL),
+('o', 'jwp', 'patient', 172, 'i', 297140224, 45809664, 3),
+('w', 'p', 'american', 450297856, 'z', 20, 4, 186),
+('ridiculous', 'helpful', 'vy', -2022899712, 'conspiracy', NULL, 162, -264634368),
+('t', 'g', 'spite', 289931264, 'y', 4, 13, NULL),
+('performer', 'i', 'tomato', -1519386624, 'mz', 8, 87, 106),
+('m', 'z', 'hang', 3, 'crowded', -537919488, 1, 2),
+('fu', 'uot', 'j', 1, 'o', 179, 220, -2084569088),
+('ts', 'n', 'su', 1, 'o', 198, 9, 68),
+('ball', 'halfway', 'uf', 40, 'l', 145948672, 9, 149),
+('hunting', 'n', 'teenager', 0, 'neat', 209, 2044461056, 68),
+('independent', 'along', 'fpn', 5, 'pn', 3, 1353252864, 217),
+('p', 'presumably', 'n', -1977548800, 'balanced', 1909260288, 197, NULL),
+('pink', 'h', 'tear', 8, 'n', 254, 8, 1006305280),
+('tyy', 'n', 'yyr', 1107820544, 'yr', NULL, 0, 219),
+('u', 'retirement', 'thread', -2083192832, 'rx', -678232064, 209, 1048969216),
+('xk', 'kb', 'z', 9, 'ba', 218, 7, 8),
+('a', 'plenty', 'forget', 36, 'c', 215, 2027094016, NULL),
+('i', 'compromise', 'n', -1090256896, 'o', 10, 66, 1872887808),
+('x', 'disappointment', 'cognitive', 753860608, 'ua', 77, 123, 10),
+('e', 'added', 'aub', 2, 'u', NULL, 9, 92),
+('bc', 'h', 'n', 146, 'master', NULL, 1003945984, NULL),
+('execution', 'f', 'cgp', 574423040, 'gp', 2, -518782976, -1189085184),
+('pv', 'bad', 'v', 132, 'r', 195, 6, 5),
+('modify', 'participation', 'vol', 237, 'j', -842924032, 88, -747765760),
+('substantially', 'i', 'congressional', 2, 'edit', NULL, 1003159552, NULL),
+('tell', 'forty', 'v', -910098432, 'd', 43, 3, NULL),
+('crawl', 'ad', 'respect', -1851195392, 'p', 72, -1709047808, 1343225856),
+('w', 'reception', 'fiber', 56, 's', NULL, 2, -993787904),
+('successful', 'instruct', 'dug', 2, 'u', 7, -411500544, NULL),
+('appointment', 'pregnant', 'weird', 2, 'r', NULL, -897384448, 76),
+('g', 'j', 'thin', 663617536, 'oan', 1, 7, NULL),
+('secretary', 'a', 'o', 103, 'nj', 1977745408, -1291124736, -1314521088),
+('g', 'jq', 'q', 1875116032, 'blame', NULL, 1, 4),
+('oj', 'j', 'breast', 150, 'c', NULL, 3, NULL),
+('rd', 'm', 'comprehensive', 1723334656, 't', NULL, 155, -312344576) ,
+('a', 'd', 'criminal', -1155137536, 'airplane', 242, -662896640, 1),
+('fast', 'i', 'k', -386662400, 'zxe', NULL, 7, 119),
+('xe', 'mouse', 'c', -205717504, 'ew', NULL, -729612288, 86),
+('hang', 'j', 'o', 3, 'hungry', NULL, 200, 49),
+('expense', 'z', 'sum', 2, 'gob', -472055808, -538181632, NULL),
+('nest', 'o', 'k', 116, 'weak', NULL, 223, NULL);
+INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES ('impact', 'b', 'h', 185, 'fj', 7, 7, 3);
+ERROR 23000: Duplicate entry '7' for key 'f6'
+ALTER TABLE t1 ADD COLUMN filler VARCHAR(255) DEFAULT '';
+SELECT * FROM t1 INTO OUTFILE 'load.data';
+UPDATE IGNORE t1 SET pk = 0;
+LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
+HANDLER t1 OPEN AS h;
+HANDLER h READ `PRIMARY` PREV WHERE 0;
+pk f1 f2 f3 f4 f5 f6 f7 f8 filler
+HANDLER h CLOSE;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_inplace_perfschema.test b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test
index b832596647f..e0451e121a6 100644
--- a/mysql-test/suite/innodb/t/alter_inplace_perfschema.test
+++ b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test
@@ -4,6 +4,7 @@
--source include/have_debug_sync.inc
--source include/not_embedded.inc
+select count_star into @init_count from performance_schema.events_waits_summary_global_by_event_name WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
connect (ddl, localhost, root,,);
update performance_schema.setup_instruments set enabled='yes';
update performance_schema.setup_consumers set enabled='yes';
@@ -24,9 +25,10 @@ send ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE;
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR go';
---replace_regex /.*[\\\/]tmp/tmp/
-SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long
-WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
+
+select count_star into @final_count from performance_schema.events_waits_summary_global_by_event_name WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
+
+SELECT @final_count - @init_count;
#--exec lsof -p `pidof mysqld`
SET DEBUG_SYNC = 'now SIGNAL gone';
diff --git a/mysql-test/suite/innodb/t/data_types.test b/mysql-test/suite/innodb/t/data_types.test
index c8e80c9db27..cfdd5201af2 100644
--- a/mysql-test/suite/innodb/t/data_types.test
+++ b/mysql-test/suite/innodb/t/data_types.test
@@ -90,7 +90,9 @@ CREATE TABLE t1
t1_YEAR_2 YEAR(2),
t1_YEAR_4 YEAR(4),
t1_CHAR_0 CHAR(0),
- t1_MYSQL_0 CHAR(0) CHARACTER SET utf8
+ t1_MYSQL_0 CHAR(0) CHARACTER SET utf8,
+ t1_VARCHAR_0 VARCHAR(0),
+ t1_VARMYSQL_0 VARCHAR(0) CHARACTER SET utf8
) ENGINE=InnoDB;
INSERT INTO t1 () VALUES ();
@@ -127,3 +129,10 @@ DROP TABLE t1;
CREATE TABLE t1 (c CHAR(0), KEY(c)) ENGINE=InnoDB;
INSERT INTO t1 VALUES ('');
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-18039 Assertion failed in btr_node_ptr_max_size for VARCHAR(0)
+--echo #
+CREATE TABLE t1 (c VARCHAR(0), KEY(c)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('');
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test
index 5c8025265e5..00300bfdccc 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test
@@ -98,5 +98,37 @@ SET DEBUG_SYNC='RESET';
DROP TABLE t1;
+--echo #
+--echo # MDEV-17470 Orphan temporary files after interrupted ALTER
+--echo # cause InnoDB: Operating system error number 17 and eventual
+--echo # fatal error 71
+--echo #
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY, i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL,1),(NULL,2),(NULL,3),(NULL,4),(NULL,5),(NULL,6),(NULL,7),(NULL,8);
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+
+LOCK TABLE t1 READ;
+
+--connect (con1,localhost,root,,test)
+let $ID= `SELECT @id := CONNECTION_ID()`;
+send ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+
+--connection default
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+let $ignore= `SELECT @id := $ID`;
+kill query @id;
+--connection con1
+--error ER_QUERY_INTERRUPTED
+reap;
+--disconnect con1
+--connection default
+UNLOCK TABLES;
+DROP TABLE t1;
+
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-alter.test b/mysql-test/suite/innodb/t/innodb-alter.test
index 7c9eb47252d..14f90dec43c 100644
--- a/mysql-test/suite/innodb/t/innodb-alter.test
+++ b/mysql-test/suite/innodb/t/innodb-alter.test
@@ -272,13 +272,8 @@ ALTER TABLE t1o ADD FULLTEXT INDEX(cu),
ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL, ALGORITHM=INPLACE;
# Replace the hidden FTS_DOC_ID column with a user-visible one.
-# This used to work if there is at most one fulltext index.
-# Currently, we disallow native ALTER TABLE if the table
-# contains any FULLTEXT indexes.
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
ALGORITHM=INPLACE;
-ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
# Replace the user-visible FTS_DOC_ID column with a hidden one.
# We do not support this in-place.
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
@@ -545,6 +540,19 @@ SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
WHERE T.NAME='test/t1';
DROP TABLE t1;
+--echo # and an MDEV-18041 regression related to indexes prefixes
+create table `test` (
+ `test_old` varchar(255) NOT NULL,
+ `other` varchar(255) NOT NULL,
+ PRIMARY KEY (`test_old`,`other`),
+ UNIQUE KEY uk (`test_old`(100), `other`)
+) ENGINE=InnoDB;
+
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+drop table `test`;
+
--echo #
--echo # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN
diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test
index f199da54031..53f87cb78d5 100644
--- a/mysql-test/suite/innodb/t/innodb-index.test
+++ b/mysql-test/suite/innodb/t/innodb-index.test
@@ -1151,6 +1151,28 @@ SELECT * FROM t2;
DROP TABLE t1, t2;
+--echo #
+--echo # MDEV-18186 assertion failure on missing InnoDB index
+--echo #
+
+--disable_query_log
+call mtr.add_suppression("Cannot find index i1 in InnoDB index dictionary");
+call mtr.add_suppression("InnoDB indexes are inconsistent with what defined");
+call mtr.add_suppression("Table test/t contains 0 indexes");
+call mtr.add_suppression("InnoDB could not find key no");
+--enable_query_log
+
+# Test an attempt to rename a nonexistent index inside InnoDB
+-- let $MYSQL_DATA_DIR = `SELECT @@datadir`
+CREATE TABLE t (a INT, INDEX i1 (a)) ENGINE=INNODB;
+-- copy_file $MYSQL_DATA_DIR/test/t.frm $MYSQL_DATA_DIR/test/t.fr_
+DROP TABLE t;
+CREATE TABLE t (a INT) ENGINE=INNODB;
+-- remove_file $MYSQL_DATA_DIR/test/t.frm
+-- move_file $MYSQL_DATA_DIR/test/t.fr_ $MYSQL_DATA_DIR/test/t.frm
+SHOW CREATE TABLE t;
+DROP TABLE t;
+
--disable_query_log
call mtr.add_suppression("InnoDB: Tablespace .* was not found at .*t[12].ibd.");
diff --git a/mysql-test/suite/innodb/t/innodb-virtual-columns.test b/mysql-test/suite/innodb/t/innodb-virtual-columns.test
index 0e0d6dbb2f5..faf542645fb 100644
--- a/mysql-test/suite/innodb/t/innodb-virtual-columns.test
+++ b/mysql-test/suite/innodb/t/innodb-virtual-columns.test
@@ -306,3 +306,14 @@ select * from gso_grad_supr;
drop table grad_degree;
drop table gso_grad_supr;
+
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL, FULLTEXT KEY(b)) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+ALTER TABLE t1 ADD FULLTEXT KEY(b);
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/instant_alter_bugs.test b/mysql-test/suite/innodb/t/instant_alter_bugs.test
new file mode 100644
index 00000000000..9cc0037703b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test
@@ -0,0 +1,138 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-17821 Assertion `!page_rec_is_supremum(rec)' failed
+--echo # in btr_pcur_store_position
+--echo #
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,2);
+ALTER TABLE t1 ADD COLUMN f VARCHAR(255);
+ALTER TABLE t1 DROP COLUMN f;
+DELETE FROM t1;
+HANDLER t1 OPEN;
+HANDLER t1 READ `PRIMARY` <= (3);
+DROP TABLE t1;
+
+CREATE TABLE t1 (
+ pk INT AUTO_INCREMENT,
+ f1 CHAR(32),
+ f2 CHAR(32),
+ f3 CHAR(32),
+ f4 INT,
+ f5 CHAR(32),
+ f6 INT,
+ f7 INT,
+ f8 INT,
+ PRIMARY KEY (pk),
+ UNIQUE (f6)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES
+ ('reality', 'llt', 'within', -1996816384, 'j', 160, 7, -1822687232),
+ ('h', 'j', 'j', 251, 'civilian', NULL, 211, NULL),
+ ('ltq', 'b', 'mud', 111, 'v', 90, 0, NULL),
+ ('toxic', 'breakfast', 'series', 2, 'x', NULL, 118, 2),
+ ('h', 'n', 'vision', 84, 'n', NULL, 197, 103),
+ ('h', 'tq', 'q', 6, 'bet', -1927151616, -446038016, 3),
+ ('pocket', 'qjt', 'jtl', 0, 'blink', NULL, 12, 0),
+ ('k', 'uv', 'exist', 37, 'g', 149, -1610219520, NULL),
+ ('parent', 'motion', 'u', 70, 'promote', NULL, 178, NULL),
+ ('get', 'convict', 'liquid', -780337152, 'd', NULL, 4, NULL),
+ ('vp', 'px', 'xi', -631111680, 'support', NULL, 8, NULL),
+ ('ck', 'z', 'minority', 8, 'k', NULL, 864878592, NULL),
+ ('kxx', 'g', 'container', 1, 'cholesterol', NULL, 4, 1404436480),
+ ('xxv', 'rail', 'j', 219, 'serious', NULL, -816119808, 62),
+ ('x', 'v', 'vr', 146, 'm', 16, 170, -1765867520),
+ ('age', 'm', 'q', -1251278848, 'rte', 6, 224, NULL),
+ ('discrimination', 't', 'q', 31, 'exl', 0, 2, 244),
+ ('water', 'x', 'ldb', 98, 'r', 235, 4, 63),
+ ('d', 'db', 'p', 248, 'so-called', 102, -255524864, 198),
+ ('last', 'bz', 'us', 0, 'experienced', 137, 240, 134),
+ ('q', 'z', 'attract', 67, 'code', 67, 75, 1758920704),
+ ('yellow', 'c', 'u', 6, 'v', 1731985408, 528154624, 2),
+ ('cognitive', 'he', 'protective', 590020608, 'sentence', NULL, 4, 102),
+ ('eih', 'l', 'ih', 1266024448, 'traditionally', NULL, 190, NULL),
+ ('pine', 'i', 'y', 6, 'glimpse', 214, 7, -1486880768),
+ ('jo', 'everyone', 'ol', 0, 'lj', NULL, 1, 0),
+ ('blood', 'f', 'scientist', 54, 'j', 1341128704, 168, NULL),
+ ('z', 'brief', 'ambassador', 115, 'ygp', 82, 129, NULL),
+ ('gp', 'severe', 'consist', 7, 'p', -1829961728, 602669056, 154),
+ ('admit', 'poetry', 'x', 116, 'enemy', 174, -2128543744, -407764992),
+ ('s', 'norm', 'decide', 2055667712, 'rtz', NULL, 99, -1233715200),
+ ('tzg', 'f', 'beg', 2016280576, 'w', NULL, -643825664, 137),
+ ('zgg', 'x', 'f', 148, 'y', -987496448, -708116480, 8),
+ ('attorney', 'perfectly', 's', 49, 'z', -1865285632, 56, -1518534656),
+ ('concentrate', 's', 'k', -1028849664, 'tir', 83, -1592459264, 1820065792),
+ ('t', 'sacrifice', 'ir', -2143879168, 'recipe', 156, 217, NULL),
+ ('wdf', 'd', 'f', 137, 'empty', NULL, 188, NULL),
+ ('o', 'customer', 'qd', -2135293952, 'z', 1527840768, 227, -1174929408),
+ ('d', 'qow', 'o', 1472266240, 'whe', NULL, 7, 197),
+ ('deny', 'reputation', 'dutch', 59, 'v', 124, 2, 191),
+ ('m', 'liver', 'fv', 0, 'policy', 781582336, 198574080, 177),
+ ('vk', 'kx', 'immigrant', -1452736512, 'x', 163, 76, 6) ,
+ ('j', 'ru', 'r', 67, 'joke', NULL, 3, NULL),
+ ('o', 'u', 'a', -569442304, 'uz', NULL, 933298176, NULL),
+ ('g', 'zb', 'c', -1694760960, 'fish', 18, -390463488, 1),
+ ('bb', 'o', 'b', 6, 'z', 9, 12, NULL),
+ ('compelling', 'xe', 'debut', 89, 'e', -734724096, 119, 175),
+ ('md', 'r', 'object', 1046478848, 'frequently', 915537920, 0, 1506410496),
+ ('dwn', 'wnz', 'x', 1767571456, 'nz', 241, -882180096, 9),
+ ('zvf', 'vfo', 'g', -844824576, 'w', NULL, 1, 9),
+ ('w', 'pose', 'r', 1029308416, 'a', -48627712, 1756168192, NULL),
+ ('o', 'jwp', 'patient', 172, 'i', 297140224, 45809664, 3),
+ ('w', 'p', 'american', 450297856, 'z', 20, 4, 186),
+ ('ridiculous', 'helpful', 'vy', -2022899712, 'conspiracy', NULL, 162, -264634368),
+ ('t', 'g', 'spite', 289931264, 'y', 4, 13, NULL),
+ ('performer', 'i', 'tomato', -1519386624, 'mz', 8, 87, 106),
+ ('m', 'z', 'hang', 3, 'crowded', -537919488, 1, 2),
+ ('fu', 'uot', 'j', 1, 'o', 179, 220, -2084569088),
+ ('ts', 'n', 'su', 1, 'o', 198, 9, 68),
+ ('ball', 'halfway', 'uf', 40, 'l', 145948672, 9, 149),
+ ('hunting', 'n', 'teenager', 0, 'neat', 209, 2044461056, 68),
+ ('independent', 'along', 'fpn', 5, 'pn', 3, 1353252864, 217),
+ ('p', 'presumably', 'n', -1977548800, 'balanced', 1909260288, 197, NULL),
+ ('pink', 'h', 'tear', 8, 'n', 254, 8, 1006305280),
+ ('tyy', 'n', 'yyr', 1107820544, 'yr', NULL, 0, 219),
+ ('u', 'retirement', 'thread', -2083192832, 'rx', -678232064, 209, 1048969216),
+ ('xk', 'kb', 'z', 9, 'ba', 218, 7, 8),
+ ('a', 'plenty', 'forget', 36, 'c', 215, 2027094016, NULL),
+ ('i', 'compromise', 'n', -1090256896, 'o', 10, 66, 1872887808),
+ ('x', 'disappointment', 'cognitive', 753860608, 'ua', 77, 123, 10),
+ ('e', 'added', 'aub', 2, 'u', NULL, 9, 92),
+ ('bc', 'h', 'n', 146, 'master', NULL, 1003945984, NULL),
+ ('execution', 'f', 'cgp', 574423040, 'gp', 2, -518782976, -1189085184),
+ ('pv', 'bad', 'v', 132, 'r', 195, 6, 5),
+ ('modify', 'participation', 'vol', 237, 'j', -842924032, 88, -747765760),
+ ('substantially', 'i', 'congressional', 2, 'edit', NULL, 1003159552, NULL),
+ ('tell', 'forty', 'v', -910098432, 'd', 43, 3, NULL),
+ ('crawl', 'ad', 'respect', -1851195392, 'p', 72, -1709047808, 1343225856),
+ ('w', 'reception', 'fiber', 56, 's', NULL, 2, -993787904),
+ ('successful', 'instruct', 'dug', 2, 'u', 7, -411500544, NULL),
+ ('appointment', 'pregnant', 'weird', 2, 'r', NULL, -897384448, 76),
+ ('g', 'j', 'thin', 663617536, 'oan', 1, 7, NULL),
+ ('secretary', 'a', 'o', 103, 'nj', 1977745408, -1291124736, -1314521088),
+ ('g', 'jq', 'q', 1875116032, 'blame', NULL, 1, 4),
+ ('oj', 'j', 'breast', 150, 'c', NULL, 3, NULL),
+ ('rd', 'm', 'comprehensive', 1723334656, 't', NULL, 155, -312344576) ,
+ ('a', 'd', 'criminal', -1155137536, 'airplane', 242, -662896640, 1),
+ ('fast', 'i', 'k', -386662400, 'zxe', NULL, 7, 119),
+ ('xe', 'mouse', 'c', -205717504, 'ew', NULL, -729612288, 86),
+ ('hang', 'j', 'o', 3, 'hungry', NULL, 200, 49),
+ ('expense', 'z', 'sum', 2, 'gob', -472055808, -538181632, NULL),
+ ('nest', 'o', 'k', 116, 'weak', NULL, 223, NULL);
+--error ER_DUP_ENTRY
+INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES ('impact', 'b', 'h', 185, 'fj', 7, 7, 3);
+
+ALTER TABLE t1 ADD COLUMN filler VARCHAR(255) DEFAULT '';
+SELECT * FROM t1 INTO OUTFILE 'load.data';
+UPDATE IGNORE t1 SET pk = 0;
+LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
+HANDLER t1 OPEN AS h;
+HANDLER h READ `PRIMARY` PREV WHERE 0;
+
+# Cleanup
+HANDLER h CLOSE;
+DROP TABLE t1;
+--let $datadir= `select @@datadir`
+--remove_file $datadir/test/load.data
diff --git a/mysql-test/suite/innodb/t/recovery_shutdown.test b/mysql-test/suite/innodb/t/recovery_shutdown.test
index d796189c724..3bd01653065 100644
--- a/mysql-test/suite/innodb/t/recovery_shutdown.test
+++ b/mysql-test/suite/innodb/t/recovery_shutdown.test
@@ -51,6 +51,12 @@ FLUSH TABLES;
--let $shutdown_timeout=60
--source include/restart_mysqld.inc
+# Perform a slow shutdown in order to roll back all recovered transactions
+# and to avoid locking conflicts with the DROP TABLE below.
+--disable_query_log
+SET GLOBAL innodb_fast_shutdown=0;
+--source include/restart_mysqld.inc
+
--disable_query_log
let $c = $trx;
while ($c)
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
index 6ee5f9f4322..1382457debf 100644
--- a/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
@@ -79,7 +79,7 @@ CREATE FULLTEXT INDEX idx on fts_test (title, body) LOCK=NONE;
ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
-ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
ALTER TABLE fts_test ROW_FORMAT=REDUNDANT;
SELECT * FROM fts_test WHERE MATCH (title, body)
AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
@@ -228,3 +228,12 @@ DROP TABLE articles;
CREATE TABLE t1 (a VARCHAR(3)) ENGINE=InnoDB;
ALTER TABLE t1 ADD FULLTEXT KEY(a), ADD COLUMN b VARCHAR(3), ADD FULLTEXT KEY(b);
DROP TABLE t1;
+#
+# MDEV-18152 Assertion 'num_fts_index <= 1' failed
+# in prepare_inplace_alter_table_dict
+#
+CREATE TABLE t1
+(a VARCHAR(128), b VARCHAR(128), FULLTEXT INDEX(a), FULLTEXT INDEX(b))
+ENGINE=InnoDB;
+ALTER TABLE t1 ADD c SERIAL;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
index ddd92556772..c81ec18a4e6 100644
--- a/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
@@ -276,3 +276,13 @@ ALTER TABLE t1 ADD FULLTEXT KEY(a), ADD COLUMN b VARCHAR(3), ADD FULLTEXT KEY(b)
# Cleanup
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-18152 Assertion 'num_fts_index <= 1' failed
+--echo # in prepare_inplace_alter_table_dict
+--echo #
+CREATE TABLE t1
+(a VARCHAR(128), b VARCHAR(128), FULLTEXT INDEX(a), FULLTEXT INDEX(b))
+ENGINE=InnoDB;
+ALTER TABLE t1 ADD c SERIAL;
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/drop_table_during_backup.result b/mysql-test/suite/mariabackup/drop_table_during_backup.result
index 1472ddbddcf..8a77945e586 100644
--- a/mysql-test/suite/mariabackup/drop_table_during_backup.result
+++ b/mysql-test/suite/mariabackup/drop_table_during_backup.result
@@ -1,6 +1,8 @@
CREATE TABLE t1 (i int) ENGINE=INNODB;
CREATE TABLE t2 (i int) ENGINE=INNODB;
CREATE TABLE t3 (i int) ENGINE=INNODB;
+CREATE TABLE t4 (i int) ENGINE=INNODB;
+CREATE TABLE t5 (i int) ENGINE=INNODB;
# xtrabackup prepare
# shutdown server
# remove datadir
@@ -11,3 +13,6 @@ DROP TABLE t1;
CREATE TABLE t2(i int);
DROP TABLE t2;
DROP TABLE t3;
+CREATE TABLE t4(i int);
+DROP TABLE t4;
+DROP TABLE t5;
diff --git a/mysql-test/suite/mariabackup/drop_table_during_backup.test b/mysql-test/suite/mariabackup/drop_table_during_backup.test
index 02c7710145b..e3a81b77b71 100644
--- a/mysql-test/suite/mariabackup/drop_table_during_backup.test
+++ b/mysql-test/suite/mariabackup/drop_table_during_backup.test
@@ -3,8 +3,14 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
CREATE TABLE t1 (i int) ENGINE=INNODB;
CREATE TABLE t2 (i int) ENGINE=INNODB;
CREATE TABLE t3 (i int) ENGINE=INNODB;
+CREATE TABLE t4 (i int) ENGINE=INNODB;
+CREATE TABLE t5 (i int) ENGINE=INNODB;
+
--let before_copy_test_t1=DROP TABLE test.t1
--let after_copy_test_t2=DROP TABLE test.t2;
+# MDEV-18185, drop + rename combination
+--let after_copy_test_t5=BEGIN NOT ATOMIC DROP TABLE test.t5; RENAME TABLE test.t4 TO test.t5; END
+
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
--enable_result_log
@@ -21,4 +27,7 @@ DROP TABLE t1;
CREATE TABLE t2(i int);
DROP TABLE t2;
DROP TABLE t3;
+CREATE TABLE t4(i int);
+DROP TABLE t4;
+DROP TABLE t5;
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.opt b/mysql-test/suite/mariabackup/encrypted_page_compressed.opt
new file mode 100644
index 00000000000..e5a02a1a1c9
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.opt
@@ -0,0 +1,6 @@
+--innodb-encryption-rotate-key-age=2
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.result b/mysql-test/suite/mariabackup/encrypted_page_compressed.result
new file mode 100644
index 00000000000..293addd2b03
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.result
@@ -0,0 +1,7 @@
+call mtr.add_suppression("InnoDB: Table `test`.`t1` has an unreadable root page");
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+# Corrupt the table
+# xtrabackup backup
+FOUND 1 /Database page corruption detected.*/ in backup.log
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.test b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
new file mode 100644
index 00000000000..b4ca7eded14
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
@@ -0,0 +1,48 @@
+source include/have_file_key_management.inc;
+call mtr.add_suppression("InnoDB: Table `test`.`t1` has an unreadable root page");
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Corrupt the table
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+
+my $ibd_file = $ENV{'t1_IBD'};
+
+my $chunk;
+my $page_size = $ENV{'INNODB_PAGE_SIZE'};
+
+sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
+sysseek IBD_FILE, $page_size * 3 + 75, SEEK_CUR;
+$chunk = '\xAA\xAA\xAA\xAA';
+syswrite IBD_FILE, $chunk, 4;
+
+close IBD_FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+--disable_result_log
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
+--error 1
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir > $backuplog;
+--enable_result_log
+
+--let SEARCH_PATTERN=Database page corruption detected.*
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+remove_file $backuplog;
+
+drop table t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_corruption.result b/mysql-test/suite/mariabackup/encrypted_page_corruption.result
index 8ae34b2a6f0..9a6202a5ea1 100644
--- a/mysql-test/suite/mariabackup/encrypted_page_corruption.result
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.result
@@ -1,8 +1,8 @@
-call mtr.add_suppression("\\[ERROR\\] InnoDB: The page .* in file .* cannot be decrypted.");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Table `test`\\.`t1` has an unreadable root page");
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB, encrypted=yes;
insert into t1 select repeat('a',100);
# Corrupt the table
# xtrabackup backup
-FOUND 1 /Database page corruption detected/ in backup.log
+FOUND 1 /Database page corruption detected.*/ in backup.log
drop table t1;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_corruption.test b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
index 923875275e6..4491c235ac4 100644
--- a/mysql-test/suite/mariabackup/encrypted_page_corruption.test
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
@@ -1,12 +1,13 @@
--source include/have_file_key_management.inc
+--source include/innodb_page_size.inc
-call mtr.add_suppression("\\[ERROR\\] InnoDB: The page .* in file .* cannot be decrypted.");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Table `test`\\.`t1` has an unreadable root page");
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB, encrypted=yes;
insert into t1 select repeat('a',100);
-let $MYSQLD_DATADIR=`select @@datadir`;
-let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let MYSQLD_DATADIR=`select @@datadir`;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
--source include/shutdown_mysqld.inc
@@ -16,17 +17,29 @@ perl;
use strict;
use warnings;
use Fcntl qw(:DEFAULT :seek);
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/crc32.pl";
-my $ibd_file = $ENV{'t1_IBD'};
+my $page_size = $ENV{INNODB_PAGE_SIZE};
-my $chunk;
-my $len;
+sysopen IBD_FILE, "$ENV{MYSQLD_DATADIR}/test/t1.ibd", O_RDWR
+|| die "Cannot open t1.ibd\n";
+sysread(IBD_FILE, $_, 38) || die "Cannot read t1.ibd\n";
+my $space = unpack("x[34]N", $_);
+sysseek(IBD_FILE, $page_size * 3, SEEK_SET) || die "Cannot seek t1.ibd\n";
-sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
-sysseek IBD_FILE, 16384 * 3, SEEK_CUR;
-$chunk = '\xAA\xAA\xAA\xAA';
-syswrite IBD_FILE, $chunk, 4;
+my $head = pack("Nx[18]", 3); # better to have a valid page number
+my $body = chr(0) x ($page_size - 38 - 8);
+# Calculate innodb_checksum_algorithm=crc32 for the unencrypted page.
+# The following bytes are excluded:
+# bytes 0..3 (the checksum is stored there)
+# bytes 26..37 (encryption key version, post-encryption checksum, tablespace id)
+# bytes $page_size-8..$page_size-1 (checksum, LSB of FIL_PAGE_LSN)
+my $polynomial = 0x82f63b78; # CRC-32C
+my $ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+
+my $page= pack("N",$ck).$head.pack("NNN",1,$ck,$space).$body.pack("Nx[4]",$ck);
+die unless syswrite(IBD_FILE, $page, $page_size) == $page_size;
close IBD_FILE;
EOF
@@ -38,14 +51,20 @@ let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
--disable_result_log
--error 1
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir > $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --extended-validation --target-dir=$targetdir > $backuplog;
--enable_result_log
---let SEARCH_PATTERN=Database page corruption detected
+--let SEARCH_PATTERN=Database page corruption detected.*
--let SEARCH_FILE=$backuplog
--source include/search_pattern_in_file.inc
remove_file $backuplog;
+rmdir $targetdir;
+
+# Due to very constructed nature of the "corruption" (faking checksums), the "corruption" won't be found without --extended-validation
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+--enable_result_log
drop table t1;
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/huge_lsn.opt b/mysql-test/suite/mariabackup/huge_lsn.opt
index 74a6450a1ef..c65b76fb7d2 100644
--- a/mysql-test/suite/mariabackup/huge_lsn.opt
+++ b/mysql-test/suite/mariabackup/huge_lsn.opt
@@ -1,4 +1,8 @@
--innodb-encrypt-log=ON
+--innodb-tablespaces-encryption
+--innodb-encrypt-tables=ON
+--innodb-encryption-rotate-key-age=1
+--innodb-encryption-threads=4
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
--loose-file-key-management
--loose-file-key-management-filekey=FILE:$MTR_SUITE_DIR/filekeys-data.key
diff --git a/mysql-test/suite/mariabackup/partition_partial.opt b/mysql-test/suite/mariabackup/partition_partial.opt
new file mode 100644
index 00000000000..508cf185695
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_partial.opt
@@ -0,0 +1 @@
+--innodb --loose-partition
diff --git a/mysql-test/suite/mariabackup/partition_partial.result b/mysql-test/suite/mariabackup/partition_partial.result
new file mode 100644
index 00000000000..62b7adf75f8
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_partial.result
@@ -0,0 +1,31 @@
+CREATE TABLE t1(i INT) ENGINE INNODB
+PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (100),
+PARTITION p2 VALUES LESS THAN (200),
+PARTITION p3 VALUES LESS THAN (300),
+PARTITION p4 VALUES LESS THAN (400));
+INSERT INTO t1 VALUES (1), (101), (201), (301);
+# xtrabackup backup
+INSERT INTO t1 VALUES (1), (101), (201), (301);
+# xtrabackup prepare
+CREATE TABLE t1_placeholder (i INT) ENGINE INNODB;
+ALTER TABLE t1_placeholder DISCARD TABLESPACE;
+ALTER TABLE t1_placeholder IMPORT TABLESPACE;
+ALTER TABLE t1 EXCHANGE PARTITION p4 WITH TABLE t1_placeholder;
+ALTER TABLE t1_placeholder DISCARD TABLESPACE;
+ALTER TABLE t1_placeholder IMPORT TABLESPACE;
+ALTER TABLE t1 EXCHANGE PARTITION p3 WITH TABLE t1_placeholder;
+ALTER TABLE t1_placeholder DISCARD TABLESPACE;
+ALTER TABLE t1_placeholder IMPORT TABLESPACE;
+ALTER TABLE t1 EXCHANGE PARTITION p2 WITH TABLE t1_placeholder;
+ALTER TABLE t1_placeholder DISCARD TABLESPACE;
+ALTER TABLE t1_placeholder IMPORT TABLESPACE;
+ALTER TABLE t1 EXCHANGE PARTITION p1 WITH TABLE t1_placeholder;
+SELECT * FROM t1;
+i
+1
+101
+201
+301
+DROP TABLE t1;
+DROP TABLE t1_placeholder;
diff --git a/mysql-test/suite/mariabackup/partition_partial.test b/mysql-test/suite/mariabackup/partition_partial.test
new file mode 100644
index 00000000000..8e288ec997f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_partial.test
@@ -0,0 +1,44 @@
+#--source include/innodb_page_size.inc
+
+# import partitioned table from table from partial backup
+
+CREATE TABLE t1(i INT) ENGINE INNODB
+PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (100),
+ PARTITION p2 VALUES LESS THAN (200),
+ PARTITION p3 VALUES LESS THAN (300),
+ PARTITION p4 VALUES LESS THAN (400));
+
+INSERT INTO t1 VALUES (1), (101), (201), (301);
+
+echo # xtrabackup backup;
+
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables=test.t1" --target-dir=$targetdir;
+--enable_result_log
+INSERT INTO t1 VALUES (1), (101), (201), (301);
+
+
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group-suffix=.1 --prepare --export --target-dir=$targetdir;
+--enable_result_log
+
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+CREATE TABLE t1_placeholder (i INT) ENGINE INNODB;
+let $i=4;
+while($i)
+{
+ eval ALTER TABLE t1_placeholder DISCARD TABLESPACE;
+ copy_file $targetdir/test/t1#P#p$i.cfg $MYSQLD_DATADIR/test/t1_placeholder.cfg;
+ copy_file $targetdir/test/t1#P#p$i.ibd $MYSQLD_DATADIR/test/t1_placeholder.ibd;
+ eval ALTER TABLE t1_placeholder IMPORT TABLESPACE;
+ eval ALTER TABLE t1 EXCHANGE PARTITION p$i WITH TABLE t1_placeholder;
+ dec $i;
+}
+SELECT * FROM t1;
+DROP TABLE t1;
+DROP TABLE t1_placeholder;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.result b/mysql-test/suite/mariabackup/rename_during_backup.result
index 6e8f365f643..a4cf06b7633 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.result
+++ b/mysql-test/suite/mariabackup/rename_during_backup.result
@@ -4,6 +4,8 @@ CREATE TABLE t2(i int) ENGINE INNODB;
INSERT INTO t2 values(2);
CREATE TABLE t3(i int) ENGINE INNODB;
CREATE TABLE t4(i int) ENGINE INNODB;
+CREATE TABLE t5(i int) ENGINE INNODB;
+INSERT INTO t5 VALUES(5);
CREATE TABLE a(a int) ENGINE INNODB;
INSERT INTO a values(1);
CREATE TABLE b(b CHAR(1)) ENGINE INNODB;
@@ -51,3 +53,10 @@ SELECT * FROM b1;
a1
1
DROP TABLE a,b,a1,b1;
+SELECT * from t5;
+i
+DROP TABLE t5;
+SELECT * from t6;
+i
+5
+DROP TABLE t6;
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.test b/mysql-test/suite/mariabackup/rename_during_backup.test
index f176af1451b..238a8b1985c 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.test
+++ b/mysql-test/suite/mariabackup/rename_during_backup.test
@@ -10,6 +10,8 @@ INSERT INTO t2 values(2);
CREATE TABLE t3(i int) ENGINE INNODB;
CREATE TABLE t4(i int) ENGINE INNODB;
+CREATE TABLE t5(i int) ENGINE INNODB;
+INSERT INTO t5 VALUES(5);
CREATE TABLE a(a int) ENGINE INNODB;
INSERT INTO a values(1);
@@ -28,6 +30,7 @@ INSERT INTO b1 VALUES('b1');
--let after_copy_test_t3=BEGIN NOT ATOMIC RENAME TABLE test.t3 TO test.t3_tmp; INSERT INTO test.t3_tmp VALUES(3); RENAME TABLE test.t3_tmp TO test.t3; END
--let before_copy_test_t4=RENAME TABLE test.t4 TO test.t4_tmp
--let after_copy_test_t4=RENAME TABLE test.t4_tmp TO test.t4
+--let after_copy_test_t5=BEGIN NOT ATOMIC RENAME TABLE test.t5 TO test.t6; CREATE TABLE test.t5(i int) ENGINE INNODB; END
# Test circular renames
--let before_copy_test_b=RENAME TABLE test.a to test.tmp, test.b to test.a, test.tmp to test.b
@@ -81,6 +84,10 @@ SELECT * FROM a1;
SELECT * FROM b1;
DROP TABLE a,b,a1,b1;
+SELECT * from t5;
+DROP TABLE t5;
+SELECT * from t6;
+DROP TABLE t6;
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/unencrypted_page_compressed.result b/mysql-test/suite/mariabackup/unencrypted_page_compressed.result
new file mode 100644
index 00000000000..71eac085769
--- /dev/null
+++ b/mysql-test/suite/mariabackup/unencrypted_page_compressed.result
@@ -0,0 +1,11 @@
+call mtr.add_suppression("InnoDB: Table `test`.`t1` has an unreadable root page");
+SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+InnoDB 0 transactions not purged
+# Corrupt the table
+# xtrabackup backup
+FOUND 1 /Database page corruption detected.*/ in backup.log
+drop table t1;
+Warnings:
+Warning 192 Table test/t1 in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
diff --git a/mysql-test/suite/mariabackup/unencrypted_page_compressed.test b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
new file mode 100644
index 00000000000..b41d177e572
--- /dev/null
+++ b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
@@ -0,0 +1,50 @@
+call mtr.add_suppression("InnoDB: Table `test`.`t1` has an unreadable root page");
+SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+--source ../innodb/include/wait_all_purged.inc
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Corrupt the table
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+
+my $ibd_file = $ENV{'t1_IBD'};
+
+my $chunk;
+my $page_size = $ENV{'INNODB_PAGE_SIZE'};
+
+sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
+sysseek IBD_FILE, 16384 * 3 + 75, SEEK_CUR;
+$chunk = '\xAA\xAA\xAA\xAA';
+syswrite IBD_FILE, $chunk, 4;
+
+close IBD_FILE;
+EOF
+
+--let $restart_parameters= --skip-innodb-buffer-pool-load-at-startup
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+--disable_result_log
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
+--error 1
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir > $backuplog;
+--enable_result_log
+
+--let SEARCH_PATTERN=Database page corruption detected.*
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+remove_file $backuplog;
+
+drop table t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/rpl/r/rpl_idempotency.result b/mysql-test/suite/rpl/r/rpl_idempotency.result
index a9485ca8933..09e084ce448 100644
--- a/mysql-test/suite/rpl/r/rpl_idempotency.result
+++ b/mysql-test/suite/rpl/r/rpl_idempotency.result
@@ -79,8 +79,25 @@ a
-3
1
include/check_slave_no_error.inc
+connection slave;
+drop table t1, t2;
connection master;
DROP TABLE t1, t2;
connection slave;
+include/check_slave_no_error.inc
+create database d;
+create database e;
+connection master;
+create database d;
+create database if not exists e;
+connection slave;
+include/check_slave_no_error.inc
+drop database d;
+drop database e;
+connection master;
+drop database d;
+drop database if exists e;
+connection slave;
+include/check_slave_no_error.inc
SET @@global.slave_exec_mode= @old_slave_exec_mode;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_user.result b/mysql-test/suite/rpl/r/rpl_user.result
index 34f15d41209..2a8bf69501c 100644
--- a/mysql-test/suite/rpl/r/rpl_user.result
+++ b/mysql-test/suite/rpl/r/rpl_user.result
@@ -31,6 +31,13 @@ Host User
fakehost barbar
fakehost foofoo
connection master;
+alter user 'foofoo'@'fakehost' identified by 'foo';
+alter user 'non_exist_user1'@'fakehost' identified by 'foo', 'barbar'@'fakehost' identified by 'bar';
+ERROR HY000: Operation ALTER USER failed for 'non_exist_user1'@'fakehost'
+alter user 'non_exist_user1'@'fakehost' identified by 'foo', 'non_exist_user2'@'fakehost' identified by 'bar';
+ERROR HY000: Operation ALTER USER failed for 'non_exist_user1'@'fakehost','non_exist_user2'@'fakehost'
+connection slave;
+connection master;
drop user 'foofoo'@'fakehost';
drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost';
ERROR HY000: Operation DROP USER failed for 'not_exist_user1'@'fakehost'
@@ -51,6 +58,10 @@ master-bin.000001 # Query # # use `test`; rename user 'foo'@'fakehost' to 'foofo
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost'
master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; alter user 'foofoo'@'fakehost' identified by 'foo'
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; alter user 'non_exist_user1'@'fakehost' identified by 'foo', 'barbar'@'fakehost' identified by 'bar'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop user 'foofoo'@'fakehost'
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost'
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency.test b/mysql-test/suite/rpl/t/rpl_idempotency.test
index fcfe6f65e6d..12dec236d45 100644
--- a/mysql-test/suite/rpl/t/rpl_idempotency.test
+++ b/mysql-test/suite/rpl/t/rpl_idempotency.test
@@ -77,9 +77,30 @@ SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
--source include/check_slave_no_error.inc
+connection slave;
+drop table t1, t2;
+
connection master;
DROP TABLE t1, t2;
sync_slave_with_master;
+--source include/check_slave_no_error.inc
+create database d;
+create database e;
+
+connection master;
+create database d;
+create database if not exists e;
+
+sync_slave_with_master;
+--source include/check_slave_no_error.inc
+drop database d;
+drop database e;
+
+connection master;
+drop database d;
+drop database if exists e;
+sync_slave_with_master;
+--source include/check_slave_no_error.inc
SET @@global.slave_exec_mode= @old_slave_exec_mode;
diff --git a/mysql-test/suite/rpl/t/rpl_user.test b/mysql-test/suite/rpl/t/rpl_user.test
index caa17b47733..079c2bf27d5 100644
--- a/mysql-test/suite/rpl/t/rpl_user.test
+++ b/mysql-test/suite/rpl/t/rpl_user.test
@@ -42,6 +42,17 @@ sync_slave_with_master;
select Host,User from mysql.user where Host='fakehost';
#
+# Test alter user
+#
+connection master;
+alter user 'foofoo'@'fakehost' identified by 'foo';
+--error ER_CANNOT_USER
+alter user 'non_exist_user1'@'fakehost' identified by 'foo', 'barbar'@'fakehost' identified by 'bar';
+--error ER_CANNOT_USER
+alter user 'non_exist_user1'@'fakehost' identified by 'foo', 'non_exist_user2'@'fakehost' identified by 'bar';
+sync_slave_with_master;
+
+#
# Test drop user
#
connection master;
diff --git a/mysql-test/suite/storage_engine/type_bool.result b/mysql-test/suite/storage_engine/type_bool.result
index 87308ed63fc..10cfc08102f 100644
--- a/mysql-test/suite/storage_engine/type_bool.result
+++ b/mysql-test/suite/storage_engine/type_bool.result
@@ -42,8 +42,8 @@ b1 b2
0 0
INSERT INTO t1 (b1,b2) VALUES ('a','b');
Warnings:
-Warning 1366 Incorrect integer value: 'a' for column 'b1' at row 1
-Warning 1366 Incorrect integer value: 'b' for column 'b2' at row 1
+Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`b1` at row 1
+Warning 1366 Incorrect integer value: 'b' for column `test`.`t1`.`b2` at row 1
SELECT b1,b2 FROM t1;
b1 b2
-1 -2
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
index efc380a396b..89e5fef60e6 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
@@ -4151,7 +4151,7 @@ VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The number of cached table definitions
NUMERIC_MIN_VALUE 400
-NUMERIC_MAX_VALUE 524288
+NUMERIC_MAX_VALUE 2097152
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
index 47df962b7c4..ca875e7f644 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
@@ -5103,7 +5103,7 @@ VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The number of cached table definitions
NUMERIC_MIN_VALUE 400
-NUMERIC_MAX_VALUE 524288
+NUMERIC_MAX_VALUE 2097152
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
diff --git a/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result b/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
index 54b50c5ff75..69f3d42d2fb 100644
--- a/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
+++ b/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
@@ -28,14 +28,14 @@ Warning 1292 Truncated incorrect table_definition_cache value: '2'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
400
-SET @@global.table_definition_cache = 524287;
+SET @@global.table_definition_cache = 2097151;
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524287
-SET @@global.table_definition_cache = 524288;
+2097151
+SET @@global.table_definition_cache = 2097152;
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
'#--------------------FN_DYNVARS_019_04-------------------------#'
SET @@global.table_definition_cache = 0;
Warnings:
@@ -49,18 +49,18 @@ Warning 1292 Truncated incorrect table_definition_cache value: '-1024'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
400
-SET @@global.table_definition_cache = 524289;
+SET @@global.table_definition_cache = 2097153;
Warnings:
-Warning 1292 Truncated incorrect table_definition_cache value: '524289'
+Warning 1292 Truncated incorrect table_definition_cache value: '2097153'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
SET @@global.table_definition_cache = 42949672950;
Warnings:
Warning 1292 Truncated incorrect table_definition_cache value: '42949672950'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
SET @@global.table_definition_cache = 21221204.10;
ERROR 42000: Incorrect argument type to variable 'table_definition_cache'
SET @@global.table_definition_cache = ON;
diff --git a/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test b/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
index dc0903c5d40..d7a6ff25a0b 100644
--- a/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
+++ b/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
@@ -64,9 +64,9 @@ SET @@global.table_definition_cache = 1;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = 2;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524287;
+SET @@global.table_definition_cache = 2097151;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524288;
+SET @@global.table_definition_cache = 2097152;
SELECT @@global.table_definition_cache;
@@ -79,7 +79,7 @@ SET @@global.table_definition_cache = 0;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = -1024;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524289;
+SET @@global.table_definition_cache = 2097153;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = 42949672950;
SELECT @@global.table_definition_cache;
diff --git a/mysql-test/suite/vcol/r/upgrade.result b/mysql-test/suite/vcol/r/upgrade.result
index 75684bf0e41..527bc5f3abf 100644
--- a/mysql-test/suite/vcol/r/upgrade.result
+++ b/mysql-test/suite/vcol/r/upgrade.result
@@ -16,3 +16,19 @@ select * from vcol_autoinc;
pk v3
1 1
drop table vcol_autoinc;
+check table t1 for upgrade;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+flush tables;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `Date` datetime(6) NOT NULL,
+ `Data` varbinary(2000) NOT NULL,
+ `a` varchar(100) GENERATED ALWAYS AS (column_get(`Data`,1 as char(100) charset latin1)) VIRTUAL,
+ PRIMARY KEY (`Date`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (to_days(`Date`))
+(PARTITION `p20181029` VALUES LESS THAN (737361) ENGINE = MyISAM,
+ PARTITION `p20181128` VALUES LESS THAN (737391) ENGINE = MyISAM)
+drop table t1;
diff --git a/mysql-test/suite/vcol/t/upgrade.test b/mysql-test/suite/vcol/t/upgrade.test
index 3e221747dfa..146495d8ed0 100644
--- a/mysql-test/suite/vcol/t/upgrade.test
+++ b/mysql-test/suite/vcol/t/upgrade.test
@@ -11,3 +11,18 @@ select * from vcol_autoinc;
insert vcol_autoinc (pk) values (1);
select * from vcol_autoinc;
drop table vcol_autoinc;
+
+#
+# MDEV-17909 Problem by MariaDB Update 10.1.32 -> 10.2.19 (Incorrect information in file: .frm)
+#
+source include/have_partition.inc;
+copy_file std_data/mdev17909#P#p20181029.MYD $datadir/test/t1#P#p20181029.MYD;
+copy_file std_data/mdev17909#P#p20181029.MYI $datadir/test/t1#P#p20181029.MYI;
+copy_file std_data/mdev17909#P#p20181128.MYD $datadir/test/t1#P#p20181128.MYD;
+copy_file std_data/mdev17909#P#p20181128.MYI $datadir/test/t1#P#p20181128.MYI;
+copy_file std_data/mdev17909.frm $datadir/test/t1.frm;
+copy_file std_data/mdev17909.par $datadir/test/t1.par;
+check table t1 for upgrade;
+flush tables;
+show create table t1;
+drop table t1;
diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests
index 45b72f0fade..78863e991d8 100644
--- a/mysql-test/unstable-tests
+++ b/mysql-test/unstable-tests
@@ -23,7 +23,7 @@
#
##############################################################################
-# Based on bb-10.3-release 49a91a6cf89871082fd0a6b7d4b8482c429e942c
+# Based on 10.3 c902a033b98f2eb11bc1e61cca9d3cb908ecff20
#-----------------------------------------------------------------------
@@ -51,6 +51,7 @@ binlog.load_data_stm_view : MDEV-16948
binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint
binlog_encryption.encrypted_master : MDEV-14201 - Extra warnings
binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't init tc log
+binlog_encryption.encrypted_slave : MDEV-18135 - SSL error: key too small
binlog_encryption.encryption_combo : MDEV-14199 - Table is marked as crashed
binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash
binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result
@@ -75,13 +76,17 @@ compat/oracle.sp-cursor : Modified in
compat/oracle.sp-cursor-rowtype : Modified in 10.3.11
compat/oracle.sp-package : Modified in 10.3.11
compat/oracle.sp-package-mysqldump : Modified in 10.3.11
-compat/oracle.table_value_constr : Modified in 10.3.10
#-----------------------------------------------------------------------
+connect.alter : MDEV-18135 - SSL error: key too small
+connect.drop-open-error : MDEV-18135 - SSL error: key too small
+connect.json : MDEV-18135 - SSL error: key too small
+connect.part_file : MDEV-18135 - SSL error: key too small
+connect.part_table : MDEV-18135 - SSL error: key too small
connect.pivot : MDEV-14803 - Failed to discover table
+connect.secure_file_priv : MDEV-18135 - SSL error: key too small
connect.vcol : MDEV-12374 - Fails on Windows
-connect.xml2 : Modified in 10.3.10
connect.zip : MDEV-13884 - Wrong result
#-----------------------------------------------------------------------
@@ -90,12 +95,12 @@ encryption.create_or_replace : MDEV-12694
encryption.debug_key_management : MDEV-13841 - Timeout
encryption.encrypt_and_grep : MDEV-13765 - Wrong result
encryption.innochecksum : MDEV-13644 - Assertion failure
-encryption.innodb-checksum-algorithm : MDEV-12898 - Deadlock of threads; MDEV-16896 - Server crash
+encryption.innodb-checksum-algorithm : MDEV-12898 - Deadlock of threads; MDEV-16896 - Server crash; modified in 10.3.12
encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certificate
encryption.innodb-encryption-alter : MDEV-13566 - Lock wait timeout; modified in 10.3.11
encryption.innodb_encryption_tables : MDEV-17339 - Crash on restart
encryption.innodb-first-page-read : MDEV-14356 - Timeout in wait condition
-encryption.innodb-force-corrupt : MDEV-17286 - SSL error
+encryption.innodb-force-corrupt : MDEV-17286 - SSL error; modified in 10.3.12
encryption.innodb-missing-key : MDEV-14728 - SSL error
encryption.innodb-page_encryption : MDEV-10641 - mutex problem
encryption.innodb-page_encryption_log_encryption : MDEV-17339 - Crash on restart
@@ -133,7 +138,6 @@ federated.federatedx : MDEV-10617
#-----------------------------------------------------------------------
-funcs_1.is_check_constraints : Added in 10.3.10
funcs_1.memory_views : MDEV-11773 - timeout
funcs_1.processlist_val_no_prot : MDEV-11223 - Wrong result
funcs_1.processlist_val_ps : MDEV-12175 - Wrong plan
@@ -154,7 +158,7 @@ galera_3nodes.* : Suite is no
gcol.gcol_partition_innodb : Modified in 10.3.11
gcol.gcol_rollback : MDEV-16954 - Unknown storage engine 'InnoDB'
gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion
-gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.3.10
+gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result
gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure
gcol.innodb_virtual_index : Modifed in 10.3.11
@@ -174,34 +178,29 @@ innodb.alter_not_null : Modified in
innodb.auto_increment_dup : Modified in 10.3.11
innodb.autoinc_persist : MDEV-15282 - Assertion failure
innodb.binlog_consistent : MDEV-10618 - Server fails to start
+innodb.data_types : Modified in 10.3.12
+innodb.default_row_format_create : Modified in 10.3.12
innodb.ddl_purge : Combinations changed in 10.3.11
innodb.doublewrite : MDEV-12905 - Server crash
-innodb.drop_table_background : Modified in 10.2.19
innodb.foreign_key : Modified in 10.3.11
-innodb.foreign-keys : Modified in 10.3.10
innodb.group_commit_crash : MDEV-14191 - InnoDB registration failed
innodb.group_commit_crash_no_optimize_thread : MDEV-13830 - Assertion failure
innodb.ibuf_not_empty : MDEV-17742 - Assertion failure
innodb.innodb-32k-crash : MDEV-16953 - Corrupt log record found
innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup
-innodb.innodb-alter : Modified in 10.3.11
-innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS; modified in 10.3.11
+innodb.innodb-alter : Modified in 10.3.12
+innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS; modified in 10.3.12
innodb.innodb-alter-table : MDEV-10619 - Testcase timeout
innodb.innodb-alter-tempfile : MDEV-15285 - Table already exists
innodb.innodb-blob : MDEV-12053 - Client crash
innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown
innodb.innodb-get-fk : MDEV-13276 - Server crash
-innodb.innodb-index : Modified in 10.3.11
+innodb.innodb-index : Modified in 10.3.12
innodb.innodb-index-online : MDEV-14809 - Cannot save statistics
-innodb.innodb-lock : Modified in 10.3.10
-innodb.innodb-page_compression_bzip2 : Modified in 10.3.10
innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure
-innodb.innodb-page_compression_lz4 : Modified in 10.3.10
-innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result; modified in 10.3.10
-innodb.innodb-page_compression_lzo : Modified in 10.3.10
+innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result
innodb.innodb-page_compression_snappy : MDEV-13644 - Assertion failure
-innodb.innodb-page_compression_tables : Modified in 10.3.10
-innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem; modified in 10.3.10
+innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem
innodb.innodb-table-online : MDEV-13894 - Wrong result
innodb.innodb-wl5522 : MDEV-13644 - Assertion failure
innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno
@@ -222,10 +221,7 @@ innodb.innodb_stats : MDEV-10682
innodb.innodb_stats_persistent : MDEV-17745 - Wrong result
innodb.innodb_stats_persistent_debug : MDEV-14801 - Operation failed
innodb.innodb_sys_semaphore_waits : MDEV-10331 - Semaphore wait
-innodb.innodb_zip_innochecksum2 : MDEV-13882 - Extra warnings
-innodb.innodb_zip_innochecksum3 : MDEV-14486 - Resource temporarily unavailable
innodb.instant_alter : Modified in 10.3.11
-innodb.instant_alter_debug : Modified in 10.3.10
innodb.instant_alter_rollback : Modified in 10.3.11
innodb.log_corruption : MDEV-13251 - Wrong result
innodb.log_data_file_size : MDEV-14204 - Server failed to start
@@ -237,29 +233,21 @@ innodb.purge_secondary : MDEV-15681
innodb.purge_thread_shutdown : MDEV-13792 - Wrong result
innodb.read_only_recovery : MDEV-13886 - Server crash
innodb.recovery_shutdown : MDEV-15671 - Checksum mismatch in datafile
-innodb.rename_table_debug : Added in 10.2.19
innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace
innodb.table_definition_cache_debug : MDEV-14206 - Extra warning
-innodb.table_flags : MDEV-13572 - Wrong result; modified in 10.3.11
+innodb.table_flags : MDEV-13572 - Wrong result; modified in 10.3.12
innodb.temp_table_savepoint : MDEV-16182 - Wrong result
innodb.temporary_table : MDEV-13265 - Wrong result
-innodb.truncate : Added in 10.3.10
-innodb.truncate_crash : Added in 10.3.10
-innodb.truncate_debug : Opt file added in 10.2.19
-innodb.truncate_foreign : Added in 10.3.10
-innodb.truncate_inject : Opt file added in 10.2.19
-innodb.truncate_missing : Added in 10.3.10
-innodb.truncate_purge_debug : Opt file added in 10.2.19
-innodb.truncate_restart : Opt file added in 10.2.19
+innodb.truncate : Modified in 10.3.12
innodb.update_time : MDEV-14804 - Wrong result
-innodb.undo_truncate : MDEV-17340 - Server hung; added in 10.3.10
-innodb.undo_truncate_recover : MDEV-13080 - Missing checkpoint; MDEV-17679 - Server has gone away; added in 10.3.10
+innodb.undo_truncate : MDEV-17340 - Server hung
+innodb.undo_truncate_recover : MDEV-13080 - Missing checkpoint; MDEV-17679 - Server has gone away
innodb.xa_recovery : MDEV-15279 - mysqld got exception
#-----------------------------------------------------------------------
innodb_fts.crash_recovery : Modified in 10.3.11
-innodb_fts.fts_kill_query : Modified in 10.0.37
+innodb_fts.create : Modified in 10.3.12
innodb_fts.innodb-fts-fic : MDEV-14154 - Assertion failure
innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning
innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log
@@ -280,35 +268,32 @@ innodb_gis.types : MDEV-15679
#-----------------------------------------------------------------------
innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed
+innodb_zip.innochecksum : Modified in 10.3.12
innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings
-innodb_zip.restart : Opt file modified in 10.2.19
innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2
innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure
-innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket; opt file added in 10.2.19
-innodb_zip.wl6501_crash_3 : Opt file added in 10.2.19
-innodb_zip.wl6501_crash_4 : Opt file added in 10.2.19
-innodb_zip.wl6501_crash_5 : Opt file added in 10.2.19
-innodb_zip.wl6501_scale_1 : Opt file added in 10.2.19
+innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket
innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192
#-----------------------------------------------------------------------
-main.alter_table : Modified in 10.3.11
+main.alter_table : Modified in 10.3.12
+main.alter_table_errors : Modified in 10.3.12
main.alter_table_trans : MDEV-12084 - timeout
main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result
main.auth_named_pipe : MDEV-14724 - System error 2
main.auto_increment_ranges_innodb : Modified in 10.3.11
main.bigint : Modified in 10.3.11
main.case : Modified in 10.3.11
-main.connect : MDEV-16270, MDEV-17282 - Wrong result
+main.check : Modified in 10.3.12
+main.connect : MDEV-17282 - Wrong result; modified in 10.3.12
main.connect2 : MDEV-13885 - Server crash
-main.constraints : Modified in 10.3.10
main.count_distinct2 : MDEV-11768 - timeout
main.create_delayed : MDEV-10605 - failed with timeout
main.create_drop_event : MDEV-16271 - Wrong result
main.create_or_replace : Modified in 10.3.11
main.cte_nonrecursive : Modified in 10.3.11
-main.cte_recursive : Modified in 10.3.11
+main.cte_recursive : Modified in 10.3.12
main.ctype_latin1 : Modified in 10.3.11
main.ctype_uca : Modified in 10.3.11
main.ctype_ucs : MDEV-17681 - Data too long for column
@@ -329,21 +314,22 @@ main.events_slowlog : MDEV-12821
main.flush : Modified in 10.3.11
main.func_concat : Modified in 10.3.11
main.func_default : Modified in 10.3.11
-main.func_isnull : Modified in 10.3.10
+main.func_group_innodb : Modified in 10.3.12
+main.func_hybrid_type : Modified in 10.3.12
main.func_json : Modified in 10.3.11
main.func_like : Modified in 10.3.11
-main.func_time : Modified in 10.3.11
-main.gis : MDEV-13411 - wrong result on P8; modified in 10.3.10
-main.gis-precise : Modified in 10.3.10
-main.grant : Modified in 10.3.10
+main.func_math : Modified in 10.3.12
+main.func_time : Modified in 10.3.12
+main.gis : MDEV-13411 - wrong result on P8
+main.grant5 : Modified in 10.3.12
main.group_by : Modified in 10.3.11
-main.group_min_max : Modified in 10.3.10
main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown
main.index_intersect_innodb : MDEV-10643 - failed with timeout
main.index_merge_innodb : MDEV-7142 - Plan mismatch
main.index_merge_myisam : Modified in 10.3.11
+main.information_schema : Modified in 10.3.12
main.innodb_mysql_lock : MDEV-7861 - Wrong result
-main.join : Modified in 10.3.10
+main.invisible_field_debug : Modified in 10.3.12
main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM
main.join_outer : Modified in 10.3.11
main.kill-2 : MDEV-13257 - Wrong result
@@ -356,12 +342,10 @@ main.lowercase_fs_off : Modified in
main.mdev375 : MDEV-10607 - sporadic "can't connect"
main.mdev-504 : MDEV-15171 - warning
main.merge : MDEV-10607 - sporadic "can't connect"
-main.mysql : Modified in 10.3.10
main.mysql_client_test_comp : MDEV-16641 - Error in exec
main.mysql_client_test_nonblock : CONC-208 - Error on Power; MDEV-15096 - exec failed
-main.mysql_not_windows : Modified in 10.3.10
main.mysqld_option_err : MDEV-12747 - Timeout
-main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.3.11
+main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.3.12
main.mysqldump-max : Modified in 10.3.11
main.mysqldump-utf8mb4 : Added in 10.3.11
main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug
@@ -375,27 +359,29 @@ main.opt_tvc : Modified in
main.order_by_optimizer_innodb : MDEV-10683 - Wrong result
main.order_by_zerolength-4285 : Modified in 10.3.11
main.parser : Modified in 10.3.11
+main.partition : Modified in 10.3.12
+main.partition_alter : Modified in 10.3.12
main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock
-main.partition_error : Modified in 10.3.10
main.partition_explicit_prune : Modified in 10.3.11
-main.partition_innodb : Modified in 10.3.11
+main.partition_innodb : Modified in 10.3.12
main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings
main.partition_pruning : Modified in 10.3.11
-main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count; modified in 10.3.10
+main.pool_of_threads : MDEV-18135 - SSL error: key too small
+main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count
+main.ps_error : Added in 10.3.12
main.query_cache_debug : MDEV-15281 - Query cache is disabled
main.query_cache : MDEV-16180 - Wrong result
-main.range : Modified in 10.3.10
-main.range_debug : Added in 10.3.10
+main.range_innodb : Modified in 10.3.12
main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away
-main.selectivity : Modified in 10.3.10
+main.read_only : Modified in 10.3.12
main.set_statement : MDEV-13183 - Wrong result
main.shm : MDEV-12727 - Mismatch, ERROR 2013
main.show_explain : MDEV-10674 - Wrong result code
-main.sp : MDEV-7866 - Mismatch; modified in 10.3.10
+main.sp : MDEV-7866 - Mismatch; modified in 10.3.12
main.sp-cursor : Modified in 10.3.11
main.sp-for-loop : Modified in 10.3.11
main.sp_notembedded : MDEV-10607 - internal error
-main.sp-security : MDEV-10607 - sporadic "can't connect"; modified in 10.3.10
+main.sp-security : MDEV-10607 - sporadic "can't connect"
main.sql_safe_updates : Added in 10.3.11
main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1
main.ssl_ca : MDEV-10895 - SSL connection error on Power
@@ -403,24 +389,20 @@ main.ssl_cert_verify : MDEV-13735
main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1
main.ssl_connect : MDEV-13492 - Unknown SSL error
main.ssl_timeout : MDEV-11244 - Crash
-main.stat_tables : Modified in 10.3.10
+main.stat_tables : Modified in 10.3.12
main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding
main.stat_tables_par : MDEV-13266 - Wrong result
main.status : MDEV-13255 - Wrong result
-main.subselect_extra_no_semijoin : Modified in 10.3.10
main.subselect_innodb : MDEV-10614 - Wrong result
-main.table_value_constr : Modified in 10.3.10
main.tc_heuristic_recover : MDEV-14189 - Wrong result
-main.temp_table : Modified in 10.3.10
main.type_blob : MDEV-15195 - Wrong result
main.type_datetime : Modified in 10.3.11
main.type_datetime_hires : MDEV-10687 - Timeout
-main.type_float : Modified in 10.3.10
-main.type_newdecimal : Modified in 10.3.11
+main.type_newdecimal : Modified in 10.3.12
main.type_year : Modified in 10.3.11
+main.udf : Modified in 10.3.12
main.userstat : MDEV-12904 - SSL errors
-main.win : Modified in 10.3.11
-main.win_lead_lag : Modified in 10.3.10
+main.win : Modified in 10.3.12
main.win_percent_cume : Modified in 10.3.11
main.win_percentile : Modified in 10.3.11
main.win_rank : Modified in 10.3.11
@@ -429,44 +411,38 @@ main.xa : MDEV-11769
#-----------------------------------------------------------------------
-maria.concurrent : Added in 10.3.10
-maria.create : Added in 10.3.10
maria.fulltext2 : Added in 10.3.11
maria.insert_select : MDEV-12757 - Timeout
maria.insert_select-7314 : MDEV-16492 - Timeout
-maria.maria : MDEV-14430 - Extra warning; modified in 10.3.10
+maria.maria : MDEV-14430 - Extra warning
#-----------------------------------------------------------------------
-mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result; opt file modified in 10.3.10
+mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result
mariabackup.apply-log-only : MDEV-14192 - Assertion failure
mariabackup.apply-log-only-incr : MDEV-14192 - Assertion failure
+mariabackup.backup_grants : Added in 10.3.12
mariabackup.backup_ssl : MDEV-14192 - Assertion failure
-mariabackup.create_during_backup : Added in 10.3.10
-mariabackup.create_with_data_directory_during_backup : Added in 10.3.10
mariabackup.data_directory : MDEV-15270 - Error on exec
-mariabackup.drop_table_during_backup : Added in 10.3.10
+mariabackup.encrypted_page_compressed : Added in 10.3.12
+mariabackup.encrypted_page_corruption : Added in 10.3.12
mariabackup.full_backup : MDEV-16571 - Wrong result
-mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future
+mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future; opt file modified in 10.3.12
mariabackup.incremental_backup : MDEV-14192 - Assertion failure
-mariabackup.incremental_ddl_during_backup : Added in 10.3.10
mariabackup.incremental_encrypted : MDEV-15667 - timeout
+mariabackup.innodb_log_optimize_ddl : MDEV-14192 - Assertion failure
mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result
mariabackup.mdev-14447 : MDEV-15201 - Timeout
-mariabackup.mlog_index_load : MDEV-14192 - Assertion failure; added in 10.3.10
-mariabackup.nolock_ddl_during_backup_end : Added in 10.3.10
+mariabackup.mlog_index_load : MDEV-14192 - Assertion failure
mariabackup.partial_exclude : MDEV-15270 - Error on exec
-mariabackup.recreate_table_during_backup : Added in 10.3.10
-mariabackup.rename_during_backup : Added in 10.3.10
-mariabackup.rename_during_mdl_lock : MDEV-14192 - Assertion failure; modified in 10.3.10
-mariabackup.skip_innodb : Added in 10.3.10
-mariabackup.truncate_during_backup : Added in 10.3.10
-mariabackup.undo_space_id : Opt file modified in 10.3.10
-mariabackup.unsupported_redo : MDEV-14192 - Crash; modified in 10.3.10
-mariabackup.xb_aws_key_management : MDEV-17341 - Missing warning
+mariabackup.partition_partial : Added in 10.3.12
+mariabackup.rename_during_backup : MDEV-14192 - Assertion failure
+mariabackup.rename_during_mdl_lock : MDEV-14192 - Assertion failure
+mariabackup.system_versioning : MDEV-14192 - Assertion failure
+mariabackup.unencrypted_page_compressed : Added in 10.3.12
+mariabackup.unsupported_redo : MDEV-14192 - Crash
mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault
mariabackup.xb_file_key_management : MDEV-16571 - Wrong result
-mariabackup.xb_history : MDEV-16268 - Error on exec
mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11
mariabackup.xb_partition : MDEV-14192 - Crash; MDEV-17584 - Crash upon shutdown
mariabackup.xb_rocksdb : MDEV-17338 - Server hung on shutdown
@@ -503,8 +479,6 @@ parts.partition_debug_innodb : MDEV-10891
parts.partition_exch_qa_10 : MDEV-11765 - wrong result
parts.partition_innodb_status_file : MDEV-12901 - Valgrind
parts.partition_special_innodb : MDEV-16942 - Timeout
-parts.show_create : Modified in 10.3.10
-parts.update_and_cache : Added in 10.3.10
#-----------------------------------------------------------------------
@@ -525,8 +499,9 @@ perfschema.hostcache_ipv6_addrinfo_again_allow : MDEV-12752
perfschema.hostcache_ipv6_addrinfo_bad_allow : MDEV-13260 - Crash
perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash
perfschema.privilege_table_io : MDEV-13184 - Extra lines
+perfschema.relaylog : MDEV-18134 - Wrong result
perfschema.rpl_gtid_func : MDEV-16897 - Wrong result
-perfschema.socket_connect : MDEV-15677 - Wrong result
+perfschema.socket_connect : Modified in 10.3.12
perfschema.socket_summary_by_event_name_func : MDEV-10622 - Wrong result
perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders
perfschema.stage_mdl_procedure : MDEV-11545 - Missing row
@@ -548,6 +523,32 @@ plugins.thread_pool_server_audit : MDEV-14295
rocksdb.* : Too many crashes in various tests
+rocksdb.2pc_group_commit : MDEV-14455 - Wrong result
+rocksdb.allow_no_primary_key_with_sk : MDEV-16639 - Server crash
+rocksdb.autoinc_crash_safe_partition : MDEV-16639, MDEV-16637 - Server crash
+rocksdb.autoinc_vars_thread : MDEV-16573 - Debug sync timed out
+rocksdb.bloomfilter2 : MDEV-16564 - Wrong result
+rocksdb.deadlock : MDEV-16033 - Timeout
+rocksdb.drop_index_inplace : MDEV-14162 - Crash on shutdown
+rocksdb.drop_table : MDEV-14308 - Timeout
+rocksdb.drop_table3 : MDEV-16949 - Server crash
+rocksdb.dup_key_update : MDEV-17284 - Wrong result
+rocksdb.locking_issues : MDEV-14464 - Wrong result
+rocksdb.mariadb_ignore_dirs : MDEV-16639 - Server crash
+rocksdb.mariadb_port_fixes : MDEV-16387 - Wrong plan
+rocksdb.max_open_files : MDEV-16639 - Server crash
+rocksdb.perf_context : MDEV-17285 - Wrong results
+rocksdb.rocksdb_cf_options : MDEV-16639 - Server crash
+rocksdb.rocksdb_cf_per_partition : MDEV-16636 - Wrong result
+rocksdb.rocksdb_parts : MDEV-13843 - Wrong result
+rocksdb.ttl_primary_read_filtering : MDEV-16560 - Wrong result
+rocksdb.ttl_secondary : MDEV-16943 - Timeout
+rocksdb.ttl_secondary_read_filtering : MDEV-16560 - Wrong result
+rocksdb.unique_check : MDEV-16576 - Wrong errno
+rocksdb.use_direct_reads_writes : MDEV-16646 - Server crash
+rocksdb.write_sync : MDEV-16965 - WRong result
+rocksdb.xa : Added in 10.3.12
+
#-----------------------------------------------------------------------
rocksdb_rpl.mdev12179 : MDEV-16632 - Crash
@@ -562,6 +563,7 @@ rocksdb_sys_vars.rocksdb_update_cf_options : MDEV-16955
#-----------------------------------------------------------------------
roles.create_and_grant_role : MDEV-11772 - wrong result
+roles.flush_roles-17898 : Added in 10.3.12
#-----------------------------------------------------------------------
@@ -585,15 +587,15 @@ rpl.rpl_drop_db : Modified in
rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start
rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning
rpl.rpl_extra_col_master_myisam : MDEV-14203 - Extra warning
-rpl.rpl_foreign_key_innodb : Modified in 10.3.10
rpl.rpl_gtid_basic : MDEV-10681 - server startup problem
-rpl.rpl_gtid_crash : MDEV-9501 - Failed registering on master, MDEV-13643 - Lost connection
+rpl.rpl_gtid_crash : MDEV-9501 - Failed registering on master, MDEV-13643 - Lost connection; modified in 10.3.12
rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout
rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash
rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings
rpl.rpl_gtid_reconnect : MDEV-14497 - Crash
rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings
rpl.rpl_gtid_until : MDEV-10625 - warnings in error log
+rpl.rpl_idempotency : Modified in 10.3.12
rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips
rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x
rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x
@@ -631,7 +633,6 @@ rpl.rpl_row_img_eng_noblob : MDEV-13875
rpl.rpl_row_index_choice : MDEV-15196 - Slave crash
rpl.rpl_row_lcase_tblnames : Added in 10.3.11
rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x
-rpl.rpl_row_spatial : Added in 10.3.10
rpl.rpl_row_until : MDEV-14052 - Master will not send events with checksum
rpl.rpl_semi_sync : MDEV-11220 - Wrong result
rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result
@@ -648,16 +649,15 @@ rpl.rpl_slave_load_tmpdir_not_exist : MDEV-14203
rpl.rpl_slow_query_log : MDEV-13250 - Test abort
rpl.rpl_sp_effects : MDEV-13249 - Crash
rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout
-rpl.rpl_stm_000001 : MDEV-16274 - Connection attributes were truncated
rpl.rpl_stm_lcase_tblnames : Added in 10.3.11
rpl.rpl_stm_mixing_engines : MDEV-14489 - Sync slave with master failed
rpl.rpl_stm_multi_query : MDEV-9501 - Failed registering on master
rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion
-rpl.rpl_stm_reset_slave : MDEV-16274 - Connection attributes were truncated
rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash
rpl.rpl_sync : MDEV-13830 - Assertion failure
rpl.rpl_temporal_mysql56_to_mariadb53 : MDEV-9501 - Failed registering on master
rpl.rpl_temporary_error2 : MDEV-10634 - Wrong number of retries
+rpl.rpl_trigger : MDEV-18055 - Wrong result
rpl.rpl_typeconv : Include file modified in 10.3.11
rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result
rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout
@@ -689,10 +689,8 @@ spider/handler.* : MDEV-10987,
#-----------------------------------------------------------------------
-sql_sequence.auto_increment : Added in 10.3.10
sql_sequence.concurrent_create : MDEV-16635 - Server crash
sql_sequence.create : Modified in 10.3.11
-sql_sequence.next : Modified in 10.3.10
#-----------------------------------------------------------------------
@@ -705,6 +703,7 @@ stress.ddl_innodb : MDEV-10635
#-----------------------------------------------------------------------
+sys_vars.aria_used_for_temp_tables_basic : Modified in 10.3.12
sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x
sys_vars.delayed_insert_limit_func : MDEV-17683 - Wrong result; modified in 10.3.11
sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error
@@ -716,14 +715,14 @@ sys_vars.log_slow_admin_statements_func : MDEV-12235
sys_vars.rpl_init_slave_func : MDEV-10149 - Test assertion
sys_vars.sql_low_priority_updates_func : Modified in 10.3.11
sys_vars.slow_query_log_func : MDEV-14273 - Wrong result
+sys_vars.sysvars_aria : Modified in 10.3.12
sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result
+sys_vars.tmp_disk_table_size_func : Modified in 10.3.12
sys_vars.wait_timeout_func : MDEV-12896 - Wrong result
-sys_vars.wsrep_start_position_basic : Modified in 10.3.10
+sys_vars.wsrep_sst_method_basic : Modified in 10.3.12
#-----------------------------------------------------------------------
-tokudb.* : suite.pm and massive modifications in 10.3.10
-
tokudb.change_column_all_1000_10 : MDEV-12640 - Lost connection
tokudb.change_column_bin : MDEV-12640 - Lost connection
tokudb.change_column_char : MDEV-12822 - Lost connection
@@ -756,8 +755,6 @@ tokudb_backup.* : MDEV-11001
#-----------------------------------------------------------------------
-tokudb_bugs.PS-3773 : Added in 10.0.37
-tokudb_bugs.alter_table_comment_rebuild_data : Added in 10.0.37
tokudb_bugs.checkpoint_lock : MDEV-10637 - Wrong processlist output
tokudb_bugs.checkpoint_lock_3 : MDEV-10637 - Wrong processlist output
tokudb_bugs.frm_store : MDEV-12823 - Valgrind
@@ -783,22 +780,20 @@ tokudb_sys_vars.* : MDEV-11001
unit.conc_basic-t : MDEV-15286 - not ok 7 - test_reconnect_maxpackage
unit.conc_misc : MDEV-14811 - not ok 12 - test_conc49
unit.conc_ps_bugs : MDEV-13252 - not ok 44 test_bug4236
-unit.lf : MDEV-12897 - Signal 11 thrown
unit.ma_test_loghandler : MDEV-10638 - record read not ok
unit.my_atomic : MDEV-15670 - Signal 11 thrown
#-----------------------------------------------------------------------
-vcol.index : Modified in 10.3.10
vcol.not_supported : MDEV-10639 - Testcase timeout
vcol.races : Added in 10.3.11
+vcol.upgrade : Modified in 10.3.12
vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout
vcol.vcol_misc : MDEV-16651 - Wrong error message
#-----------------------------------------------------------------------
versioning.online : Modified in 10.3.11
-versioning.truncate : Modified in 10.3.10
versioning.trx_id : Modified in 10.3.11
versioning.trx_id_versioning_attribute_persistence : Modified in 10.3.11