summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2020-05-11 20:27:44 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2020-05-11 20:27:44 +0200
commit19d4e023c681ecb26acf06318e69ecae6c4ec9be (patch)
tree71fecb0482a29f0f41e4ae16d4bdc3e5c433e952
parent9f5ab66b72e35d8ed0447ba4c179636b1a59517a (diff)
parent607467bd63db2c6ca64610eb9f4e703711f4dfc6 (diff)
downloadmariadb-git-19d4e023c681ecb26acf06318e69ecae6c4ec9be.tar.gz
Merge branch '10.3-release' into 10.3
-rw-r--r--CMakeLists.txt10
-rw-r--r--cmake/cpack_rpm.cmake36
-rw-r--r--cmake/mariadb_connector_c.cmake3
m---------libmariadb0
-rw-r--r--mysql-test/main/mysqltest_tracking_info.result18
-rw-r--r--mysql-test/main/mysqltest_tracking_info.test24
-rw-r--r--mysql-test/main/processlist_notembedded.result5
-rw-r--r--mysql-test/main/processlist_notembedded.test11
-rw-r--r--mysql-test/suite/innodb/r/foreign_key.result176
-rw-r--r--mysql-test/suite/innodb/r/foreign_key_debug.result60
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.test178
-rw-r--r--mysql-test/suite/innodb/t/foreign_key_debug.test78
-rw-r--r--mysql-test/unstable-tests449
-rw-r--r--plugin/auth_pam/CMakeLists.txt1
-rw-r--r--sql/session_tracker.cc3
-rw-r--r--sql/sql_base.cc9
-rw-r--r--sql/table.h3
17 files changed, 850 insertions, 214 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1dd28a413df..8412e58b72c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,8 +140,6 @@ INCLUDE(mysql_version)
INCLUDE(cpack_source_ignore_files)
INCLUDE(install_layout)
INCLUDE(wsrep)
-INCLUDE(cpack_rpm)
-INCLUDE(cpack_deb)
# Add macros
INCLUDE(character_sets)
@@ -374,8 +372,6 @@ MYSQL_CHECK_SSL()
MYSQL_CHECK_READLINE()
SET(MALLOC_LIBRARY "system")
-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
-MARK_AS_ADVANCED(PYTHON_SHEBANG)
CHECK_PCRE()
@@ -413,6 +409,12 @@ SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
INCLUDE(submodules)
INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
+INCLUDE(cpack_rpm)
+INCLUDE(cpack_deb)
+
+SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
+MARK_AS_ADVANCED(PYTHON_SHEBANG)
+
# Add storage engines and plugins.
CONFIGURE_PLUGINS()
diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
index d63661b3f1a..eaac867e5c5 100644
--- a/cmake/cpack_rpm.cmake
+++ b/cmake/cpack_rpm.cmake
@@ -114,12 +114,16 @@ SET(ignored
"%ignore ${CMAKE_INSTALL_PREFIX}/lib/systemd"
"%ignore ${CMAKE_INSTALL_PREFIX}/lib/systemd/system"
"%ignore ${CMAKE_INSTALL_PREFIX}/lib/tmpfiles.d"
+ "%ignore ${CMAKE_INSTALL_PREFIX}/lib/sysusers.d"
"%ignore ${CMAKE_INSTALL_PREFIX}/lib64"
+ "%ignore ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig"
"%ignore ${CMAKE_INSTALL_PREFIX}/sbin"
"%ignore ${CMAKE_INSTALL_PREFIX}/share"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/aclocal"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/doc"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man"
+ "%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man1"
+ "%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man8"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man1*"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man8*"
"%ignore ${CMAKE_INSTALL_PREFIX}/share/pkgconfig"
@@ -192,9 +196,10 @@ SET(CPACK_RPM_compat_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/
SET(CPACK_RPM_compat_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/shared-post.sh)
MACRO(ALTERNATIVE_NAME real alt)
- SET(ver "%{version}-%{release}")
- IF (${epoch})
- SET(ver "${epoch}:${ver}")
+ IF(${ARGC} GREATER 2)
+ SET(ver ${ARGV2})
+ ELSE()
+ SET(ver "${epoch}%{version}-%{release}")
ENDIF()
SET(p "CPACK_RPM_${real}_PACKAGE_PROVIDES")
@@ -209,17 +214,40 @@ ALTERNATIVE_NAME("test" "mysql-test")
# Argh! Different distributions call packages differently, to be a drop-in
# replacement we have to fake distribution-specific dependencies
+# NOTE, use ALTERNATIVE_NAME when a package has a different name
+# in some distribution, it's not for adding new PROVIDES
IF(RPM MATCHES "(rhel|centos)6")
ALTERNATIVE_NAME("client" "mysql")
ELSEIF(RPM MATCHES "fedora" OR RPM MATCHES "(rhel|centos)7")
- SET(epoch 1) # this is fedora
+ SET(epoch 1:) # this is fedora
ALTERNATIVE_NAME("client" "mariadb")
ALTERNATIVE_NAME("client" "mysql")
ALTERNATIVE_NAME("devel" "mariadb-devel")
ALTERNATIVE_NAME("server" "mariadb-server")
ALTERNATIVE_NAME("server" "mysql-compat-server")
ALTERNATIVE_NAME("test" "mariadb-test")
+ELSEIF(RPM MATCHES "(rhel|centos)8")
+ SET(epoch 3:)
+ ALTERNATIVE_NAME("backup" "mariadb-backup")
+ ALTERNATIVE_NAME("client" "mariadb")
+ ALTERNATIVE_NAME("common" "mariadb-common")
+ ALTERNATIVE_NAME("common" "mariadb-errmsg")
+ ALTERNATIVE_NAME("server" "mariadb-server")
+ ALTERNATIVE_NAME("server" "mariadb-server-utils")
+ ALTERNATIVE_NAME("shared" "mariadb-connector-c" ${MARIADB_CONNECTOR_C_VERSION}-1)
+ ALTERNATIVE_NAME("shared" "mariadb-connector-c-config" ${MARIADB_CONNECTOR_C_VERSION}-1)
+ SETA(CPACK_RPM_client_PACKAGE_PROVIDES "mariadb-galera = 3:%{version}-%{release}")
+ SETA(CPACK_RPM_common_PACKAGE_PROVIDES "mariadb-galera-common = 3:%{version}-%{release}")
+ SETA(CPACK_RPM_common_PACKAGE_REQUIRES "MariaDB-shared")
+ELSEIF(RPM MATCHES "sles")
+ ALTERNATIVE_NAME("server" "mariadb")
+ SETA(CPACK_RPM_server_PACKAGE_PROVIDES
+ "mysql = %{version}-%{release}"
+ "mariadb_${MAJOR_VERSION}${MINOR_VERSION} = %{version}-%{release}"
+ "mariadb-${MAJOR_VERSION}${MINOR_VERSION} = %{version}-%{release}"
+ "mariadb-server = %{version}-%{release}"
+ )
ENDIF()
IF(RPM MATCHES "fedora31" OR RPM MATCHES "(rhel|centos)8")
SET(PYTHON_SHEBANG "/usr/bin/python3" CACHE STRING "python shebang")
diff --git a/cmake/mariadb_connector_c.cmake b/cmake/mariadb_connector_c.cmake
index 0f08c3464c4..ca0e16c8518 100644
--- a/cmake/mariadb_connector_c.cmake
+++ b/cmake/mariadb_connector_c.cmake
@@ -42,3 +42,6 @@ ADD_SUBDIRECTORY(libmariadb)
IF(TARGET caching_sha2_password AND CMAKE_C_FLAGS_DEBUG MATCHES "-Werror")
SET_PROPERTY(TARGET caching_sha2_password APPEND_STRING PROPERTY COMPILE_FLAGS -Wno-unused-function)
ENDIF()
+
+GET_DIRECTORY_PROPERTY(MARIADB_CONNECTOR_C_VERSION DIRECTORY libmariadb DEFINITION CPACK_PACKAGE_VERSION)
+MESSAGE1(MARIADB_CONNECTOR_C_VERSION "MariaDB Connector/C ${MARIADB_CONNECTOR_C_VERSION}")
diff --git a/libmariadb b/libmariadb
-Subproject ca8f94f727dba19a6ac43691df53fdc829e2124
+Subproject 2759b87d72926b7c9b5426437a7c8dd15ff5794
diff --git a/mysql-test/main/mysqltest_tracking_info.result b/mysql-test/main/mysqltest_tracking_info.result
index df966ae1d39..4ce4da31c13 100644
--- a/mysql-test/main/mysqltest_tracking_info.result
+++ b/mysql-test/main/mysqltest_tracking_info.result
@@ -1,3 +1,4 @@
+set @save_session_track_system_variables=@@session_track_system_variables;
SELECT @@session.character_set_connection;
@@session.character_set_connection
latin1
@@ -28,4 +29,19 @@ SET NAMES 'utf8';
# tracking info off once
SET NAMES 'big5';
-SET @@session.session_track_system_variables= default;
+SET @@session.session_track_system_variables= @save_session_track_system_variables;
+#
+# MDEV-22504: session tracking return incorrectly long traking data
+#
+set @save_optimizer_switch=@@optimizer_switch;
+SET @@session.session_track_system_variables='optimizer_switch';
+set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
+-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
+-- optimizer_switch
+-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off,split_materialized=on
+
+Warnings:
+Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release
+set @@optimizer_switch=@save_optimizer_switch;
+SET @@session.session_track_system_variables= @save_session_track_system_variables;
+# End of 10.2 tests
diff --git a/mysql-test/main/mysqltest_tracking_info.test b/mysql-test/main/mysqltest_tracking_info.test
index d31f68b3cbd..da7732b5011 100644
--- a/mysql-test/main/mysqltest_tracking_info.test
+++ b/mysql-test/main/mysqltest_tracking_info.test
@@ -2,6 +2,9 @@
--source include/no_protocol.inc
--source include/not_embedded.inc
+
+set @save_session_track_system_variables=@@session_track_system_variables;
+
SELECT @@session.character_set_connection;
SET @@session.session_track_system_variables='character_set_connection';
@@ -22,4 +25,23 @@ SET NAMES 'utf8';
SET NAMES 'big5';
--disable_session_track_info
-SET @@session.session_track_system_variables= default;
+SET @@session.session_track_system_variables= @save_session_track_system_variables;
+
+--echo #
+--echo # MDEV-22504: session tracking return incorrectly long traking data
+--echo #
+
+set @save_optimizer_switch=@@optimizer_switch;
+
+SET @@session.session_track_system_variables='optimizer_switch';
+
+--enable_session_track_info
+set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
+--disable_session_track_info
+
+set @@optimizer_switch=@save_optimizer_switch;
+
+
+SET @@session.session_track_system_variables= @save_session_track_system_variables;
+
+--echo # End of 10.2 tests
diff --git a/mysql-test/main/processlist_notembedded.result b/mysql-test/main/processlist_notembedded.result
index 67eeb5ae2ff..e663c407a1b 100644
--- a/mysql-test/main/processlist_notembedded.result
+++ b/mysql-test/main/processlist_notembedded.result
@@ -3,10 +3,11 @@
#
connect con1,localhost,root,,;
connection con1;
-SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync';
+SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go';
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
-FOUND 1 /sleep \(30\)/ in MDEV-20466.text
+FOUND 1 /sleep/ in MDEV-20466.text
+SET DEBUG_SYNC= 'now SIGNAL go';
disconnect con1;
SET DEBUG_SYNC = 'RESET';
End of 5.5 tests
diff --git a/mysql-test/main/processlist_notembedded.test b/mysql-test/main/processlist_notembedded.test
index 2dc6a0539ab..4979e40a85a 100644
--- a/mysql-test/main/processlist_notembedded.test
+++ b/mysql-test/main/processlist_notembedded.test
@@ -1,6 +1,7 @@
source include/have_debug.inc;
source include/have_debug_sync.inc;
source include/not_embedded.inc;
+source include/count_sessions.inc;
--echo #
--echo # MDEV-20466: SHOW PROCESSLIST truncates query text on \0 bytes
@@ -10,9 +11,9 @@ connect (con1,localhost,root,,);
connection con1;
-let $q= `select CONCAT("SELECT user FROM mysql.user WHERE user ='some", CHAR(0), "' or sleep (30)")`;
+let $q= `select CONCAT("SELECT user FROM mysql.user WHERE user ='some", CHAR(0), "sleep'")`;
-SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync';
+SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go';
--disable_query_log
--send_eval $q;
--enable_query_log
@@ -23,12 +24,16 @@ SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
exec $MYSQL test -e "SHOW PROCESSLIST" > $MYSQLTEST_VARDIR/tmp/MDEV-20466.text;
let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/MDEV-20466.text;
-let SEARCH_PATTERN=sleep \(30\);
+let SEARCH_PATTERN=sleep;
source include/search_pattern_in_file.inc;
remove_file $MYSQLTEST_VARDIR/tmp/MDEV-20466.text;
+SET DEBUG_SYNC= 'now SIGNAL go';
+
disconnect con1;
SET DEBUG_SYNC = 'RESET';
+source include/wait_until_count_sessions.inc;
+
--echo End of 5.5 tests
diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result
index 388164b33dc..dffb718feb6 100644
--- a/mysql-test/suite/innodb/r/foreign_key.result
+++ b/mysql-test/suite/innodb/r/foreign_key.result
@@ -209,6 +209,7 @@ ERROR 70100: Query execution was interrupted
connection con1;
ROLLBACK;
connection default;
+disconnect con1;
DROP TABLE t3,t1;
#
# MDEV-18222 InnoDB: Failing assertion: heap->magic_n == MEM_BLOCK_MAGIC_N
@@ -290,6 +291,121 @@ ALTER TABLE t1 DROP f3;
ALTER TABLE t1 CHANGE f f3 INT;
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
+#
+# Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
+# ADD FOREIGN KEY
+#
+CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT,
+PRIMARY KEY (`department_id`)) engine=innodb;
+CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT,
+`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb;
+CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb;
+ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES
+`people` (`people_id`);
+ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people`
+(`people_id`);
+ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
+(`people_id`);
+drop table title, department, people;
+create table t1 (a int primary key, b int) engine=innodb;
+create table t2 (c int primary key, d int,
+foreign key (d) references t1 (a) on update cascade) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+insert t2 values (4,1),(5,2),(6,3);
+flush table t2 with read lock;
+connect con1,localhost,root;
+delete from t1 where a=2;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE)
+update t1 set a=10 where a=1;
+connection default;
+unlock tables;
+connection con1;
+connection default;
+lock table t2 write;
+connection con1;
+delete from t1 where a=2;
+connection default;
+unlock tables;
+connection con1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE)
+connection default;
+unlock tables;
+disconnect con1;
+create user foo;
+grant select,update on test.t1 to foo;
+connect foo,localhost,foo;
+update t1 set a=30 where a=3;
+disconnect foo;
+connection default;
+select * from t2;
+c d
+5 2
+4 10
+6 30
+drop table t2, t1;
+drop user foo;
+#
+# MDEV-17595 - Server crashes in copy_data_between_tables or
+# Assertion `thd->transaction.stmt.is_empty() ||
+# (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)'
+# fails in close_tables_for_reopen upon concurrent
+# ALTER TABLE and FLUSH
+#
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1),(2);
+CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(2);
+ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE;
+DROP TABLE t2, t1;
+create table t1 (pk int primary key, data int) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb;
+insert t2 values (1),(2);
+insert t2 values (10);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_pk`) REFERENCES `t1` (`pk`))
+flush tables;
+flush status;
+update t1 set data=10 where pk+1>10;
+show status like '%opened_tab%';
+Variable_name Value
+Opened_table_definitions 1
+Opened_tables 1
+flush tables;
+flush status;
+update t2 set t1_pk=11 where t1_pk+1>10;
+show status like '%opened_tab%';
+Variable_name Value
+Opened_table_definitions 1
+Opened_tables 1
+flush tables;
+flush status;
+lock tables t1 write;
+show status like '%opened_tab%';
+Variable_name Value
+Opened_table_definitions 2
+Opened_tables 2
+insert t1 values (4,4);
+show status like '%opened_tab%';
+Variable_name Value
+Opened_table_definitions 2
+Opened_tables 2
+unlock tables;
+create function foo() returns int
+begin
+insert t1 values (5,5);
+return 5;
+end|
+flush tables;
+flush status;
+select foo();
+foo()
+5
+show status like '%opened_tab%';
+Variable_name Value
+Opened_table_definitions 2
+Opened_tables 2
+drop function foo;
+drop table t2, t1;
# Start of 10.2 tests
#
# MDEV-13246 Stale rows despite ON DELETE CASCADE constraint
@@ -327,6 +443,7 @@ INSERT INTO matchmaking_group_users VALUES (10,1),(11,2);
INSERT INTO matchmaking_group_maps VALUES (10,55),(11,66);
BEGIN;
UPDATE users SET name = 'qux' WHERE id = 1;
+connect con1,localhost,root;
connection con1;
SET innodb_lock_wait_timeout= 1;
DELETE FROM matchmaking_groups WHERE id = 10;
@@ -537,4 +654,63 @@ Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+#
+# MDEV-17187 table doesn't exist in engine after ALTER other tables
+# with CONSTRAINTs
+#
+set foreign_key_checks=on;
+create table t1 (id int not null primary key) engine=innodb;
+create table t2 (id int not null primary key, fid int not null,
+CONSTRAINT fk_fid FOREIGN KEY (fid) REFERENCES t1 (id))engine=innodb;
+insert into t1 values (1), (2), (3);
+insert into t2 values (1, 1), (2, 1), (3, 2);
+set foreign_key_checks=off;
+alter table t2 drop index fk_fid;
+set foreign_key_checks=on;
+delete from t1 where id=2;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_fid` FOREIGN KEY (`fid`) REFERENCES `t1` (`id`))
+insert into t2 values(4, 99);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_fid` FOREIGN KEY (`fid`) REFERENCES `t1` (`id`))
+select * from t1;
+id
+1
+2
+3
+select * from t2;
+id fid
+1 1
+2 1
+3 2
+set foreign_key_checks=off;
+delete from t1 where id=2;
+insert into t2 values(4, 99);
+set foreign_key_checks=on;
+select * from t1;
+id
+1
+3
+select * from t2;
+id fid
+1 1
+2 1
+3 2
+4 99
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(11) NOT NULL,
+ `fid` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ CONSTRAINT `fk_fid` FOREIGN KEY (`fid`) REFERENCES `t1` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1,t2;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+drop table t1,t2;
+ERROR 42S02: Unknown table 'test.t2'
# End of 10.2 tests
diff --git a/mysql-test/suite/innodb/r/foreign_key_debug.result b/mysql-test/suite/innodb/r/foreign_key_debug.result
new file mode 100644
index 00000000000..741200b62b2
--- /dev/null
+++ b/mysql-test/suite/innodb/r/foreign_key_debug.result
@@ -0,0 +1,60 @@
+create table t1 (f1 int primary key) engine=innodb;
+create table t2 (f2 int primary key) engine=innodb;
+create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb;
+insert into t1 values (1),(2),(3),(4),(5);
+insert into t2 values (1),(2),(3),(4),(5);
+insert into t3 values (1),(2),(3),(4),(5);
+connect con1,localhost,root;
+set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2';
+alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade;
+connection default;
+set debug_sync='before_execute_sql_command wait_for g1';
+update t1 set f1 = f1 + 100000 limit 2;
+connect con2,localhost,root;
+kill query UPDATE;
+disconnect con2;
+connection default;
+ERROR 70100: Query execution was interrupted
+set debug_sync='now signal g2';
+connection con1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `f2` int(11) NOT NULL,
+ PRIMARY KEY (`f2`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+disconnect con1;
+connection default;
+select * from t2 where f2 not in (select f1 from t1);
+f2
+select * from t3 where f3 not in (select f2 from t2);
+f3
+drop table t3;
+drop table t2;
+drop table t1;
+set debug_sync='reset';
+#
+# MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name)
+#
+CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+FLUSH TABLES;
+SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go';
+ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE;
+connect con1, localhost, root;
+SET debug_sync='now WAIT_FOR ready';
+SET lock_wait_timeout=1;
+UPDATE t2 SET pk=10 WHERE pk=1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1';
+DEALLOCATE PREPARE stmt;
+FLUSH TABLE t2;
+SET debug_sync='now SIGNAL go';
+connection default;
+disconnect con1;
+connection default;
+SET debug_sync='reset';
+SHOW OPEN TABLES FROM test;
+Database Table In_use Name_locked
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test
index 13203383188..27fa63f144e 100644
--- a/mysql-test/suite/innodb/t/foreign_key.test
+++ b/mysql-test/suite/innodb/t/foreign_key.test
@@ -195,6 +195,7 @@ reap;
connection con1;
ROLLBACK;
connection default;
+disconnect con1;
DROP TABLE t3,t1;
@@ -281,6 +282,136 @@ DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
+--echo #
+--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
+--echo # ADD FOREIGN KEY
+--echo #
+
+CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT,
+PRIMARY KEY (`department_id`)) engine=innodb;
+
+CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT,
+`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb;
+
+CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb;
+
+ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES
+`people` (`people_id`);
+
+ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people`
+(`people_id`);
+
+ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
+(`people_id`);
+
+drop table title, department, people;
+
+#
+# FK and prelocking:
+# child table accesses (reads and writes) wait for locks.
+#
+create table t1 (a int primary key, b int) engine=innodb;
+create table t2 (c int primary key, d int,
+ foreign key (d) references t1 (a) on update cascade) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+insert t2 values (4,1),(5,2),(6,3);
+flush table t2 with read lock; # this takes MDL_SHARED_NO_WRITE
+connect (con1,localhost,root);
+--error ER_ROW_IS_REFERENCED_2
+delete from t1 where a=2;
+send update t1 set a=10 where a=1;
+connection default;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+unlock tables;
+connection con1;
+reap;
+connection default;
+lock table t2 write; # this takes MDL_SHARED_NO_READ_WRITE
+connection con1;
+send delete from t1 where a=2;
+connection default;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+unlock tables;
+connection con1;
+--error ER_ROW_IS_REFERENCED_2
+reap;
+connection default;
+unlock tables;
+disconnect con1;
+
+# but privileges should not be checked
+create user foo;
+grant select,update on test.t1 to foo;
+connect(foo,localhost,foo);
+update t1 set a=30 where a=3;
+disconnect foo;
+connection default;
+select * from t2;
+drop table t2, t1;
+drop user foo;
+
+--echo #
+--echo # MDEV-17595 - Server crashes in copy_data_between_tables or
+--echo # Assertion `thd->transaction.stmt.is_empty() ||
+--echo # (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)'
+--echo # fails in close_tables_for_reopen upon concurrent
+--echo # ALTER TABLE and FLUSH
+--echo #
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1),(2);
+CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(2);
+ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE;
+DROP TABLE t2, t1;
+
+#
+# MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys
+#
+
+create table t1 (pk int primary key, data int) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb;
+insert t2 values (1),(2);
+error ER_NO_REFERENCED_ROW_2;
+insert t2 values (10);
+flush tables;
+flush status;
+# with ON UPDATE RESTRICT child tables are not opened
+update t1 set data=10 where pk+1>10;
+show status like '%opened_tab%';
+flush tables;
+flush status;
+# neither are parent tables
+update t2 set t1_pk=11 where t1_pk+1>10;
+show status like '%opened_tab%';
+# under LOCK TABLES
+flush tables;
+flush status;
+lock tables t1 write;
+show status like '%opened_tab%';
+insert t1 values (4,4);
+show status like '%opened_tab%';
+unlock tables;
+delimiter |;
+create function foo() returns int
+begin
+ insert t1 values (5,5);
+ return 5;
+end|
+delimiter ;|
+flush tables;
+flush status;
+select foo();
+show status like '%opened_tab%';
+drop function foo;
+drop table t2, t1;
+
+#
+# End of 10.1 tests
+#
+
--echo # Start of 10.2 tests
--echo #
@@ -326,6 +457,7 @@ INSERT INTO matchmaking_group_maps VALUES (10,55),(11,66);
BEGIN;
UPDATE users SET name = 'qux' WHERE id = 1;
+connect (con1,localhost,root);
--connection con1
SET innodb_lock_wait_timeout= 1;
DELETE FROM matchmaking_groups WHERE id = 10;
@@ -520,6 +652,52 @@ CHECK TABLE t1;
DROP TABLE t1;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+--echo #
+--echo # MDEV-17187 table doesn't exist in engine after ALTER other tables
+--echo # with CONSTRAINTs
+--echo #
+
+set foreign_key_checks=on;
+create table t1 (id int not null primary key) engine=innodb;
+create table t2 (id int not null primary key, fid int not null,
+CONSTRAINT fk_fid FOREIGN KEY (fid) REFERENCES t1 (id))engine=innodb;
+
+insert into t1 values (1), (2), (3);
+insert into t2 values (1, 1), (2, 1), (3, 2);
+
+set foreign_key_checks=off;
+alter table t2 drop index fk_fid;
+set foreign_key_checks=on;
+
+--error ER_ROW_IS_REFERENCED_2
+delete from t1 where id=2;
+--error ER_NO_REFERENCED_ROW_2
+insert into t2 values(4, 99);
+
+select * from t1;
+select * from t2;
+
+set foreign_key_checks=off;
+delete from t1 where id=2;
+insert into t2 values(4, 99);
+set foreign_key_checks=on;
+
+select * from t1;
+select * from t2;
+
+show create table t1;
+show create table t2;
+
+# Optional: test DROP TABLE without any prior ha_innobase::open().
+# This was tested manually, but it would cause --embedded to skip the test,
+# and the restart would significantly increase the running time.
+# --source include/restart_mysqld.inc
+
+--error ER_ROW_IS_REFERENCED_2
+drop table t1,t2;
+--error ER_BAD_TABLE_ERROR
+drop table t1,t2;
+
--echo # End of 10.2 tests
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/foreign_key_debug.test b/mysql-test/suite/innodb/t/foreign_key_debug.test
new file mode 100644
index 00000000000..75d05801b5f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/foreign_key_debug.test
@@ -0,0 +1,78 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--enable_connect_log
+
+#
+# MDEV-16465 Invalid (old?) table or database name or hang in ha_innobase::delete_table and log semaphore wait upon concurrent DDL with foreign keys
+#
+create table t1 (f1 int primary key) engine=innodb;
+create table t2 (f2 int primary key) engine=innodb;
+create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb;
+insert into t1 values (1),(2),(3),(4),(5);
+insert into t2 values (1),(2),(3),(4),(5);
+insert into t3 values (1),(2),(3),(4),(5);
+connect con1,localhost,root;
+set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2';
+send alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade;
+connection default;
+let $conn=`select connection_id()`;
+set debug_sync='before_execute_sql_command wait_for g1';
+send update t1 set f1 = f1 + 100000 limit 2;
+connect con2,localhost,root;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock' and info like 'update t1 %';
+source include/wait_condition.inc;
+--replace_result $conn UPDATE
+eval kill query $conn;
+disconnect con2;
+connection default;
+error ER_QUERY_INTERRUPTED;
+reap;
+set debug_sync='now signal g2';
+connection con1;
+reap;
+show create table t2;
+disconnect con1;
+connection default;
+select * from t2 where f2 not in (select f1 from t1);
+select * from t3 where f3 not in (select f2 from t2);
+drop table t3;
+drop table t2;
+drop table t1;
+set debug_sync='reset';
+
+--echo #
+--echo # MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name)
+--echo #
+CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+FLUSH TABLES;
+
+SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go';
+send ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE;
+
+connect con1, localhost, root;
+SET debug_sync='now WAIT_FOR ready';
+SET lock_wait_timeout=1; # change to 0 in 10.3
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t2 SET pk=10 WHERE pk=1;
+PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1';
+DEALLOCATE PREPARE stmt;
+FLUSH TABLE t2;
+SET debug_sync='now SIGNAL go';
+
+connection default;
+reap;
+
+# Cleanup
+disconnect con1;
+
+connection default;
+SET debug_sync='reset';
+SHOW OPEN TABLES FROM test;
+DROP TABLE t1, t2;
+
+#
+# End of 10.1 tests
+#
diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests
index 07b4db37504..9e57c22fbd2 100644
--- a/mysql-test/unstable-tests
+++ b/mysql-test/unstable-tests
@@ -23,143 +23,158 @@
#
##############################################################################
#
-# Based on bb-10.3-release e10e922afd138aec491c646682f4989922527cfb
-
-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.cache_temporal_4265 : Modified in 10.3.22
-main.connect : MDEV-17282 - Wrong result
-main.connect2 : MDEV-13885 - Server crash
-main.connect_debug : Modified in 10.3.22
-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_replace2 : Modified in 10.3.22
-main.cte_nonrecursive : Modified in 10.3.22
-main.ctype_ucs : MDEV-17681 - Data too long for column
-main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade
-main.ctype_utf16 : MDEV-10675: timeout or extra warnings
-main.ctype_utf16le : MDEV-10675: timeout or extra warnings
-main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison
-main.debug_sync : MDEV-10607 - internal error
-main.default_session : Modified in 10.3.22
-main.delete_use_source : Modified in 10.3.22
-main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.3.22
-main.derived_opt : MDEV-11768 - timeout
-main.dirty_close : MDEV-19368 - mysqltest failed but provided no output
-main.distinct : MDEV-14194 - Crash
-main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.3.22
-main.dyncol : MDEV-19455 - Extra warning
-main.engine_error_in_alter-8453 : Modified in 10.3.22
-main.error_simulation : Modified in 10.3.22
-main.events_2 : MDEV-13277 - Crash
-main.events_bugs : MDEV-12892 - Crash; modified in 10.3.22
-main.events_restart : MDEV-12236 - Server shutdown problem
-main.events_slowlog : MDEV-12821 - Wrong result
-main.flush : MDEV-19368 - mysqltest failed but provided no output
-main.foreign_key : Modified in 10.3.22
-main.func_math : MDEV-20532 - Floating point differences
-main.func_misc : Modified in 10.3.22
-main.func_regexp_pcre : Modified in 10.3.22
-main.func_regexp_pcre_debug : Modified in 10.3.22
-main.func_time : Modified in 10.3.22
-main.gis : MDEV-13411 - wrong result on P8
-main.gis_notembedded : MDEV-21264 - Wrong result with different default charset
-main.group_by : Modified in 10.3.22
-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.innodb_mysql_lock : MDEV-7861 - Wrong result
-main.insert_debug : Added in 10.3.22
-main.join : Modified in 10.3.22
-main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.3.22
-main.kill-2 : MDEV-13257 - Wrong result
-main.kill_processlist-6619 : MDEV-10793 - Wrong result
-main.loaddata : MDEV-19368 - mysqltest failed but provided no output
-main.locale : MDEV-20521 - Missing warning
-main.log_slow : MDEV-13263 - Wrong result
-main.log_slow_debug : Modified in 10.3.22
-main.log_tables-big : MDEV-13408 - wrong result
-main.mdev-504 : MDEV-15171 - warning
-main.mdev375 : MDEV-10607 - sporadic "can't connect"
-main.mdev6830 : Modified in 10.3.22
-main.merge : MDEV-10607 - sporadic "can't connect"
-main.merge-big : Modified in 10.3.22
-main.merge_debug : Modified in 10.3.22
-main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out
-main.myisam_debug : Modified in 10.3.22
-main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2
-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_upgrade_noengine : MDEV-14355 - Wrong result
-main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap
-main.mysqldump : MDEV-14800 - Stack smashing detected
-main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug
-main.mysqlslap : MDEV-11801 - timeout
-main.mysqltest : MDEV-13887 - Wrong result
-main.old-mode : MDEV-19373 - Wrong result
-main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.opt_tvc : Modified in 10.3.22
-main.order_by : Modified in 10.3.21
-main.order_by_optimizer_innodb : MDEV-10683 - Wrong result
-main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock
-main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings
-main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1
-main.partition_mrr_aria : Added in 10.3.21
-main.partition_mrr_innodb : Added in 10.3.21
-main.partition_mrr_myisam : Added in 10.3.21
-main.partition_pruning : Modified in 10.3.21
-main.pool_of_threads : MDEV-18135 - SSL error: key too small
-main.ps : MDEV-11017 - Sporadic wrong Prepared_stmt_count
-main.query_cache : MDEV-16180 - Wrong result
-main.query_cache_debug : MDEV-15281 - Query cache is disabled
-main.range_innodb : Modified in 10.3.22
-main.range_interrupted-13751 : Modified in 10.3.22
-main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away
-main.select : MDEV-20532 - Floating point differences
-main.select_debug : Modified in 10.3.22
-main.select_jcl6 : MDEV-20532 - Floating point differences
-main.select_pkeycache : MDEV-20532 - Floating point differences
-main.selectivity : Modified in 10.3.21
-main.set_statement : MDEV-13183 - Wrong result
-main.set_statement_notembedded : MDEV-19414 - Wrong result
-main.shm : MDEV-12727 - Mismatch, ERROR 2013
-main.show_explain : MDEV-10674 - Wrong result code; modified in 10.3.22
-main.show_explain_non_select : Modified in 10.3.22
-main.show_explain_ps : Modified in 10.3.22
-main.slowlog_enospace-10508 : Modified in 10.3.22
-main.sp : MDEV-7866 - Mismatch
-main.sp-security : MDEV-10607 - sporadic "can't connect"
-main.sp_notembedded : MDEV-10607 - internal error
-main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.ssl_7937 : Modified in 10.3.22
-main.ssl_8k_key : Modified in 10.3.22
-main.ssl_ca : MDEV-10895 - SSL connection error on Power
-main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.ssl_crl : MDEV-19119 - Wrong error code; modified in 10.3.21
-main.ssl_crl_clients : Modified in 10.3.22
-main.ssl_system_ca : Added in 10.3.22
-main.ssl_timeout : MDEV-11244 - Crash
-main.stat_tables-enospc : Modified in 10.3.22
-main.stat_tables_par : MDEV-13266 - Wrong result
-main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding
-main.status : MDEV-13255 - Wrong result
-main.subselect : MDEV-20551 - Valgrind failure
-main.subselect_innodb : MDEV-10614 - Wrong result
-main.tc_heuristic_recover : MDEV-14189 - Wrong result
-main.type_blob : MDEV-15195 - Wrong result
-main.type_datetime : Modified in 10.3.22
-main.type_datetime_hires : MDEV-10687 - Timeout
-main.type_float : MDEV-20532 - Floating point differences
-main.type_int : Modified in 10.3.22
-main.type_time : Modified in 10.3.22
-main.union_crash-714 : Modified in 10.3.22
-main.userstat : MDEV-12904 - SSL errors
-main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query
-main.warnings_debug : Modified in 10.3.22
-main.win : Modified in 10.3.22
-main.xa : MDEV-11769 - lock wait timeout
+# Based on bb-10.3-release 6c0f9db59b2539ba6c011947d0567d58d4e879cd
+# Fri May 8 14:33:44 2020 +0200 : Merge branch '10.2' into 10.3
+
+main.alter_table_trans : MDEV-12084 - timeout
+main.alter_user : Modified in 10.3.23
+main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result
+main.auth_named_pipe : MDEV-14724 - System error 2
+main.cache_temporal_4265 : Modified in 10.3.22
+main.column_compression : Modified in 10.3.23
+main.connect : MDEV-17282 - Wrong result
+main.connect2 : MDEV-13885 - Server crash
+main.connect_debug : Modified in 10.3.22
+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_replace2 : Modified in 10.3.22
+main.cte_nonrecursive : Modified in 10.3.23
+main.ctype_ucs : MDEV-17681 - Data too long for column
+main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade
+main.ctype_utf16 : MDEV-10675: timeout or extra warnings
+main.ctype_utf16le : MDEV-10675: timeout or extra warnings
+main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison
+main.debug_sync : MDEV-10607 - internal error
+main.default_session : Modified in 10.3.22
+main.delete_use_source : Modified in 10.3.22
+main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.3.23
+main.derived_opt : MDEV-11768 - timeout
+main.dirty_close : MDEV-19368 - mysqltest failed but provided no output
+main.distinct : MDEV-14194 - Crash
+main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.3.22
+main.dyncol : MDEV-19455 - Extra warning
+main.engine_error_in_alter-8453 : Modified in 10.3.22
+main.error_simulation : Modified in 10.3.22
+main.errors : Modified in 10.3.23
+main.events_2 : MDEV-13277 - Crash
+main.events_bugs : MDEV-12892 - Crash; modified in 10.3.22
+main.events_restart : MDEV-12236 - Server shutdown problem; modified in 10.3.23
+main.events_slowlog : MDEV-12821 - Wrong result
+main.flush : MDEV-19368 - mysqltest failed but provided no output
+main.foreign_key : Modified in 10.3.22
+main.fulltext : Modified in 10.3.23
+main.func_math : MDEV-20532 - Floating point differences; modified in 10.3.23
+main.func_misc : Modified in 10.3.22
+main.func_regexp_pcre : Modified in 10.3.22
+main.func_regexp_pcre_debug : Modified in 10.3.22
+main.func_time : Modified in 10.3.22
+main.gis : MDEV-13411 - wrong result on P8; modified in 10.3.23
+main.gis-rtree : Modified in 10.3.23
+main.gis_notembedded : MDEV-21264 - Wrong result with different default charset
+main.grant5 : Modified in 10.3.23
+main.group_by : Modified in 10.3.23
+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.23
+main.innodb_mysql_lock : Modified in 10.3.23
+main.insert_debug : Added in 10.3.22
+main.invisible_field_grant_completely : MDEV-22254 - Syscall param write points to uninitialised bytes
+main.join : Modified in 10.3.23
+main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.3.22
+main.key : Modified in 10.3.23
+main.kill-2 : MDEV-13257 - Wrong result
+main.kill_processlist-6619 : MDEV-10793 - Wrong result
+main.loaddata : MDEV-19368 - mysqltest failed but provided no output
+main.locale : MDEV-20521 - Missing warning; configuration added in 10.3.23
+main.log_slow : MDEV-13263 - Wrong result
+main.log_slow_debug : Modified in 10.3.22
+main.log_tables-big : MDEV-13408 - wrong result
+main.mdev-504 : MDEV-15171 - warning
+main.mdev375 : MDEV-10607 - sporadic "can't connect"; modified in 10.3.23
+main.mdev6830 : Modified in 10.3.22
+main.merge : MDEV-10607 - sporadic "can't connect"
+main.merge-big : Modified in 10.3.22
+main.merge_debug : Modified in 10.3.22
+main.multi_update : Modified in 10.3.23
+main.multi_update_debug : Modified in 10.3.23
+main.myisam_debug : Modified in 10.3.22
+main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; modified in 10.2.32
+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_upgrade_noengine : MDEV-14355 - Wrong result
+main.mysqld--defaults-file : Modified in 10.3.23
+main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap
+main.mysqldump : MDEV-22147 - Wrong result; MDEV-14800 - Stack smashing detected; modified in 10.3.23
+main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug
+main.mysqlslap : MDEV-11801 - timeout
+main.mysqltest : MDEV-13887 - Wrong result
+main.mysqltest_tracking_info : Modified in 10.3.23
+main.old-mode : MDEV-19373 - Wrong result
+main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1
+main.opt_tvc : Modified in 10.3.22
+main.order_by_optimizer_innodb : MDEV-10683 - Wrong result
+main.partition_alter : Modified in 10.3.23
+main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock
+main.partition_innodb : Modified in 10.3.23
+main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings
+main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1
+main.partition_mrr_aria : Include file modified in 10.3.23
+main.partition_mrr_innodb : Include file modified in 10.3.23
+main.partition_mrr_myisam : Modified in 10.3.23
+main.partition_range : Modified in 10.3.23
+main.pool_of_threads : MDEV-18135 - SSL error: key too small
+main.processlist_notembedded : MDEV-22513 - Timeout in wait_until_count_sessions; modified in 10.3.23
+main.ps : MDEV-11017 - Sporadic wrong Prepared_stmt_count
+main.query_cache : MDEV-16180 - Wrong result
+main.query_cache_debug : MDEV-15281 - Query cache is disabled
+main.range : Modified in 10.3.23
+main.range_innodb : Modified in 10.3.23
+main.range_interrupted-13751 : Modified in 10.3.22
+main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away
+main.rpl_mysql_upgrade_slave_repo_check : Added in 10.3.23
+main.select : MDEV-20532 - Floating point differences
+main.select_debug : Modified in 10.3.22
+main.select_jcl6 : MDEV-20532 - Floating point differences
+main.select_pkeycache : MDEV-20532 - Floating point differences
+main.set_statement : MDEV-13183 - Wrong result
+main.set_statement_notembedded : MDEV-19414 - Wrong result
+main.shm : MDEV-12727 - Mismatch, ERROR 2013
+main.show_explain : MDEV-10674 - Wrong result code; modified in 10.3.22
+main.show_explain_non_select : Modified in 10.3.22
+main.show_explain_ps : Modified in 10.3.22
+main.slowlog_enospace-10508 : Modified in 10.3.22
+main.sp : MDEV-7866 - Mismatch
+main.sp-security : MDEV-10607 - sporadic "can't connect"
+main.sp_notembedded : MDEV-10607 - internal error
+main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1
+main.ssl_7937 : Modified in 10.3.22
+main.ssl_8k_key : Modified in 10.3.22
+main.ssl_ca : MDEV-10895 - SSL connection error on Power
+main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1
+main.ssl_crl_clients : Modified in 10.3.22
+main.ssl_system_ca : Added in 10.3.22
+main.ssl_timeout : MDEV-11244 - Crash
+main.stat_tables-enospc : Modified in 10.3.22
+main.stat_tables_par : MDEV-13266 - Wrong result
+main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding
+main.status : MDEV-13255 - Wrong result
+main.subselect : MDEV-20551 - Valgrind failure
+main.subselect_innodb : MDEV-10614 - Wrong result
+main.tc_heuristic_recover : MDEV-14189 - Wrong result
+main.type_blob : MDEV-15195 - Wrong result
+main.type_datetime : Modified in 10.3.22
+main.type_datetime_hires : MDEV-10687 - Timeout
+main.type_float : MDEV-20532 - Floating point differences
+main.type_int : Modified in 10.3.22
+main.type_time : Modified in 10.3.22
+main.union_crash-714 : Modified in 10.3.22
+main.userstat : MDEV-12904 - SSL errors
+main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query
+main.warnings_debug : Modified in 10.3.22
+main.win : Modified in 10.3.22
+main.xa : MDEV-11769 - lock wait timeout
#-----------------------------------------------------------------------
@@ -176,7 +191,7 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed
binlog.binlog_commit_wait : MDEV-10150 - Mismatch
binlog.binlog_index : Include file modified in 10.2.31
-binlog.binlog_invalid_read_in_rotate : Added in 10.3.22
+binlog.binlog_invalid_read_in_rotate : MDEV-22455 - Server crash; added in 10.3.22
binlog.binlog_ioerr : Include file modified in 10.2.31
binlog.binlog_killed : MDEV-12925 - Wrong result
binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown
@@ -184,7 +199,7 @@ binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files dif
binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ
binlog.binlog_parallel_replication_marks_row : Include file modified in 10.3.22
binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.3.22
-binlog.binlog_show_binlog_event_random_pos : Added in 10.3.22
+binlog.binlog_show_binlog_event_random_pos : MDEV-22473 - Server crash; added in 10.3.22
binlog.binlog_write_error : Include file Include file modified in 10.2.31
binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint
binlog.flashback-largebinlog : MDEV-19764 - Out of memory
@@ -201,15 +216,15 @@ binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't in
binlog_encryption.encrypted_slave : MDEV-18135 - SSL error: key too small
binlog_encryption.encryption_combo : MDEV-14199 - Table is marked as crashed
binlog_encryption.multisource : MDEV-21289 - Wrong error code
-binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash
+binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash; include file include file modified in 10.3.23
binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result; include file modified in 10.3.22
-binlog_encryption.rpl_corruption : Include file modified in 10.3.22
+binlog_encryption.rpl_corruption : Include file modified in 10.3.23
binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start
-binlog_encryption.rpl_incident : Include file modified in 10.3.22
+binlog_encryption.rpl_incident : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; include file modified in 10.3.22
binlog_encryption.rpl_init_slave_errors : Include file modified in 10.3.22
binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include
binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include; include file modified in 10.3.22
-binlog_encryption.rpl_parallel_ignored_errors : Include file modified in 10.3.22
+binlog_encryption.rpl_parallel_ignored_errors : MDEV-22471 - Slave crash; include file modified in 10.3.22
binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout
binlog_encryption.rpl_semi_sync : MDEV-11673 - Valgrind
binlog_encryption.rpl_skip_replication : MDEV-13571 - Unexpected warning; MDEV-20573 - Wrong result
@@ -243,6 +258,10 @@ connect.zip : MDEV-13884 - Wrong result
#-----------------------------------------------------------------------
+disks.disks_notembedded : MDEV-21587 - Wrong result
+
+#-----------------------------------------------------------------------
+
encryption.create_or_replace : MDEV-16115 - Trying to access tablespace
encryption.debug_key_management : MDEV-13841 - Timeout
encryption.encrypt_and_grep : MDEV-13765 - Wrong result
@@ -264,7 +283,7 @@ encryption.innodb_encrypt_key_rotation_age : MDEV-19763 - Timeout
encryption.innodb_encrypt_log : MDEV-13725 - Wrong result
encryption.innodb_encrypt_log_corruption : MDEV-14379 - Server crash
encryption.innodb_encrypt_temporary_tables : MDEV-20142 - Wrong result
-encryption.innodb_encryption : MDEV-15675 - Timeout
+encryption.innodb_encryption : MDEV-14728 - Unable to get certificate; MDEV-15675 - Timeout
encryption.innodb_encryption-page-compression : MDEV-12630 - crash or assertion failure
encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result
encryption.innodb_encryption_filekeys : MDEV-15673 - Timeout
@@ -279,7 +298,8 @@ encryption.innodb_scrub_compressed : MDEV-8139 - scrubbing tests n
#-----------------------------------------------------------------------
-engines/funcs.* : Not maintained in timely manner
+engines/funcs.* : Not maintained in timely manner
+engines/funcs.rpl_row_until : MDEV-22474 - Warning, slaves cannot process events
#-----------------------------------------------------------------------
@@ -296,7 +316,7 @@ federated.federated_bug_585688 : MDEV-14805 - Server crash, MDEV-12907 - Valgr
federated.federated_innodb : MDEV-10617 - Wrong checksum
federated.federated_partition : MDEV-10417 - Fails on Mips
federated.federated_transactions : MDEV-10617 - Wrong checksum
-federated.federatedx : MDEV-10617 - Wrong checksum; modified in 10.3.21
+federated.federatedx : MDEV-10617 - Wrong checksum
#-----------------------------------------------------------------------
@@ -327,34 +347,42 @@ galera_3nodes.* : Suite is not stable yet
gcol.gcol_rollback : MDEV-16954 - Unknown storage engine 'InnoDB'
gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion
gcol.innodb_virtual_debug : MDEV-19114 - Assertion failure
-gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.3.22
+gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.3.23
gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure
#-----------------------------------------------------------------------
innodb.101_compatibility : MDEV-13891 - Wrong result
+innodb.alter_algorithm : Modified in 10.3.23
+innodb.alter_algorithm2 : Added in 10.3.23
innodb.alter_copy : MDEV-16181 - Assertion failure
innodb.alter_crash : MDEV-16944 - The process cannot access the file
innodb.alter_large_dml : MDEV-20148 - Debug sync point wait timed out
+innodb.alter_missing_tablespace : Modified in 10.3.23
innodb.autoinc_persist : MDEV-15282 - Assertion failure
innodb.binlog_consistent : MDEV-10618 - Server fails to start
innodb.blob-crash : MDEV-20481 - Crash during recovery
innodb.blob-update-debug : Modified in 10.3.22
+innodb.buf_pool_resize_oom : Added in 10.3.23
+innodb.corrupted_during_recovery : Modified in 10.3.23
innodb.doublewrite : MDEV-12905 - Server crash
+innodb.foreign_key : Modified in 10.3.23
+innodb.foreign_key_debug : Added in 10.3.23
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-19021 - Wrong result; modified in 10.3.21
-innodb.innodb-32k-crash : MDEV-20194 - Extra warning; modified in 10.3.21
-innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup; modified in 10.3.21
+innodb.ibuf_not_empty : MDEV-19021 - Wrong result
+innodb.innodb-32k-crash : MDEV-20194 - Extra warning
+innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup
innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS
innodb.innodb-alter-table : MDEV-10619 - Testcase timeout
+innodb.innodb-alter-timestamp : Modified in 10.3.23
innodb.innodb-bigblob : MDEV-18655 - ASAN unknown crash
-innodb.innodb-blob : MDEV-12053 - Client crash
+innodb.innodb-blob : MDEV-12053 - Client crash; modified in 10.3.23
innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query
innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown
innodb.innodb-get-fk : MDEV-13276 - Server crash
innodb.innodb-index-online : MDEV-14809 - Cannot save statistics
-innodb.innodb-mdev-7513 : Modified in 10.3.21
+innodb.innodb-online-alter-gis : MDEV-22071 - Uninitialised value
innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure
innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result
innodb.innodb-page_compression_snappy : MDEV-13644 - Assertion failure
@@ -363,10 +391,12 @@ innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem
innodb.innodb-replace-debug : Modified in 10.3.22
innodb.innodb-stats-initialize-failure : Modified in 10.3.22
innodb.innodb-table-online : MDEV-13894 - Wrong result
-innodb.innodb-wl5522 : MDEV-13644 - Assertion failure
-innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno
+innodb.innodb-wl5522 : MDEV-13644 - Assertion failure; modified in 10.3.23
+innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno; modified in 10.3.23
innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc
+innodb.innodb_buffer_pool_load_now : Added in 10.3.23
innodb.innodb_buffer_pool_resize : MDEV-16964 - Assertion failure
+innodb.innodb_buffer_pool_resize_debug : Added in 10.3.23
innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure
innodb.innodb_bug11754376 : Modified in 10.3.22
innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt
@@ -378,10 +408,11 @@ innodb.innodb_bug56947 : Modified in 10.3.22
innodb.innodb_bug59641 : MDEV-13830 - Assertion failure
innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start
innodb.innodb_corrupt_bit : Modified in 10.3.22
+innodb.innodb_defrag_concurrent : Modified in 10.3.23
innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full
innodb.innodb_information_schema : MDEV-8851 - Wrong result
-innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed; modified in 10.3.21
-innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result; modified in 10.3.21
+innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed
+innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result
innodb.innodb_monitor : MDEV-10939 - Testcase timeout
innodb.innodb_mysql : MDEV-19873 - Wrong result
innodb.innodb_simulate_comp_failures_small : MDEV-20526 - ASAN use-after-poison
@@ -389,19 +420,19 @@ innodb.innodb_stats : MDEV-10682 - wrong result
innodb.innodb_stats_persistent : MDEV-17745 - Wrong result; MDEV-21567 - Wrong result in execution plan
innodb.innodb_stats_persistent_debug : MDEV-14801 - Operation failed
innodb.innodb_sys_semaphore_waits : MDEV-10331 - Semaphore wait; modified in 10.3.22
+innodb.innodb_sys_var_valgrind : Added in 10.3.23
innodb.innodb_wl6326 : Added in 10.3.22
innodb.innodb_wl6326_big : Added in 10.3.22
innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks
-innodb.instant_alter : Modified in 10.3.21
-innodb.instant_alter_debug : Modified in 10.3.21
-innodb.leaf_page_corrupted_during_recovery : MDEV-21572 - Server crash
+innodb.instant_alter : Modified in 10.3.23
+innodb.instant_alter_bugs : Modified in 10.3.23
innodb.log_corruption : MDEV-13251 - Wrong result
innodb.log_data_file_size : MDEV-14204 - Server failed to start
innodb.log_file_name : MDEV-14193 - Exception
+innodb.log_file_name_debug : Modified in 10.3.23
innodb.log_file_size : MDEV-15668 - Not found pattern
innodb.monitor : MDEV-16179 - Wrong result
innodb.purge_secondary : MDEV-15681 - Wrong result
-innodb.purge_secondary_mdev-16222 : MDEV-20528 - Debug sync point wait timed out
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
@@ -411,48 +442,60 @@ innodb.row_size_error_log_warnings_3 : Modified in 10.3.22
innodb.table_definition_cache_debug : MDEV-14206 - Extra warning
innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start
innodb.temporary_table : MDEV-13265 - Wrong result
+innodb.truncate_foreign : MDEV-22511 - Wrong error code
innodb.truncate_inject : Modified in 10.2.31
-innodb.undo_log : Modified in 10.3.21
innodb.undo_truncate : MDEV-17340 - Server hung; MDEV-20840 - Sporadic timeout
innodb.undo_truncate_recover : MDEV-17679 - Server has gone away
innodb.update_time : MDEV-14804 - Wrong result
innodb.xa_recovery : MDEV-15279 - mysqld got exception
+innodb.xa_recovery_debug : Added in 10.3.23
#-----------------------------------------------------------------------
innodb_fts.concurrent_insert : Modified in 10.3.22
-innodb_fts.innodb_fts_misc : Modified in 10.3.21
+innodb_fts.innodb_fts_misc : Modified in 10.3.23
innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning
innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log
innodb_fts.innodb_fts_stopword_charset : MDEV-13259 - Table crashed
-innodb_fts.sync : MDEV-14808 - Wrong result
+innodb_fts.misc_debug : Modified in 10.3.23
+innodb_fts.misc_debug2 : Added in 10.3.23
+innodb_fts.stopword : Added in 10.3.23
+innodb_fts.sync : Modified in 10.3.23
innodb_fts.sync_block : Modified in 10.3.22
-innodb_fts.sync_ddl : MDEV-18654 - Assertion failure
+innodb_fts.sync_ddl : MDEV-21568 - Errno: 2000; MDEV-18654 - Assertion failure
#-----------------------------------------------------------------------
innodb_gis.alter_spatial_index : MDEV-13745 - Server crash
+innodb_gis.bug16236208 : Re-enabled in 10.3.23; modified in 10.3.23
+innodb_gis.bug16266012 : Re-enabled in 10.3.23; modified in 10.3.23
+innodb_gis.geometry : Re-enabled in 10.3.23; modified in 10.3.23
+innodb_gis.gis_split_inf : Re-enabled in 10.3.23; modified in 10.3.23
+innodb_gis.gis_split_nan : MDEV-21678 - Cannot get geometry object
+innodb_gis.point_big : Re-enabled in 10.3.23
innodb_gis.rtree_compress2 : MDEV-16269 - Wrong result
innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded
innodb_gis.rtree_debug : Modified in 10.3.22
+innodb_gis.rtree_multi_pk : Re-enabled in 10.3.23; modified in 10.3.23
innodb_gis.rtree_purge : MDEV-15275 - Timeout
innodb_gis.rtree_recovery : MDEV-15274 - Error on check
innodb_gis.rtree_rollback1 : Modified in 10.3.22
innodb_gis.rtree_rollback2 : Modified in 10.3.22
-innodb_gis.rtree_split : MDEV-14208 - Too many arguments
+innodb_gis.rtree_split : MDEV-14208 - Too many arguments; modified in 10.3.23
innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file
innodb_gis.types : MDEV-15679 - Table is marked as crashed
#-----------------------------------------------------------------------
-innodb_zip.bug53591 : Modified in 10.3.21
-innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.3.22
-innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings
-innodb_zip.prefix_index_liftedlimit : Modified in 10.3.21
-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
-innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192
+innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.3.22
+innodb_zip.index_large_prefix_4k : MDEV-21679 - Row size too large
+innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings
+innodb_zip.recover : MDEV-22512 - Server failed to restart
+innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2; modified in 10.3.23
+innodb_zip.wl5522_zip : Modified in 10.3.23
+innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure
+innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket
+innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192
#-----------------------------------------------------------------------
@@ -466,16 +509,18 @@ maria.maria-no-logging : MDEV-20196 - Crash on shutdown or server can't start
mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result
mariabackup.apply-log-only : MDEV-20135 - Timeout
+mariabackup.backup_lock_wait_timeout : Added in 10.3.23
mariabackup.data_directory : MDEV-15270 - Error on exec
mariabackup.full_backup : MDEV-16571 - Wrong result
mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future; MDEV-18569 - Table doesn't exist
-mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure; modified in 10.3.21
+mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure
mariabackup.incremental_encrypted : MDEV-15667 - timeout
mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file
mariabackup.innodb_redo_log_overwrite : Added in 10.3.22
+mariabackup.innodb_xa_rollback : MDEV-22398 - Log sequence number is in the future; added in 10.3.23
mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result
mariabackup.mdev-14447 : MDEV-15201 - Timeout
-mariabackup.partial_exclude : MDEV-15270 - Error on exec
+mariabackup.partial_exclude : MDEV-15270 - Error on exec; modified in 10.3.23
mariabackup.unencrypted_page_compressed : MDEV-18653 - Wrong error
mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault
mariabackup.xb_file_key_management : MDEV-16571 - Wrong result
@@ -541,6 +586,7 @@ percona.* : MDEV-10997 - Not maintained
#-----------------------------------------------------------------------
+perfschema.bad_option_1 : MDEV-21571 - Crash on bootstrap
perfschema.connect_attrs : MDEV-17283 - Wrong result
perfschema.dml_file_instances : MDEV-15179 - Wrong result
perfschema.dml_threads : MDEV-17746 - Wrong errno
@@ -582,7 +628,6 @@ perfschema.hostcache_ipv6_nameinfo_noname_deny : Modified in 10.3.22
perfschema.hostcache_ipv6_passwd : Modified in 10.3.22
perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash; modified in 10.3.22
perfschema.hostcache_peer_addr : MDEV-21462 - Test condition timeout; modified in 10.3.22
-perfschema.misc : Modified in 10.3.21
perfschema.privilege_table_io : MDEV-13184 - Extra lines
perfschema.relaylog : MDEV-18134 - Wrong result
perfschema.rpl_gtid_func : MDEV-16897 - Wrong result
@@ -603,7 +648,7 @@ perfschema_stress.* : MDEV-10996 - Not maintained
plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such
plugins.processlist : MDEV-16574 - Wrong result
-plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.3.21
+plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.3.23
plugins.thread_pool_server_audit : MDEV-14295 - Wrong result
#-----------------------------------------------------------------------
@@ -647,7 +692,7 @@ roles.create_and_grant_role : MDEV-11772 - wrong result
#-----------------------------------------------------------------------
-rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.3.22
+rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.3.23
rpl.create_or_replace2 : MDEV-19412 - Lost connection to MySQL server
rpl.create_or_replace_mix : MDEV-20523 - Wrong result
rpl.create_or_replace_statement : MDEV-20523 - Wrong result
@@ -657,25 +702,28 @@ rpl.last_insert_id : MDEV-10625 - warnings in error log
rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips
rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips
rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log
-rpl.rpl_binlog_errors : MDEV-12742 - Crash
+rpl.rpl_binlog_errors : MDEV-12742 - Crash; include file modified in 10.2.32
rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master
rpl.rpl_binlog_rollback_cleanup : Added in 10.3.22
rpl.rpl_bug33931 : Modified in 10.3.22
-rpl.rpl_bug41902 : Modified in 10.3.22
+rpl.rpl_bug41902 : Configuration deleted in 10.3.23
rpl.rpl_checksum : Include file modified in 10.2.31
+rpl.rpl_checksum_cache : MDEV-22510 - Server crash
rpl.rpl_colSize : MDEV-16112 - Server crash
-rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code
+rpl.rpl_conditional_comments : Modified in 10.3.23
+rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code; include file modified in 10.2.32
rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac
rpl.rpl_ddl : MDEV-10417 - Fails on Mips
-rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.3.22
+rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.3.23
rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed; modified in 10.3.22
rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Table marked as crashed
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_fail_register : MDEV-22472 - Wrong result; added in 10.3.23
rpl.rpl_flushlog_loop : MDEV-21570 - Server crash
rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output
-rpl.rpl_get_master_version_and_clock : Modified in 10.3.22
+rpl.rpl_get_master_version_and_clock : Re-enabled in 10.3.23; include file modified in 10.3.23
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_delete_domain : MDEV-14463 - Timeout
@@ -684,6 +732,7 @@ rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings
rpl.rpl_gtid_reconnect : MDEV-14497 - Crash; modified in 10.3.22
rpl.rpl_gtid_startpos : MDEV-20141 - mysqltest failed but provided no output
rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings
+rpl.rpl_gtid_strict : Modified in 10.3.23
rpl.rpl_gtid_until : MDEV-10625 - warnings in error log
rpl.rpl_heartbeat_debug : Modified in 10.3.22
rpl.rpl_incident : Include file modified in 10.2.31
@@ -716,7 +765,7 @@ rpl.rpl_row_001 : MDEV-16653 - MTR's internal check fails
rpl.rpl_row_basic_11bugs : MDEV-12171 - Server failed to start
rpl.rpl_row_basic_2myisam : MDEV-13875 - command "diff_files" failed
rpl.rpl_row_big_table_id : Modified in 10.3.22
-rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking
+rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; modified in 10.3.23
rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result
rpl.rpl_row_end_of_statement_loss : MDEV-21237 - Server crash
rpl.rpl_row_find_row_debug : Modified in 10.3.22
@@ -730,7 +779,6 @@ rpl.rpl_semi_sync : MDEV-11220 - Wrong result
rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result
rpl.rpl_semi_sync_after_sync_row : MDEV-21031 - Wrong result; MDEV-14366 - Wrong result
rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings
-rpl.rpl_semi_sync_gtid_reconnect : Added in 10.3.21
rpl.rpl_semi_sync_skip_repl : Modified in 10.3.22
rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures
rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition
@@ -748,7 +796,7 @@ rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout
rpl.rpl_stm_lcase_tblnames : Modified in 10.3.22
rpl.rpl_stm_multi_query : MDEV-9501 - Failed registering on master
rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion
-rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash; include file modified in 10.3.22
+rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash; include file modified in 10.3.23
rpl.rpl_stop_slave : Modified in 10.3.22
rpl.rpl_sync : MDEV-13830 - Assertion failure
rpl.rpl_temporal_mysql56_to_mariadb53 : MDEV-9501 - Failed registering on master
@@ -780,9 +828,8 @@ sphinx.union-5539 : MDEV-10986 - Sporadic failures
#-----------------------------------------------------------------------
-spider.* : MDEV-9329, MDEV-18737 - tests are too memory-consuming
-spider.basic_sql : MDEV-11186 - Internal check fails
-spider.pushdown_not_like : Added in 10.3.21
+spider.* : MDEV-9329, MDEV-18737 - tests are too memory-consuming
+spider.basic_sql : MDEV-11186 - Internal check fails
#-----------------------------------------------------------------------
@@ -798,13 +845,16 @@ spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x
#-----------------------------------------------------------------------
+spider/bugfix.mdev_21884 : Added in 10.3.23
+
+#-----------------------------------------------------------------------
+
spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained
#-----------------------------------------------------------------------
sql_sequence.concurrent_create : MDEV-16635 - Server crash
-sql_sequence.rebuild : Added in 10.3.21
-sql_sequence.view : Modified in 10.3.21
+sql_sequence.rebuild : Modified in 10.3.23
#-----------------------------------------------------------------------
@@ -816,11 +866,13 @@ stress.ddl_innodb : MDEV-10635 - Testcase timeout
#-----------------------------------------------------------------------
+sys_vars.alter_algorithm_basic : Added in 10.3.23
sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x
sys_vars.debug_dbug_func : Modified in 10.3.22
sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error
sys_vars.innodb_buffer_pool_size_basic : Modified in 10.3.22
sys_vars.innodb_checksum_algorithm_basic : MDEV-21568 - Errno: 2000
+sys_vars.innodb_instant_alter_column_allowed_basic : Added in 10.3.23
sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout
sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash
sys_vars.rpl_init_slave_func : MDEV-10149 - Test assertion
@@ -868,6 +920,7 @@ tokudb_bugs.frm_store : MDEV-12823 - Valgrind
tokudb_bugs.frm_store2 : MDEV-12823 - Valgrind
tokudb_bugs.frm_store3 : MDEV-12823 - Valgrind
tokudb_bugs.xa : MDEV-11804 - Lock wait timeout
+tokudb_bugs.xa-3 : MDEV-22512 - Server failed to restart
#-----------------------------------------------------------------------
@@ -901,12 +954,10 @@ vcol.vcol_misc : MDEV-16651 - Wrong error message
#-----------------------------------------------------------------------
-versioning.delete : Modified in 10.3.21
-versioning.partition : Modified in 10.3.21
-versioning.select : Modified in 10.3.21
-versioning.trx_id : Modified in 10.3.22
-versioning.update : MDEV-20955 - Wrong result code; modified in 10.3.21
-versioning.view : Modified in 10.3.21
+versioning.alter : Modified in 10.3.23
+versioning.partition : Modified in 10.3.23
+versioning.sysvars : Modified in 10.3.23
+versioning.update : MDEV-22475 - Wrong result code; modified in 10.3.23
#-----------------------------------------------------------------------
@@ -919,8 +970,10 @@ wsrep.mdev_6832 : MDEV-14195 - Check testcase failed
wsrep.mysql_tzinfo_to_sql_symlink : Modified in 10.3.22
wsrep.mysql_tzinfo_to_sql_symlink_skip : Modified in 10.3.22
wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use; re-enabled in 10.3.22; configuration modified in 10.3.22
+wsrep.trans : Modified in 10.3.23
wsrep.variables : MDEV-17585 - Deadlock; modified in 10.3.22
#-----------------------------------------------------------------------
-wsrep_info.* : Config file changed in 10.2.31; Config file changed in 10.3.22
+wsrep_info.* : Config file changed in 10.2.31; Config file changed in 10.3.22
+wsrep_info.plugin : MDEV-22470 - WSREP: no nodes coming from prim view, prim not possible
diff --git a/plugin/auth_pam/CMakeLists.txt b/plugin/auth_pam/CMakeLists.txt
index ac598e4ffa6..5366246745e 100644
--- a/plugin/auth_pam/CMakeLists.txt
+++ b/plugin/auth_pam/CMakeLists.txt
@@ -32,6 +32,7 @@ IF(HAVE_PAM_APPL_H)
IF(INSTALL_PAMDIR)
INSTALL(TARGETS pam_user_map DESTINATION ${INSTALL_PAMDIR} COMPONENT Server)
INSTALL(FILES mapper/user_map.conf DESTINATION ${INSTALL_PAMDATADIR} COMPONENT Server)
+ SET(CPACK_RPM_server_USER_FILELIST ${CPACK_RPM_server_USER_FILELIST} "%config(noreplace) ${INSTALL_PAMDATADIR}/*" PARENT_SCOPE)
ENDIF()
ENDIF()
ENDIF(HAVE_PAM_APPL_H)
diff --git a/sql/session_tracker.cc b/sql/session_tracker.cc
index 1b21012f09e..65d600b9b5a 100644
--- a/sql/session_tracker.cc
+++ b/sql/session_tracker.cc
@@ -1226,7 +1226,7 @@ void Session_tracker::store(THD *thd, String *buf)
if ((size= net_length_size(length)) != 1)
{
- if (buf->reserve(size - 1, EXTRA_ALLOC))
+ if (buf->reserve(size - 1, 0))
{
buf->length(start); // it is safer to have 0-length block in case of error
return;
@@ -1236,6 +1236,7 @@ void Session_tracker::store(THD *thd, String *buf)
The 'buf->reserve()' can change the buf->ptr() so we cannot
calculate the 'data' earlier.
*/
+ buf->length(buf->length() + (size - 1));
data= (uchar *)(buf->ptr() + start);
memmove(data + (size - 1), data, length);
}
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 8efc731066b..57a44293e96 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -4685,10 +4685,19 @@ bool Lock_tables_prelocking_strategy::
handle_table(THD *thd, Query_tables_list *prelocking_ctx,
TABLE_LIST *table_list, bool *need_prelocking)
{
+ TABLE_LIST **last= prelocking_ctx->query_tables_last;
+
if (DML_prelocking_strategy::handle_table(thd, prelocking_ctx, table_list,
need_prelocking))
return TRUE;
+ /*
+ normally we don't need to open FK-prelocked tables for RESTRICT,
+ MDL is enough. But under LOCK TABLES we have to open everything
+ */
+ for (TABLE_LIST *tl= *last; tl; tl= tl->next_global)
+ tl->open_strategy= TABLE_LIST::OPEN_NORMAL;
+
/* We rely on a caller to check that table is going to be changed. */
DBUG_ASSERT(table_list->lock_type >= TL_WRITE_ALLOW_WRITE);
diff --git a/sql/table.h b/sql/table.h
index a1e7db36ced..35b0388afba 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -2026,6 +2026,9 @@ struct TABLE_LIST
OT_BASE_ONLY);
belong_to_view= belong_to_view_arg;
trg_event_map= trg_event_map_arg;
+ /* MDL is enough for read-only FK checks, we don't need the table */
+ if (prelocking_type == PRELOCK_FK && lock_type < TL_WRITE_ALLOW_WRITE)
+ open_strategy= OPEN_STUB;
**last_ptr= this;
prev_global= *last_ptr;