diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-10-05 11:48:28 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-10-05 11:48:28 +0200 |
commit | a1a4e8eec1f7917b2d979f525a738a2cdd28436b (patch) | |
tree | a4504dd08996a118e2fb5b095ee522dc4e6edc0c | |
parent | ac57a30bd9e9aec457b5352e5023e736e015e8ca (diff) | |
parent | 3e39771551a3a055fcb089dbcd4a5f284cccb16b (diff) | |
download | mariadb-git-a1a4e8eec1f7917b2d979f525a738a2cdd28436b.tar.gz |
Merge branch 'bb-10.2-ext' into 10.3
-rw-r--r-- | mysql-test/include/fail_start_mysqld.inc | 18 | ||||
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 6 | ||||
-rw-r--r-- | mysql-test/r/tc_heuristic_recover.result | 1 | ||||
-rw-r--r-- | mysql-test/suite/engines/funcs/r/sq_error.result | 8 | ||||
-rw-r--r-- | mysql-test/suite/engines/funcs/t/sq_error.test | 8 | ||||
-rw-r--r-- | mysql-test/suite/engines/iuds/r/update_delete_number.result | 1 | ||||
-rw-r--r-- | mysql-test/suite/engines/iuds/t/update_delete_number.test | 1 | ||||
-rw-r--r-- | mysql-test/t/tc_heuristic_recover.test | 24 | ||||
-rw-r--r-- | scripts/mysqld_safe.sh | 4 | ||||
-rw-r--r-- | sql/log_event.cc | 2 | ||||
-rw-r--r-- | storage/connect/CMakeLists.txt | 2 | ||||
-rw-r--r-- | storage/innobase/row/row0import.cc | 4 |
12 files changed, 15 insertions, 64 deletions
diff --git a/mysql-test/include/fail_start_mysqld.inc b/mysql-test/include/fail_start_mysqld.inc deleted file mode 100644 index bb1085b5dd7..00000000000 --- a/mysql-test/include/fail_start_mysqld.inc +++ /dev/null @@ -1,18 +0,0 @@ -# ==== Usage ==== -# -# [--let $restart_parameters= --innodb-force-recovery=0 --innodb-read-only=1] -# [--let $mysqld_stub_cmd= $MYSQLD_LAST_CMD] -# [--let $error_log= $MYSQLTEST_VARDIR/log/mysqld.1.err] -# --source include/fail_restart_mysqld.inc - -# Evaluate the default of $error_log -if (!$error_log) -{ - --let $error_log= $MYSQLTEST_VARDIR/log/mysqld.1.err -} - ---error 1 ---exec $mysqld_stub_cmd $restart_parameters >> $error_log 2>&1 - -# As the server is stopped ---disable_reconnect diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index ee5c75cf0dd..1b072ef7dc7 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -5044,9 +5044,9 @@ sub mysqld_start ($$) { } - # "Dynamic" version of MYSQLD_CMD is reevaluated with each mysqld_start. - # Use it to restart the server at testing a failing server start (e.g - # due to incompatible options). + # Command line for mysqld started for *this particular test*. + # Differs from "generic" MYSQLD_CMD by including all command line + # options from *.opt and *.combination files. $ENV{'MYSQLD_LAST_CMD'}= "$exe @$args"; if ( $opt_gdb || $opt_manual_gdb ) diff --git a/mysql-test/r/tc_heuristic_recover.result b/mysql-test/r/tc_heuristic_recover.result index 8fe3643b174..193a73c77f8 100644 --- a/mysql-test/r/tc_heuristic_recover.result +++ b/mysql-test/r/tc_heuristic_recover.result @@ -1,7 +1,6 @@ call mtr.add_suppression("Can't init tc log"); call mtr.add_suppression("Found 1 prepared transactions!"); call mtr.add_suppression("Aborting"); -set debug_sync='RESET'; CREATE TABLE t1 (i INT) ENGINE=InnoDB; SET GLOBAL innodb_flush_log_at_trx_commit=1; FLUSH TABLES; diff --git a/mysql-test/suite/engines/funcs/r/sq_error.result b/mysql-test/suite/engines/funcs/r/sq_error.result index 2090f4b9cd4..6b00bf6c921 100644 --- a/mysql-test/suite/engines/funcs/r/sq_error.result +++ b/mysql-test/suite/engines/funcs/r/sq_error.result @@ -15,8 +15,6 @@ ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOM SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); ERROR 21000: Subquery returns more than 1 row UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); -ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 VARCHAR(100),c3 FLOAT); @@ -34,8 +32,6 @@ ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOM SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); ERROR 21000: Subquery returns more than 1 row UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); -ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 BINARY(100),c3 FLOAT); @@ -53,8 +49,6 @@ ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOM SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); ERROR 21000: Subquery returns more than 1 row UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); -ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 VARBINARY(100),c3 FLOAT); @@ -72,7 +66,5 @@ ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOM SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); ERROR 21000: Subquery returns more than 1 row UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); -ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data DROP TABLE t1; DROP TABLE t2; diff --git a/mysql-test/suite/engines/funcs/t/sq_error.test b/mysql-test/suite/engines/funcs/t/sq_error.test index a9b72008c74..6776e92be63 100644 --- a/mysql-test/suite/engines/funcs/t/sq_error.test +++ b/mysql-test/suite/engines/funcs/t/sq_error.test @@ -19,8 +19,6 @@ SELECT (SELECT c1, c2 FROM t2) FROM t1; --error 1242 SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); ---error 1093 -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 VARCHAR(100),c3 FLOAT); @@ -38,8 +36,6 @@ SELECT (SELECT c1, c2 FROM t2) FROM t1; --error 1242 SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); ---error 1093 -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 BINARY(100),c3 FLOAT); @@ -57,8 +53,6 @@ SELECT (SELECT c1, c2 FROM t2) FROM t1; --error 1242 SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); ---error 1093 -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 (c1 INT, c2 VARBINARY(100),c3 FLOAT); @@ -76,8 +70,6 @@ SELECT (SELECT c1, c2 FROM t2) FROM t1; --error 1242 SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2); UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2); ---error 1093 -UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1); DROP TABLE t1; DROP TABLE t2; diff --git a/mysql-test/suite/engines/iuds/r/update_delete_number.result b/mysql-test/suite/engines/iuds/r/update_delete_number.result index ef9d9ff0d34..b091d27d1e6 100644 --- a/mysql-test/suite/engines/iuds/r/update_delete_number.result +++ b/mysql-test/suite/engines/iuds/r/update_delete_number.result @@ -980,7 +980,6 @@ drop table mt1, mt2, mt3; create table mt1 (col1 int); create table mt2 (col1 int); update mt1,mt2 set mt1.col1 = (select max(col1) from mt1) where mt1.col1 = mt2.col1; -ERROR HY000: Table 'mt1' is specified twice, both as a target for 'UPDATE' and as a separate source for data delete mt1 from mt1,mt2 where mt1.col1 < (select max(col1) from mt1) and mt1.col1 = mt2.col1; ERROR HY000: Table 'mt1' is specified twice, both as a target for 'DELETE' and as a separate source for data drop table mt1,mt2; diff --git a/mysql-test/suite/engines/iuds/t/update_delete_number.test b/mysql-test/suite/engines/iuds/t/update_delete_number.test index c58746d59f4..ce3f90140b2 100644 --- a/mysql-test/suite/engines/iuds/t/update_delete_number.test +++ b/mysql-test/suite/engines/iuds/t/update_delete_number.test @@ -495,7 +495,6 @@ drop table mt1, mt2, mt3; # multi* unique updating table check create table mt1 (col1 int); create table mt2 (col1 int); --- error ER_UPDATE_TABLE_USED update mt1,mt2 set mt1.col1 = (select max(col1) from mt1) where mt1.col1 = mt2.col1; -- error ER_UPDATE_TABLE_USED delete mt1 from mt1,mt2 where mt1.col1 < (select max(col1) from mt1) and mt1.col1 = mt2.col1; diff --git a/mysql-test/t/tc_heuristic_recover.test b/mysql-test/t/tc_heuristic_recover.test index c9fa767c249..8cbf7d61143 100644 --- a/mysql-test/t/tc_heuristic_recover.test +++ b/mysql-test/t/tc_heuristic_recover.test @@ -9,7 +9,7 @@ # All this proves no crashes and effective rollback of the transaction. # --source include/have_innodb.inc -# The test logics really requires --log-bin. +# The test logic really requires --log-bin. --source include/have_binlog_format_mixed.inc --source include/have_debug_sync.inc --source include/not_embedded.inc @@ -22,14 +22,7 @@ call mtr.add_suppression("Aborting"); # # The "restart" expect-file facility can't be engaged because the server # having conflicting options may not succeed to boot up. -# Also notice $MYSQLD_CMD is too "static" being unaware of the actual options -# of the last (before shutdown or kill) server run. -# That's why $MYSQLD_LAST_CMD that allows for the server new start -# with more options appended to a stub set which is settled at this very point. ---let $mysqld_stub_cmd= $MYSQLD_LAST_CMD ---let $error_log= $MYSQLTEST_VARDIR/log/mysqld.1.err ---let SEARCH_FILE= $error_log -set debug_sync='RESET'; +--let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err CREATE TABLE t1 (i INT) ENGINE=InnoDB; SET GLOBAL innodb_flush_log_at_trx_commit=1; @@ -55,8 +48,8 @@ SELECT * FROM t1; # TODO: MDEV-12700 Allow innodb_read_only startup without prior slow shutdown. --source include/kill_mysqld.inc ---let $restart_parameters= --innodb-force-recovery=4 ---source include/fail_start_mysqld.inc +--error 1 +--exec $MYSQLD_LAST_CMD --log-bin=master-bin --binlog-format=mixed --core-file --loose-debug-sync-timeout=300 --innodb-force-recovery=4 --let SEARCH_PATTERN= was in the XA prepared state --source include/search_pattern_in_file.inc @@ -65,8 +58,8 @@ SELECT * FROM t1; --let SEARCH_PATTERN= \\[ERROR\\] Can\\'t init tc log --source include/search_pattern_in_file.inc ---let $restart_parameters= --innodb-force-recovery=4 --tc-heuristic-recover=COMMIT ---source include/fail_start_mysqld.inc +--error 1 +--exec $MYSQLD_LAST_CMD --log-bin=master-bin --binlog-format=mixed --core-file --loose-debug-sync-timeout=300 --innodb-force-recovery=4 --tc-heuristic-recover=COMMIT --let SEARCH_PATTERN= was in the XA prepared state --source include/search_pattern_in_file.inc --let SEARCH_PATTERN= Found 1 prepared transactions! @@ -76,8 +69,8 @@ SELECT * FROM t1; --let SEARCH_PATTERN= Please restart mysqld without --tc-heuristic-recover --source include/search_pattern_in_file.inc ---let $restart_parameters= --tc-heuristic-recover=ROLLBACK ---source include/fail_start_mysqld.inc +--error 1 +--exec $MYSQLD_LAST_CMD --log-bin=master-bin --binlog-format=mixed --core-file --loose-debug-sync-timeout=300 --tc-heuristic-recover=ROLLBACK --let SEARCH_PATTERN= was in the XA prepared state --source include/search_pattern_in_file.inc @@ -88,7 +81,6 @@ SELECT * FROM t1; --let SEARCH_PATTERN= Please restart mysqld without --tc-heuristic-recover --source include/search_pattern_in_file.inc ---let $restart_parameters= --source include/start_mysqld.inc --let SEARCH_PATTERN= was in the XA prepared state diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index 3a06f7e4858..b06106ceae6 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -245,7 +245,7 @@ wsrep_recover_position() { local euid=$(id -u) local ret=0 - local wr_logfile=$(mktemp wsrep_recovery.XXXXXX) + local wr_logfile=$(mktemp /tmp/wsrep_recovery.XXXXXX) # safety checks if [ -z $wr_logfile ]; then @@ -267,7 +267,7 @@ wsrep_recover_position() { log_notice "WSREP: Running position recovery with $wr_options" - eval_log_error "$mysqld_cmd --wsrep_recover $wr_options 2> $wr_logfile" + eval "$mysqld_cmd --wsrep_recover $wr_options 2> $wr_logfile" local rp="$(grep 'WSREP: Recovered position:' $wr_logfile)" if [ -z "$rp" ]; then diff --git a/sql/log_event.cc b/sql/log_event.cc index 21cc26905a9..841478b511b 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -7672,7 +7672,7 @@ Gtid_log_event::print(FILE *file, PRINT_EVENT_INFO *print_event_info) char buf[21]; char buf2[21]; - if (!print_event_info->short_form & !is_flashback) + if (!print_event_info->short_form && !is_flashback) { print_header(&cache, print_event_info, FALSE); longlong10_to_str(seq_no, buf, 10); diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt index d422b076fc2..dc1f61d0d26 100644 --- a/storage/connect/CMakeLists.txt +++ b/storage/connect/CMakeLists.txt @@ -247,7 +247,7 @@ ENDIF(CONNECT_WITH_ODBC) # # JDBC with MongoDB Java Driver included but disabled # -#OPTION(CONNECT_WITH_MONGO "Compile CONNECT storage engine with MONGO support" ON) +OPTION(CONNECT_WITH_MONGO "Compile CONNECT storage engine with MONGO support" ON) OPTION(CONNECT_WITH_JDBC "Compile CONNECT storage engine with JDBC support" ON) IF(CONNECT_WITH_JDBC) diff --git a/storage/innobase/row/row0import.cc b/storage/innobase/row/row0import.cc index 5ebe6cdf619..c8a9370208f 100644 --- a/storage/innobase/row/row0import.cc +++ b/storage/innobase/row/row0import.cc @@ -3596,10 +3596,6 @@ row_import_for_mysql( if (err != DB_SUCCESS) { return(row_import_error(prebuilt, trx, err)); - } - - if (err != DB_SUCCESS) { - return(row_import_error(prebuilt, trx, err)); } else if (cfg.requires_purge(index->name)) { /* Purge any delete-marked records that couldn't be |