summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-02-28 18:42:49 +0100
committerSergei Golubchik <sergii@pisem.net>2013-02-28 18:42:49 +0100
commit8161c6772d144d6a4f08fc924ff6e6e403d1371d (patch)
tree3f1fe5f8048a163da4eadf0f86c1fd2a3007955d /mysql-test/suite
parent154aac8eb002f5d167153e09f1d13570989521e0 (diff)
parent31c06437c970d4d0f4ec0301acac9c56e0ed29b5 (diff)
downloadmariadb-git-8161c6772d144d6a4f08fc924ff6e6e403d1371d.tar.gz
merge with mysql-5.5.30 minus few incorrect or not applicable changesets
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/binlog/r/binlog_base64_flag.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result54
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result8
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result8
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_annotate.result12
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result4
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result2
-rw-r--r--mysql-test/suite/engines/funcs/disabled.def2
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_until.result250
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_until.test170
-rw-r--r--mysql-test/suite/innodb/disabled.def1
-rw-r--r--mysql-test/suite/innodb/r/innodb-index.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug14147491.result17
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug14676111.result53
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug47777.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result2
-rw-r--r--mysql-test/suite/innodb/t/innodb-index.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14147491-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14147491.test75
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14676111.test128
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug47777.test6
-rw-r--r--mysql-test/suite/innodb/t/innodb_mysql.test4
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-dynamic.result58
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-dynamic.test58
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-trans.result58
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-trans.test58
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree.result58
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree.test58
-rw-r--r--mysql-test/suite/maria/maria-recovery-rtree-ft.result2
-rw-r--r--mysql-test/suite/maria/maria-recovery-rtree-ft.test2
-rw-r--r--mysql-test/suite/maria/maria.result10
-rw-r--r--mysql-test/suite/maria/maria.test4
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_innodb.result48
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history.result63
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result63
-rw-r--r--mysql-test/suite/perfschema/r/start_server_nothing.result122
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_waits_history.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_nothing-master.opt19
-rw-r--r--mysql-test/suite/perfschema/t/start_server_nothing.test30
-rw-r--r--mysql-test/suite/rpl/disabled.def1
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug31076.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_hrtime.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev382.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_report_port.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp.result2
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug31076.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_report_port.test6
-rw-r--r--mysql-test/suite/sys_vars/disabled.def1
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result62
-rw-r--r--mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result119
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test54
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test58
-rw-r--r--mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test216
-rw-r--r--mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test216
-rw-r--r--mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test168
67 files changed, 1698 insertions, 947 deletions
diff --git a/mysql-test/suite/binlog/r/binlog_base64_flag.result b/mysql-test/suite/binlog/r/binlog_base64_flag.result
index f84995cac3b..26eab9f141d 100644
--- a/mysql-test/suite/binlog/r/binlog_base64_flag.result
+++ b/mysql-test/suite/binlog/r/binlog_base64_flag.result
@@ -29,6 +29,7 @@ a
1
3
==== Test --base64-output=never on a binlog with row events ====
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -51,6 +52,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
==== Test non-matching FD event and Row event ====
BINLOG '
4CdYRw8BAAAAYgAAAGYAAAAAAAQANS4xLjE1LW5kYi02LjEuMjQtZGVidWctbG9nAAAAAAAAAAAA
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
index 806cf74479e..b86e715869f 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
@@ -15,6 +15,7 @@ set timestamp=@a+1;
insert into t1 values(null, "f");
--- Local --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -85,8 +86,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- offset --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -154,8 +157,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -203,8 +208,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -245,8 +252,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start and stop positions ---
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -271,8 +280,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -320,8 +331,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -362,9 +375,11 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Local with 2 binlogs on command line --
flush logs;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -456,8 +471,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- offset --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -546,8 +563,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -616,8 +635,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -702,8 +723,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -772,8 +795,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -814,8 +839,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Remote --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -886,8 +913,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- offset --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -955,8 +984,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1003,8 +1034,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1045,8 +1078,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start and stop positions ---
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1070,8 +1105,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1119,8 +1156,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1161,8 +1200,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Remote with 2 binlogs on command line --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1254,8 +1295,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- offset --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1344,8 +1387,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1413,8 +1458,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1498,8 +1545,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- start-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1568,8 +1617,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- stop-datetime --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1610,8 +1661,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- to-last-log --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1692,6 +1745,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- end of test --
drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
index 84a6d6c3baf..fc22085496d 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
@@ -328,6 +328,7 @@ INSERT INTO t2 SET b=1;
UPDATE t1, t2 SET t1.a=10, t2.a=20;
DROP TABLE t1,t2;
flush logs;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4135,3 +4136,4 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
index 31d7ee0df98..8e75d203ecc 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
@@ -2245,6 +2245,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -3786,6 +3787,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -3868,6 +3870,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4077,6 +4080,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -4235,6 +4239,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4746,6 +4751,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -4796,6 +4802,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4853,6 +4860,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
index c268d20c87d..b4ea8551ca6 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
@@ -2245,6 +2245,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -3808,6 +3809,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -3890,6 +3892,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4105,6 +4108,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -4263,6 +4267,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4784,6 +4789,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
@@ -4834,6 +4840,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -4893,6 +4900,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
index 5d08a1095a9..77e096dd065 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
@@ -124,6 +124,7 @@ FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -463,6 +464,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
diff --git a/mysql-test/suite/binlog/r/binlog_row_annotate.result b/mysql-test/suite/binlog/r/binlog_row_annotate.result
index a305f39fb16..7060343616e 100644
--- a/mysql-test/suite/binlog/r/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog/r/binlog_row_annotate.result
@@ -60,6 +60,7 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
# - INSERT INTO test2.t2 VALUES (1), (2), (3)
# - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -280,12 +281,14 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
#####################################################################################
# mysqlbinlog --database=test1
# The following Annotate should appear in this output:
# - DELETE test1.t1, test2.t2 FROM <...>
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -425,11 +428,13 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
#####################################################################################
# mysqlbinlog --skip-annotate-row-events
# No Annotates should appear in this output
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -636,6 +641,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
#####################################################################################
# mysqlbinlog --read-from-remote-server
@@ -646,6 +652,7 @@ ROLLBACK /* added by mysqlbinlog */;
# - INSERT INTO test2.t2 VALUES (1), (2), (3)
# - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -866,12 +873,14 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
#####################################################################################
# mysqlbinlog --read-from-remote-server --database=test1
# The following Annotate should appear in this output:
# - DELETE test1.t1, test2.t2 FROM <...>
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1011,11 +1020,13 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
#####################################################################################
# mysqlbinlog --read-from-remote-server --skip-annotate-row-events
# No Annotates should appear in this output
#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1217,3 +1228,4 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
diff --git a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
index f0519a9d724..f5d19d08a29 100644
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
@@ -10,6 +10,7 @@ master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
flush logs;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -32,4 +33,5 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
drop table t2;
diff --git a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
index 08919db5ed1..74565d976e4 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
@@ -28,6 +28,7 @@ flush logs;
# --rewrite-db = test1->new_test1
# --rewrite-db = test3->new_test3
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -215,6 +216,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# mysqlbinlog output
# --base64-output = decode-rows
@@ -222,6 +224,7 @@ ROLLBACK /* added by mysqlbinlog */;
# --rewrite-db = test3->new_test3
# --read-from-remote-server
#
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -409,6 +412,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
DROP DATABASE test1;
DROP DATABASE test2;
DROP DATABASE test3;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
index 3207b9c2180..3a5c3ac4b02 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
@@ -10,6 +10,7 @@ master-bin.000001 # User var # # @`v`=_ucs2 0x006100620063 COLLATE ucs2_general_
master-bin.000001 # Query # # use `test`; insert into t2 values (@v)
master-bin.000001 # Query # # COMMIT
flush logs;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -37,4 +38,5 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
drop table t2;
diff --git a/mysql-test/suite/engines/funcs/disabled.def b/mysql-test/suite/engines/funcs/disabled.def
index 2d8ea2d4ff8..c43b0c92bc9 100644
--- a/mysql-test/suite/engines/funcs/disabled.def
+++ b/mysql-test/suite/engines/funcs/disabled.def
@@ -70,7 +70,6 @@ rpl_replicate_ignore_db : Result Difference Due To Change In .inc file
rpl000017 : Result Difference Due To Change In .inc file
rpl_skip_error : Result Difference Due To Change In .inc file
-rpl_row_until : Test Present in rpl suite as well . Test Fails table with t2 table not found.
rpl_loaddata_s : Test Present in rpl suite as well . Test Fails due to bin log truncation.
rpl_log_pos : Test Present in rpl suite as well . Test Fails due to bin log truncation.
rpl_row_NOW : Result Difference Due To Change In .inc file
@@ -96,4 +95,3 @@ rpl_relayspace : Result Difference Due To Change In .inc file
rpl_row_inexist_tbl : Result Difference Due To Change In .inc file
rpl_sp : Result Difference Due To Change In .inc file
rpl_rbr_to_sbr : Result Difference Due To Change In .inc file
-rpl_row_until : Test Timesout
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_until.result b/mysql-test/suite/engines/funcs/r/rpl_row_until.result
index d8637578ecc..5629f5c8cdd 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_until.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_until.result
@@ -1,212 +1,60 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (1),(2),(3),(4);
-drop table t1;
-create table t2(n int not null auto_increment primary key);
-insert into t2 values (1),(2);
-insert into t2 values (3),(4);
-drop table t2;
-start slave until master_log_file='master-bin.000001', master_log_pos=311;
-select * from t1;
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+DROP TABLE t1;
+CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
+INSERT INTO t2 VALUES (1),(2);
+INSERT INTO t2 VALUES (3),(4);
+DROP TABLE t2;
+include/stop_slave.inc
+RESET SLAVE;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_drop_t1
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t1;
n
1
2
3
4
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-bin.000001
-Until_Log_Pos 311
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 0
-Last_SQL_Error
-Replicate_Ignore_Server_Ids
-Master_Server_Id 1
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
-select * from t1;
-n 1
-n 2
-n 3
-n 4
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-no-such-bin.000001
-Until_Log_Pos 291
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 0
-Last_SQL_Error
-Replicate_Ignore_Server_Ids
-Master_Server_Id 1
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
-select * from t2;
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition Relay
-Until_Log_File slave-relay-bin.000004
-Until_Log_Pos 728
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 0
-Last_SQL_Error
-Replicate_Ignore_Server_Ids
-Master_Server_Id 1
-start slave;
-stop slave;
-start slave until master_log_file='master-bin.000001', master_log_pos=740;
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-bin.000001
-Until_Log_Pos 740
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 0
-Last_SQL_Error
-Replicate_Ignore_Server_Ids
-Master_Server_Id 1
-start slave until master_log_file='master-bin', master_log_pos=561;
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t1;
+n
+1
+2
+3
+4
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', RELAY_LOG_POS=relay_pos_insert1_t2
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t2;
+n
+1
+2
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+START SLAVE;
+include/wait_for_slave_to_start.inc
+include/stop_slave.inc
+START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_create_t2
+include/wait_for_slave_param.inc [Until_Log_Pos]
+include/wait_for_slave_sql_to_stop.inc
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin', MASTER_LOG_POS=MASTER_LOG_POS;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS, RELAY_LOG_POS=RELAY_LOG_POS;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001';
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002';
+START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000009';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
+START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', MASTER_LOG_POS=MASTER_LOG_POS;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=740;
+START SLAVE;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
Warnings:
-Level Note
-Code 1254
-Message Slave is already running
+Note 1254 Slave is already running
+include/stop_slave.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_until.test b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
index ccd9ce11637..bf38bd487ea 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_until.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
@@ -2,90 +2,126 @@
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
-# Test is dependent on binlog positions
+# Note: The test is dependent on binlog positions
-# prepare version for substitutions
-let $VERSION=`select version()`;
+# Create some events on master
+connection master;
+CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+DROP TABLE t1;
+# Save master log position for query DROP TABLE t1
+save_master_pos;
+let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
+let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
-# stop slave before he will start replication also sync with master
-# for avoiding undetermenistic behaviour
+CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
+# Save master log position for query CREATE TABLE t2
save_master_pos;
-connection slave;
-sync_with_master;
-stop slave;
+let $master_pos_create_t2= query_get_value(SHOW BINLOG EVENTS, Pos, 8);
+
+INSERT INTO t2 VALUES (1),(2);
+save_master_pos;
+# Save master log position for query INSERT INTO t2 VALUES (1),(2);
+let $master_pos_insert1_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 12);
+sync_slave_with_master;
+
+# Save relay log position for query INSERT INTO t2 VALUES (1),(2);
+let $relay_pos_insert1_t2= query_get_value(show slave status, Relay_Log_Pos, 1);
connection master;
-# create some events on master
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (1),(2),(3),(4);
-drop table t1;
-create table t2(n int not null auto_increment primary key);
-insert into t2 values (1),(2);
-insert into t2 values (3),(4);
-drop table t2;
-
-# try to replicate all queries until drop of t1
+INSERT INTO t2 VALUES (3),(4);
+DROP TABLE t2;
+# Save master log position for query INSERT INTO t2 VALUES (1),(2);
+let $master_pos_drop_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 17);
+sync_slave_with_master;
+
+--source include/stop_slave.inc
+# Reset slave.
+RESET SLAVE;
+--disable_query_log
+eval CHANGE MASTER TO MASTER_USER='root', MASTER_CONNECT_RETRY=1, MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT;
+--enable_query_log
+
+# Try to replicate all queries until drop of t1
connection slave;
-start slave until master_log_file='master-bin.000001', master_log_pos=311;
-sleep 2;
-wait_for_slave_to_stop;
-# here table should be still not deleted
-select * from t1;
---vertical_results
---replace_result $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
-show slave status;
-
-# this should fail right after start
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
+echo START SLAVE UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=master_pos_drop_t1;
+--disable_query_log
+eval START SLAVE UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=$master_pos_drop_t1;
+--enable_query_log
+--source include/wait_for_slave_sql_to_stop.inc
+
+# Here table should be still not deleted
+SELECT * FROM t1;
+--let $slave_param= Exec_Master_Log_Pos
+--let $slave_param_value= $master_pos_drop_t1
+--source include/check_slave_param.inc
+
+# This should fail right after start
+--replace_result 291 MASTER_LOG_POS
+START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=291;
+--source include/wait_for_slave_sql_to_stop.inc
# again this table should be still not deleted
-select * from t1;
-sleep 2;
-wait_for_slave_to_stop;
---vertical_results
---replace_result $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
-show slave status;
-
-# try replicate all up to and not including the second insert to t2;
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
-sleep 2;
-wait_for_slave_to_stop;
-select * from t2;
---vertical_results
---replace_result $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
-show slave status;
+SELECT * FROM t1;
+
+--let $slave_param= Exec_Master_Log_Pos
+--let $slave_param_value= $master_pos_drop_t1
+--source include/check_slave_param.inc
+
+# Try replicate all up to and not including the second insert to t2;
+echo START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', RELAY_LOG_POS=relay_pos_insert1_t2;
+--disable_query_log
+eval START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', RELAY_LOG_POS=$relay_pos_insert1_t2;
+--enable_query_log
+--source include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t2;
+
+--let $slave_param= Exec_Master_Log_Pos
+--let $slave_param_value= $master_pos_insert1_t2
+--source include/check_slave_param.inc
# clean up
-start slave;
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
connection master;
-save_master_pos;
-connection slave;
-sync_with_master;
-stop slave;
+sync_slave_with_master;
+--source include/stop_slave.inc
-# this should stop immediately as we are already there
-start slave until master_log_file='master-bin.000001', master_log_pos=740;
-sleep 2;
-wait_for_slave_to_stop;
+# This should stop immediately as we are already there
+echo START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=master_pos_create_t2;
+--disable_query_log
+eval START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=$master_pos_create_t2;
+--enable_query_log
+let $slave_param= Until_Log_Pos;
+let $slave_param_value= $master_pos_create_t2;
+--source include/wait_for_slave_param.inc
+--source include/wait_for_slave_sql_to_stop.inc
# here the sql slave thread should be stopped
---vertical_results
---replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
---replace_column 1 # 7 # 9 # 22 # 23 # 33 #
-show slave status;
+--let $slave_param= Exec_Master_Log_Pos
+--let $slave_param_value= $master_pos_drop_t2
+--source include/check_slave_param.inc
#testing various error conditions
+--replace_result 561 MASTER_LOG_POS
--error 1277
-start slave until master_log_file='master-bin', master_log_pos=561;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin', MASTER_LOG_POS=561;
+--replace_result 561 MASTER_LOG_POS 12 RELAY_LOG_POS
--error 1277
-start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=561, RELAY_LOG_POS=12;
--error 1277
-start slave until master_log_file='master-bin.000001';
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001';
--error 1277
-start slave until relay_log_file='slave-relay-bin.000002';
+START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000009';
+--replace_result 561 MASTER_LOG_POS
--error 1277
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
+START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', MASTER_LOG_POS=561;
# Warning should be given for second command
-start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=740;
+START SLAVE;
+--replace_result 740 MASTER_LOG_POS
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=740;
+
+--source include/stop_slave.inc
+# Clear slave IO error.
+RESET SLAVE;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/innodb/disabled.def b/mysql-test/suite/innodb/disabled.def
index 0e7cd067056..8cae44a3607 100644
--- a/mysql-test/suite/innodb/disabled.def
+++ b/mysql-test/suite/innodb/disabled.def
@@ -10,4 +10,3 @@
#
##############################################################################
-innodb_bug12400341: variable innodb_trx_rseg_n_slots_debug is removed in MariaDB
diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result
index 48390b14a82..5b0fccbe615 100644
--- a/mysql-test/suite/innodb/r/innodb-index.result
+++ b/mysql-test/suite/innodb/r/innodb-index.result
@@ -956,7 +956,7 @@ Table Op Msg_type Msg_text
test.t1 check status OK
explain select * from t1 where b like 'adfd%';
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL b NULL NULL NULL 15 Using where
+1 SIMPLE t1 range b b 769 NULL 11 Using where
drop table t1;
set global innodb_file_per_table=on;
set global innodb_file_format='Barracuda';
diff --git a/mysql-test/suite/innodb/r/innodb_bug14147491.result b/mysql-test/suite/innodb/r/innodb_bug14147491.result
new file mode 100644
index 00000000000..6279f85f676
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug14147491.result
@@ -0,0 +1,17 @@
+CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
+# Create and populate the table to be corrupted
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+INSERT INTO t1 (b) VALUES ('corrupt me');
+INSERT INTO t1 (b) VALUES ('corrupt me');
+# Restart server to flush buffers
+# Corrupt the table
+Munged a string.
+Munged a string.
+# Write file to make mysql-test-run.pl expect crash and restart
+SELECT * FROM t1;
+ERROR HY000: Lost connection to MySQL server during query
+# Turn on reconnect
+# Wait for server to fully start
+# Cleanup
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug14676111.result b/mysql-test/suite/innodb/r/innodb_bug14676111.result
new file mode 100644
index 00000000000..ebecd1d00cb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug14676111.result
@@ -0,0 +1,53 @@
+drop table if exists t1;
+CREATE TABLE t1 (a int not null primary key) engine=InnoDB;
+set global innodb_limit_optimistic_insert_debug = 2;
+insert into t1 values (1);
+insert into t1 values (5);
+insert into t1 values (4);
+insert into t1 values (3);
+insert into t1 values (2);
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+10.0000
+delete from t1 where a=4;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+8.0000
+delete from t1 where a=5;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+5.0000
+set global innodb_limit_optimistic_insert_debug = 10000;
+delete from t1 where a=2;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+3.0000
+insert into t1 values (2);
+delete from t1 where a=2;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+2.0000
+insert into t1 values (2);
+delete from t1 where a=2;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+DATA_LENGTH / 16384
+1.0000
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug47777.result b/mysql-test/suite/innodb/r/innodb_bug47777.result
index fbba47edcfc..6625c400d84 100644
--- a/mysql-test/suite/innodb/r/innodb_bug47777.result
+++ b/mysql-test/suite/innodb/r/innodb_bug47777.result
@@ -3,11 +3,11 @@ insert into bug47777 values (geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)'));
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
count(*)
1
-update bug47777 set c2=GeomFromText('POINT(1 1)');
+update bug47777 set c2=GeomFromText('linestring(1 1)');
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
count(*)
0
-select count(*) from bug47777 where c2 = GeomFromText('POINT(1 1)');
+select count(*) from bug47777 where c2 = GeomFromText('linestring(1 1)');
count(*)
1
drop table bug47777;
diff --git a/mysql-test/suite/innodb/r/innodb_mysql.result b/mysql-test/suite/innodb/r/innodb_mysql.result
index be2b4b28f6a..b2df98bbfa6 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -343,7 +343,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index; Using temporary
explain select distinct f1, f2 from t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
+1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index
drop table t1;
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
INDEX (name));
diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test
index cea9055b873..cb96b71c912 100644
--- a/mysql-test/suite/innodb/t/innodb-index.test
+++ b/mysql-test/suite/innodb/t/innodb-index.test
@@ -1,4 +1,8 @@
-- source include/have_innodb.inc
+if (`select plugin_auth_version <= "1.1.8-29.3" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.3 or earlier
+}
let $MYSQLD_DATADIR= `select @@datadir`;
diff --git a/mysql-test/suite/innodb/t/innodb_bug14147491-master.opt b/mysql-test/suite/innodb/t/innodb_bug14147491-master.opt
new file mode 100644
index 00000000000..6b82baca147
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug14147491-master.opt
@@ -0,0 +1 @@
+--innodb_file_per_table=1 --skip-stack-trace --skip-core-file
diff --git a/mysql-test/suite/innodb/t/innodb_bug14147491.test b/mysql-test/suite/innodb/t/innodb_bug14147491.test
new file mode 100644
index 00000000000..ee3519c53fc
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug14147491.test
@@ -0,0 +1,75 @@
+#
+# Test opening a corrupted table.
+#
+
+# Don't test under valgrind, memory leaks will occur
+source include/not_valgrind.inc;
+# Avoid CrashReporter popup on Mac
+source include/not_crashrep.inc;
+# Don't test under embedded
+source include/not_embedded.inc;
+# Require InnoDB
+source include/have_innodb.inc;
+
+CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
+
+--echo # Create and populate the table to be corrupted
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+INSERT INTO t1 (b) VALUES ('corrupt me');
+--disable_query_log
+--let $i = 10
+while ($i)
+{
+ INSERT INTO t1 (b) VALUES (REPEAT('abcdefghijklmnopqrstuvwxyz', 100));
+ dec $i;
+}
+--enable_query_log
+INSERT INTO t1 (b) VALUES ('corrupt me');
+
+--echo # Restart server to flush buffers
+source include/restart_mysqld.inc;
+
+--echo # Corrupt the table
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+
+my $ibd_file = $ENV{'t1_IBD'};
+
+my $chunk;
+my $len;
+
+sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
+
+while ($len = sysread IBD_FILE, $chunk, 1024)
+{
+ if ($chunk =~ s/corrupt me/korrupt me/)
+ {
+ print "Munged a string.\n";
+ sysseek IBD_FILE, -$len, SEEK_CUR;
+ syswrite IBD_FILE, $chunk, $len;
+ }
+}
+
+close IBD_FILE;
+EOF
+
+--echo # Write file to make mysql-test-run.pl expect crash and restart
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--error 2013
+SELECT * FROM t1;
+
+--echo # Turn on reconnect
+--enable_reconnect
+
+--echo # Wait for server to fully start
+--source include/wait_until_connected_again.inc
+
+--echo # Cleanup
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug14676111.test b/mysql-test/suite/innodb/t/innodb_bug14676111.test
new file mode 100644
index 00000000000..fadd111fdc9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug14676111.test
@@ -0,0 +1,128 @@
+# Test for bug #14676111: WRONG PAGE_LEVEL WRITTEN FOR UPPER THAN FATHER PAGE AT BTR_LIFT_PAGE_UP()
+
+-- source include/have_innodb.inc
+-- source include/have_debug.inc
+
+if (`select count(*)=0 from information_schema.global_variables where variable_name = 'INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG'`)
+{
+ --skip Test requires InnoDB built with UNIV_DEBUG definition.
+}
+
+--disable_query_log
+set @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
+--enable_query_log
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+CREATE TABLE t1 (a int not null primary key) engine=InnoDB;
+
+let $wait_condition=
+ SELECT VARIABLE_VALUE < 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS
+ WHERE VARIABLE_NAME = 'INNODB_PURGE_TRX_ID_AGE';
+
+#
+# make 4 leveled straight tree
+#
+set global innodb_limit_optimistic_insert_debug = 2;
+insert into t1 values (1);
+insert into t1 values (5);
+#current tree form
+# (1, 5)
+
+insert into t1 values (4);
+#records in a page is limited to 2 artificially. root rise occurs
+#current tree form
+# (1, 5)
+#(1, 4) (5)
+
+insert into t1 values (3);
+#current tree form
+# (1, 5)
+# (1, 4) (5)
+#(1, 3) (4) (5)
+
+insert into t1 values (2);
+#current tree form
+# (1, 5)
+# (1, 4) (5)
+# (1, 3) (4) (5)
+#(1, 2) (3) (4) (5)
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+delete from t1 where a=4;
+--source include/wait_condition.inc
+#deleting 1 record of 2 records don't cause merge artificially.
+#current tree form
+# (1, 5)
+# (1) (5)
+# (1, 3) (5)
+#(1, 2) (3) (5)
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+delete from t1 where a=5;
+--source include/wait_condition.inc
+#deleting 1 record of 2 records don't cause merge artificially.
+#current tree form
+# (1)
+# (1)
+# (1, 3) <- lift up this level next, when deleting node ptr
+#(1, 2) (3) <- merged next
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+#
+# cause merge at level 0
+#
+
+#disable the artificial limitation of records in a page
+set global innodb_limit_optimistic_insert_debug = 10000;
+delete from t1 where a=2;
+--source include/wait_condition.inc
+#merge page occurs. and lift up occurs.
+#current tree form
+# (1)
+# (1)
+# (1, 3)
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+insert into t1 values (2);
+#current tree form
+# (1)
+# (1) <- lift up this level next, because it is not root
+# (1, 2, 3)
+
+delete from t1 where a=2;
+--source include/wait_condition.inc
+#current tree form
+# (1)
+# (1, 3)
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+insert into t1 values (2);
+#current tree form
+# (1)
+# (1, 2, 3) <- lift up this level next, because the father is root
+
+delete from t1 where a=2;
+--source include/wait_condition.inc
+#current tree form
+# (1, 3)
+
+analyze table t1;
+select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+
+drop table t1;
+
+--disable_query_log
+set global innodb_limit_optimistic_insert_debug = @old_innodb_limit_optimistic_insert_debug;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_bug47777.test b/mysql-test/suite/innodb/t/innodb_bug47777.test
index d00509c3814..575d84b97e9 100644
--- a/mysql-test/suite/innodb/t/innodb_bug47777.test
+++ b/mysql-test/suite/innodb/t/innodb_bug47777.test
@@ -14,11 +14,11 @@ insert into bug47777 values (geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)'));
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
# Update table bug47777 should be successful.
-update bug47777 set c2=GeomFromText('POINT(1 1)');
+update bug47777 set c2=GeomFromText('linestring(1 1)');
# Verify the row get updated successfully. The original
-# c2 value should be changed to GeomFromText('POINT(1 1)').
+# c2 value should be changed to GeomFromText('linestring(1 1)').
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
-select count(*) from bug47777 where c2 = GeomFromText('POINT(1 1)');
+select count(*) from bug47777 where c2 = GeomFromText('linestring(1 1)');
drop table bug47777;
diff --git a/mysql-test/suite/innodb/t/innodb_mysql.test b/mysql-test/suite/innodb/t/innodb_mysql.test
index 3ae5be3aa30..f602876347d 100644
--- a/mysql-test/suite/innodb/t/innodb_mysql.test
+++ b/mysql-test/suite/innodb/t/innodb_mysql.test
@@ -9,6 +9,10 @@
-- source include/not_staging.inc
-- source include/have_innodb.inc
-- source include/have_query_cache.inc
+if (`select plugin_auth_version <= "1.1.8-29.3" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.3 or earlier
+}
let $engine_type= InnoDB;
let $other_engine_type= MEMORY;
diff --git a/mysql-test/suite/maria/maria-gis-rtree-dynamic.result b/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
index f4593f2f10a..ee7135c4851 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
+++ b/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
@@ -766,35 +766,35 @@ SPATIAL KEY (line)
) row_format=dynamic;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
-("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
-("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
-("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
-("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
-("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
-("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
-("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
-("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
-("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
-("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
-("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
-("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
-("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
-("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
-("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
-("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
-("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
-("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
-("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
-("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
-("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
-("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
-("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
drop table t1;
diff --git a/mysql-test/suite/maria/maria-gis-rtree-dynamic.test b/mysql-test/suite/maria/maria-gis-rtree-dynamic.test
index 166c88cab36..668d393d0b8 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-dynamic.test
+++ b/mysql-test/suite/maria/maria-gis-rtree-dynamic.test
@@ -135,35 +135,35 @@ CREATE TABLE t1 (
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
- ("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
- ("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
- ("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
- ("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
- ("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
- ("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
- ("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
- ("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
- ("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
- ("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
- ("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
- ("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
- ("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
- ("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
- ("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
- ("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
- ("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
- ("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
- ("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
- ("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
- ("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
- ("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
- ("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+ ("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+ ("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+ ("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+ ("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+ ("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+ ("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+ ("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+ ("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+ ("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+ ("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+ ("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+ ("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+ ("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+ ("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+ ("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+ ("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+ ("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+ ("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+ ("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+ ("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+ ("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+ ("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+ ("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
diff --git a/mysql-test/suite/maria/maria-gis-rtree-trans.result b/mysql-test/suite/maria/maria-gis-rtree-trans.result
index c4e773c7e0a..dba56204172 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-trans.result
+++ b/mysql-test/suite/maria/maria-gis-rtree-trans.result
@@ -766,35 +766,35 @@ SPATIAL KEY (line)
) transactional=1 row_format=page;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
-("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
-("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
-("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
-("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
-("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
-("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
-("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
-("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
-("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
-("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
-("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
-("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
-("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
-("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
-("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
-("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
-("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
-("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
-("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
-("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
-("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
-("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
-("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
drop table t1;
diff --git a/mysql-test/suite/maria/maria-gis-rtree-trans.test b/mysql-test/suite/maria/maria-gis-rtree-trans.test
index ec1573c3e29..73f129d8df9 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-trans.test
+++ b/mysql-test/suite/maria/maria-gis-rtree-trans.test
@@ -138,35 +138,35 @@ CREATE TABLE t1 (
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
- ("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
- ("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
- ("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
- ("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
- ("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
- ("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
- ("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
- ("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
- ("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
- ("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
- ("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
- ("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
- ("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
- ("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
- ("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
- ("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
- ("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
- ("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
- ("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
- ("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
- ("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
- ("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
- ("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+ ("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+ ("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+ ("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+ ("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+ ("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+ ("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+ ("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+ ("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+ ("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+ ("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+ ("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+ ("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+ ("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+ ("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+ ("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+ ("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+ ("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+ ("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+ ("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+ ("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+ ("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+ ("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+ ("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
diff --git a/mysql-test/suite/maria/maria-gis-rtree.result b/mysql-test/suite/maria/maria-gis-rtree.result
index 430f240d83e..1a7b08169dc 100644
--- a/mysql-test/suite/maria/maria-gis-rtree.result
+++ b/mysql-test/suite/maria/maria-gis-rtree.result
@@ -766,35 +766,35 @@ SPATIAL KEY (line)
) transactional=0 row_format=page;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
-("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
-("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
-("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
-("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
-("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
-("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
-("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
-("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
-("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
-("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
-("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
-("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
-("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
-("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
-("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
-("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
-("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
-("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
-("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
-("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
-("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
-("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
-("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
-("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
-("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
-("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
drop table t1;
diff --git a/mysql-test/suite/maria/maria-gis-rtree.test b/mysql-test/suite/maria/maria-gis-rtree.test
index beffbfc99fe..a3845adb7b9 100644
--- a/mysql-test/suite/maria/maria-gis-rtree.test
+++ b/mysql-test/suite/maria/maria-gis-rtree.test
@@ -135,35 +135,35 @@ CREATE TABLE t1 (
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
- ("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
- ("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
- ("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")),
- ("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")),
- ("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")),
- ("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")),
- ("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")),
- ("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")),
- ("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")),
- ("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")),
- ("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")),
- ("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")),
- ("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")),
- ("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")),
- ("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")),
- ("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")),
- ("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")),
- ("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")),
- ("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")),
- ("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")),
- ("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
- ("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")),
- ("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")),
- ("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")),
- ("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")),
- ("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)"));
+ ("Aadaouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadassiye", "pp", GeomFromText("LINESTRING(35.816667 36.216667)")),
+ ("Aadbel", "pp", GeomFromText("LINESTRING(34.533333 36.100000)")),
+ ("Aadchit", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchite", "pp", GeomFromText("LINESTRING(33.347222 35.423611)")),
+ ("Aadchit el Qoussair", "pp", GeomFromText("LINESTRING(33.283333 35.483333)")),
+ ("Aaddaye", "pp", GeomFromText("LINESTRING(36.716667 40.833333)")),
+ ("'Aadeissa", "pp", GeomFromText("LINESTRING(32.823889 35.698889)")),
+ ("Aaderup", "pp", GeomFromText("LINESTRING(55.216667 11.766667)")),
+ ("Qalaat Aades", "pp", GeomFromText("LINESTRING(33.503333 35.377500)")),
+ ("A ad'ino", "pp", GeomFromText("LINESTRING(54.812222 38.209167)")),
+ ("Aadi Noia", "pp", GeomFromText("LINESTRING(13.800000 39.833333)")),
+ ("Aad La Macta", "pp", GeomFromText("LINESTRING(35.779444 -0.129167)")),
+ ("Aadland", "pp", GeomFromText("LINESTRING(60.366667 5.483333)")),
+ ("Aadliye", "pp", GeomFromText("LINESTRING(33.366667 36.333333)")),
+ ("Aadloun", "pp", GeomFromText("LINESTRING(33.403889 35.273889)")),
+ ("Aadma", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadma Asundus", "pp", GeomFromText("LINESTRING(58.798333 22.663889)")),
+ ("Aadmoun", "pp", GeomFromText("LINESTRING(34.150000 35.650000)")),
+ ("Aadneram", "pp", GeomFromText("LINESTRING(59.016667 6.933333)")),
+ ("Aadneskaar", "pp", GeomFromText("LINESTRING(58.083333 6.983333)")),
+ ("Aadorf", "pp", GeomFromText("LINESTRING(47.483333 8.900000)")),
+ ("Aadorp", "pp", GeomFromText("LINESTRING(52.366667 6.633333)")),
+ ("Aadouane", "pp", GeomFromText("LINESTRING(32.816667 35.983333)")),
+ ("Aadoui", "pp", GeomFromText("LINESTRING(34.450000 35.983333)")),
+ ("Aadouiye", "pp", GeomFromText("LINESTRING(34.583333 36.183333)")),
+ ("Aadouss", "pp", GeomFromText("LINESTRING(33.512500 35.601389)")),
+ ("Aadra", "pp", GeomFromText("LINESTRING(33.616667 36.500000)")),
+ ("Aadzi", "pp", GeomFromText("LINESTRING(38.100000 64.850000)"));
ALTER TABLE t1 ENABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'));
diff --git a/mysql-test/suite/maria/maria-recovery-rtree-ft.result b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
index 030421ae06a..5c6c791d8f6 100644
--- a/mysql-test/suite/maria/maria-recovery-rtree-ft.result
+++ b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
@@ -4,7 +4,7 @@ create database mysqltest;
use mysqltest;
* shut down mysqld, removed logs, restarted it
CREATE TABLE t1 (
-line LINESTRING NOT NULL,
+line POINT NOT NULL,
kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po',
name VARCHAR(32)
,SPATIAL key (line)
diff --git a/mysql-test/suite/maria/maria-recovery-rtree-ft.test b/mysql-test/suite/maria/maria-recovery-rtree-ft.test
index 11050ad676a..7112c00e5b7 100644
--- a/mysql-test/suite/maria/maria-recovery-rtree-ft.test
+++ b/mysql-test/suite/maria/maria-recovery-rtree-ft.test
@@ -31,7 +31,7 @@ use mysqltest;
let $mms_tables=2;
CREATE TABLE t1 (
- line LINESTRING NOT NULL,
+ line POINT NOT NULL,
kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po',
name VARCHAR(32)
,SPATIAL key (line)
diff --git a/mysql-test/suite/maria/maria.result b/mysql-test/suite/maria/maria.result
index 888c1c10c5e..0de42a9e7fe 100644
--- a/mysql-test/suite/maria/maria.result
+++ b/mysql-test/suite/maria/maria.result
@@ -2167,19 +2167,19 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 TRANSACTIONAL=1
drop table t1;
CREATE TABLE t1 (line LINESTRING NOT NULL) engine=aria;
-INSERT INTO t1 VALUES (GeomFromText("POINT(0 0)"));
+INSERT INTO t1 VALUES (GeomFromText("LINESTRING(0 0)"));
checksum table t1;
Table Checksum
-test.t1 326284887
+test.t1 310616673
CREATE TABLE t2 (line LINESTRING NOT NULL) engine=aria;
-INSERT INTO t2 VALUES (GeomFromText("POINT(0 0)"));
+INSERT INTO t2 VALUES (GeomFromText("LINESTRING(0 0)"));
checksum table t2;
Table Checksum
-test.t2 326284887
+test.t2 310616673
CREATE TABLE t3 select * from t1;
checksum table t3;
Table Checksum
-test.t3 326284887
+test.t3 310616673
drop table t1,t2,t3;
End of 5.1 tests
create table t2(a varchar(255),key(a))engine=aria row_format=dynamic transactional=0;
diff --git a/mysql-test/suite/maria/maria.test b/mysql-test/suite/maria/maria.test
index 6ebcf08d952..3fa7d755fe4 100644
--- a/mysql-test/suite/maria/maria.test
+++ b/mysql-test/suite/maria/maria.test
@@ -1437,10 +1437,10 @@ drop table t1;
#
CREATE TABLE t1 (line LINESTRING NOT NULL) engine=aria;
-INSERT INTO t1 VALUES (GeomFromText("POINT(0 0)"));
+INSERT INTO t1 VALUES (GeomFromText("LINESTRING(0 0)"));
checksum table t1;
CREATE TABLE t2 (line LINESTRING NOT NULL) engine=aria;
-INSERT INTO t2 VALUES (GeomFromText("POINT(0 0)"));
+INSERT INTO t2 VALUES (GeomFromText("LINESTRING(0 0)"));
checksum table t2;
CREATE TABLE t3 select * from t1;
checksum table t3;
diff --git a/mysql-test/suite/parts/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result
index 5d3143e35bb..b0f340664b7 100644
--- a/mysql-test/suite/parts/r/partition_alter4_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result
@@ -37566,7 +37566,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -38026,7 +38026,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -38497,7 +38497,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -38969,7 +38969,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -39435,7 +39435,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -39907,7 +39907,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -40384,7 +40384,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -40859,7 +40859,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -41324,7 +41324,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -41784,7 +41784,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -42255,7 +42255,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -42727,7 +42727,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -43193,7 +43193,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -43665,7 +43665,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -44142,7 +44142,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -44617,7 +44617,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -52582,7 +52582,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -53042,7 +53042,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -53513,7 +53513,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -53985,7 +53985,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -54451,7 +54451,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -54923,7 +54923,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -55400,7 +55400,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -55875,7 +55875,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result
new file mode 100644
index 00000000000..e89b15e524a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result
@@ -0,0 +1,63 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+8
+select count(*) > 0 from performance_schema.setup_instruments;
+count(*) > 0
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+1
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
+show variables like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_events_waits_history_long_size 10000
+performance_schema_events_waits_history_size 0
+performance_schema_max_cond_classes 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 10000
+performance_schema_max_rwlock_classes 30
+performance_schema_max_rwlock_instances 10000
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 1000
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_waits_history_size";
+Variable_name Value
+performance_schema_events_waits_history_size 0
+select count(*) from performance_schema.events_waits_history;
+count(*)
+0
+truncate table performance_schema.events_waits_history;
diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
new file mode 100644
index 00000000000..98172539625
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
@@ -0,0 +1,63 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+8
+select count(*) > 0 from performance_schema.setup_instruments;
+count(*) > 0
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+1
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
+show variables like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_events_waits_history_long_size 0
+performance_schema_events_waits_history_size 10
+performance_schema_max_cond_classes 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 10000
+performance_schema_max_rwlock_classes 30
+performance_schema_max_rwlock_instances 10000
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 1000
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_waits_history_long_size";
+Variable_name Value
+performance_schema_events_waits_history_long_size 0
+select count(*) from performance_schema.events_waits_history_long;
+count(*)
+0
+truncate table performance_schema.events_waits_history_long;
diff --git a/mysql-test/suite/perfschema/r/start_server_nothing.result b/mysql-test/suite/perfschema/r/start_server_nothing.result
new file mode 100644
index 00000000000..0933b18306b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_nothing.result
@@ -0,0 +1,122 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+8
+select count(*) > 0 from performance_schema.setup_instruments;
+count(*) > 0
+0
+select count(*) from performance_schema.setup_timers;
+count(*)
+1
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
+show variables like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_events_waits_history_long_size 0
+performance_schema_events_waits_history_size 0
+performance_schema_max_cond_classes 0
+performance_schema_max_cond_instances 0
+performance_schema_max_file_classes 0
+performance_schema_max_file_handles 0
+performance_schema_max_file_instances 0
+performance_schema_max_mutex_classes 0
+performance_schema_max_mutex_instances 0
+performance_schema_max_rwlock_classes 0
+performance_schema_max_rwlock_instances 0
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 0
+performance_schema_max_thread_instances 0
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_events_waits_history_long_size 0
+performance_schema_events_waits_history_size 0
+performance_schema_max_cond_classes 0
+performance_schema_max_cond_instances 0
+performance_schema_max_file_classes 0
+performance_schema_max_file_handles 0
+performance_schema_max_file_instances 0
+performance_schema_max_mutex_classes 0
+performance_schema_max_mutex_instances 0
+performance_schema_max_rwlock_classes 0
+performance_schema_max_rwlock_instances 0
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 0
+performance_schema_max_thread_instances 0
+select * from performance_schema.setup_instruments;
+NAME ENABLED TIMED
+select TIMER_NAME from performance_schema.performance_timers;
+TIMER_NAME
+CYCLE
+NANOSECOND
+MICROSECOND
+MILLISECOND
+TICK
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+events_waits_summary_by_thread_by_event_name YES
+events_waits_summary_by_event_name YES
+events_waits_summary_by_instance YES
+file_summary_by_event_name YES
+file_summary_by_instance YES
+select NAME from performance_schema.setup_timers;
+NAME
+wait
+select * from performance_schema.cond_instances;
+NAME OBJECT_INSTANCE_BEGIN
+select * from performance_schema.events_waits_current;
+THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+select * from performance_schema.events_waits_history;
+THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+select * from performance_schema.events_waits_history_long;
+THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+select * from performance_schema.events_waits_summary_by_instance;
+EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_global_by_event_name;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.file_instances;
+FILE_NAME EVENT_NAME OPEN_COUNT
+select * from performance_schema.file_summary_by_event_name;
+EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+select * from performance_schema.file_summary_by_instance;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+select * from performance_schema.mutex_instances;
+NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
+select * from performance_schema.rwlock_instances;
+NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
+select * from performance_schema.threads;
+THREAD_ID PROCESSLIST_ID NAME
diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt b/mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt
new file mode 100644
index 00000000000..334f805e2d5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_waits_history_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history.test b/mysql-test/suite/perfschema/t/start_server_no_waits_history.test
new file mode 100644
index 00000000000..2ee7dba2526
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history
+show variables like "performance_schema_events_waits_history_size";
+select count(*) from performance_schema.events_waits_history;
+
+# Valid operation, edge case
+truncate table performance_schema.events_waits_history;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt
new file mode 100644
index 00000000000..ca6699f8111
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_waits_history_long_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test
new file mode 100644
index 00000000000..e393304a94d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history long
+show variables like "performance_schema_events_waits_history_long_size";
+select count(*) from performance_schema.events_waits_history_long;
+
+# Valid operation, edge case
+truncate table performance_schema.events_waits_history_long;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_nothing-master.opt b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt
new file mode 100644
index 00000000000..529d3a1703b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt
@@ -0,0 +1,19 @@
+--loose-enable-performance-schema
+
+--loose-performance_schema_events_waits_history_long_size=0
+--loose-performance_schema_events_waits_history_size=0
+
+--loose-performance_schema_max_mutex_classes=0
+--loose-performance_schema_max_rwlock_classes=0
+--loose-performance_schema_max_cond_classes=0
+--loose-performance_schema_max_file_classes=0
+--loose-performance_schema_max_thread_classes=0
+
+--loose-performance_schema_max_mutex_instances=0
+--loose-performance_schema_max_rwlock_instances=0
+--loose-performance_schema_max_cond_instances=0
+--loose-performance_schema_max_file_instances=0
+--loose-performance_schema_max_thread_instances=0
+
+--loose-performance_schema_max_file_handles=0
+
diff --git a/mysql-test/suite/perfschema/t/start_server_nothing.test b/mysql-test/suite/perfschema/t/start_server_nothing.test
new file mode 100644
index 00000000000..b2deae35ba6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_nothing.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+show variables like "performance_schema%";
+
+# Not empty
+select * from performance_schema.setup_instruments;
+select TIMER_NAME from performance_schema.performance_timers;
+select * from performance_schema.setup_consumers;
+select NAME from performance_schema.setup_timers;
+
+# All empty
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.threads;
+
diff --git a/mysql-test/suite/rpl/disabled.def b/mysql-test/suite/rpl/disabled.def
index a45fdb47ae6..9eb5f57c7be 100644
--- a/mysql-test/suite/rpl/disabled.def
+++ b/mysql-test/suite/rpl/disabled.def
@@ -13,5 +13,4 @@
rpl_row_create_table : Bug#11759274 2010-02-27 andrei failed different way than earlier with bug#45576
rpl_spec_variables : BUG#11755836 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
rpl_get_master_version_and_clock : Bug#11766137 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
-rpl_row_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out
rpl_stm_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out
diff --git a/mysql-test/suite/rpl/r/rpl_bug31076.result b/mysql-test/suite/rpl/r/rpl_bug31076.result
index 1cf8b87f68d..e09960e848e 100644
--- a/mysql-test/suite/rpl/r/rpl_bug31076.result
+++ b/mysql-test/suite/rpl/r/rpl_bug31076.result
@@ -35,6 +35,7 @@ KEY `event_id` (`event_id`),
KEY `visit_id` (`visit_id`),
KEY `data` (`data`)
) ENGINE=MyISAM AUTO_INCREMENT=33900731 DEFAULT CHARSET=latin1;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
BINLOG '
@@ -47,6 +48,7 @@ Bk3vRhe0AQAAWgAAABEMyQkQAJlXFwIAAAEABv/AIE4AvvVDAQZN70YAK0Rvd25sb2Fkcy9NeVNR
TC00LjEvbXlzcWwtNC4xLjEyYS13aW4zMi56aXBPaAIC
'/*!*/;
SET INSERT_ID=21231039/*!*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use track/*!*/;
SET TIMESTAMP=1190087942/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
diff --git a/mysql-test/suite/rpl/r/rpl_hrtime.result b/mysql-test/suite/rpl/r/rpl_hrtime.result
index fbe4ba28409..e03257b8901 100644
--- a/mysql-test/suite/rpl/r/rpl_hrtime.result
+++ b/mysql-test/suite/rpl/r/rpl_hrtime.result
@@ -26,6 +26,7 @@ a b c
0000-00-00 00:00:00.0000 0 2022-02-02 02:02:02.65
drop table t1;
include/rpl_end.inc
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -95,3 +96,4 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
diff --git a/mysql-test/suite/rpl/r/rpl_mdev382.result b/mysql-test/suite/rpl/r/rpl_mdev382.result
index bbc57006d0d..f904561b722 100644
--- a/mysql-test/suite/rpl/r/rpl_mdev382.result
+++ b/mysql-test/suite/rpl/r/rpl_mdev382.result
@@ -154,6 +154,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `db1``; select 'oops!'`.`t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, `b``2`) SET `c``3`= concat('|', "b""a'z", "!") ;file_id=#
master-bin.000001 # Query # # COMMIT
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -197,6 +198,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
SELECT * FROM `db1``; select 'oops!'`.`t``1`;
a`1 b`2 c`3
fo\o bar |b"a'z!
@@ -246,6 +248,7 @@ master-bin.000001 # User var # # @```c`=-123450123456789012345678901234567890123
master-bin.000001 # User var # # @```d```=_latin1 0x78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878 COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98))
master-bin.000001 # Query # # COMMIT
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -291,6 +294,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
SELECT * FROM `db1``; select 'oops!'`.t1 ORDER BY a1;
a1 a2 a3 a4 b c d
-9223372036854775808 42 9223372036854775807 18446744073709551615 -1.234560123456789e125 -1234501234567890123456789012345678901234567890123456789.0123456789 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -337,6 +341,7 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query # # BEGIN
master-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES(1)
master-bin.000002 # Query # # COMMIT
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -363,5 +368,6 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
DROP TABLE t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_report_port.result b/mysql-test/suite/rpl/r/rpl_report_port.result
index 6a9ac341780..2f422c8b577 100644
--- a/mysql-test/suite/rpl/r/rpl_report_port.result
+++ b/mysql-test/suite/rpl/r/rpl_report_port.result
@@ -2,10 +2,12 @@ include/master-slave.inc
[connection master]
include/rpl_restart_server.inc [server_number=2 parameters: --report-port=9000]
include/start_slave.inc
+include/wait_for_slave_param.inc [Slave_IO_State]
[Slave restarted with the report-port set to some value]
include/assert.inc [The value shown for the slave's port number is user specified port number which is the value set for report-port.]
include/rpl_restart_server.inc [server_number=2]
include/start_slave.inc
+include/wait_for_slave_param.inc [Slave_IO_State]
[Slave restarted with the report-port set to the value of slave's port number]
include/assert.inc [The default value shown for the slave's port number is the actual port number of the slave.]
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
index 1a4d5c7574d..1489af830cc 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
@@ -150,6 +150,7 @@ c1 c3 c4 c5
5 2006-02-22 00:00:00 Tested in Texas 11
--- Test 2 position test --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -170,8 +171,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Test 3 First Remote test --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -201,6 +204,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Test 4 Second Remote test --
DROP TABLE t1;
@@ -274,6 +278,7 @@ c1 c3 c4 c5
5 2006-02-22 00:00:00 Tested in Texas 11
--- Test 5 LOAD DATA --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -281,8 +286,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Test 6 reading stdin --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -312,8 +319,10 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Test 7 reading stdin w/position --
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -334,6 +343,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
--- Test 8 switch internal charset --
stop slave;
diff --git a/mysql-test/suite/rpl/r/rpl_sp.result b/mysql-test/suite/rpl/r/rpl_sp.result
index 8a2a88a8c90..2f5052f0180 100644
--- a/mysql-test/suite/rpl/r/rpl_sp.result
+++ b/mysql-test/suite/rpl/r/rpl_sp.result
@@ -652,6 +652,7 @@ show function status like '%mysqltestbug36570%';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
test mysqltestbug36570_f1 FUNCTION root@localhost t t DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
flush logs;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -1178,6 +1179,7 @@ DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use test;
drop procedure mysqltestbug36570_p1;
drop procedure ` mysqltestbug36570_p2`;
diff --git a/mysql-test/suite/rpl/t/rpl_bug31076.test b/mysql-test/suite/rpl/t/rpl_bug31076.test
index 028ca32636a..4e9517fbf2a 100644
--- a/mysql-test/suite/rpl/t/rpl_bug31076.test
+++ b/mysql-test/suite/rpl/t/rpl_bug31076.test
@@ -40,6 +40,7 @@ CREATE TABLE `visits_events` (
KEY `data` (`data`)
) ENGINE=MyISAM AUTO_INCREMENT=33900731 DEFAULT CHARSET=latin1;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
--delimiter /*!*/;
@@ -119,6 +120,7 @@ SET INSERT_ID=21231039/*!*/;
# 9c90ded 2d 63 6f 6e 6e 65 63 74 6f 72 2d 6a 61 76 61 2d |.connector.java.|
# 9c90dfd 33 2e 30 2e 31 37 2d 67 61 2e 7a 69 70 |3.0.17.ga.zip|
# Query thread_id=28278824 exec_time=0 error_code=0
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use track/*!*/;
SET TIMESTAMP=1190087942/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
diff --git a/mysql-test/suite/rpl/t/rpl_report_port.test b/mysql-test/suite/rpl/t/rpl_report_port.test
index 12c34ce01b1..6e728a678ad 100644
--- a/mysql-test/suite/rpl/t/rpl_report_port.test
+++ b/mysql-test/suite/rpl/t/rpl_report_port.test
@@ -32,6 +32,9 @@ connection master;
connection slave;
--source include/start_slave.inc
+--let $slave_param= Slave_IO_State
+--let $slave_param_value= Waiting for master to send event
+--source include/wait_for_slave_param.inc
--echo [Slave restarted with the report-port set to some value]
connection master;
@@ -52,6 +55,9 @@ connection master;
connection slave;
--source include/start_slave.inc
+--let $slave_param= Slave_IO_State
+--let $slave_param_value= Waiting for master to send event
+--source include/wait_for_slave_param.inc
connection master;
sync_slave_with_master;
diff --git a/mysql-test/suite/sys_vars/disabled.def b/mysql-test/suite/sys_vars/disabled.def
index 1ae495e4863..596191d09b6 100644
--- a/mysql-test/suite/sys_vars/disabled.def
+++ b/mysql-test/suite/sys_vars/disabled.def
@@ -10,6 +10,5 @@
#
##############################################################################
-innodb_trx_rseg_n_slots_debug_basic: variable innodb_trx_rseg_n_slots_debug is removed in MariaDB
innodb_flush_checkpoint_debug_basic: removed from XtraDB-26.0
diff --git a/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
new file mode 100644
index 00000000000..3d4f401aad1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
@@ -0,0 +1,58 @@
+SET @start_global_value = @@global.innodb_limit_optimistic_insert_debug;
+SELECT @start_global_value;
+@start_global_value
+0
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
+select @@session.innodb_limit_optimistic_insert_debug;
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable
+show global variables like 'innodb_limit_optimistic_insert_debug';
+Variable_name Value
+innodb_limit_optimistic_insert_debug 0
+show session variables like 'innodb_limit_optimistic_insert_debug';
+Variable_name Value
+innodb_limit_optimistic_insert_debug 0
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+set global innodb_limit_optimistic_insert_debug=1;
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+1
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 1
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 1
+set @@global.innodb_limit_optimistic_insert_debug=0;
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+set session innodb_limit_optimistic_insert_debug='some';
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_limit_optimistic_insert_debug='some';
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_limit_optimistic_insert_debug=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+set global innodb_limit_optimistic_insert_debug='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+set global innodb_limit_optimistic_insert_debug=-2;
+Warnings:
+Warning 1292 Truncated incorrect innodb_limit_optimistic_insert_d value: '-2'
+set global innodb_limit_optimistic_insert_debug=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+SET @@global.innodb_limit_optimistic_insert_debug = @start_global_value;
+SELECT @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
new file mode 100644
index 00000000000..1bd078dfd7e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
@@ -0,0 +1,22 @@
+SELECT @@innodb_print_all_deadlocks;
+@@innodb_print_all_deadlocks
+0
+SET GLOBAL innodb_print_all_deadlocks=1;
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (123);
+CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
+INSERT INTO t2 VALUES (456);
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+c1
+123
+BEGIN;
+SELECT * FROM t2 FOR UPDATE;
+c2
+456
+SELECT * FROM t2 FOR UPDATE;
+SELECT * FROM t1 FOR UPDATE;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t2;
+DROP TABLE t1;
+SET GLOBAL innodb_print_all_deadlocks=default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
new file mode 100644
index 00000000000..1779cbb48df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
@@ -0,0 +1,62 @@
+SET @start_global_value = @@global.innodb_trx_purge_view_update_only_debug;
+SELECT @start_global_value;
+@start_global_value
+0
+select @@global.innodb_trx_purge_view_update_only_debug in (0, 1);
+@@global.innodb_trx_purge_view_update_only_debug in (0, 1)
+1
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
+select @@session.innodb_trx_purge_view_update_only_debug;
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable
+show global variables like 'innodb_trx_purge_view_update_only_debug';
+Variable_name Value
+innodb_trx_purge_view_update_only_debug OFF
+show session variables like 'innodb_trx_purge_view_update_only_debug';
+Variable_name Value
+innodb_trx_purge_view_update_only_debug OFF
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+set global innodb_trx_purge_view_update_only_debug=1;
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+1
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG ON
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG ON
+set @@global.innodb_trx_purge_view_update_only_debug=0;
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+set session innodb_trx_purge_view_update_only_debug='some';
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_trx_purge_view_update_only_debug='some';
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_trx_purge_view_update_only_debug=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_trx_purge_view_update_only_debug'
+set global innodb_trx_purge_view_update_only_debug='foo';
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of 'foo'
+set global innodb_trx_purge_view_update_only_debug=-2;
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of '-2'
+set global innodb_trx_purge_view_update_only_debug=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_trx_purge_view_update_only_debug'
+set global innodb_trx_purge_view_update_only_debug=2;
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of '2'
+SET @@global.innodb_trx_purge_view_update_only_debug = @start_global_value;
+SELECT @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
diff --git a/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result b/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result
deleted file mode 100644
index 6353fba2b7c..00000000000
--- a/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result
+++ /dev/null
@@ -1,14 +0,0 @@
-SET @global_start_value = @@global.ndb_log_update_as_write;
-ERROR HY000: Unknown system variable 'ndb_log_update_as_write'
-SELECT @@global.ndb_log_update_as_write;
-ERROR HY000: Unknown system variable 'ndb_log_update_as_write'
-'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-'#--------------------FN_DYNVARS_102_01------------------------#'
-'#---------------------FN_DYNVARS_102_02-------------------------#'
-'#--------------------FN_DYNVARS_102_03------------------------#'
-'#--------------------FN_DYNVARS_102_04-------------------------#'
-'#-------------------FN_DYNVARS_102_05----------------------------#'
-'#----------------------FN_DYNVARS_102_06------------------------#'
-'#----------------------FN_DYNVARS_102_07------------------------#'
-'#---------------------FN_DYNVARS_102_08-------------------------#'
-'#---------------------FN_DYNVARS_102_09----------------------#'
diff --git a/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result b/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result
deleted file mode 100644
index 38abb7cc263..00000000000
--- a/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result
+++ /dev/null
@@ -1,14 +0,0 @@
-SET @global_start_value = @@global.ndb_log_updated_only;
-ERROR HY000: Unknown system variable 'ndb_log_updated_only'
-SELECT @@global.ndb_log_updated_only;
-ERROR HY000: Unknown system variable 'ndb_log_updated_only'
-'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-'#--------------------FN_DYNVARS_103_01------------------------#'
-'#---------------------FN_DYNVARS_103_02-------------------------#'
-'#--------------------FN_DYNVARS_103_03------------------------#'
-'#--------------------FN_DYNVARS_103_04-------------------------#'
-'#-------------------FN_DYNVARS_103_05----------------------------#'
-'#----------------------FN_DYNVARS_103_06------------------------#'
-'#----------------------FN_DYNVARS_103_07------------------------#'
-'#---------------------FN_DYNVARS_103_08-------------------------#'
-'#---------------------FN_DYNVARS_103_09----------------------#'
diff --git a/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result b/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result
new file mode 100644
index 00000000000..c98dd338909
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result
@@ -0,0 +1,119 @@
+SET @session_start_value = @@session.pseudo_slave_mode;
+SELECT @session_start_value;
+@session_start_value
+0
+'#--------------------FN_DYNVARS_156_01------------------------#'
+SET @@session.pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SET @@session.pseudo_slave_mode = DEFAULT;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = 1;
+SET @@session.pseudo_slave_mode = DEFAULT;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+'#---------------------FN_DYNVARS_156_02-------------------------#'
+SET pseudo_slave_mode = 1;
+SELECT @@pseudo_slave_mode;
+@@pseudo_slave_mode
+1
+SELECT session.pseudo_slave_mode;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT local.pseudo_slave_mode;
+ERROR 42S02: Unknown table 'local' in field list
+SET session pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+'#--------------------FN_DYNVARS_156_03------------------------#'
+SET @@session.pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = 1;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+'#--------------------FN_DYNVARS_156_04-------------------------#'
+SET @@session.pseudo_slave_mode = -1;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '-1'
+SET @@session.pseudo_slave_mode = 2;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '2'
+SET @@session.pseudo_slave_mode = "T";
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'T'
+SET @@session.pseudo_slave_mode = "Y";
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'Y'
+SET @@session.pseudo_slave_mode = TRÜE;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'TRÜE'
+SET @@session.pseudo_slave_mode = ÕN;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'ÕN'
+SET @@session.pseudo_slave_mode = OF;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'OF'
+SET @@session.pseudo_slave_mode = ÓFF;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'ÓFF'
+SET @@session.pseudo_slave_mode = '¹';
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '¹'
+SET @@session.pseudo_slave_mode = NO;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'NO'
+'#-------------------FN_DYNVARS_156_05----------------------------#'
+SET @@global.pseudo_slave_mode = 0;
+ERROR HY000: Variable 'pseudo_slave_mode' is a SESSION variable and can't be used with SET GLOBAL
+SELECT @@global.pseudo_slave_mode;
+ERROR HY000: Variable 'pseudo_slave_mode' is a SESSION variable
+'#----------------------FN_DYNVARS_156_06------------------------#'
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='pseudo_slave_mode';
+count(VARIABLE_VALUE)
+1
+'#----------------------FN_DYNVARS_156_07------------------------#'
+SELECT IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+1
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+VARIABLE_VALUE
+ON
+'#---------------------FN_DYNVARS_156_08-------------------------#'
+SET @@session.pseudo_slave_mode = OFF;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = ON;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+'#---------------------FN_DYNVARS_156_09----------------------#'
+SET @@session.pseudo_slave_mode = TRUE;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+SET @@session.pseudo_slave_mode = FALSE;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = @session_start_value;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
diff --git a/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
new file mode 100644
index 00000000000..26a5c8534a1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
@@ -0,0 +1,54 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+if (`select plugin_auth_version <= "1.1.8-29.3" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.3 or earlier
+}
+
+SET @start_global_value = @@global.innodb_limit_optimistic_insert_debug;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_limit_optimistic_insert_debug;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_limit_optimistic_insert_debug;
+show global variables like 'innodb_limit_optimistic_insert_debug';
+show session variables like 'innodb_limit_optimistic_insert_debug';
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+
+#
+# show that it's writable
+#
+set global innodb_limit_optimistic_insert_debug=1;
+select @@global.innodb_limit_optimistic_insert_debug;
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+set @@global.innodb_limit_optimistic_insert_debug=0;
+select @@global.innodb_limit_optimistic_insert_debug;
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+--error ER_GLOBAL_VARIABLE
+set session innodb_limit_optimistic_insert_debug='some';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_limit_optimistic_insert_debug='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug='foo';
+set global innodb_limit_optimistic_insert_debug=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug=1e1;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_limit_optimistic_insert_debug = @start_global_value;
+SELECT @@global.innodb_limit_optimistic_insert_debug;
diff --git a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
new file mode 100644
index 00000000000..56755b523e6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
@@ -0,0 +1,52 @@
+#
+# innodb_print_all_deadlocks
+#
+
+-- source include/have_innodb.inc
+if (`select plugin_auth_version <= "1.1.8-29.3" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.3 or earlier
+}
+
+SELECT @@innodb_print_all_deadlocks;
+
+SET GLOBAL innodb_print_all_deadlocks=1;
+
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (123);
+
+CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
+INSERT INTO t2 VALUES (456);
+
+-- connect (con1,localhost,root,,)
+-- connect (con2,localhost,root,,)
+
+-- connection con1
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+
+-- connection con2
+BEGIN;
+SELECT * FROM t2 FOR UPDATE;
+
+-- connection con1
+-- send
+SELECT * FROM t2 FOR UPDATE;
+
+-- connection con2
+let $wait_condition=
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE state = 'Sending data' AND info = 'SELECT * FROM t2 FOR UPDATE';
+-- source include/wait_condition.inc
+-- error ER_LOCK_DEADLOCK
+SELECT * FROM t1 FOR UPDATE;
+
+-- connection default
+
+-- disconnect con1
+-- disconnect con2
+
+DROP TABLE t2;
+DROP TABLE t1;
+
+SET GLOBAL innodb_print_all_deadlocks=default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
new file mode 100644
index 00000000000..249bb50f64d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
@@ -0,0 +1,58 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+if (`select plugin_auth_version <= "1.1.8-29.3" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.3 or earlier
+}
+
+SET @start_global_value = @@global.innodb_trx_purge_view_update_only_debug;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_trx_purge_view_update_only_debug in (0, 1);
+select @@global.innodb_trx_purge_view_update_only_debug;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_trx_purge_view_update_only_debug;
+show global variables like 'innodb_trx_purge_view_update_only_debug';
+show session variables like 'innodb_trx_purge_view_update_only_debug';
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+
+#
+# show that it's writable
+#
+set global innodb_trx_purge_view_update_only_debug=1;
+select @@global.innodb_trx_purge_view_update_only_debug;
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+set @@global.innodb_trx_purge_view_update_only_debug=0;
+select @@global.innodb_trx_purge_view_update_only_debug;
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+--error ER_GLOBAL_VARIABLE
+set session innodb_trx_purge_view_update_only_debug='some';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_trx_purge_view_update_only_debug='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=1.1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug='foo';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=2;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_trx_purge_view_update_only_debug = @start_global_value;
+SELECT @@global.innodb_trx_purge_view_update_only_debug;
diff --git a/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test b/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test
deleted file mode 100644
index e616a807a38..00000000000
--- a/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test
+++ /dev/null
@@ -1,216 +0,0 @@
-############## mysql-test\t\ndb_log_update_as_write_basic.test ###############
-# #
-# Variable Name: ndb_log_update_as_write #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Range: #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_update_as_write #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-############## mysql-test\t\ndb_log_update_as_write_basic.test ################
-# #
-# Variable Name: ndb_log_update_as_write #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 1 #
-# Range: 1 - 65536 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_update_as_write #
-# that checks the behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-################################################################################
-################# mysql-test\t\ndb_log_update_as_write_basic.test ######
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable #
-# ndb_log_update_as_write that check behavior of this #
-# variable with valid values, invalid values, #
-# accessing variable with scope that is #
-# allowed and with scope that is now allowed. #
-# Scope: Global #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system #
-# -variables.html #
-# #
-########################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF ndb_log_update_as_write TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of ndb_log_update_as_write in a temporary variable #
-################################################################################
-
-
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SET @global_start_value = @@global.ndb_log_update_as_write;
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SELECT @@global.ndb_log_update_as_write;
-
---echo 'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-
-
---echo '#--------------------FN_DYNVARS_102_01------------------------#'
-########################################################################
-# Display the DEFAULT value of ndb_log_update_as_write #
-########################################################################
-
-#SET @@ndb_log_update_as_write = 0;
-#SET @@ndb_log_update_as_write = DEFAULT;
-#SELECT @@ndb_log_update_as_write;
-#
-#SET @@ndb_log_update_as_write = 1;
-#SET @@ndb_log_update_as_write = DEFAULT;
-#SELECT @@ndb_log_update_as_write;
-
-
---echo '#---------------------FN_DYNVARS_102_02-------------------------#'
-#############################################################################
-# Check if ndb_log_update_as_write can be accessed with and without @@ sign #
-#############################################################################
-
-#SET ndb_log_update_as_write = 1;
-#SELECT @@ndb_log_update_as_write;
-#--Error ER_UNKNOWN_TABLE
-#SELECT global.ndb_log_update_as_write;
-#
-#SET global ndb_log_update_as_write = 1;
-#SELECT @@global.ndb_log_update_as_write;
-
-
---echo '#--------------------FN_DYNVARS_102_03------------------------#'
-########################################################################
-# Change the value of ndb_log_update_as_write to a valid value #
-########################################################################
-
-#SET @@global.ndb_log_update_as_write = 0;
-#SELECT @@global.ndb_log_update_as_write;
-#SET @@global.ndb_log_update_as_write = 1;
-#SELECT @@global.ndb_log_update_as_write;
-## a value of 2 is used to just flush logs and then shutdown cold.
-#SET @@global.ndb_log_update_as_write = 2;
-#SELECT @@global.ndb_log_update_as_write;
-
---echo '#--------------------FN_DYNVARS_102_04-------------------------#'
-###########################################################################
-# Change the value of ndb_log_update_as_write to invalid value #
-###########################################################################
-
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = -1;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = TRU;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = TRUE_F;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = FALS;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = OON;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = ONN;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = OOFF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = 0FF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = ' 1';
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = "0 ";
-
-
-
---echo '#-------------------FN_DYNVARS_102_05----------------------------#'
-###########################################################################
-# Test if accessing session ndb_log_update_as_write gives error #
-###########################################################################
-
-#--Error ER_LOCAL_VARIABLE
-#SET @@session.ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@local.ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@session.ndb_log_update_as_write;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@local.ndb_log_update_as_write;
-
---echo '#----------------------FN_DYNVARS_102_06------------------------#'
-#########################################################################
-# Check if the value in SESSION Table contains variable value #
-#########################################################################
-
-#SELECT count(VARIABLE_VALUE) AS res_is_0 FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='ndb_log_update_as_write';
-
-
---echo '#----------------------FN_DYNVARS_102_07------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-#SELECT @@global.ndb_log_update_as_write = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='ndb_log_update_as_write';
-
-
---echo '#---------------------FN_DYNVARS_102_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_update_as_write = OFF;
-#SELECT @@ndb_log_update_as_write;
-#SET @@ndb_log_update_as_write = ON;
-#SELECT @@ndb_log_update_as_write;
-
---echo '#---------------------FN_DYNVARS_102_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_update_as_write = TRUE;
-#SELECT @@ndb_log_update_as_write;
-#SET @@ndb_log_update_as_write = 'FALSE';
-#SELECT @@ndb_log_update_as_write;
-
-##############################
-# Restore initial value #
-##############################
-
-#SET @@ndb_log_update_as_write = @global_start_value;
-#SELECT @@ndb_log_update_as_write;
-
-########################################################################
-# END OF ndb_log_update_as_write TESTS #
-########################################################################
diff --git a/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test b/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test
deleted file mode 100644
index c00ecf2e2fa..00000000000
--- a/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test
+++ /dev/null
@@ -1,216 +0,0 @@
-############## mysql-test\t\ndb_log_updated_only_basic.test ###############
-# #
-# Variable Name: ndb_log_updated_only #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Range: #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_updated_only #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-############## mysql-test\t\ndb_log_updated_only_basic.test ################
-# #
-# Variable Name: ndb_log_updated_only #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 1 #
-# Range: 1 - 65536 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_updated_only #
-# that checks the behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-################################################################################
-################# mysql-test\t\ndb_log_updated_only_basic.test #########
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable #
-# ndb_log_updated_only that check behavior of this #
-# variable with valid values, invalid values, #
-# accessing variable with scope that is #
-# allowed and with scope that is now allowed. #
-# Scope: Global #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system #
-# -variables.html #
-# #
-########################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF ndb_log_updated_only TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of ndb_log_updated_only in a temporary variable #
-################################################################################
-
-
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SET @global_start_value = @@global.ndb_log_updated_only;
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SELECT @@global.ndb_log_updated_only;
-
---echo 'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-
-
---echo '#--------------------FN_DYNVARS_103_01------------------------#'
-########################################################################
-# Display the DEFAULT value of ndb_log_updated_only #
-########################################################################
-
-#SET @@ndb_log_updated_only = 0;
-#SET @@ndb_log_updated_only = DEFAULT;
-#SELECT @@ndb_log_updated_only;
-#
-#SET @@ndb_log_updated_only = 1;
-#SET @@ndb_log_updated_only = DEFAULT;
-#SELECT @@ndb_log_updated_only;
-
-
---echo '#---------------------FN_DYNVARS_103_02-------------------------#'
-#############################################################################
-# Check if ndb_log_updated_only can be accessed with and without @@ sign #
-#############################################################################
-
-#SET ndb_log_updated_only = 1;
-#SELECT @@ndb_log_updated_only;
-#--Error ER_UNKNOWN_TABLE
-#SELECT global.ndb_log_updated_only;
-#
-#SET global ndb_log_updated_only = 1;
-#SELECT @@global.ndb_log_updated_only;
-
-
---echo '#--------------------FN_DYNVARS_103_03------------------------#'
-########################################################################
-# Change the value of ndb_log_updated_only to a valid value #
-########################################################################
-
-#SET @@global.ndb_log_updated_only = 0;
-#SELECT @@global.ndb_log_updated_only;
-#SET @@global.ndb_log_updated_only = 1;
-#SELECT @@global.ndb_log_updated_only;
-## a value of 2 is used to just flush logs and then shutdown cold.
-#SET @@global.ndb_log_updated_only = 2;
-#SELECT @@global.ndb_log_updated_only;
-
---echo '#--------------------FN_DYNVARS_103_04-------------------------#'
-###########################################################################
-# Change the value of ndb_log_updated_only to invalid value #
-###########################################################################
-
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = -1;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = TRU;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = TRUE_F;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = FALS;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = OON;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = ONN;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = OOFF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = 0FF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = ' 1';
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = "0 ";
-
-
-
---echo '#-------------------FN_DYNVARS_103_05----------------------------#'
-###########################################################################
-# Test if accessing session ndb_log_updated_only gives error #
-###########################################################################
-
-#--Error ER_LOCAL_VARIABLE
-#SET @@session.ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@local.ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@session.ndb_log_updated_only;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@local.ndb_log_updated_only;
-
---echo '#----------------------FN_DYNVARS_103_06------------------------#'
-#########################################################################
-# Check if the value in SESSION Table contains variable value #
-#########################################################################
-
-#SELECT count(VARIABLE_VALUE) AS res_is_0 FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='ndb_log_updated_only';
-
-
---echo '#----------------------FN_DYNVARS_103_07------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-#SELECT @@global.ndb_log_updated_only = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='ndb_log_updated_only';
-
-
---echo '#---------------------FN_DYNVARS_103_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_updated_only = OFF;
-#SELECT @@ndb_log_updated_only;
-#SET @@ndb_log_updated_only = ON;
-#SELECT @@ndb_log_updated_only;
-
---echo '#---------------------FN_DYNVARS_103_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_updated_only = TRUE;
-#SELECT @@ndb_log_updated_only;
-#SET @@ndb_log_updated_only = 'FALSE';
-#SELECT @@ndb_log_updated_only;
-
-##############################
-# Restore initial value #
-##############################
-
-#SET @@ndb_log_updated_only = @global_start_value;
-#SELECT @@ndb_log_updated_only;
-
-########################################################################
-# END OF ndb_log_updated_only TESTS #
-########################################################################
diff --git a/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test b/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test
new file mode 100644
index 00000000000..3ef39bb8667
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test
@@ -0,0 +1,168 @@
+####################### mysql-test\t\pseudo_slave_mode_basic.test ###################
+# #
+# Variable Name: pseudo_slave_mode #
+# Scope: SESSION #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: #
+# Valid Values: 0,1 #
+# #
+# #
+# Creation Date: 2012-11-16 #
+# #
+# Description: Test Cases of Dynamic System Variable pseudo_slave_mode #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.5/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF pseudo_slave_mode TESTS #
+########################################################################
+
+
+##############################################################################
+# Saving initial value of pseudo_slave_mode in a temporary variable #
+##############################################################################
+
+SET @session_start_value = @@session.pseudo_slave_mode;
+SELECT @session_start_value;
+
+--echo '#--------------------FN_DYNVARS_156_01------------------------#'
+########################################################################
+# Display the DEFAULT value of pseudo_slave_mode #
+########################################################################
+
+SET @@session.pseudo_slave_mode = 0;
+SET @@session.pseudo_slave_mode = DEFAULT;
+SELECT @@session.pseudo_slave_mode;
+
+SET @@session.pseudo_slave_mode = 1;
+SET @@session.pseudo_slave_mode = DEFAULT;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#---------------------FN_DYNVARS_156_02-------------------------#'
+#############################################################################
+# Check if pseudo_slave_mode can be accessed with and without @@ sign #
+#############################################################################
+
+SET pseudo_slave_mode = 1;
+SELECT @@pseudo_slave_mode;
+
+--Error ER_UNKNOWN_TABLE
+SELECT session.pseudo_slave_mode;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.pseudo_slave_mode;
+
+SET session pseudo_slave_mode = 0;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#--------------------FN_DYNVARS_156_03------------------------#'
+########################################################################
+# change the value of pseudo_slave_mode to a valid value #
+########################################################################
+
+SET @@session.pseudo_slave_mode = 0;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = 1;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#--------------------FN_DYNVARS_156_04-------------------------#'
+###########################################################################
+# Change the value of pseudo_slave_mode to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = "T";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = "Y";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = TRÜE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = ÕN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = OF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = ÓFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = '¹';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = NO;
+
+
+--echo '#-------------------FN_DYNVARS_156_05----------------------------#'
+###########################################################################
+# Test if accessing global pseudo_slave_mode gives error #
+###########################################################################
+
+--error ER_LOCAL_VARIABLE
+SET @@global.pseudo_slave_mode = 0;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.pseudo_slave_mode;
+
+--echo '#----------------------FN_DYNVARS_156_06------------------------#'
+#########################################################################
+# Check if the value in SESSION Table contains variable value #
+#########################################################################
+
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='pseudo_slave_mode';
+
+--echo '#----------------------FN_DYNVARS_156_07------------------------#'
+#########################################################################
+# Check if the value in SESSION Table matches value in variable #
+#########################################################################
+
+SELECT IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+SELECT @@session.pseudo_slave_mode;
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+
+--echo '#---------------------FN_DYNVARS_156_08-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+SET @@session.pseudo_slave_mode = OFF;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = ON;
+SELECT @@session.pseudo_slave_mode;
+
+--echo '#---------------------FN_DYNVARS_156_09----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@session.pseudo_slave_mode = TRUE;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = FALSE;
+SELECT @@session.pseudo_slave_mode;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@session.pseudo_slave_mode = @session_start_value;
+SELECT @@session.pseudo_slave_mode;
+
+###############################################################
+# END OF pseudo_slave_mode TESTS #
+###############################################################