diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 9c68aad2746..a6af46e6d7b 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -148,7 +148,7 @@ static struct my_option my_long_options[]= &opt_systables_only, &opt_systables_only, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, #define USER_OPT (array_elements(my_long_options) - 6) - {"user", 'u', "User for login if not current user.", &opt_user, + {"user", 'u', "User for login.", &opt_user, &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"verbose", 'v', "Display more output about the process; Using it twice will print connection argument; Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.", &opt_not_used, &opt_not_used, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index 17b847b3b5a..25d3256ca4e 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -466,17 +466,21 @@ sub mtr_report_stats ($$$$) { } $test_time = sprintf("%.3f", $test->{timer} / 1000); + $test->{'name'} =~ s/$current_suite\.//; $xml_report .= qq(\t\t{'comment'}; $comment =~ s/[\"]//g; - if ($test->{'result'} eq "MTR_RES_FAILED") { - $xml_report .= qq(>\n\t\t\t\n{'logfile'}]]>\n\t\t\t\n\t\t\n); + # if a test case has to be retried it should have the result MTR_RES_FAILED in jUnit XML + if ($test->{'result'} eq "MTR_RES_FAILED" || $test->{'retries'}) { + my $logcontents = $test->{'logfile-failed'} || $test->{'logfile'}; + + $xml_report .= qq(>\n\t\t\t\n\n\t\t\t\n\t\t\n); } elsif ($test->{'result'} eq "MTR_RES_SKIPPED" && $test->{'disable'}) { - $xml_report .= qq(>\n\t\t\t\n\t\t\n); + $xml_report .= qq(>\n\t\t\t\n\t\t\n); } elsif ($test->{'result'} eq "MTR_RES_SKIPPED") { - $xml_report .= qq(>\n\t\t\t\n\t\t\n); + $xml_report .= qq(>\n\t\t\t\n\t\t\n); } else { $xml_report .= " />\n"; } diff --git a/mysql-test/lib/openssl.cnf b/mysql-test/lib/openssl.cnf new file mode 100644 index 00000000000..b9ab37ac3a1 --- /dev/null +++ b/mysql-test/lib/openssl.cnf @@ -0,0 +1,12 @@ +# Toplevel section for openssl (including libssl) +openssl_conf = default_conf_section + +[default_conf_section] +# We only specify configuration for the "ssl module" +ssl_conf = ssl_section + +[ssl_section] +system_default = system_default_section + +[system_default_section] +CipherString = ALL:@SECLEVEL=1 diff --git a/mysql-test/main/derived_cond_pushdown.result b/mysql-test/main/derived_cond_pushdown.result index 6c51c28372b..85744451dc0 100644 --- a/mysql-test/main/derived_cond_pushdown.result +++ b/mysql-test/main/derived_cond_pushdown.result @@ -15073,6 +15073,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t1.a is not null", @@ -15179,6 +15180,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t1.a is not null", @@ -15378,6 +15380,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t3.a is not null and t3.c is not null", @@ -15530,6 +15533,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t3.a is not null and t3.c is not null", @@ -15705,6 +15709,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t3.c is not null", @@ -15952,6 +15957,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "outer_ref_condition": "t3.c is not null", @@ -16440,6 +16446,7 @@ EXPLAIN "filtered": 100, "first_match": "t4", "materialized": { + "lateral": 1, "query_block": { "select_id": 3, "const_condition": "1", @@ -16586,6 +16593,7 @@ EXPLAIN "rows": 2, "filtered": 100, "materialized": { + "lateral": 1, "query_block": { "select_id": 2, "table": { diff --git a/mysql-test/main/type_set.result b/mysql-test/main/type_set.result index ae72619b5ae..76a0c343973 100644 --- a/mysql-test/main/type_set.result +++ b/mysql-test/main/type_set.result @@ -109,7 +109,7 @@ End of 5.0 tests # Start of 10.0 tests # # -# MDEV-6950 Bad results with joins compating DATE and INT/ENUM/VARCHAR columns +# MDEV-6950 Bad results with joins comparing DATE and INT/ENUM/VARCHAR columns # CREATE TABLE t1 (c1 DATE PRIMARY KEY); INSERT INTO t1 VALUES ('2001-01-01'); diff --git a/mysql-test/main/type_set.test b/mysql-test/main/type_set.test index 637ad40c316..8a81c406c63 100644 --- a/mysql-test/main/type_set.test +++ b/mysql-test/main/type_set.test @@ -102,7 +102,7 @@ DROP TABLE t1; --echo # --echo # ---echo # MDEV-6950 Bad results with joins compating DATE and INT/ENUM/VARCHAR columns +--echo # MDEV-6950 Bad results with joins comparing DATE and INT/ENUM/VARCHAR columns --echo # CREATE TABLE t1 (c1 DATE PRIMARY KEY); diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index eeff1f0cf7a..f8cfb22537f 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -390,7 +390,7 @@ my $set_titlebar; }; eval 'sub HAVE_WIN32_CONSOLE { $have_win32_console }'; } else { - sub HAVE_WIN32_CONSOLE { 0 }; + eval 'sub HAVE_WIN32_CONSOLE { 0 }'; } } @@ -398,7 +398,7 @@ if (-t STDOUT) { if (IS_WINDOWS and HAVE_WIN32_CONSOLE) { $set_titlebar = sub {Win32::Console::Title $_[0];}; } elsif (defined $ENV{TERM} and $ENV{TERM} =~ /xterm/) { - $set_titlebar = sub { print "\e];$_[0]\a"; }; + $set_titlebar = sub { syswrite STDOUT, "\e];$_[0]\a"; }; } } @@ -784,6 +784,7 @@ sub run_test_server ($$$) { if ( $result->is_failed() ) { my $worker_logdir= $result->{savedir}; my $log_file_name=dirname($worker_logdir)."/".$result->{shortname}.".log"; + $result->{'logfile-failed'} = mtr_lastlinesfromfile($log_file_name, 20); rename $log_file_name,$log_file_name.".failed"; } delete($result->{result}); @@ -2306,7 +2307,8 @@ sub environment_setup { $ENV{'LC_CTYPE'}= "C"; $ENV{'LC_COLLATE'}= "C"; - $ENV{'OPENSSL_CONF'}= "/dev/null"; + $ENV{'OPENSSL_CONF'}= $mysqld_variables{'version-ssl-library'} gt 'OpenSSL 1.1.1' + ? "$glob_mysql_test_dir/lib/openssl.cnf" : '/dev/null'; $ENV{'USE_RUNNING_SERVER'}= using_extern(); $ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir; diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def index 99e3012d947..e1868260af1 100644 --- a/mysql-test/suite/galera/disabled.def +++ b/mysql-test/suite/galera/disabled.def @@ -38,7 +38,6 @@ galera_shutdown_nonprim : MDEV-21493 galera.galera_shutdown_nonprim galera_split_brain : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges galera_ssl_upgrade : MDEV-19950 Galera test failure on galera_ssl_upgrade galera_sst_mariabackup_encrypt_with_key : MDEV-21484 galera_sst_mariabackup_encrypt_with_key -galera_sst_mariabackup_table_options: MDEV-19741 Galera test failure on galera.galera_sst_mariabackup_table_options galera_toi_ddl_nonconflicting : MDEV-21518 galera.galera_toi_ddl_nonconflicting galera_var_innodb_disallow_writes : MDEV-20928 galera.galera_var_innodb_disallow_writes galera_var_node_address : MDEV-20485 Galera test failure @@ -46,7 +45,6 @@ galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang galera_var_reject_queries : assertion in inline_mysql_socket_send galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit galera_wan : MDEV-17259 Test failure on galera.galera_wan -galera_wsrep_new_cluster : MDEV-21515 galera.galera_wsrep_new_cluster mysql-wsrep#198 : MDEV-18935 Galera test mysql-wsrep#198 sporaric assertion transaction.cpp:362: int wsrep::transaction::before_commit(): Assertion `state() == s_executing || state() == s_committing || state() == s_must_abort || state() == s_replaying' failed. lp1376747-4 : MDEV-21911 Galera test failure on lp1376747-4 partition : MDEV-19958 Galera test failure on galera.partition diff --git a/mysql-test/suite/galera/r/MW-328C.result b/mysql-test/suite/galera/r/MW-328C.result deleted file mode 100644 index 7a00bb718de..00000000000 --- a/mysql-test/suite/galera/r/MW-328C.result +++ /dev/null @@ -1,25 +0,0 @@ -connection node_2; -connection node_1; -CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB; -INSERT INTO t1 (f1) VALUES (1); -CREATE TABLE t2 (f1 CHAR(20)) ENGINE=InnoDB; -CREATE PROCEDURE proc_update () -BEGIN -DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END; -SET SESSION wsrep_sync_wait = 0; -WHILE 1 DO -UPDATE t1 SET f2 = LEFT(MD5(RAND()), 4); -END WHILE; -END| -connect node_1X, 127.0.0.1, root, , test, $NODE_MYPORT_1; -connection node_1X; -CALL proc_update();; -connection node_2; -SET SESSION wsrep_retry_autocommit = 10000; -connection node_1; -connection node_1X; -Got one of the listed errors -connection node_1; -DROP PROCEDURE proc_update; -DROP TABLE t1, t2; -CALL mtr.add_suppression("conflict state ABORTED after post commit"); diff --git a/mysql-test/suite/galera/r/galera_as_slave_gtid_myisam.result b/mysql-test/suite/galera/r/galera_as_slave_gtid_myisam.result index e2fb5a05e9c..7e8da675ad4 100644 --- a/mysql-test/suite/galera/r/galera_as_slave_gtid_myisam.result +++ b/mysql-test/suite/galera/r/galera_as_slave_gtid_myisam.result @@ -28,7 +28,11 @@ gtid_binlog_state_equal #cleanup connection node_3; DROP TABLE t1; -reset master; +connection node_1; +connection node_2; +connection node_3; +connection node_3; +RESET MASTER; connection node_1; STOP SLAVE; RESET SLAVE ALL; diff --git a/mysql-test/suite/galera/r/galera_v1_row_events.result b/mysql-test/suite/galera/r/galera_v1_row_events.result new file mode 100644 index 00000000000..80fe2fb6d8d --- /dev/null +++ b/mysql-test/suite/galera/r/galera_v1_row_events.result @@ -0,0 +1,15 @@ +connection node_2; +connection node_1; +CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1); +connection node_2; +SELECT COUNT(*) = 1 FROM t1; +COUNT(*) = 1 +1 +connection node_1; +UPDATE t1 SET f1 = 2 WHERE f1 = 1; +connection node_2; +SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; +COUNT(*) = 1 +1 +DROP TABLE t1; diff --git a/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result b/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result index 8edf1a02e9d..244623d52b7 100644 --- a/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result +++ b/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result @@ -1,39 +1,40 @@ connection node_2; connection node_1; -SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; -VARIABLE_VALUE = 'Primary' -1 -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; -VARIABLE_VALUE = 'ON' -1 -SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; -VARIABLE_VALUE = 0 -1 -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; -VARIABLE_VALUE = 'ON' -1 -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; -VARIABLE_VALUE = 4 -1 -SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; -VARIABLE_VALUE = 'Synced' +connection node_1; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; +VARIABLE_VALUE +Primary +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; +VARIABLE_VALUE +ON +SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; +(VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) 1 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; +VARIABLE_VALUE +ON +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; +VARIABLE_VALUE +4 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; +VARIABLE_VALUE +Synced connection node_2; -SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; -VARIABLE_VALUE = 'Primary' -1 -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; -VARIABLE_VALUE = 'ON' -1 -SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; -VARIABLE_VALUE = 0 -1 -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; -VARIABLE_VALUE = 'ON' -1 -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; -VARIABLE_VALUE = 4 -1 -SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; -VARIABLE_VALUE = 'Synced' +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; +VARIABLE_VALUE +Primary +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; +VARIABLE_VALUE +ON +SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; +(VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) 1 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; +VARIABLE_VALUE +ON +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; +VARIABLE_VALUE +4 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; +VARIABLE_VALUE +Synced diff --git a/mysql-test/suite/galera/suite.pm b/mysql-test/suite/galera/suite.pm index 447c2b79d2b..4dd11f5d7a4 100644 --- a/mysql-test/suite/galera/suite.pm +++ b/mysql-test/suite/galera/suite.pm @@ -62,6 +62,7 @@ push @::global_suppressions, qr(WSREP: Ignoring error*), qr(WSREP: Failed to remove page file .*), qr(WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*), + qr(WSREP: .*Transport endpoint is not connected.*), ); sub skip_combinations { diff --git a/mysql-test/suite/galera/t/MW-328A.cnf b/mysql-test/suite/galera/t/MW-328A.cnf new file mode 100644 index 00000000000..a10ea88bdf2 --- /dev/null +++ b/mysql-test/suite/galera/t/MW-328A.cnf @@ -0,0 +1,7 @@ +!include ../galera_2nodes.cnf + +[mysqld.1] +wsrep-debug=ON + +[mysqld.2] +wsrep-debug=ON diff --git a/mysql-test/suite/galera/t/MW-328A.test b/mysql-test/suite/galera/t/MW-328A.test index dd692a292b8..a547823ced0 100644 --- a/mysql-test/suite/galera/t/MW-328A.test +++ b/mysql-test/suite/galera/t/MW-328A.test @@ -13,7 +13,7 @@ # --source include/galera_cluster.inc ---source include/big_test.inc +--source include/force_restart.inc --source suite/galera/t/MW-328-header.inc --connection node_2 diff --git a/mysql-test/suite/galera/t/MW-328B.cnf b/mysql-test/suite/galera/t/MW-328B.cnf new file mode 100644 index 00000000000..a10ea88bdf2 --- /dev/null +++ b/mysql-test/suite/galera/t/MW-328B.cnf @@ -0,0 +1,7 @@ +!include ../galera_2nodes.cnf + +[mysqld.1] +wsrep-debug=ON + +[mysqld.2] +wsrep-debug=ON diff --git a/mysql-test/suite/galera/t/MW-328B.test b/mysql-test/suite/galera/t/MW-328B.test index 04503ce31e3..41581d9c239 100644 --- a/mysql-test/suite/galera/t/MW-328B.test +++ b/mysql-test/suite/galera/t/MW-328B.test @@ -8,7 +8,7 @@ # --source include/galera_cluster.inc ---source include/big_test.inc +--source include/force_restart.inc --source suite/galera/t/MW-328-header.inc --connection node_2 diff --git a/mysql-test/suite/galera/t/galera_as_slave_gtid_myisam.test b/mysql-test/suite/galera/t/galera_as_slave_gtid_myisam.test index 6df605079e8..004f5c825bb 100644 --- a/mysql-test/suite/galera/t/galera_as_slave_gtid_myisam.test +++ b/mysql-test/suite/galera/t/galera_as_slave_gtid_myisam.test @@ -58,7 +58,21 @@ SELECT COUNT(*) AS EXPECT_0 FROM t1; --echo #cleanup --connection node_3 DROP TABLE t1; -reset master; + +--connection node_1 +--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; +--source include/wait_condition.inc + +--connection node_2 +--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; +--source include/wait_condition.inc + +--connection node_3 +--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; +--source include/wait_condition.inc + +--connection node_3 +RESET MASTER; --connection node_1 STOP SLAVE; diff --git a/mysql-test/suite/galera/t/galera_set_position_after_dummy_writeset.test b/mysql-test/suite/galera/t/galera_set_position_after_dummy_writeset.test index f528b1435bb..76f6d98168e 100644 --- a/mysql-test/suite/galera/t/galera_set_position_after_dummy_writeset.test +++ b/mysql-test/suite/galera/t/galera_set_position_after_dummy_writeset.test @@ -4,7 +4,9 @@ # --source include/galera_cluster.inc +--source include/have_debug.inc --source include/have_debug_sync.inc +--source include/galera_have_debug_sync.inc --let $node_1=node_1 --let $node_2=node_2 diff --git a/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test index 0df9f0f88df..84b6c032fc6 100644 --- a/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test +++ b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test @@ -6,44 +6,34 @@ --source include/galera_cluster.inc +--connection node_1 + --let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; --source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 'on' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; ---source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; ---source include/wait_condition.inc --let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; --source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; ---source include/wait_condition.inc --let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; --source include/wait_condition.inc -SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; -SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; -SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; +SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; --connection node_2 --let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; --source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 'on' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; ---source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; ---source include/wait_condition.inc --let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; --source include/wait_condition.inc ---let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; ---source include/wait_condition.inc --let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; --source include/wait_condition.inc -SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; -SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; -SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; -SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected'; +SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; diff --git a/mysql-test/suite/galera_sr/t/galera_sr_v1_row_events.test b/mysql-test/suite/galera_sr/t/galera_sr_v1_row_events.test new file mode 100644 index 00000000000..d3d4d2d0c14 --- /dev/null +++ b/mysql-test/suite/galera_sr/t/galera_sr_v1_row_events.test @@ -0,0 +1,27 @@ +# +# Test that Galera SR continues to run even with --log-bin-use-v1-row-events=1 +# + +--source include/galera_cluster.inc +--source include/have_innodb.inc + +CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB; + +SET AUTOCOMMIT=OFF; +START TRANSACTION; +INSERT INTO t1 VALUES (1); + +--connection node_2 +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +SELECT COUNT(*) = 1 FROM t1; + +--connection node_1 +COMMIT; + +SET AUTOCOMMIT=ON; +UPDATE t1 SET f1 = 2 WHERE f1 = 1; + +--connection node_2 +SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; + +DROP TABLE t1; diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result index 8d93f02e61b..ef70b437a85 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result @@ -484,7 +484,7 @@ VARIABLE_SCOPE GLOBAL VARIABLE_TYPE INT UNSIGNED VARIABLE_COMMENT InnoDB system tablespace size to be set in recovery. NUMERIC_MIN_VALUE 0 -NUMERIC_MAX_VALUE 4294967295 +NUMERIC_MAX_VALUE 268435456 NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index bb8ae21a638..70eab5d2740 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,175 +23,207 @@ # ############################################################################## # -# Based on bb-10.4-release ee33c4a6946c4291f103437428e34a405193b270 +# Based on bb-10.4-release cc5b7fe11f942aaec8b2d6cc0b1142a4d6349f5f +# Fri May 8 17:51:45 2020 +0200 : Merge branch '10.3' into 10.4 -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.binary_to_hex : MDEV-20211 - Wrong result -main.cache_temporal_4265 : Modified in 10.4.12 -main.connect : MDEV-17282 - Wrong result -main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase' -main.connect2 : MDEV-13885 - Server crash -main.connect_debug : Modified in 10.4.12 -main.count_distinct2 : MDEV-11768 - timeout -main.create : Modified in 10.4.11 -main.create_delayed : MDEV-10605 - failed with timeout -main.create_drop_event : MDEV-16271 - Wrong result -main.create_or_replace2 : Modified in 10.4.12 -main.cte_nonrecursive : Modified in 10.4.12 -main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result -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.4.12 -main.delayed : MDEV-20961 - Assertion failure -main.delete_use_source : Modified in 10.4.12 -main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.4.12 -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.4.12 -main.dyncol : MDEV-19455 - Extra warning -main.engine_error_in_alter-8453 : Modified in 10.4.12 -main.error_simulation : Modified in 10.4.12 -main.events_2 : MDEV-13277 - Crash -main.events_bugs : MDEV-12892 - Crash; modified in 10.4.12 -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.flush_ssl : MDEV-21276 - Aria recovery failure -main.foreign_key : Modified in 10.4.12 -main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.12 -main.func_misc : Modified in 10.4.12 -main.func_regexp_pcre : Modified in 10.4.12 -main.func_regexp_pcre_debug : Modified in 10.4.12 -main.func_time : Modified in 10.4.12 -main.gis : MDEV-13411 - wrong result on P8 -main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset -main.group_by : Modified in 10.4.12 -main.having_cond_pushdown : Modified in 10.4.12 -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_icp : MDEV-20168 - Wrong execution plans -main.innodb_ext_key : MDEV-22119 - fails with NULL values -main.innodb_mysql_lock : MDEV-7861 - Wrong result -main.insert_debug : Added in 10.4.12 -main.ipv4_and_ipv6 : MDEV-20964 - Wrong result -main.ipv6 : MDEV-20964 - Wrong result -main.join : Modified in 10.4.12 -main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.4.12 -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.4.12 -main.log_tables-big : MDEV-13408 - wrong result -main.log_tables_upgrade : MDEV-20962 - Wrong result -main.mdev-504 : MDEV-15171 - warning -main.mdev375 : MDEV-10607 - sporadic "can't connect" -main.mdev6830 : Modified in 10.4.12 -main.merge : MDEV-10607 - sporadic "can't connect" -main.merge-big : Modified in 10.4.12 -main.merge_debug : Modified in 10.4.12 -main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out -main.myisam_debug : Modified in 10.4.12 -main.mysql : MDEV-20156 - Wrong result -main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; MDEV-19511 - Big endian issue -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_cp932 : MDEV-21275 - Wrong result -main.mysql_upgrade : MDEV-20161 - Wrong result; MDEV-20166 - FATAL ERROR: Upgrade failed -main.mysql_upgrade_no_innodb : MDEV-20537 - Wrong result -main.mysql_upgrade_noengine : MDEV-14355 - Wrong result -main.mysql_upgrade_view : MDEV-20161 - Wrong result -main.mysqladmin : MDEV-20535 - Wrong result -main.mysqlcheck : MDEV-20164 - Wrong result -main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap -main.mysqldump : MDEV-14800 - Stack smashing detected -main.mysqldump-max : MDEV-21272 - Wrong result -main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug -main.mysqlshow : MDEV-20965 - Wrong result -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.4.12 -main.order_by : Modified in 10.4.11 -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 : MDEV-20169 - Wrong result -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.4.11 -main.partition_mrr_innodb : Added in 10.4.11 -main.partition_mrr_myisam : Added in 10.4.11 -main.partition_pruning : Modified in 10.4.11 -main.plugin_auth : MDEV-20957 - Upgrade file was not properly created -main.plugin_auth_qa_2 : MDEV-20165 - Wrong result -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.4.12 -main.range_interrupted-13751 : Modified in 10.4.12 -main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away -main.rowid_filter_innodb : MDEV-20538 - Wrong result; modified in 10.4.12 -main.select : MDEV-20532 - Floating point differences -main.select_debug : Modified in 10.4.12 -main.select_jcl6 : MDEV-20532 - Floating point differences -main.select_pkeycache : MDEV-20532 - Floating point differences -main.selectivity : Modified in 10.4.11 -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.4.12 -main.show_explain_non_select : Modified in 10.4.12 -main.show_explain_ps : Modified in 10.4.12 -main.slowlog_enospace-10508 : Modified in 10.4.12 -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 : MDEV-20958 - Wrong result; modified in 10.4.12 -main.ssl_8k_key : Modified in 10.4.12 -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.4.11 -main.ssl_crl_clients : Modified in 10.4.12 -main.ssl_system_ca : Added in 10.4.12 -main.ssl_timeout : MDEV-11244 - Crash -main.stat_tables-enospc : Modified in 10.4.12 -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.timezone2 : Modified in 10.4.12 -main.tls_version : MDEV-21965 - old TLS versions don't work on latest Debian and Ubuntu releases -main.tls_version1 : MDEV-21965 - old TLS versions don't work on latest Debian and Ubuntu releases -main.type_blob : MDEV-15195 - Wrong result -main.type_datetime : Modified in 10.4.12 -main.type_datetime_hires : MDEV-10687 - Timeout -main.type_float : MDEV-20532 - Floating point differences -main.type_int : Modified in 10.4.12 -main.type_newdecimal : MDEV-20532 - Floating point differences -main.type_ranges : MDEV-20532 - Floating point differences -main.type_time : Modified in 10.4.12 -main.udf : MDEV-21976: Fails on Ubuntu Bionic 18.04, our Travis-CI platform -main.union_crash-714 : Modified in 10.4.12 -main.userstat : MDEV-12904 - SSL errors -main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query -main.warnings_debug : Modified in 10.4.12 -main.win : Modified in 10.4.12 -main.xa : MDEV-11769 - lock wait timeout -main.xml : MDEV-21968 - mysql crashes on test main.xml on arch armhf +main.alter_table_trans : MDEV-12084 - timeout +main.alter_user : Modified in 10.4.13 +main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result +main.auth_named_pipe : MDEV-14724 - System error 2 +main.backup_interaction : Modified in 10.4.13 +main.binary_to_hex : MDEV-20211 - Wrong result +main.cache_temporal_4265 : Modified in 10.4.12 +main.column_compression : Modified in 10.4.13 +main.connect : MDEV-17282 - Wrong result +main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase' +main.connect2 : MDEV-13885 - Server crash +main.connect_debug : Modified in 10.4.12 +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.4.12 +main.cte_nonrecursive : Modified in 10.4.13 +main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result +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.4.12 +main.default_storage_engine : Modified in 10.4.13 +main.delayed : MDEV-20961 - Assertion failure +main.delete_use_source : Modified in 10.4.12 +main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.4.13 +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.4.12 +main.dyncol : MDEV-19455 - Extra warning +main.engine_error_in_alter-8453 : Modified in 10.4.12 +main.error_simulation : Modified in 10.4.12 +main.errors : Modified in 10.4.13 +main.events_2 : MDEV-13277 - Crash +main.events_bugs : MDEV-12892 - Crash; modified in 10.4.12 +main.events_restart : MDEV-12236 - Server shutdown problem; modified in 10.4.13 +main.events_slowlog : MDEV-12821 - Wrong result +main.failed_auth_3909 : Modified in 10.4.13 +main.failed_auth_unixsocket : Modified in 10.4.13 +main.flush : MDEV-19368 - mysqltest failed but provided no output +main.flush_ssl : MDEV-21276 - Aria recovery failure +main.foreign_key : Modified in 10.4.12 +main.fulltext : Modified in 10.4.13 +main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.13 +main.func_misc : Modified in 10.4.12 +main.func_regexp_pcre : Modified in 10.4.12 +main.func_regexp_pcre_debug : Modified in 10.4.12 +main.func_str : Modified in 10.4.13 +main.func_time : Modified in 10.4.12 +main.gis : MDEV-13411 - wrong result on P8; modified in 10.4.13 +main.gis-rtree : Modified in 10.4.13 +main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset +main.grant : Modified in 10.4.13 +main.grant2 : Modified in 10.4.13 +main.grant5 : Modified in 10.4.13 +main.grant_repair : Added in 10.4.13 +main.group_by : Modified in 10.4.13 +main.having_cond_pushdown : Modified in 10.4.12 +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.4.13 +main.innodb_icp : MDEV-20168 - Wrong execution plans; include file modified in 10.4.13 +main.innodb_mysql_lock : Modified in 10.4.13 +main.insert_debug : Added in 10.4.12 +main.invisible_field_grant_completely : MDEV-22254 - Syscall param write points to uninitialised bytes +main.ipv4_and_ipv6 : MDEV-20964 - Wrong result +main.ipv6 : MDEV-20964 - Wrong result +main.join : Modified in 10.4.12 +main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.4.13 +main.key : Modified in 10.4.13 +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.4.13 +main.lock_user : Modified in 10.4.13 +main.log_slow : MDEV-13263 - Wrong result +main.log_slow_debug : Modified in 10.4.12 +main.log_tables-big : MDEV-13408 - wrong result +main.log_tables_upgrade : MDEV-20962 - Wrong result +main.long_unique_bugs : Modified in 10.4.13 +main.lowercase_fs_off : Modified in 10.4.13 +main.mdev-504 : MDEV-15171 - warning +main.mdev375 : MDEV-10607 - sporadic "can't connect"; modified in 10.4.13 +main.mdev6830 : Modified in 10.4.12 +main.merge : MDEV-10607 - sporadic "can't connect" +main.merge-big : Modified in 10.4.12 +main.merge_debug : Modified in 10.4.12 +main.multi_update : Modified in 10.4.13 +main.multi_update_debug : Modified in 10.4.13 +main.myisam_debug : Modified in 10.4.12 +main.myisam_icp : Include file modified in 10.4.13 +main.mysql : MDEV-20156 - Wrong result +main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; MDEV-19511 - Big endian issue; modified in 10.4.13 +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_cp932 : MDEV-21275 - Wrong result +main.mysql_upgrade : MDEV-20161 - Wrong result; MDEV-20166 - FATAL ERROR: Upgrade failed; modified in 10.4.13 +main.mysql_upgrade-6984 : MDEV-22514 - Wrong result; modified in 10.4.13 +main.mysql_upgrade_no_innodb : MDEV-20537 - Wrong result +main.mysql_upgrade_noengine : MDEV-14355 - Wrong result +main.mysql_upgrade_view : MDEV-20161 - Wrong result +main.mysqladmin : MDEV-20535 - Wrong result +main.mysqlcheck : MDEV-20164 - Wrong result +main.mysqld--defaults-file : Modified in 10.4.13 +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.4.13 +main.mysqldump-max : MDEV-21272 - Wrong result +main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug +main.mysqlshow : MDEV-20965 - Wrong result +main.mysqlslap : MDEV-11801 - timeout +main.mysqltest : MDEV-13887 - Wrong result +main.mysqltest_tracking_info : Modified in 10.4.13 +main.old-mode : MDEV-19373 - Wrong result +main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.opt_trace : Modified in 10.4.13 +main.opt_tvc : Modified in 10.4.12 +main.order_by_optimizer_innodb : MDEV-10683 - Wrong result +main.parser : Modified in 10.4.13 +main.partition_alter : Modified in 10.4.13 +main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock +main.partition_innodb : MDEV-20169 - Wrong result; modified in 10.4.13 +main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings +main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 +main.partition_innodb_stmt : MDEV-20213 - Server crash +main.partition_mrr_aria : Include file modified in 10.4.13 +main.partition_mrr_innodb : Include file modified in 10.4.13 +main.partition_mrr_myisam : Modified in 10.4.13 +main.partition_range : Modified in 10.4.13 +main.plugin_auth : MDEV-20957 - Upgrade file was not properly created +main.plugin_auth_qa_2 : MDEV-20165 - Wrong result +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.4.13 +main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count +main.ps_grant : Modified in 10.4.13 +main.query_cache : MDEV-16180 - Wrong result +main.query_cache_debug : MDEV-15281 - Query cache is disabled +main.range : Modified in 10.4.13 +main.range_innodb : Modified in 10.4.13 +main.range_interrupted-13751 : Modified in 10.4.12 +main.range_vs_index_merge : Modified in 10.4.13 +main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away +main.rowid_filter : Modified in 10.4.13 +main.rowid_filter_innodb : MDEV-20538 - Wrong result; modified in 10.4.13 +main.rpl_mysql_upgrade_slave_repo_check : Added in 10.4.13 +main.select : MDEV-20532 - Floating point differences +main.select_debug : Modified in 10.4.12 +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.4.12 +main.show_explain_non_select : Modified in 10.4.12 +main.show_explain_ps : Modified in 10.4.12 +main.slowlog_enospace-10508 : Modified in 10.4.12 +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 : MDEV-20958 - Wrong result; modified in 10.4.12 +main.ssl_8k_key : Modified in 10.4.12 +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 +main.ssl_crl_clients : Modified in 10.4.12 +main.ssl_system_ca : Added in 10.4.12 +main.ssl_timeout : MDEV-11244 - Crash +main.stat_tables-enospc : Modified in 10.4.12 +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.subselect_sj2_mat : Modified in 10.4.13 +main.tc_heuristic_recover : MDEV-14189 - Wrong result +main.timezone2 : Modified in 10.4.12 +main.tls_version : MDEV-21965 - SSL connection error; MDEV-21965 - SSL connection error +main.tls_version1 : MDEV-21965 - SSL connection error; MDEV-21965 - SSL connection error +main.type_blob : MDEV-15195 - Wrong result; modified in 10.4.13 +main.type_datetime : Modified in 10.4.12 +main.type_datetime_hires : MDEV-10687 - Timeout +main.type_float : MDEV-20532 - Floating point differences +main.type_int : Modified in 10.4.12 +main.type_newdecimal : MDEV-20532 - Floating point differences +main.type_ranges : MDEV-20532 - Floating point differences +main.type_time : Modified in 10.4.12 +main.union_crash-714 : Modified in 10.4.12 +main.upgrade_MDEV-19650 : Added in 10.4.13 +main.userstat : MDEV-12904 - SSL errors +main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query +main.warnings_debug : Modified in 10.4.12 +main.win : Modified in 10.4.12 +main.xa : MDEV-11769 - lock wait timeout #----------------------------------------------------------------------- @@ -209,7 +241,8 @@ 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.4.12 +binlog.binlog_innodb : MDEV-22516 - Wrong result +binlog.binlog_invalid_read_in_rotate : MDEV-22455 - Server crash; added in 10.4.12 binlog.binlog_ioerr : MDEV-20159 - Assertion failure; include file modified in 10.2.31 binlog.binlog_killed : MDEV-12925 - Wrong result binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown @@ -218,7 +251,7 @@ binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files dif binlog.binlog_parallel_replication_marks_row : Include file modified in 10.4.12 binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.4.12 binlog.binlog_row_binlog : MDEV-20213 - Server crash -binlog.binlog_show_binlog_event_random_pos : Added in 10.4.12 +binlog.binlog_show_binlog_event_random_pos : MDEV-22473 - Server crash; added in 10.4.12 binlog.binlog_stm_binlog : MDEV-20412 - Wrong result binlog.binlog_write_error : Include file Include file modified in 10.2.31 binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint @@ -238,16 +271,17 @@ binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't 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-20213 - Server crash; MDEV-21289 - Wrong error code -binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash +binlog_encryption.mysqlbinlog : MDEV-20213 - Server crash +binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash; include file include file modified in 10.4.13 binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result; include file modified in 10.4.12 -binlog_encryption.rpl_corruption : MDEV-20159 - Assertion failure; MDEV-20953 - Wrong error code; include file modified in 10.4.12 +binlog_encryption.rpl_corruption : MDEV-20159 - Assertion failure; MDEV-20953 - Wrong error code; include file modified in 10.4.13 binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start -binlog_encryption.rpl_incident : Include file modified in 10.4.12 +binlog_encryption.rpl_incident : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; include file modified in 10.4.12 binlog_encryption.rpl_init_slave_errors : MDEV-20213 - Server crash; include file modified in 10.4.12 binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include binlog_encryption.rpl_mixed_binlog_max_cache_size : MDEV-20956 - Incorrect checksum for freed object binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include; include file modified in 10.4.12 -binlog_encryption.rpl_parallel_ignored_errors : Include file modified in 10.4.12 +binlog_encryption.rpl_parallel_ignored_errors : MDEV-22471 - Slave crash; include file modified in 10.4.12 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 @@ -272,6 +306,7 @@ connect.grant2 : Modified in 10.1.44 connect.ini_grant : Modified in 10.1.44 connect.json : MDEV-18135 - SSL error: key too small connect.mysql_grant : Modified in 10.1.44 +connect.mysql_index : Modified in 10.4.13 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 @@ -283,6 +318,10 @@ connect.zip : MDEV-13884 - Wrong result #----------------------------------------------------------------------- +disks.disks_notembedded : MDEV-21587 - Wrong result + +#----------------------------------------------------------------------- + encryption.corrupted_during_recovery : MDEV-20159 - Assertion failure encryption.create_or_replace : MDEV-16115 - Trying to access tablespace encryption.debug_key_management : MDEV-13841 - Timeout @@ -307,7 +346,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 @@ -322,7 +361,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 #----------------------------------------------------------------------- @@ -334,12 +374,13 @@ engines/rr_trx.* : MDEV-10998 - Not maintained #----------------------------------------------------------------------- -federated.federated_bug_35333 : MDEV-13410 - Wrong result -federated.federated_bug_585688 : MDEV-14805 - Server crash, MDEV-12907 - Valgrind -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.4.11 +federated.federated_bug_35333 : MDEV-13410 - Wrong result +federated.federated_bug_585688 : MDEV-14805 - Server crash, MDEV-12907 - Valgrind +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 +federated.federatedx_create_handlers : Modified in 10.4.13 #----------------------------------------------------------------------- @@ -370,37 +411,47 @@ 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.4.12 +gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.4.13 gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure #----------------------------------------------------------------------- innodb.101_compatibility : MDEV-13891 - Wrong result +innodb.alter_algorithm : Modified in 10.4.13 +innodb.alter_algorithm2 : Added in 10.4.13 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.4.13 innodb.alter_not_null_debug : Modified in 10.4.12 innodb.autoinc_persist : MDEV-15282 - Assertion failure innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.blob-crash : MDEV-19298 - Assertion failure innodb.blob-update-debug : Modified in 10.4.12 +innodb.buf_pool_resize_oom : Added in 10.4.13 +innodb.corrupted_during_recovery : Modified in 10.4.13 +innodb.create-index : MDEV-20159 - Assertion failure +innodb.default_row_format_compatibility : MDEV-20159 - Assertion failure innodb.doublewrite : MDEV-12905 - Server crash +innodb.foreign_key : Modified in 10.4.13 +innodb.foreign_key_debug : Added in 10.4.13 innodb.full_crc32_import : Modified in 10.4.12 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.4.11 -innodb.innodb-32k-crash : MDEV-20194 - Extra warnings; modified in 10.4.11 -innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup; modified in 10.4.11 +innodb.ibuf_not_empty : MDEV-19021 - Wrong result +innodb.innodb-32k-crash : MDEV-20194 - Extra warnings +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.4.13 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.4.13 innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query innodb.innodb-dict : MDEV-20159 - Assertion failure 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.4.11 +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 @@ -410,10 +461,12 @@ innodb.innodb-replace-debug : Modified in 10.4.12 innodb.innodb-stats-initialize-failure : Modified in 10.4.12 innodb.innodb-table-online : MDEV-13894 - Wrong result innodb.innodb-timeout : MDEV-20159 - Assertion failure -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.4.13 +innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno; modified in 10.4.13 innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc +innodb.innodb_buffer_pool_load_now : Added in 10.4.13 innodb.innodb_buffer_pool_resize : MDEV-16964 - Assertion failure +innodb.innodb_buffer_pool_resize_debug : MDEV-22515 - Timeout in wait_condition; added in 10.4.13 innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure innodb.innodb_bug11754376 : Modified in 10.4.12 innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt @@ -425,10 +478,11 @@ innodb.innodb_bug56947 : Modified in 10.4.12 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.4.12 +innodb.innodb_defrag_concurrent : Modified in 10.4.13 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.4.11 -innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result; modified in 10.4.11 +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_prefix_index_restart_server : MDEV-20213 - Server crash @@ -437,24 +491,25 @@ 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.4.12 +innodb.innodb_sys_var_valgrind : Added in 10.4.13 innodb.innodb_wl6326 : Added in 10.4.12 innodb.innodb_wl6326_big : Added in 10.4.12 innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks -innodb.instant_alter : Modified in 10.4.12 -innodb.instant_alter_bugs : Modified in 10.4.11 -innodb.instant_alter_debug : Modified in 10.4.11 +innodb.instant_alter : Modified in 10.4.13 +innodb.instant_alter_bugs : Modified in 10.4.13 +innodb.instant_alter_charset : Modified in 10.4.13 +innodb.instant_alter_debug : Modified in 10.4.13 innodb.instant_alter_extend : MDEV-20963 - Binary files differ -innodb.instant_alter_limit : Modified in 10.4.11 -innodb.leaf_page_corrupted_during_recovery : MDEV-21572 - Server crash +innodb.instant_alter_index_rename : Modified in 10.4.13 innodb.log_corruption : MDEV-13251 - Wrong result innodb.log_data_file_size : MDEV-14204 - Server failed to start; MDEV-20648 - Assertion failure innodb.log_file : MDEV-20159 - Assertion failure innodb.log_file_name : MDEV-14193 - Exception +innodb.log_file_name_debug : Modified in 10.4.13 innodb.log_file_size : MDEV-15668 - Not found pattern innodb.monitor : MDEV-16179 - Wrong result innodb.page_id_innochecksum : MDEV-20159 - Assertion failure 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 @@ -464,55 +519,68 @@ innodb.row_size_error_log_warnings_3 : Modified in 10.4.12 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.4.11 innodb.undo_truncate : MDEV-17340 - Server hung; MDEV-20840 - Sporadic timeout innodb.undo_truncate_recover : MDEV-17679 - Server has gone away; MDEV-19200 - Shutdown fails innodb.update_time : MDEV-14804 - Wrong result innodb.xa_recovery : MDEV-15279 - mysqld got exception +innodb.xa_recovery_debug : Added in 10.4.13 #----------------------------------------------------------------------- innodb_fts.concurrent_insert : Modified in 10.4.12 -innodb_fts.innodb_fts_misc : Modified in 10.4.11 +innodb_fts.innodb_fts_misc : Modified in 10.4.13 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.4.13 +innodb_fts.misc_debug2 : Added in 10.4.13 +innodb_fts.stopword : Added in 10.4.13 +innodb_fts.sync : Modified in 10.4.13 innodb_fts.sync_block : Modified in 10.4.12 -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 : Modified in 10.4.13 +innodb_gis.bug16266012 : Modified in 10.4.13 +innodb_gis.geometry : Modified in 10.4.13 +innodb_gis.gis_split_inf : Modified in 10.4.13 +innodb_gis.gis_split_nan : MDEV-21678 - Cannot get geometry object innodb_gis.innodb_gis_rtree : MDEV-20213 - Server crash +innodb_gis.point_big : Re-enabled in 10.4.13 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.4.12 +innodb_gis.rtree_multi_pk : Modified in 10.4.13 innodb_gis.rtree_purge : MDEV-15275 - Timeout innodb_gis.rtree_recovery : MDEV-15274 - Error on check innodb_gis.rtree_rollback1 : Modified in 10.4.12 innodb_gis.rtree_rollback2 : Modified in 10.4.12 -innodb_gis.rtree_split : MDEV-14208 - Too many arguments +innodb_gis.rtree_split : MDEV-14208 - Too many arguments; modified in 10.4.13 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.4.11 -innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.4.12 -innodb_zip.innochecksum : MDEV-14486 - Server failed to shut down -innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings -innodb_zip.prefix_index_liftedlimit : Modified in 10.4.11 -innodb_zip.restart : MDEV-20213 - Server crash -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.4.12 +innodb_zip.index_large_prefix_4k : MDEV-21679 - Row size too large +innodb_zip.innochecksum : MDEV-14486 - Server failed to shut down +innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings +innodb_zip.recover : MDEV-22512 - Server failed to restart +innodb_zip.restart : MDEV-20213 - Server crash +innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2; modified in 10.4.13 +innodb_zip.wl5522_zip : Modified in 10.4.13 +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 #----------------------------------------------------------------------- maria.aria_pack_mdev14183 : Added in 10.4.12 +maria.icp : Include file modified in 10.4.13 maria.insert_select : MDEV-12757 - Timeout maria.insert_select-7314 : MDEV-16492 - Timeout maria.maria : MDEV-14430 - Extra warning @@ -520,36 +588,49 @@ 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.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.4.11 -mariabackup.incremental_encrypted : MDEV-15667 - timeout -mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file -mariabackup.innodb_redo_log_overwrite : Added in 10.4.12 -mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result -mariabackup.mdev-14447 : MDEV-15201 - Timeout -mariabackup.partial : MDEV-19298 - Assertion failure -mariabackup.partial_exclude : MDEV-15270 - Error on exec -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 -mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11 -mariabackup.xb_partition : MDEV-17584 - Crash upon shutdown -mariabackup.xb_rocksdb : MDEV-17338 - Server hung on shutdown +mariabackup.* : suite.pm modified in 10.4.13 +mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result +mariabackup.apply-log-only : MDEV-20135 - Timeout +mariabackup.backup_lock_wait_timeout : Added in 10.4.13 +mariabackup.create_with_data_directory_during_backup : MDEV-20159 - Assertion failure +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 +mariabackup.incremental_encrypted : MDEV-15667 - timeout +mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file +mariabackup.innodb_redo_log_overwrite : Added in 10.4.12 +mariabackup.innodb_xa_rollback : MDEV-22398 - Log sequence number is in the future; added in 10.4.13 +mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result +mariabackup.mdev-14447 : MDEV-15201 - Timeout +mariabackup.partial : MDEV-19298 - Assertion failure +mariabackup.partial_exclude : MDEV-15270 - Error on exec; modified in 10.4.13 +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 +mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11 +mariabackup.xb_partition : MDEV-17584 - Crash upon shutdown +mariabackup.xb_rocksdb : MDEV-17338 - Server hung on shutdown #----------------------------------------------------------------------- -mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_max : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_out_of_range : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_date_32bit_equal : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - Valgrind -mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message +mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_max : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_out_of_range : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_date_32bit_equal : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - Valgrind +mroonga/storage.optimization_count_skip_index_between : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_index_greater : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_index_greater_equal : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_index_less : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_index_less_equal : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_primary_key_between : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_primary_key_greater : Modified in 10.4.13 +mroonga/storage.optimization_count_skip_primary_key_greater_equal : Modified in 10.4.13 +mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message +mroonga/storage.variable_max_n_records_for_estimate_not_found_in_limit : Modified in 10.4.13 #----------------------------------------------------------------------- @@ -580,10 +661,15 @@ optimizer_unfixed_bugs.bug43617 : Modified in 10.4.12 #----------------------------------------------------------------------- +oqgraph.social : MDEV-22280 - Timeout; MDEV-22280 - Timeout + +#----------------------------------------------------------------------- + parts.partition_alter1_1_2_innodb : MDEV-18655 - ASAN unknown crash parts.partition_alter1_1_innodb : MDEV-18655 - ASAN unknown crash parts.partition_alter1_2_innodb : MDEV-18655 - ASAN unknown crash parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query +parts.partition_alter_instant : Added in 10.4.13 parts.partition_auto_increment_archive : MDEV-16491 - Marked as crashed and should be repaired parts.partition_auto_increment_maria : MDEV-14430 - Extra warning parts.partition_basic_innodb : MDEV-20214 - ASAN error @@ -591,7 +677,7 @@ parts.partition_debug : Modified in 10.4.12 parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist; modified in 10.4.12 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.partition_special_innodb : MDEV-16942 - Timeout; modified in 10.4.13 #----------------------------------------------------------------------- @@ -599,6 +685,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 @@ -640,7 +727,6 @@ perfschema.hostcache_ipv6_nameinfo_noname_deny : Modified in 10.4.12 perfschema.hostcache_ipv6_passwd : Modified in 10.4.12 perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash; modified in 10.4.12 perfschema.hostcache_peer_addr : MDEV-21462 - Test condition timeout; modified in 10.4.12 -perfschema.misc : Modified in 10.4.11 perfschema.pfs_upgrade_event : MDEV-20957 - Wrong result perfschema.pfs_upgrade_func : MDEV-20957 - Upgrade file was not properly created perfschema.pfs_upgrade_proc : MDEV-20533 - Upgrade file was not properly created @@ -656,7 +742,6 @@ perfschema.stage_mdl_function : MDEV-20157 - Wrong result perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders perfschema.stage_mdl_procedure : MDEV-11545 - Missing row perfschema.stage_mdl_table : MDEV-12638 - Wrong result -perfschema.start_server_innodb : MDEV-21573 - Wrong result perfschema.start_server_low_digest : MDEV-21221 - Wrong result perfschema.threads_mysql : MDEV-10677 - Wrong result @@ -666,15 +751,16 @@ perfschema_stress.* : MDEV-10996 - Not maintained #----------------------------------------------------------------------- -period.delete : Modified in 10.4.11 +period.alter : Modified in 10.4.13 +period.update : Modified in 10.4.13 period.versioning : MDEV-20159 - Assertion failure #----------------------------------------------------------------------- plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such -plugins.multiauth : MDEV-20163 - Plugin could not be loaded +plugins.multiauth : MDEV-20163 - Plugin could not be loaded; modified in 10.4.13 plugins.processlist : MDEV-16574 - Wrong result -plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.4.11 +plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.4.13 plugins.thread_pool_server_audit : MDEV-14295 - Wrong result #----------------------------------------------------------------------- @@ -715,141 +801,149 @@ rocksdb_sys_vars.rocksdb_rate_limiter_bytes_per_sec_basic : MDEV-16639 - Crash #----------------------------------------------------------------------- roles.create_and_grant_role : MDEV-11772 - wrong result +roles.grant_revoke_current : Modified in 10.4.13 #----------------------------------------------------------------------- -rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.4.12 -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 -rpl.create_select : MDEV-14121 - Assertion failure -rpl.kill_race_condition : Modified in 10.4.12 -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_grant : MDEV-21274 - Lost connection at handshake -rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master -rpl.rpl_binlog_rollback_cleanup : Added in 10.4.12 -rpl.rpl_bug33931 : Modified in 10.4.12 -rpl.rpl_bug41902 : Modified in 10.4.12 -rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown -rpl.rpl_checksum : Include file modified in 10.2.31 -rpl.rpl_circular_for_4_hosts : MDEV-20536 - Server crash -rpl.rpl_colSize : MDEV-16112 - Server crash -rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code -rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac -rpl.rpl_ddl : MDEV-10417 - Fails on Mips -rpl.rpl_domain_id_filter : MDEV-20213 - Server crash -rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.4.12 -rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed; modified in 10.4.12 -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_dual_pos_advance : MDEV-20213 - Server crash -rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning -rpl.rpl_extra_col_master_myisam : MDEV-14203 - Extra warning -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.4.12 -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 -rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash -rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings -rpl.rpl_gtid_reconnect : MDEV-14497 - Crash; modified in 10.4.12 -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_until : MDEV-10625 - warnings in error log -rpl.rpl_heartbeat : MDEV-20213 - Server crash -rpl.rpl_heartbeat_debug : Modified in 10.4.12 -rpl.rpl_ignore_grant : MDEV-20159 - Assertion failure -rpl.rpl_ignore_table_update : MDEV-20159 - Assertion failure -rpl.rpl_incident : Include file modified in 10.2.31 -rpl.rpl_init_slave_errors : Include file modified in 10.2.31 -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 -rpl.rpl_insert_id : MDEV-15197 - Wrong result -rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure -rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query -rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips -rpl.rpl_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object -rpl.rpl_lcase_tblnames_rewrite_db : MDEV-20213 - Server crash -rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog; modified in 10.4.12 -rpl.rpl_mdev-11092 : Modified in 10.4.11 -rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed -rpl.rpl_mdev6020 : MDEV-15272 - Server crash -rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout -rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait -rpl.rpl_parallel : MDEV-10653 - Timeouts -rpl.rpl_parallel2 : MDEV-17390 - Operation cannot be performed -rpl.rpl_parallel_conflicts : MDEV-15272 - Server crash -rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure -rpl.rpl_parallel_multilevel : MDEV-20160 - Server crash -rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout -rpl.rpl_parallel_optimistic : MDEV-15278 - Failed to sync with master; modified in 10.4.12 -rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master -rpl.rpl_parallel_retry : MDEV-11119 - Crash; MDEV-17109 - Timeout -rpl.rpl_parallel_temptable : MDEV-10356 - Crash; MDEV-19076 - Wrong result -rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips -rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings -rpl.rpl_read_only : MDEV-20159 - Assertion failure -rpl.rpl_relayrotate : MDEV-20213 - Server crash -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.4.12 -rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking -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.4.12 -rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_img_eng_min : MDEV-13875 - diff_files failed -rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_index_choice : MDEV-15196 - Slave crash; modified in 10.4.12 -rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x -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 -rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result -rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings -rpl.rpl_semi_sync_gtid_reconnect : Added in 10.4.11 -rpl.rpl_semi_sync_skip_repl : Modified in 10.4.12 -rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures -rpl.rpl_semi_sync_wait_no_slave : MDEV-20159 - Assertion failure -rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition -rpl.rpl_semisync_ali_issues : MDEV-16272 - Wrong result -rpl.rpl_set_null_myisam : MDEV-20213 - Server crash -rpl.rpl_set_statement_default_master : MDEV-13258 - Extra warning -rpl.rpl_show_slave_hosts : MDEV-10681 - Crash -rpl.rpl_show_slave_running : Modified in 10.4.12 -rpl.rpl_shutdown_wait_semisync_slaves : MDEV-20213 - Server crash -rpl.rpl_skip_replication : MDEV-13258 - Extra warning -rpl.rpl_slave_grp_exec : MDEV-10514 - Deadlock -rpl.rpl_slave_load_in : MDEV-20159 - Assertion failure -rpl.rpl_slave_load_remove_tmpfile : Modified in 10.4.12 -rpl.rpl_slave_load_tmpdir_not_exist : MDEV-14203 - Extra warning -rpl.rpl_slave_shutdown_mdev20821 : Added in 10.4.12 -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_lcase_tblnames : Modified in 10.4.12 -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.4.12 -rpl.rpl_stop_slave : Modified in 10.4.12 -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_test_framework : MDEV-19368 - mysqltest failed but provided no output -rpl.rpl_trigger : MDEV-18055 - Wrong result -rpl.rpl_truncate_3innodb : MDEV-19454 - Syntax error -rpl.rpl_user_variables : MDEV-20522 - Wrong result -rpl.rpl_variables : MDEV-20150 - Server crash -rpl.rpl_view_debug : Modified in 10.4.12 -rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result -rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout +rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.4.13 +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 +rpl.create_select : MDEV-14121 - Assertion failure +rpl.kill_race_condition : Modified in 10.4.12 +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; include file modified in 10.4.13 +rpl.rpl_binlog_grant : MDEV-21274 - Lost connection at handshake +rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master +rpl.rpl_binlog_rollback_cleanup : Added in 10.4.12 +rpl.rpl_bug33931 : Modified in 10.4.12 +rpl.rpl_bug41902 : Configuration deleted in 10.4.13 +rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown +rpl.rpl_checksum : Include file modified in 10.2.31 +rpl.rpl_checksum_cache : MDEV-22510 - Server crash +rpl.rpl_circular_for_4_hosts : MDEV-20536 - Server crash +rpl.rpl_colSize : MDEV-16112 - Server crash +rpl.rpl_conditional_comments : Modified in 10.4.13 +rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code; include file modified in 10.4.13 +rpl.rpl_create_tmp_table_if_not_exists : MDEV-20159 - Assertion failure +rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac +rpl.rpl_ddl : MDEV-10417 - Fails on Mips +rpl.rpl_domain_id_filter : MDEV-20213 - Server crash +rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.4.13 +rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed; modified in 10.4.12 +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_dual_pos_advance : MDEV-20213 - Server crash +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.4.13 +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 : Re-enabled in 10.4.13; include file modified in 10.4.13 +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 +rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash +rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings +rpl.rpl_gtid_reconnect : MDEV-14497 - Crash; modified in 10.4.12 +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.4.13 +rpl.rpl_gtid_until : MDEV-10625 - warnings in error log +rpl.rpl_heartbeat : MDEV-20213 - Server crash +rpl.rpl_heartbeat_debug : Modified in 10.4.12 +rpl.rpl_ignore_grant : MDEV-20159 - Assertion failure +rpl.rpl_ignore_table : Modified in 10.4.13 +rpl.rpl_ignore_table_update : MDEV-20159 - Assertion failure +rpl.rpl_incident : Include file modified in 10.2.31 +rpl.rpl_init_slave_errors : Include file modified in 10.2.31 +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 +rpl.rpl_insert_id : MDEV-15197 - Wrong result +rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure +rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query +rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips +rpl.rpl_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object +rpl.rpl_lcase_tblnames_rewrite_db : MDEV-20213 - Server crash +rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog; modified in 10.4.12 +rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed +rpl.rpl_mdev6020 : MDEV-15272 - Server crash +rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout +rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait +rpl.rpl_parallel : MDEV-10653 - Timeouts +rpl.rpl_parallel2 : MDEV-17390 - Operation cannot be performed +rpl.rpl_parallel_conflicts : MDEV-15272 - Server crash +rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure +rpl.rpl_parallel_multilevel : MDEV-20160 - Server crash +rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout +rpl.rpl_parallel_optimistic : MDEV-15278 - Failed to sync with master; modified in 10.4.12 +rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master +rpl.rpl_parallel_retry : MDEV-11119 - Crash; MDEV-17109 - Timeout +rpl.rpl_parallel_temptable : MDEV-10356 - Crash; MDEV-19076 - Wrong result +rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips +rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings +rpl.rpl_plugin_load : MDEV-20213 - Server crash +rpl.rpl_read_only : MDEV-20159 - Assertion failure +rpl.rpl_relayrotate : MDEV-20213 - Server crash +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.4.12 +rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; modified in 10.4.13 +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.4.12 +rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_img_eng_min : MDEV-13875 - diff_files failed +rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_index_choice : MDEV-15196 - Slave crash; modified in 10.4.12 +rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x +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 +rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result +rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings +rpl.rpl_semi_sync_skip_repl : Modified in 10.4.12 +rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures +rpl.rpl_semi_sync_wait_no_slave : MDEV-20159 - Assertion failure +rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition +rpl.rpl_semisync_ali_issues : MDEV-16272 - Wrong result +rpl.rpl_set_null_myisam : MDEV-20213 - Server crash +rpl.rpl_set_statement_default_master : MDEV-13258 - Extra warning +rpl.rpl_show_slave_hosts : MDEV-10681 - Crash +rpl.rpl_show_slave_running : Modified in 10.4.12 +rpl.rpl_shutdown_wait_semisync_slaves : MDEV-20213 - Server crash +rpl.rpl_shutdown_wait_slaves : MDEV-22517 - Timeout on sync_with_master +rpl.rpl_skip_replication : MDEV-13258 - Extra warning +rpl.rpl_slave_grp_exec : MDEV-10514 - Deadlock +rpl.rpl_slave_load_in : MDEV-20159 - Assertion failure +rpl.rpl_slave_load_remove_tmpfile : Modified in 10.4.12 +rpl.rpl_slave_load_tmpdir_not_exist : MDEV-14203 - Extra warning +rpl.rpl_slave_shutdown_mdev20821 : Added in 10.4.12 +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_lcase_tblnames : Modified in 10.4.12 +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.4.13 +rpl.rpl_stop_slave : Modified in 10.4.12 +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_test_framework : MDEV-19368 - mysqltest failed but provided no output +rpl.rpl_trigger : MDEV-18055 - Wrong result +rpl.rpl_truncate_3innodb : MDEV-19454 - Syntax error +rpl.rpl_upgrade_master_info : MDEV-16567 - Assertion failure +rpl.rpl_user_variables : MDEV-20522 - Wrong result +rpl.rpl_variables : MDEV-20150 - Server crash +rpl.rpl_view_debug : Modified in 10.4.12 +rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result +rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout #----------------------------------------------------------------------- @@ -870,9 +964,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 #----------------------------------------------------------------------- @@ -888,8 +981,10 @@ spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x #----------------------------------------------------------------------- -spider/bugfix.return_found_rows_insert : Added in 10.4.11 -spider/bugfix.return_found_rows_update : Added in 10.4.11 +spider/bugfix.mdev_20502 : Added in 10.4.13 +spider/bugfix.mdev_21884 : Added in 10.4.13 +spider/bugfix.return_found_rows_insert : Modified in 10.4.13 +spider/bugfix.return_found_rows_update : Modified in 10.4.13 #----------------------------------------------------------------------- @@ -897,39 +992,8 @@ spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained #----------------------------------------------------------------------- -spider/regression/e1121.load_data_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_ddi1 : Added in 10.4.11 -spider/regression/e1121.load_data_ignore_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_ignore_ddi1 : Added in 10.4.11 -spider/regression/e1121.load_data_local_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_local_ddi1 : Added in 10.4.11 -spider/regression/e1121.load_data_local_ignore_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_local_ignore_ddi1 : Added in 10.4.11 -spider/regression/e1121.load_data_local_replace_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_local_replace_ddi1 : Added in 10.4.11 -spider/regression/e1121.load_data_replace_ddi0 : Added in 10.4.11 -spider/regression/e1121.load_data_replace_ddi1 : Added in 10.4.11 - -#----------------------------------------------------------------------- - -spider/regression/e112122.load_data_part_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_ddi1 : Added in 10.4.11 -spider/regression/e112122.load_data_part_ignore_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_ignore_ddi1 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_ddi1 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_ignore_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_ignore_ddi1 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_replace_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_local_replace_ddi1 : Added in 10.4.11 -spider/regression/e112122.load_data_part_replace_ddi0 : Added in 10.4.11 -spider/regression/e112122.load_data_part_replace_ddi1 : Added in 10.4.11 - -#----------------------------------------------------------------------- - sql_sequence.concurrent_create : MDEV-16635 - Server crash -sql_sequence.rebuild : Added in 10.4.11 -sql_sequence.view : Modified in 10.4.11 +sql_sequence.rebuild : Modified in 10.4.13 #----------------------------------------------------------------------- @@ -941,12 +1005,14 @@ stress.ddl_innodb : MDEV-10635 - Testcase timeout #----------------------------------------------------------------------- +sys_vars.alter_algorithm_basic : Added in 10.4.13 sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x sys_vars.debug_dbug_func : Modified in 10.4.12 sys_vars.host_cache_size_auto : MDEV-20112 - Wrong result sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error sys_vars.innodb_buffer_pool_size_basic : Modified in 10.4.12 sys_vars.innodb_checksum_algorithm_basic : MDEV-21568 - Errno: 2000 +sys_vars.innodb_instant_alter_column_allowed_basic : Added in 10.4.13 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 @@ -976,6 +1042,7 @@ tokudb.locks-select-update-1 : MDEV-13406 - Lock wait timeout tokudb.rows-32m-rand-insert : MDEV-12640 - Crash tokudb.rows-32m-seq-insert : MDEV-12640 - Crash tokudb.savepoint-5 : MDEV-15280 - Wrong result +tokudb.type_blob : Modified in 10.4.13 tokudb.type_datetime : MDEV-15193 - Wrong result #----------------------------------------------------------------------- @@ -994,6 +1061,8 @@ 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 +tokudb_bugs.xa-4 : MDEV-22512 - Server failed to restart #----------------------------------------------------------------------- @@ -1027,16 +1096,15 @@ vcol.vcol_misc : MDEV-16651 - Wrong error message #----------------------------------------------------------------------- -versioning.delete : Modified in 10.4.11 -versioning.partition : Modified in 10.4.11 -versioning.select : Modified in 10.4.11 -versioning.trx_id : Modified in 10.4.12 -versioning.update : MDEV-20955 - Wrong result code; modified in 10.4.11 -versioning.view : Modified in 10.4.11 +versioning.alter : Modified in 10.4.13 +versioning.partition : Modified in 10.4.13 +versioning.sysvars : Modified in 10.4.13 +versioning.update : MDEV-22475 - Wrong result code; modified in 10.4.13 #----------------------------------------------------------------------- -wsrep.* : Config file modified in 10.4.12 +wsrep.* : suite.pm modified in 10.4.13 +wsrep.MDEV-20625 : Added in 10.4.13 wsrep.alter_table_innodb : Configuration deleted in 10.4.12 wsrep.binlog_format : Configuration added in 10.4.12 wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node @@ -1046,9 +1114,10 @@ wsrep.mysql_tzinfo_to_sql_symlink : Modified in 10.4.12 wsrep.mysql_tzinfo_to_sql_symlink_skip : Modified in 10.4.12 wsrep.plugin : Modified in 10.4.12 wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use; re-enabled in 10.4.12 -wsrep.trans : Configuration added in 10.4.12 +wsrep.trans : Modified in 10.4.13 wsrep.variables : MDEV-17585 - Deadlock; modified in 10.4.12 #----------------------------------------------------------------------- -wsrep_info.* : Config file modified in 10.3.22 +wsrep_info.* : suite.pm modified in 10.4.13 +wsrep_info.plugin : MDEV-22470 - WSREP: no nodes coming from prim view, prim not possible diff --git a/mysys/list.c b/mysys/list.c index 1770b201dd4..2efe53c0368 100644 --- a/mysys/list.c +++ b/mysys/list.c @@ -14,7 +14,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* - Code for handling dubble-linked lists in C + Code for handling doubly linked lists in C */ #include "mysys_priv.h" @@ -22,7 +22,7 @@ - /* Add a element to start of list */ + /* Add an element to start of list */ LIST *list_add(LIST *root, LIST *element) { diff --git a/plugin/auth_pam/auth_pam.c b/plugin/auth_pam/auth_pam.c index 4ce9eb4c2fa..4275b7d6750 100644 --- a/plugin/auth_pam/auth_pam.c +++ b/plugin/auth_pam/auth_pam.c @@ -90,6 +90,8 @@ static int pam_auth(MYSQL_PLUGIN_VIO *vio, MYSQL_SERVER_AUTH_INFO *info) PAM_DEBUG((stderr, "PAM: execute pam sandbox [%s].\n", toolpath)); (void) execl(toolpath, toolpath, NULL); PAM_DEBUG((stderr, "PAM: exec() failed.\n")); + my_printf_error(1, "PAM: Cannot execute %s (errno: %M)", ME_ERROR_LOG_ONLY, + toolpath, errno); exit(-1); } diff --git a/sql/item.cc b/sql/item.cc index 0c08169db2b..1a28563a229 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -3492,8 +3492,20 @@ bool Item_basic_value::eq(const Item *item, bool binary_cmp) const (h0= type_handler())->type_handler_for_comparison() == (h1= item->type_handler())->type_handler_for_comparison() && h0->cast_to_int_type_handler()->type_handler_for_comparison() == - h1->cast_to_int_type_handler()->type_handler_for_comparison() && - h0->Item_const_eq(c0, c1, binary_cmp); + h1->cast_to_int_type_handler()->type_handler_for_comparison(); + if (res) + { + switch (c0->const_is_null() + c1->const_is_null()) { + case 2: // Two NULLs + res= true; + break; + case 1: // NULL and non-NULL + res= false; + break; + case 0: // Two non-NULLs + res= h0->Item_const_eq(c0, c1, binary_cmp); + } + } DBUG_EXECUTE_IF("Item_basic_value", push_warning_printf(current_thd, Sql_condition::WARN_LEVEL_NOTE, diff --git a/sql/mysqld.cc b/sql/mysqld.cc index e253b862700..9942e7efb7f 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4425,7 +4425,11 @@ static void init_ssl() { ulong err; while ((err= ERR_get_error())) - sql_print_warning("SSL error: %s", ERR_error_string(err, NULL)); + { + char buf[256]; + ERR_error_string_n(err, buf, sizeof(buf)); + sql_print_warning("SSL error: %s",buf); + } } else ERR_remove_state(0); diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc index ea455e43ffc..0274a51ff26 100644 --- a/sql/sql_admin.cc +++ b/sql/sql_admin.cc @@ -772,31 +772,6 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, (table->table->s->table_category == TABLE_CATEGORY_USER && (check_eits_collection_allowed(thd) || lex->with_persistent_for_clause)); - - - if (!lex->index_list) - { - tab->keys_in_use_for_query.init(tab->s->keys); - } - else - { - int pos; - LEX_STRING *index_name; - List_iterator_fast it(*lex->index_list); - - tab->keys_in_use_for_query.clear_all(); - while ((index_name= it++)) - { - if (tab->s->keynames.type_names == 0 || - (pos= find_type(&tab->s->keynames, index_name->str, - index_name->length, 1)) <= 0) - { - compl_result_code= result_code= HA_ADMIN_INVALID; - break; - } - tab->keys_in_use_for_query.set_bit(--pos); - } - } } if (result_code == HA_ADMIN_OK) @@ -882,6 +857,27 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, } tab->file->column_bitmaps_signal(); } + if (!lex->index_list) + tab->keys_in_use_for_query.init(tab->s->keys); + else + { + int pos; + LEX_STRING *index_name; + List_iterator_fast it(*lex->index_list); + + tab->keys_in_use_for_query.clear_all(); + while ((index_name= it++)) + { + if (tab->s->keynames.type_names == 0 || + (pos= find_type(&tab->s->keynames, index_name->str, + index_name->length, 1)) <= 0) + { + compl_result_code= result_code= HA_ADMIN_INVALID; + break; + } + tab->keys_in_use_for_query.set_bit(--pos); + } + } if (!(compl_result_code= alloc_statistics_for_table(thd, table->table)) && !(compl_result_code= diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 591828b4306..7a3e25c422b 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -4936,6 +4936,7 @@ extern "C" LEX_STRING * thd_query_string (MYSQL_THD thd) @param buflen Length of the buffer @return Length of the query + @retval 0 if LOCK_thd_data cannot be acquired without waiting @note This function is thread safe as the query string is accessed under mutex protection and the string is copied @@ -4944,10 +4945,19 @@ extern "C" LEX_STRING * thd_query_string (MYSQL_THD thd) extern "C" size_t thd_query_safe(MYSQL_THD thd, char *buf, size_t buflen) { - mysql_mutex_lock(&thd->LOCK_thd_data); - size_t len= MY_MIN(buflen - 1, thd->query_length()); - memcpy(buf, thd->query(), len); - mysql_mutex_unlock(&thd->LOCK_thd_data); + size_t len= 0; + /* InnoDB invokes this function while holding internal mutexes. + THD::awake() will hold LOCK_thd_data while invoking an InnoDB + function that would acquire the internal mutex. Because this + function is a non-essential part of information_schema view output, + we will break the deadlock by avoiding a mutex wait here + and returning the empty string if a wait would be needed. */ + if (!mysql_mutex_trylock(&thd->LOCK_thd_data)) + { + len= MY_MIN(buflen - 1, thd->query_length()); + memcpy(buf, thd->query(), len); + mysql_mutex_unlock(&thd->LOCK_thd_data); + } buf[len]= '\0'; return len; } diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc index da727ba54fc..353217982e2 100644 --- a/sql/sql_explain.cc +++ b/sql/sql_explain.cc @@ -1884,6 +1884,11 @@ void Explain_table_access::print_explain_json(Explain_query *query, /* This is a derived table. Print its contents here */ writer->add_member("materialized").start_object(); Explain_node *node= query->get_node(derived_select_number); + if (node->get_type() == Explain_node::EXPLAIN_SELECT && + ((Explain_select*)node)->is_lateral) + { + writer->add_member("lateral").add_ll(1); + } node->print_explain_json(query, writer, is_analyze); writer->end_object(); } diff --git a/sql/sql_explain.h b/sql/sql_explain.h index 041f77b6f42..9090416847f 100644 --- a/sql/sql_explain.h +++ b/sql/sql_explain.h @@ -211,6 +211,7 @@ public: select_lex(NULL), #endif linkage(UNSPECIFIED_TYPE), + is_lateral(false), message(NULL), having(NULL), having_value(Item::COND_UNDEF), using_temporary(false), using_filesort(false), @@ -226,6 +227,7 @@ public: #endif const char *select_type; enum sub_select_type linkage; + bool is_lateral; /* If message != NULL, this is a degenerate join plan, and all subsequent diff --git a/sql/sql_select.cc b/sql/sql_select.cc index fcff6b6c3b1..0774dc15ef8 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -27013,6 +27013,8 @@ int JOIN::save_explain_data_intern(Explain_query *output, xpl_sel->select_id= join->select_lex->select_number; xpl_sel->select_type= join->select_lex->type; xpl_sel->linkage= select_lex->get_linkage(); + xpl_sel->is_lateral= ((select_lex->get_linkage() == DERIVED_TABLE_TYPE) && + (select_lex->uncacheable & UNCACHEABLE_DEPENDENT)); if (select_lex->master_unit()->derived) xpl_sel->connection_type= Explain_node::EXPLAIN_NODE_DERIVED; diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index ab984252983..00e1599229a 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -1815,18 +1815,11 @@ retry_page_get: if (dict_index_is_spatial(index)) { ut_ad(cursor->rtr_info); - node_seq_t seq_no = rtr_get_current_ssn_id(index); - /* If SSN in memory is not initialized, fetch it from root page */ - if (seq_no < 1) { - node_seq_t root_seq_no; - - root_seq_no = page_get_ssn_id(page); - - mutex_enter(&(index->rtr_ssn.mutex)); - index->rtr_ssn.seq_no = root_seq_no + 1; - mutex_exit(&(index->rtr_ssn.mutex)); + if (!rtr_get_current_ssn_id(index)) { + /* FIXME: do this in dict_load_table_one() */ + index->set_ssn(page_get_ssn_id(page) + 1); } /* Save the MBR */ diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 66955daa7e7..4d38ded88fe 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -431,16 +431,13 @@ decompress: decompress_with_slot: ut_d(fil_page_type_validate(space, dst_frame)); - bpage->write_size = fil_page_decompress( + ulint write_size = fil_page_decompress( slot->crypt_buf, dst_frame, space->flags); slot->release(); - ut_ad(!bpage->write_size - || fil_page_type_validate(space, dst_frame)); - + ut_ad(!write_size || fil_page_type_validate(space, dst_frame)); ut_ad(space->pending_io()); - - return bpage->write_size != 0; + return write_size != 0; } if (key_version && space->crypt_data) { @@ -1295,7 +1292,6 @@ buf_block_init(buf_block_t* block, byte* frame) block->page.buf_fix_count = 0; block->page.io_fix = BUF_IO_NONE; block->page.real_size = 0; - block->page.write_size = 0; block->modify_clock = 0; block->page.slot = NULL; block->page.status = buf_page_t::NORMAL; @@ -4197,7 +4193,6 @@ buf_page_init_low( bpage->freed_page_clock = 0; bpage->access_time = 0; bpage->oldest_modification = 0; - bpage->write_size = 0; bpage->real_size = 0; bpage->slot = NULL; bpage->ibuf_exist = false; diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc index 885437061c5..d129432d59c 100644 --- a/storage/innobase/dict/dict0dict.cc +++ b/storage/innobase/dict/dict0dict.cc @@ -3560,7 +3560,7 @@ dict_foreign_parse_drop_constraints( ut_a(trx->mysql_thd); - cs = innobase_get_charset(trx->mysql_thd); + cs = thd_charset(trx->mysql_thd); *n = 0; diff --git a/storage/innobase/dict/dict0mem.cc b/storage/innobase/dict/dict0mem.cc index a119dd84b56..a6a7951a758 100644 --- a/storage/innobase/dict/dict0mem.cc +++ b/storage/innobase/dict/dict0mem.cc @@ -789,7 +789,6 @@ dict_mem_index_create( mutex_create(LATCH_ID_ZIP_PAD_MUTEX, &index->zip_pad.mutex); if (type & DICT_SPATIAL) { - mutex_create(LATCH_ID_RTR_SSN_MUTEX, &index->rtr_ssn.mutex); index->rtr_track = new (mem_heap_alloc(heap, sizeof *index->rtr_track)) rtr_info_track_t(); @@ -1102,7 +1101,7 @@ dict_mem_index_free( for (auto& rtr_info : index->rtr_track->rtr_active) { rtr_info->index = NULL; } - mutex_destroy(&index->rtr_ssn.mutex); + mutex_destroy(&index->rtr_track->rtr_active_mutex); index->rtr_track->~rtr_info_track_t(); } diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 26609b4d713..8448d9291ff 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -570,7 +570,6 @@ static PSI_mutex_info all_innodb_mutexes[] = { PSI_KEY(rtr_active_mutex), PSI_KEY(rtr_match_mutex), PSI_KEY(rtr_path_mutex), - PSI_KEY(rtr_ssn_mutex), PSI_KEY(trx_sys_mutex), PSI_KEY(zip_pad_mutex) }; @@ -2126,17 +2125,6 @@ innobase_casedn_str( my_casedn_str(system_charset_info, a); } -/**********************************************************************//** -Determines the connection character set. -@return connection character set */ -CHARSET_INFO* -innobase_get_charset( -/*=================*/ - THD* mysql_thd) /*!< in: MySQL thread handle */ -{ - return(thd_charset(mysql_thd)); -} - /** Determines the current SQL statement. Thread unsafe, can only be called from the thread owning the THD. @param[in] thd MySQL thread handle @@ -2156,22 +2144,6 @@ innobase_get_stmt_unsafe( return NULL; } -/** Determines the current SQL statement. -Thread safe, can be called from any thread as the string is copied -into the provided buffer. -@param[in] thd MySQL thread handle -@param[out] buf Buffer containing SQL statement -@param[in] buflen Length of provided buffer -@return Length of the SQL statement */ -size_t -innobase_get_stmt_safe( - THD* thd, - char* buf, - size_t buflen) -{ - return thd_query_safe(thd, buf, buflen); -} - /**********************************************************************//** Get the current setting of the tdc_size global parameter. We do a dirty read because for one there is no synchronization object and @@ -12177,7 +12149,7 @@ create_table_info_t::create_foreign_keys() dict_index_t* err_index = NULL; ulint err_col; const bool tmp_table = m_flags2 & DICT_TF2_TEMPORARY; - const CHARSET_INFO* cs = innobase_get_charset(m_thd); + const CHARSET_INFO* cs = thd_charset(m_thd); const char* operation = "Create "; const char* name = m_table_name; @@ -20031,7 +20003,7 @@ static MYSQL_SYSVAR_UINT(data_file_size_debug, srv_sys_space_size_debug, PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY, "InnoDB system tablespace size to be set in recovery.", - NULL, NULL, 0, 0, UINT_MAX32, 0); + NULL, NULL, 0, 0, 256U << 20, 0); static MYSQL_SYSVAR_ULONG(fil_make_page_dirty_debug, srv_fil_make_page_dirty_debug, PLUGIN_VAR_OPCMDARG, diff --git a/storage/innobase/handler/ha_innodb.h b/storage/innobase/handler/ha_innodb.h index 8a246991f8e..499b250d880 100644 --- a/storage/innobase/handler/ha_innodb.h +++ b/storage/innobase/handler/ha_innodb.h @@ -528,13 +528,8 @@ the definitions are bracketed with #ifdef INNODB_COMPATIBILITY_HOOKS */ #error InnoDB needs MySQL to be built with #define INNODB_COMPATIBILITY_HOOKS #endif -LEX_STRING* thd_query_string(MYSQL_THD thd); -size_t thd_query_safe(MYSQL_THD thd, char *buf, size_t buflen); - extern "C" { -struct charset_info_st *thd_charset(MYSQL_THD thd); - /** Check if a user thread is a replication slave thread @param thd user thread @retval 0 the user thread is not a replication slave thread diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index af61eecee89..61bc6eec47e 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -2929,7 +2929,7 @@ innobase_get_foreign_key_info( char* referenced_table_name = NULL; ulint num_fk = 0; Alter_info* alter_info = ha_alter_info->alter_info; - const CHARSET_INFO* cs = innobase_get_charset(trx->mysql_thd); + const CHARSET_INFO* cs = thd_charset(trx->mysql_thd); DBUG_ENTER("innobase_get_foreign_key_info"); diff --git a/storage/innobase/ibuf/ibuf0ibuf.cc b/storage/innobase/ibuf/ibuf0ibuf.cc index 790305c86d2..a9474295af8 100644 --- a/storage/innobase/ibuf/ibuf0ibuf.cc +++ b/storage/innobase/ibuf/ibuf0ibuf.cc @@ -2607,42 +2607,28 @@ ibuf_contract_after_insert( } while (size > 0 && sum_sizes < entry_size); } -/*********************************************************************//** -Determine if an insert buffer record has been encountered already. -@return TRUE if a new record, FALSE if possible duplicate */ -static -ibool -ibuf_get_volume_buffered_hash( -/*==========================*/ - const rec_t* rec, /*!< in: ibuf record in post-4.1 format */ - const byte* types, /*!< in: fields */ - const byte* data, /*!< in: start of user record data */ - ulint comp, /*!< in: 0=ROW_FORMAT=REDUNDANT, - nonzero=ROW_FORMAT=COMPACT */ - ulint* hash, /*!< in/out: hash array */ - ulint size) /*!< in: number of elements in hash array */ +/** Determine if a change buffer record has been encountered already. +@param rec change buffer record in the MySQL 5.5 format +@param hash hash table of encountered records +@param size number of elements in hash +@retval true if a distinct record +@retval false if this may be duplicating an earlier record */ +static bool ibuf_get_volume_buffered_hash(const rec_t *rec, ulint *hash, + ulint size) { - ulint len; - ulint fold; - ulint bitmask; + ut_ad(rec_get_n_fields_old(rec) > IBUF_REC_FIELD_USER); + const ulint start= rec_get_field_start_offs(rec, IBUF_REC_FIELD_USER); + const ulint len= rec_get_data_size_old(rec) - start; + const uint32_t fold= ut_crc32(rec + start, len); + hash+= (fold / (CHAR_BIT * sizeof *hash)) % size; + ulint bitmask= static_cast(1) << (fold % (CHAR_BIT * sizeof(*hash))); - len = ibuf_rec_get_size( - rec, types, - rec_get_n_fields_old(rec) - IBUF_REC_FIELD_USER, comp); - fold = ut_fold_binary(data, len); + if (*hash & bitmask) + return false; - hash += (fold / (CHAR_BIT * sizeof *hash)) % size; - bitmask = static_cast(1) << (fold % (CHAR_BIT * sizeof(*hash))); - - if (*hash & bitmask) { - - return(FALSE); - } - - /* We have not seen this record yet. Insert it. */ - *hash |= bitmask; - - return(TRUE); + /* We have not seen this record yet. Remember it. */ + *hash|= bitmask; + return true; } #ifdef UNIV_DEBUG @@ -2735,11 +2721,7 @@ ibuf_get_volume_buffered_count_func( case IBUF_OP_DELETE_MARK: /* There must be a record to delete-mark. See if this record has been already buffered. */ - if (n_recs && ibuf_get_volume_buffered_hash( - rec, types + IBUF_REC_INFO_SIZE, - types + len, - types[IBUF_REC_OFFSET_FLAGS] & IBUF_REC_COMPACT, - hash, size)) { + if (n_recs && ibuf_get_volume_buffered_hash(rec, hash, size)) { (*n_recs)++; } diff --git a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h index 1c75f7a6231..fc1880573b5 100644 --- a/storage/innobase/include/buf0buf.h +++ b/storage/innobase/include/buf0buf.h @@ -1169,11 +1169,6 @@ public: zip.data == NULL means an active buf_pool.watch */ - ulint write_size; /* Write size is set when this - page is first time written and then - if written again we check is TRIM - operation needed. */ - ulint real_size; /*!< Real size of the page Normal pages == srv_page_size page compressed pages, payload diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h index 747d2f171b1..e3b3ffbeb91 100644 --- a/storage/innobase/include/dict0mem.h +++ b/storage/innobase/include/dict0mem.h @@ -1103,7 +1103,22 @@ struct dict_index_t { /* in which slot the next sample should be saved. */ /* @} */ - rtr_ssn_t rtr_ssn;/*!< Node sequence number for RTree */ +private: + /** R-tree split sequence number */ + std::atomic rtr_ssn; +public: + + void set_ssn(node_seq_t ssn) + { + rtr_ssn.store(ssn, std::memory_order_relaxed); + } + node_seq_t assign_ssn() + { + node_seq_t ssn= rtr_ssn.fetch_add(1, std::memory_order_relaxed); + return ssn + 1; + } + node_seq_t ssn() const { return rtr_ssn.load(std::memory_order_relaxed); } + rtr_info_track_t* rtr_track;/*!< tracking all R-Tree search cursors */ trx_id_t trx_id; /*!< id of the transaction that created this diff --git a/storage/innobase/include/gis0rtree.h b/storage/innobase/include/gis0rtree.h index 861f2562dcf..f064df01679 100644 --- a/storage/innobase/include/gis0rtree.h +++ b/storage/innobase/include/gis0rtree.h @@ -190,23 +190,8 @@ rtr_non_leaf_insert_stack_push( double mbr_inc); /*!< in: MBR needs to be enlarged */ -/*****************************************************************//** -Allocates a new Split Sequence Number. -@return new SSN id */ -UNIV_INLINE -node_seq_t -rtr_get_new_ssn_id( -/*===============*/ - dict_index_t* index); /*!< in: the index struct */ - -/*****************************************************************//** -Get the current Split Sequence Number. -@return current SSN id */ -UNIV_INLINE -node_seq_t -rtr_get_current_ssn_id( -/*===================*/ - dict_index_t* index); /*!< in/out: the index struct */ +#define rtr_get_new_ssn_id(index) (index)->assign_ssn() +#define rtr_get_current_ssn_id(index) (index)->ssn() /********************************************************************//** Create a RTree search info structure */ diff --git a/storage/innobase/include/gis0rtree.ic b/storage/innobase/include/gis0rtree.ic index f01bc3fc9c9..2076b24b9b1 100644 --- a/storage/innobase/include/gis0rtree.ic +++ b/storage/innobase/include/gis0rtree.ic @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2014, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2017, MariaDB Corporation. +Copyright (c) 2017, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -123,41 +123,6 @@ rtr_non_leaf_stack_push( #endif /* RTR_SEARCH_DIAGNOSTIC */ } -/*****************************************************************//** -Allocates a new Split Sequence Number. -@return new SSN id */ -UNIV_INLINE -node_seq_t -rtr_get_new_ssn_id( -/*===============*/ - dict_index_t* index) /*!< in/out: the index struct */ -{ - node_seq_t ssn; - - mutex_enter(&(index->rtr_ssn.mutex)); - ssn = ++index->rtr_ssn.seq_no; - mutex_exit(&(index->rtr_ssn.mutex)); - - return(ssn); -} -/*****************************************************************//** -Get the current Split Sequence Number. -@return current SSN id */ -UNIV_INLINE -node_seq_t -rtr_get_current_ssn_id( -/*===================*/ - dict_index_t* index) /*!< in: index struct */ -{ - node_seq_t ssn; - - mutex_enter(&(index->rtr_ssn.mutex)); - ssn = index->rtr_ssn.seq_no; - mutex_exit(&(index->rtr_ssn.mutex)); - - return(ssn); -} - /*********************************************************************//** Sets pointer to the data and length in a field. */ UNIV_INLINE diff --git a/storage/innobase/include/gis0type.h b/storage/innobase/include/gis0type.h index 9d8dc841448..a1e0a878cb2 100644 --- a/storage/innobase/include/gis0type.h +++ b/storage/innobase/include/gis0type.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2014, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2018, 2019, MariaDB Corporation. +Copyright (c) 2018, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -142,12 +142,6 @@ struct rtr_info_track_t { rtr_active */ }; -/* Node Sequence Number and mutex protects it. */ -typedef struct rtree_ssn { - ib_mutex_t mutex; /*!< mutex protect the seq num */ - node_seq_t seq_no; /*!< the SSN (node sequence number) */ -} rtr_ssn_t; - /* This is to record the record movement between pages. Used for corresponding lock movement */ typedef struct rtr_rec_move { diff --git a/storage/innobase/include/ha_prototypes.h b/storage/innobase/include/ha_prototypes.h index c6bee5ab961..f84540cacc8 100644 --- a/storage/innobase/include/ha_prototypes.h +++ b/storage/innobase/include/ha_prototypes.h @@ -237,13 +237,7 @@ ulint wsrep_innobase_mysql_sort(int mysql_type, uint charset_number, unsigned int buf_length); #endif /* WITH_WSREP */ -/**********************************************************************//** -Determines the connection character set. -@return connection character set */ -CHARSET_INFO* -innobase_get_charset( -/*=================*/ - THD* thd); /*!< in: MySQL thread handle */ +extern "C" struct charset_info_st *thd_charset(THD *thd); /** Determines the current SQL statement. Thread unsafe, can only be called from the thread owning the THD. @@ -255,19 +249,6 @@ innobase_get_stmt_unsafe( THD* thd, size_t* length); -/** Determines the current SQL statement. -Thread safe, can be called from any thread as the string is copied -into the provided buffer. -@param[in] thd MySQL thread handle -@param[out] buf Buffer containing SQL statement -@param[in] buflen Length of provided buffer -@return Length of the SQL statement */ -size_t -innobase_get_stmt_safe( - THD* thd, - char* buf, - size_t buflen); - /******************************************************************//** This function is used to find the storage length in bytes of the first n characters for prefix indexes using a multibyte character set. The function diff --git a/storage/innobase/include/sync0sync.h b/storage/innobase/include/sync0sync.h index a3feefef9f5..c6f7008e036 100644 --- a/storage/innobase/include/sync0sync.h +++ b/storage/innobase/include/sync0sync.h @@ -3,6 +3,7 @@ Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2008, Google Inc. Copyright (c) 2012, Facebook Inc. +Copyright (c) 2020, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -80,7 +81,6 @@ extern mysql_pfs_key_t recv_writer_mutex_key; extern mysql_pfs_key_t rtr_active_mutex_key; extern mysql_pfs_key_t rtr_match_mutex_key; extern mysql_pfs_key_t rtr_path_mutex_key; -extern mysql_pfs_key_t rtr_ssn_mutex_key; extern mysql_pfs_key_t redo_rseg_mutex_key; extern mysql_pfs_key_t noredo_rseg_mutex_key; extern mysql_pfs_key_t page_zip_stat_per_index_mutex_key; diff --git a/storage/innobase/include/sync0types.h b/storage/innobase/include/sync0types.h index e2b5354d2de..4d2a7c8ff28 100644 --- a/storage/innobase/include/sync0types.h +++ b/storage/innobase/include/sync0types.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2017, 2018, MariaDB Corporation. +Copyright (c) 2017, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -314,7 +314,6 @@ enum latch_id_t { LATCH_ID_REDO_RSEG, LATCH_ID_NOREDO_RSEG, LATCH_ID_RW_LOCK_DEBUG, - LATCH_ID_RTR_SSN_MUTEX, LATCH_ID_RTR_ACTIVE_MUTEX, LATCH_ID_RTR_MATCH_MUTEX, LATCH_ID_RTR_PATH_MUTEX, diff --git a/storage/innobase/log/log0log.cc b/storage/innobase/log/log0log.cc index c67767aaddb..fdc47a8d442 100644 --- a/storage/innobase/log/log0log.cc +++ b/storage/innobase/log/log0log.cc @@ -1620,7 +1620,7 @@ wait_suspend_loop: "Waiting for %s to exit", thread_name); if (srv_print_verbose_log && count > COUNT_INTERVAL) { ib::info() << "Waiting for " << thread_name - << "to exit"; + << " to exit"; count = 0; } goto loop; diff --git a/storage/innobase/sync/sync0debug.cc b/storage/innobase/sync/sync0debug.cc index bc445bd4604..837d0846699 100644 --- a/storage/innobase/sync/sync0debug.cc +++ b/storage/innobase/sync/sync0debug.cc @@ -384,8 +384,7 @@ private: { return(latch->get_id() == LATCH_ID_RTR_ACTIVE_MUTEX || latch->get_id() == LATCH_ID_RTR_PATH_MUTEX - || latch->get_id() == LATCH_ID_RTR_MATCH_MUTEX - || latch->get_id() == LATCH_ID_RTR_SSN_MUTEX); + || latch->get_id() == LATCH_ID_RTR_MATCH_MUTEX); } private: @@ -1361,8 +1360,6 @@ sync_latch_meta_init() rw_lock_debug_mutex_key); #endif /* UNIV_DEBUG */ - LATCH_ADD_MUTEX(RTR_SSN_MUTEX, SYNC_ANY_LATCH, rtr_ssn_mutex_key); - LATCH_ADD_MUTEX(RTR_ACTIVE_MUTEX, SYNC_ANY_LATCH, rtr_active_mutex_key); diff --git a/storage/innobase/sync/sync0sync.cc b/storage/innobase/sync/sync0sync.cc index 94dbbced4c7..0f028d6400d 100644 --- a/storage/innobase/sync/sync0sync.cc +++ b/storage/innobase/sync/sync0sync.cc @@ -3,6 +3,7 @@ Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2020, MariaDB Corporation. Copyright (c) 2008, Google Inc. +Copyright (c) 2020, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -73,7 +74,6 @@ mysql_pfs_key_t rw_lock_debug_mutex_key; mysql_pfs_key_t rtr_active_mutex_key; mysql_pfs_key_t rtr_match_mutex_key; mysql_pfs_key_t rtr_path_mutex_key; -mysql_pfs_key_t rtr_ssn_mutex_key; mysql_pfs_key_t rw_lock_list_mutex_key; mysql_pfs_key_t rw_lock_mutex_key; mysql_pfs_key_t srv_innodb_monitor_mutex_key; diff --git a/storage/innobase/trx/trx0i_s.cc b/storage/innobase/trx/trx0i_s.cc index 9f622af37da..2aaba63885c 100644 --- a/storage/innobase/trx/trx0i_s.cc +++ b/storage/innobase/trx/trx0i_s.cc @@ -46,6 +46,7 @@ Created July 17, 2007 Vasil Dimov #include "trx0sys.h" #include "que0que.h" #include "trx0purge.h" +#include "sql_class.h" /** Initial number of rows in the table cache */ #define TABLE_CACHE_INITIAL_ROWSNUM 1024 @@ -427,7 +428,6 @@ fill_trx_row( which to copy volatile strings */ { - size_t stmt_len; const char* s; ut_ad(lock_mutex_own()); @@ -462,16 +462,14 @@ fill_trx_row( row->trx_mysql_thread_id = thd_get_thread_id(trx->mysql_thd); char query[TRX_I_S_TRX_QUERY_MAX_LEN + 1]; - stmt_len = innobase_get_stmt_safe(trx->mysql_thd, query, sizeof(query)); - - if (stmt_len > 0) { - + if (size_t stmt_len = thd_query_safe(trx->mysql_thd, query, + sizeof query)) { row->trx_query = static_cast( ha_storage_put_memlim( cache->storage, query, stmt_len + 1, MAX_ALLOWED_FOR_STORAGE(cache))); - row->trx_query_cs = innobase_get_charset(trx->mysql_thd); + row->trx_query_cs = thd_charset(trx->mysql_thd); if (row->trx_query == NULL) { diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index ce3deb7882d..22c3955d524 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -20886,6 +20886,53 @@ static void test_explain_meta() mct_close_log(); } + +/* + MDEV-20261 NULL passed to String::eq, SEGV, server crash, regression in 10.4 +*/ +static void test_mdev20261() +{ + int rc; + MYSQL_STMT *stmt; + MYSQL_BIND param[1]; + const char *query= "SELECT * FROM t1 WHERE f = ? OR f = 'foo'"; + char val[]= ""; + my_bool is_null= TRUE; + + myheader("test_mdev20261"); + + rc= mysql_query(mysql, "CREATE OR REPLACE TABLE t1 (f varchar(64)) ENGINE=MyISAM"); + myquery(rc); + + stmt= mysql_stmt_init(mysql); + check_stmt(stmt); + rc= mysql_stmt_prepare(stmt, query, strlen(query)); + check_execute(stmt, rc); + + verify_param_count(stmt, 1); + + bzero((char*) param, sizeof(param)); + + param[0].buffer= &val; + param[0].buffer_type= MYSQL_TYPE_STRING; + param[0].is_null= &is_null; + + rc= mysql_stmt_bind_param(stmt, param); + check_execute(stmt, rc); + + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + + rc= mysql_stmt_store_result(stmt); + check_execute(stmt, rc); + + mysql_stmt_close(stmt); + + rc= mysql_query(mysql, "DROP TABLE t1"); + myquery(rc); +} + + static struct my_tests_st my_tests[]= { { "disable_query_logs", disable_query_logs }, { "test_view_sp_list_fields", test_view_sp_list_fields }, @@ -21179,6 +21226,7 @@ static struct my_tests_st my_tests[]= { #endif { "test_explain_meta", test_explain_meta }, { "test_mdev18408", test_mdev18408 }, + { "test_mdev20261", test_mdev20261 }, { 0, 0 } };