Merge lp:~akopytov/percona-xtrabackup/rebase-2.2-on-mysql-5.6.14 into lp:percona-xtrabackup/2.2

Proposed by Alexey Kopytov
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 4906
Proposed branch: lp:~akopytov/percona-xtrabackup/rebase-2.2-on-mysql-5.6.14
Merge into: lp:percona-xtrabackup/2.2
Prerequisite: lp:~akopytov/percona-xtrabackup/single-binary
Diff against target: 79920 lines (+26270/-13255) (has conflicts)
1493 files modified
BUILD/SETUP.sh (+2/-2)
BUILD/compile-pentium (+1/-1)
BUILD/compile-pentium-debug-max-no-ndb (+1/-1)
BUILD/compile-pentium-gcov (+1/-1)
BUILD/compile-pentium-gprof (+1/-1)
BUILD/compile-pentium-valgrind-max-no-ndb (+2/-2)
BUILD/compile-pentium64 (+2/-2)
CMakeLists.txt (+7/-3)
Docs/mysql.info (+1/-2)
INSTALL-SOURCE (+1/-2)
INSTALL-WIN-SOURCE (+1/-2)
README (+56/-56)
VERSION (+1/-1)
client/CMakeLists.txt (+3/-5)
client/completion_hash.h (+2/-2)
client/echo.c (+1/-1)
client/mysql.cc (+38/-13)
client/mysql_plugin.c (+1/-1)
client/mysql_upgrade.c (+66/-3)
client/mysqlbinlog.cc (+133/-6)
client/mysqldump.c (+67/-32)
client/mysqltest.cc (+9/-2)
client/sql_string.h (+2/-1)
cmake/build_configurations/compiler_options.cmake (+2/-2)
cmake/build_configurations/feature_set.cmake (+2/-2)
cmake/build_configurations/mysql_release.cmake (+1/-2)
cmake/dtrace.cmake (+2/-2)
cmake/install_macros.cmake (+10/-10)
cmake/mysql_version.cmake (+2/-1)
cmake/os/WindowsCache.cmake (+3/-2)
cmake/package_name.cmake (+13/-5)
cmake/readline.cmake (+60/-49)
cmd-line-utils/libedit/readline.c (+1/-1)
config.h.cmake (+2/-2)
configure.cmake (+3/-1)
dbug/dbug.c (+74/-32)
extra/charset2html.c (+1/-1)
extra/comp_err.c (+19/-1)
extra/yassl/COPYING (+2/-2)
extra/yassl/include/openssl/generate_prefix_files.pl (+1/-1)
extra/yassl/src/crypto_wrapper.cpp (+1/-1)
extra/yassl/src/make.bat (+1/-1)
extra/yassl/src/yassl_int.cpp (+1/-1)
extra/yassl/taocrypt/COPYING (+2/-2)
extra/yassl/taocrypt/benchmark/make.bat (+1/-1)
extra/yassl/taocrypt/src/algebra.cpp (+1/-1)
extra/yassl/taocrypt/src/integer.cpp (+1/-1)
extra/yassl/taocrypt/src/make.bat (+1/-1)
extra/yassl/taocrypt/test/make.bat (+1/-1)
extra/yassl/testsuite/make.bat (+1/-1)
include/atomic/rwlock.h (+1/-35)
include/big_endian.h (+2/-2)
include/byte_order_generic.h (+2/-2)
include/byte_order_generic_x86.h (+2/-2)
include/byte_order_generic_x86_64.h (+2/-2)
include/little_endian.h (+2/-2)
include/my_base.h (+3/-1)
include/my_bitmap.h (+1/-1)
include/my_compare.h (+1/-1)
include/my_dbug.h (+13/-2)
include/my_default.h (+2/-2)
include/my_getopt.h (+3/-0)
include/my_global.h (+5/-9)
include/my_md5.h (+1/-1)
include/my_pthread.h (+11/-2)
include/my_sys.h (+1/-6)
include/my_user.h (+1/-1)
include/my_xml.h (+1/-1)
include/mysql/innodb_priv.h (+1/-1)
include/mysql/plugin.h (+11/-0)
include/mysql/plugin_audit.h (+5/-1)
include/mysql/plugin_audit.h.pp (+4/-0)
include/mysql_time.h (+1/-1)
include/t_ctype.h (+1/-1)
include/typelib.h (+1/-1)
libmysql/CMakeLists.txt (+16/-4)
libmysql/authentication_win/common.cc (+1/-1)
libmysql/authentication_win/common.h (+1/-1)
libmysql/authentication_win/handshake.cc (+7/-8)
libmysql/authentication_win/handshake.h (+8/-8)
libmysql/authentication_win/handshake_client.cc (+1/-1)
libmysql/authentication_win/log_client.cc (+1/-1)
libmysql/authentication_win/plugin_client.cc (+1/-1)
libmysql/conf_to_src.c (+1/-1)
libmysql/libmysql.def (+7/-0)
libmysqld/examples/CMakeLists.txt (+3/-4)
libmysqld/examples/test-run (+1/-1)
libmysqld/lib_sql.cc (+10/-8)
mysql-test/collections/default.daily (+6/-5)
mysql-test/collections/default.daily-valgrind (+15/-0)
mysql-test/collections/default.experimental (+4/-3)
mysql-test/collections/default.push (+4/-4)
mysql-test/collections/default.push-valgrind (+2/-0)
mysql-test/collections/default.release.in (+1/-1)
mysql-test/collections/default.weekly (+15/-21)
mysql-test/collections/default.weekly-valgrind (+17/-0)
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test (+1/-1)
mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc (+4/-4)
mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc (+1/-1)
mysql-test/extra/rpl_tests/rpl_conflicts.test (+8/-13)
mysql-test/extra/rpl_tests/rpl_extra_col_master.test (+5/-15)
mysql-test/extra/rpl_tests/rpl_extra_col_slave.test (+40/-43)
mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test (+2/-0)
mysql-test/extra/rpl_tests/rpl_row_basic.test (+2/-6)
mysql-test/extra/rpl_tests/rpl_row_empty_imgs.test (+1/-1)
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test (+3/-6)
mysql-test/extra/rpl_tests/rpl_stress_test.inc (+111/-0)
mysql-test/include/default_mysqld.cnf (+2/-2)
mysql-test/include/explain_json.inc (+1/-1)
mysql-test/include/handler.inc (+2/-3)
mysql-test/include/have_daemon_example_plugin.inc (+16/-0)
mysql-test/include/have_perfschema.inc (+1/-1)
mysql-test/include/have_plugin_auth.inc (+4/-5)
mysql-test/include/have_plugin_interface.inc (+4/-5)
mysql-test/include/have_plugin_server.inc (+4/-5)
mysql-test/include/have_valgrind.inc (+11/-0)
mysql-test/include/index_merge_delete.inc (+215/-0)
mysql-test/include/index_merge_insert-and-replace.inc (+137/-0)
mysql-test/include/index_merge_intersect_dml.inc (+197/-0)
mysql-test/include/index_merge_multi_col_setup.inc (+75/-0)
mysql-test/include/index_merge_single_col_setup.inc (+72/-0)
mysql-test/include/index_merge_update.inc (+130/-0)
mysql-test/include/install_semisync.inc (+39/-0)
mysql-test/include/mtr_warnings.sql (+4/-2)
mysql-test/include/restart_readonly_mysqld.inc (+21/-0)
mysql-test/include/rpl_stop_server.inc (+2/-2)
mysql-test/include/select.inc (+2/-0)
mysql-test/include/shutdown_mysqld.inc (+1/-1)
mysql-test/include/start_slave_sql.inc (+1/-1)
mysql-test/include/subquery.inc (+4/-0)
mysql-test/include/test_fieldsize.inc (+1/-2)
mysql-test/include/uninstall_semisync.inc (+23/-0)
mysql-test/lib/My/CoreDump.pm (+7/-3)
mysql-test/lib/My/SafeProcess/CMakeLists.txt (+16/-4)
mysql-test/lib/My/SafeProcess/safe_process.cc (+1/-1)
mysql-test/lib/My/SysInfo.pm (+2/-2)
mysql-test/lib/v1/mysql-test-run.pl (+5/-8)
mysql-test/mysql-test-run.pl (+13/-3)
mysql-test/purify.supp (+2/-2)
mysql-test/r/auth_rpl.result (+3/-3)
mysql-test/r/create.result (+3/-2)
mysql-test/r/derived.result (+1/-1)
mysql-test/r/distinct.result (+3/-3)
mysql-test/r/explain.result (+5/-1)
mysql-test/r/explain_json_all.result (+11/-15)
mysql-test/r/explain_json_none.result (+11/-15)
mysql-test/r/func_str.result (+2/-2)
mysql-test/r/group_by.result (+1/-1)
mysql-test/r/group_min_max.result (+5/-2)
mysql-test/r/handler_innodb.result (+8/-3)
mysql-test/r/handler_myisam.result (+8/-3)
mysql-test/r/heap.result (+1/-1)
mysql-test/r/index_merge_delete.result (+564/-0)
mysql-test/r/index_merge_insert-and-replace.result (+340/-0)
mysql-test/r/index_merge_intersect_dml.result (+144/-0)
mysql-test/r/index_merge_update.result (+328/-0)
mysql-test/r/innodb_explain_json_non_select_all.result (+70/-28)
mysql-test/r/innodb_explain_json_non_select_none.result (+70/-28)
mysql-test/r/innodb_explain_non_select_all.result (+28/-28)
mysql-test/r/innodb_explain_non_select_none.result (+28/-28)
mysql-test/r/log_tables.result (+1/-1)
mysql-test/r/mdl_sync.result (+5/-25)
mysql-test/r/myisam_explain_json_non_select_all.result (+70/-28)
mysql-test/r/myisam_explain_json_non_select_none.result (+70/-28)
mysql-test/r/myisam_explain_non_select_all.result (+28/-28)
mysql-test/r/myisam_explain_non_select_none.result (+28/-28)
mysql-test/r/myisam_row_rpl.result (+1/-1)
mysql-test/r/mysqld--help-notwin.result (+15/-5)
mysql-test/r/mysqld--help-win.result (+15/-5)
mysql-test/r/mysqldump.result (+1/-1)
mysql-test/r/olap.result (+17/-78)
mysql-test/r/partition_explicit_prune.result (+1/-1)
mysql-test/r/partition_locking.result (+40/-40)
mysql-test/r/partition_myisam.result (+2/-2)
mysql-test/r/partition_open_files_limit.result (+1/-1)
mysql-test/r/partition_pruning.result (+3/-3)
mysql-test/r/plugin.result (+81/-1)
mysql-test/r/plugin_auth.result (+2/-4)
mysql-test/r/plugin_auth_qa.result (+4/-2)
mysql-test/r/plugin_auth_qa_1.result (+2/-0)
mysql-test/r/plugin_auth_qa_2.result (+4/-22)
mysql-test/r/ps_grant.result (+1/-2)
mysql-test/r/rewrite_general_log.result (+3/-0)
mysql-test/r/rpl_mysqldump_slave.result (+2/-2)
mysql-test/r/select_all.result (+33/-3)
mysql-test/r/select_all_bka.result (+33/-3)
mysql-test/r/select_all_bka_nixbnl.result (+33/-3)
mysql-test/r/select_icp_mrr.result (+33/-3)
mysql-test/r/select_icp_mrr_bka.result (+33/-3)
mysql-test/r/select_icp_mrr_bka_nixbnl.result (+33/-3)
mysql-test/r/select_none.result (+33/-3)
mysql-test/r/select_none_bka.result (+33/-3)
mysql-test/r/select_none_bka_nixbnl.result (+33/-3)
mysql-test/r/sp_notembedded.result (+5/-3)
mysql-test/r/subquery_all.result (+6/-2)
mysql-test/r/subquery_all_bka.result (+6/-2)
mysql-test/r/subquery_all_bka_nixbnl.result (+6/-2)
mysql-test/r/subquery_nomat_nosj.result (+6/-2)
mysql-test/r/subquery_nomat_nosj_bka.result (+6/-2)
mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result (+6/-2)
mysql-test/r/subquery_none.result (+6/-2)
mysql-test/r/subquery_none_bka.result (+6/-2)
mysql-test/r/subquery_none_bka_nixbnl.result (+6/-2)
mysql-test/r/table_definition_cache_functionality.result (+6/-6)
mysql-test/r/table_open_cache_functionality.result (+2/-2)
mysql-test/r/user_var.result (+6/-6)
mysql-test/suite/auth_sec/r/key_value_auth.result (+4/-4)
mysql-test/suite/auth_sec/r/server_withoutssl_client_withoutssl.result (+8/-16)
mysql-test/suite/auth_sec/r/server_withoutssl_client_withssl.result (+8/-0)
mysql-test/suite/auth_sec/t/key_value_auth.test (+4/-4)
mysql-test/suite/auth_sec/t/server_withoutssl_client_withoutssl.test (+6/-2)
mysql-test/suite/auth_sec/t/server_withoutssl_client_withssl.test (+3/-3)
mysql-test/suite/binlog/r/binlog_database.result (+1/-1)
mysql-test/suite/binlog/r/binlog_gtid_errors.result (+8/-3)
mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row.result (+1/-0)
mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row_innodb.result (+1399/-1368)
mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row_myisam.result (+1419/-1388)
mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_start_stop.result (+139/-105)
mysql-test/suite/binlog/r/binlog_gtid_row_ctype_ucs.result (+2/-1)
mysql-test/suite/binlog/r/binlog_gtid_stm_ctype_ucs.result (+2/-1)
mysql-test/suite/binlog/r/binlog_index.result (+4/-0)
mysql-test/suite/binlog/r/binlog_innodb_row.result (+1/-1)
mysql-test/suite/binlog/r/binlog_max_extension.result (+3/-0)
mysql-test/suite/binlog/r/binlog_rewrite.result (+1/-1)
mysql-test/suite/binlog/r/binlog_row_binlog.result (+2/-2)
mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result (+6/-6)
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result (+1/-1)
mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result (+5/-5)
mysql-test/suite/binlog/t/binlog_gtid_errors.test (+7/-0)
mysql-test/suite/binlog/t/binlog_index.test (+3/-0)
mysql-test/suite/binlog/t/binlog_killed_simulate.test (+4/-5)
mysql-test/suite/binlog/t/binlog_max_extension.test (+3/-2)
mysql-test/suite/engines/funcs/r/rpl_row_until.result (+2/-2)
mysql-test/suite/funcs_1/datadict/processlist_priv.inc (+1/-1)
mysql-test/suite/funcs_1/r/is_columns_mysql.result (+4/-4)
mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result (+4/-4)
mysql-test/suite/funcs_1/r/is_tables_mysql.result (+1/-1)
mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result (+2/-2)
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result (+1/-1)
mysql-test/suite/funcs_1/r/processlist_priv_ps.result (+1/-1)
mysql-test/suite/innodb/r/innodb-wl6445-1.result (+6/-6)
mysql-test/suite/innodb/r/innodb-wl6445-2.result (+4/-2)
mysql-test/suite/innodb/r/innodb_bug13867871.result (+4/-2)
mysql-test/suite/innodb/r/innodb_monitor.result (+1/-0)
mysql-test/suite/innodb/r/innodb_mysql.result (+1/-1)
mysql-test/suite/innodb/t/innodb-wl6445-1.test (+6/-6)
mysql-test/suite/innodb/t/innodb-wl6445-2.test (+4/-3)
mysql-test/suite/innodb/t/innodb_bug13867871.test (+12/-2)
mysql-test/suite/innodb/t/innodb_page_size_func.test (+3/-2)
mysql-test/suite/innodb_fts/r/fulltext.result (+10/-14)
mysql-test/suite/innodb_fts/r/fulltext_left_join.result (+2/-4)
mysql-test/suite/innodb_fts/r/fulltext_misc.result (+1/-1)
mysql-test/suite/innodb_fts/r/fulltext_var.result (+1/-4)
mysql-test/suite/innodb_fts/r/innodb-fts-basic.result (+3/-0)
mysql-test/suite/innodb_fts/r/innodb_fts_misc.result (+87/-6)
mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result (+1/-1)
mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result (+29/-0)
mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result (+1/-0)
mysql-test/suite/innodb_fts/r/innodb_fts_result_cache_limit.result (+31/-0)
mysql-test/suite/innodb_fts/t/fulltext.test (+9/-6)
mysql-test/suite/innodb_fts/t/fulltext_left_join.test (+2/-0)
mysql-test/suite/innodb_fts/t/fulltext_misc.test (+1/-1)
mysql-test/suite/innodb_fts/t/fulltext_order_by.test (+1/-1)
mysql-test/suite/innodb_fts/t/fulltext_var.test (+2/-0)
mysql-test/suite/innodb_fts/t/innodb_fts_misc.test (+69/-1)
mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test (+1/-0)
mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test (+45/-0)
mysql-test/suite/innodb_fts/t/innodb_fts_result_cache_limit.test (+52/-0)
mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result (+2/-2)
mysql-test/suite/opt_trace/r/bugs_no_prot_none.result (+9/-9)
mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result (+9/-9)
mysql-test/suite/opt_trace/r/eq_range_statistics.result (+2/-6)
mysql-test/suite/opt_trace/r/range_no_prot.result (+6/-8)
mysql-test/suite/opt_trace/r/range_ps_prot.result (+6/-8)
mysql-test/suite/opt_trace/r/subquery_no_prot.result (+2/-2)
mysql-test/suite/opt_trace/r/subquery_ps_prot.result (+2/-2)
mysql-test/suite/opt_trace/validate_json.py (+1/-1)
mysql-test/suite/parts/r/rpl-partition-dml-1-1-innodb.result (+1/-1)
mysql-test/suite/parts/r/rpl-partition-dml-1-1-myisam.result (+1/-1)
mysql-test/suite/parts/r/rpl_partition.result (+1/-1)
mysql-test/suite/perfschema/include/disable_instruments.inc (+23/-0)
mysql-test/suite/perfschema/include/enable_instruments.inc (+23/-0)
mysql-test/suite/perfschema/include/rpl_statements_truncate.inc (+15/-0)
mysql-test/suite/perfschema/include/sizing_auto.inc (+2/-2)
mysql-test/suite/perfschema/r/binlog_edge_row.result (+4/-0)
mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result (+215/-5)
mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result (+215/-5)
mysql-test/suite/perfschema/r/ortho_iter.result (+1/-1)
mysql-test/suite/perfschema/r/pfs_upgrade_event.result (+53/-53)
mysql-test/suite/perfschema/r/pfs_upgrade_func.result (+53/-53)
mysql-test/suite/perfschema/r/pfs_upgrade_proc.result (+53/-53)
mysql-test/suite/perfschema/r/pfs_upgrade_table.result (+53/-53)
mysql-test/suite/perfschema/r/pfs_upgrade_view.result (+53/-53)
mysql-test/suite/perfschema/r/privilege_table_io.result (+1/-1)
mysql-test/suite/perfschema/r/relaylog.result (+6/-2)
mysql-test/suite/perfschema/r/rpl_gtid_func.result (+1/-1)
mysql-test/suite/perfschema/r/rpl_statements.result (+244/-0)
mysql-test/suite/perfschema/r/setup_instruments_defaults.result (+34/-6)
mysql-test/suite/perfschema/r/sizing_default.result (+100/-100)
mysql-test/suite/perfschema/r/sizing_high.result (+17/-17)
mysql-test/suite/perfschema/r/sizing_low.result (+17/-17)
mysql-test/suite/perfschema/r/sizing_med.result (+17/-17)
mysql-test/suite/perfschema/r/sizing_off.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_disable_idle.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_disable_stages.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_disable_statements.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_disable_waits.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_innodb.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_account.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_cond_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_cond_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_file_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_file_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_host.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_mutex_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_setup_actors.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_setup_objects.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_socket_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_socket_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_stage_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_stages_history.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_statements_history.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_table_hdl.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_table_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_thread_class.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_thread_inst.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_user.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_waits_history.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_off.result (+1/-1)
mysql-test/suite/perfschema/r/start_server_on.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_off.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result (+1/-1)
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result (+1/-1)
mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test (+75/-6)
mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test (+75/-6)
mysql-test/suite/perfschema/t/rpl_statements-master.opt (+1/-0)
mysql-test/suite/perfschema/t/rpl_statements-slave.opt (+1/-0)
mysql-test/suite/perfschema/t/rpl_statements.test (+338/-0)
mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt (+19/-10)
mysql-test/suite/perfschema/t/setup_instruments_defaults.test (+52/-9)
mysql-test/suite/perfschema/t/sizing_default.cnf (+7/-4)
mysql-test/suite/perfschema/t/sizing_default.test (+22/-0)
mysql-test/suite/rpl/r/rpl_000010.result (+1/-1)
mysql-test/suite/rpl/r/rpl_000011.result (+1/-1)
mysql-test/suite/rpl/r/rpl_000013.result (+1/-1)
mysql-test/suite/rpl/r/rpl_000017.result (+1/-1)
mysql-test/suite/rpl/r/rpl_DML_error.result (+1/-1)
mysql-test/suite/rpl/r/rpl_EE_err.result (+1/-1)
mysql-test/suite/rpl/r/rpl_LD_INFILE.result (+1/-1)
mysql-test/suite/rpl/r/rpl_alter.result (+1/-1)
mysql-test/suite/rpl/r/rpl_alter_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_alter_repository.result (+3/-3)
mysql-test/suite/rpl/r/rpl_auto_increment.result (+1/-1)
mysql-test/suite/rpl/r/rpl_auto_increment_11932.result (+1/-1)
mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result (+1/-1)
mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result (+1/-1)
mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result (+1/-1)
mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result (+1/-1)
mysql-test/suite/rpl/r/rpl_binlog_corruption.result (+1/-1)
mysql-test/suite/rpl/r/rpl_binlog_errors.result (+1/-1)
mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result (+1/-1)
mysql-test/suite/rpl/r/rpl_binlog_grant.result (+1/-1)
mysql-test/suite/rpl/r/rpl_binlog_index.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bit.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bit_npk.result (+1/-1)
mysql-test/suite/rpl/r/rpl_blackhole.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bug26395.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bug31076.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bug33931.result (+2/-2)
mysql-test/suite/rpl/r/rpl_bug37426.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bug38694.result (+1/-1)
mysql-test/suite/rpl/r/rpl_bug41902.result (+1/-1)
mysql-test/suite/rpl/r/rpl_change_master.result (+3/-3)
mysql-test/suite/rpl/r/rpl_change_master_crash_safe.result (+2/-2)
mysql-test/suite/rpl/r/rpl_change_master_dbug.result (+1/-1)
mysql-test/suite/rpl/r/rpl_charset.result (+1/-1)
mysql-test/suite/rpl/r/rpl_charset_sjis.result (+1/-1)
mysql-test/suite/rpl/r/rpl_checksum.result (+2/-2)
mysql-test/suite/rpl/r/rpl_checksum_cache.result (+1/-1)
mysql-test/suite/rpl/r/rpl_checksum_undef.result (+1/-1)
mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result (+12/-12)
mysql-test/suite/rpl/r/rpl_colSize.result (+1/-1)
mysql-test/suite/rpl/r/rpl_commit_after_flush.result (+1/-1)
mysql-test/suite/rpl/r/rpl_concurrency_error.result (+1/-1)
mysql-test/suite/rpl/r/rpl_conditional_comments.result (+1/-1)
mysql-test/suite/rpl/r/rpl_connection.result (+3/-3)
mysql-test/suite/rpl/r/rpl_corruption.result (+1/-1)
mysql-test/suite/rpl/r/rpl_crash_safe_master.result (+1/-1)
mysql-test/suite/rpl/r/rpl_create_database.result (+1/-1)
mysql-test/suite/rpl/r/rpl_create_if_not_exists.result (+1/-1)
mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result (+1/-1)
mysql-test/suite/rpl/r/rpl_cross_version.result (+1/-1)
mysql-test/suite/rpl/r/rpl_current_user.result (+2/-2)
mysql-test/suite/rpl/r/rpl_deadlock_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_delete_no_where.result (+1/-1)
mysql-test/suite/rpl/r/rpl_do_db_filter.result (+1/-1)
mysql-test/suite/rpl/r/rpl_do_grant.result (+1/-1)
mysql-test/suite/rpl/r/rpl_do_table_filter_insensitive.result (+1/-1)
mysql-test/suite/rpl/r/rpl_do_table_filter_sensitive.result (+1/-1)
mysql-test/suite/rpl/r/rpl_drop.result (+1/-1)
mysql-test/suite/rpl/r/rpl_drop_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_drop_temp.result (+1/-1)
mysql-test/suite/rpl/r/rpl_drop_view.result (+1/-1)
mysql-test/suite/rpl/r/rpl_dual_pos_advance.result (+2/-2)
mysql-test/suite/rpl/r/rpl_empty_master_host.result (+1/-1)
mysql-test/suite/rpl/r/rpl_err_ignoredtable.result (+1/-1)
mysql-test/suite/rpl/r/rpl_events.result (+1/-1)
mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result (+1/-6)
mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result (+1/-6)
mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result (+26/-35)
mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result (+26/-35)
mysql-test/suite/rpl/r/rpl_extra_row_data.result (+1/-1)
mysql-test/suite/rpl/r/rpl_failed_optimize.result (+1/-1)
mysql-test/suite/rpl/r/rpl_filter_database.result (+1/-1)
mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result (+1/-17)
mysql-test/suite/rpl/r/rpl_flush_logs.result (+1/-1)
mysql-test/suite/rpl/r/rpl_flushlog_loop.result (+2/-2)
mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_free_items.result (+1/-1)
mysql-test/suite/rpl/r/rpl_function_defaults.result (+1/-1)
mysql-test/suite/rpl/r/rpl_general_log.result (+1/-1)
mysql-test/suite/rpl/r/rpl_geometry.result (+1/-1)
mysql-test/suite/rpl/r/rpl_get_lock.result (+1/-1)
mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result (+1/-1)
mysql-test/suite/rpl/r/rpl_grant.result (+9/-8)
mysql-test/suite/rpl/r/rpl_grant_plugin.result (+1/-1)
mysql-test/suite/rpl/r/rpl_group_commit_deadlock.result (+33/-0)
mysql-test/suite/rpl/r/rpl_gtid_empty_group.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_execution.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_failover.result (+2/-2)
mysql-test/suite/rpl/r/rpl_gtid_mode.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_parallel.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_purged_fail_to_connect.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_purged_maintained.result (+1/-1)
mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result (+1/-1)
mysql-test/suite/rpl/r/rpl_heartbeat.result (+7/-7)
mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result (+3/-3)
mysql-test/suite/rpl/r/rpl_heartbeat_basic.result (+20/-20)
mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result (+2/-2)
mysql-test/suite/rpl/r/rpl_idempotency.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_db_filter.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_grant.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_revoke.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_table.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_table_filter_insensitive.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_table_filter_sensitive.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ignore_table_update.result (+1/-1)
mysql-test/suite/rpl/r/rpl_incident.result (+1/-1)
mysql-test/suite/rpl/r/rpl_init_slave.result (+1/-1)
mysql-test/suite/rpl/r/rpl_init_slave_errors.result (+1/-1)
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result (+1/-1)
mysql-test/suite/rpl/r/rpl_innodb_bug30888.result (+1/-1)
mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result (+1/-1)
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result (+1/-1)
mysql-test/suite/rpl/r/rpl_insert.result (+1/-1)
mysql-test/suite/rpl/r/rpl_insert_id.result (+3/-3)
mysql-test/suite/rpl/r/rpl_insert_id_pk.result (+1/-1)
mysql-test/suite/rpl/r/rpl_insert_ignore.result (+1/-1)
mysql-test/suite/rpl/r/rpl_invoked_features.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ip_mix.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ip_mix2.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ipv6.result (+1/-1)
mysql-test/suite/rpl/r/rpl_killed_ddl.result (+1/-1)
mysql-test/suite/rpl/r/rpl_known_bugs_detection.result (+1/-7)
mysql-test/suite/rpl/r/rpl_lcase_tblnames_rewrite_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddata.result (+3/-3)
mysql-test/suite/rpl/r/rpl_loaddata_charset.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddata_fatal.result (+1/-2)
mysql-test/suite/rpl/r/rpl_loaddata_m.result (+2/-2)
mysql-test/suite/rpl/r/rpl_loaddata_map.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddata_s.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddata_simple.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddata_symlink.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loaddatalocal.result (+1/-1)
mysql-test/suite/rpl/r/rpl_loadfile.result (+1/-1)
mysql-test/suite/rpl/r/rpl_locale.result (+1/-1)
mysql-test/suite/rpl/r/rpl_log_pos.result (+1/-1)
mysql-test/suite/rpl/r/rpl_manual_change_index_file.result (+1/-1)
mysql-test/suite/rpl/r/rpl_many_optimize.result (+1/-1)
mysql-test/suite/rpl/r/rpl_master_connection.result (+54/-54)
mysql-test/suite/rpl/r/rpl_master_pos_wait.result (+1/-1)
mysql-test/suite/rpl/r/rpl_migration_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_misc_functions.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mix_found_rows.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result (+29/-29)
mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result (+2/-2)
mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_mts_debug.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_delete.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_delete2.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_engine.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_update.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_update2.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_update3.result (+1/-1)
mysql-test/suite/rpl/r/rpl_multi_update4.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mysql_upgrade.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mysqlbinlog_gtid_on.result (+1/-1)
mysql-test/suite/rpl/r/rpl_name_const.result (+1/-1)
mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result (+1/-1)
mysql-test/suite/rpl/r/rpl_not_null_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_not_null_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_optimize.result (+1/-1)
mysql-test/suite/rpl/r/rpl_packet.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_change_master.result (+2/-2)
mysql-test/suite/rpl/r/rpl_parallel_conf_limits.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_conflicts.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_ddl.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_load_data.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_multi_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_seconds_behind_master.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_show_binlog_events_purge_logs.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_start_stop.result (+3/-3)
mysql-test/suite/rpl/r/rpl_parallel_switch_sequential.result (+1/-1)
mysql-test/suite/rpl/r/rpl_parallel_temp_query.result (+1/-1)
mysql-test/suite/rpl/r/rpl_partition_archive.result (+1/-1)
mysql-test/suite/rpl/r/rpl_partition_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_partition_memory.result (+1/-1)
mysql-test/suite/rpl/r/rpl_partition_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_plugin_load.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ps.result (+1/-1)
mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result (+1/-1)
mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result (+1/-1)
mysql-test/suite/rpl/r/rpl_read_only.result (+1/-1)
mysql-test/suite/rpl/r/rpl_relay_space_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_relay_space_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_relayrotate.result (+1/-1)
mysql-test/suite/rpl/r/rpl_relayspace.result (+1/-1)
mysql-test/suite/rpl/r/rpl_replicate_do.result (+1/-1)
mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_report.result (+1/-1)
mysql-test/suite/rpl/r/rpl_report_port.result (+1/-1)
mysql-test/suite/rpl/r/rpl_rewrite_db_filter.result (+1/-1)
mysql-test/suite/rpl/r/rpl_rewrt_db.result (+1/-1)
mysql-test/suite/rpl/r/rpl_rotate_logs.result (+7/-1)
mysql-test/suite/rpl/r/rpl_rotate_purge_deadlock.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_001.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_4_bytes.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_NOW.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_USER.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_UUID.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result (+3/-5)
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result (+3/-5)
mysql-test/suite/rpl/r/rpl_row_basic_8partition.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result (+3/-5)
mysql-test/suite/rpl/r/rpl_row_blob_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_blob_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_colSize.result (+1/-14)
mysql-test/suite/rpl/r/rpl_row_conflicts.result (+7/-5)
mysql-test/suite/rpl/r/rpl_row_corruption.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_delayed_ins.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_drop.result (+3/-3)
mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result (+139/-139)
mysql-test/suite/rpl/r/rpl_row_event_max_size.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_find_row.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_func001.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_func002.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_func003.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_hash_scan.result (+4/-4)
mysql-test/suite/rpl/r/rpl_row_hash_scan_sanity.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_idempotency.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_ignorable_event.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_img_blobs.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_eng_full.result (+4/-4)
mysql-test/suite/rpl/r/rpl_row_img_eng_min.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_idx_full.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_idx_min.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_idx_noblob.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_img_misc.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_img_sanity.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_insert_delayed.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_lcase_tblnames.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_log.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_log_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_merge_engine.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_row_mts_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_mts_rec_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_mts_show_relaylog_events.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_record_find_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_reset_slave.result (+8/-8)
mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp001.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp003.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp005.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp008.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp009.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp010.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp011.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_sp012.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result (+1/-4)
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result (+1/-4)
mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_trig001.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_trig002.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_trig003.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_trig004.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_trunc_temp.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_until.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_utf16.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_utf32.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_view01.result (+1/-1)
mysql-test/suite/rpl/r/rpl_row_wide_table.result (+1/-1)
mysql-test/suite/rpl/r/rpl_savepoint.result (+1/-1)
mysql-test/suite/rpl/r/rpl_seconds_behind_master.result (+1/-1)
mysql-test/suite/rpl/r/rpl_semi_sync.result (+3/-3)
mysql-test/suite/rpl/r/rpl_semi_sync_deadlock.result (+19/-0)
mysql-test/suite/rpl/r/rpl_semi_sync_event.result (+1/-1)
mysql-test/suite/rpl/r/rpl_semi_sync_group_commit_deadlock.result (+36/-0)
mysql-test/suite/rpl/r/rpl_semi_sync_non_group_commit_deadlock.result (+38/-0)
mysql-test/suite/rpl/r/rpl_sequential.result (+1/-1)
mysql-test/suite/rpl/r/rpl_server_id1.result (+1/-1)
mysql-test/suite/rpl/r/rpl_server_id2.result (+1/-1)
mysql-test/suite/rpl/r/rpl_server_id_ignore.result (+2/-2)
mysql-test/suite/rpl/r/rpl_server_uuid.result (+2/-2)
mysql-test/suite/rpl/r/rpl_session_var.result (+1/-1)
mysql-test/suite/rpl/r/rpl_set_charset.result (+1/-1)
mysql-test/suite/rpl/r/rpl_set_null_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_set_null_myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_show_errors.result (+2/-2)
mysql-test/suite/rpl/r/rpl_show_master_info_file.result (+1/-1)
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result (+2/-2)
mysql-test/suite/rpl/r/rpl_show_slave_running.result (+1/-1)
mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result (+1/-1)
mysql-test/suite/rpl/r/rpl_skip_error.result (+1/-1)
mysql-test/suite/rpl/r/rpl_skip_incident.result (+1/-1)
mysql-test/suite/rpl/r/rpl_slave_grp_exec.result (+1/-1)
mysql-test/suite/rpl/r/rpl_slave_load_in.result (+1/-1)
mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result (+2/-2)
mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result (+1/-1)
mysql-test/suite/rpl/r/rpl_slave_skip.result (+1/-1)
mysql-test/suite/rpl/r/rpl_slave_start.result (+2/-2)
mysql-test/suite/rpl/r/rpl_slave_status.result (+3/-3)
mysql-test/suite/rpl/r/rpl_slow_query_log.result (+1/-1)
mysql-test/suite/rpl/r/rpl_sp.result (+1/-1)
mysql-test/suite/rpl/r/rpl_sp004.result (+1/-1)
mysql-test/suite/rpl/r/rpl_sp_effects.result (+1/-1)
mysql-test/suite/rpl/r/rpl_spec_variables.result (+1/-1)
mysql-test/suite/rpl/r/rpl_sporadic_master.result (+1/-1)
mysql-test/suite/rpl/r/rpl_ssl.result (+3/-3)
mysql-test/suite/rpl/r/rpl_ssl1.result (+3/-3)
mysql-test/suite/rpl/r/rpl_stm_000001.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_EE_err2.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_conflicts.result (+4/-3)
mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result (+29/-29)
mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_found_rows.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result (+2/-2)
mysql-test/suite/rpl/r/rpl_stm_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_lcase_tblnames.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result (+3/-3)
mysql-test/suite/rpl/r/rpl_stm_loadfile.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_log.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mix_mts_show_relaylog_events.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixed_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixed_mts_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe_checksum.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe_small.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result (+13/-13)
mysql-test/suite/rpl/r/rpl_stm_multi_query.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_no_op.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_relay_ign_space.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_reset_slave.result (+8/-8)
mysql-test/suite/rpl/r/rpl_stm_sql_mode.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stm_until.result (+2/-2)
mysql-test/suite/rpl/r/rpl_stm_user_variables.result (+1/-1)
mysql-test/suite/rpl/r/rpl_stop_slave.result (+1/-1)
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result (+1/-1)
mysql-test/suite/rpl/r/rpl_sync.result (+1/-1)
mysql-test/suite/rpl/r/rpl_temp_table.result (+1/-1)
mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result (+4/-4)
mysql-test/suite/rpl/r/rpl_temporal_fractional.result (+1/-1)
mysql-test/suite/rpl/r/rpl_temporary.result (+1/-1)
mysql-test/suite/rpl/r/rpl_temporary_errors.result (+1/-1)
mysql-test/suite/rpl/r/rpl_test_framework.result (+158/-158)
mysql-test/suite/rpl/r/rpl_timezone.result (+1/-1)
mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result (+1/-1)
mysql-test/suite/rpl/r/rpl_trigger.result (+1/-1)
mysql-test/suite/rpl/r/rpl_trunc_temp.result (+1/-1)
mysql-test/suite/rpl/r/rpl_truncate_2myisam.result (+1/-1)
mysql-test/suite/rpl/r/rpl_truncate_3innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_typeconv.result (+1/-1)
mysql-test/suite/rpl/r/rpl_typeconv_innodb.result (+1/-1)
mysql-test/suite/rpl/r/rpl_udf.result (+1/-1)
mysql-test/suite/rpl/r/rpl_user.result (+1/-1)
mysql-test/suite/rpl/r/rpl_user_variables.result (+1/-1)
mysql-test/suite/rpl/r/rpl_variables.result (+1/-1)
mysql-test/suite/rpl/r/rpl_variables_stm.result (+1/-1)
mysql-test/suite/rpl/r/rpl_view.result (+1/-1)
mysql-test/suite/rpl/r/rpl_view_multi.result (+1/-1)
mysql-test/suite/rpl/t/rpl_binlog_errors.test (+3/-0)
mysql-test/suite/rpl/t/rpl_check_gtid-slave.opt (+0/-1)
mysql-test/suite/rpl/t/rpl_check_gtid.test (+8/-4)
mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test (+1/-6)
mysql-test/suite/rpl/t/rpl_grant.test (+9/-1)
mysql-test/suite/rpl/t/rpl_group_commit_deadlock.test (+38/-0)
mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test (+10/-0)
mysql-test/suite/rpl/t/rpl_known_bugs_detection.test (+2/-8)
mysql-test/suite/rpl/t/rpl_loaddata_fatal.test (+1/-2)
mysql-test/suite/rpl/t/rpl_loaddata_m.test (+1/-1)
mysql-test/suite/rpl/t/rpl_parallel_change_master.test (+1/-1)
mysql-test/suite/rpl/t/rpl_parallel_start_stop.test (+2/-2)
mysql-test/suite/rpl/t/rpl_rotate_logs.test (+3/-0)
mysql-test/suite/rpl/t/rpl_row_hash_scan.test (+3/-3)
mysql-test/suite/rpl/t/rpl_row_img_sanity.test (+1/-1)
mysql-test/suite/rpl/t/rpl_semi_sync_deadlock-master.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_deadlock-slave.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_deadlock.test (+102/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock-master.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock-slave.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock.test (+39/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-master.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-slave.opt (+1/-0)
mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock.test (+42/-0)
mysql-test/suite/rpl/t/rpl_show_errors.test (+1/-1)
mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test (+1/-1)
mysql-test/suite/rpl/t/rpl_slave_start.test (+1/-1)
mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result (+32/-0)
mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result (+21/-0)
mysql-test/suite/sys_vars/r/innodb_log_checkpoint_now_basic.result (+79/-0)
mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result (+1/-0)
mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result (+1/-0)
mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result (+1/-0)
mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result (+1/-0)
mysql-test/suite/sys_vars/r/relay_log_basename_basic.result (+1/-1)
mysql-test/suite/sys_vars/r/relay_log_index_basic.result (+1/-1)
mysql-test/suite/sys_vars/r/rpl_init_slave_func.result (+3/-9)
mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result (+1/-1)
mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result (+1/-1)
mysql-test/suite/sys_vars/r/rpl_stop_slave_timeout_basic.result (+93/-0)
mysql-test/suite/sys_vars/r/table_definition_cache_basic.result (+8/-8)
mysql-test/suite/sys_vars/r/table_open_cache_basic.result (+6/-6)
mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test (+33/-0)
mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test (+22/-0)
mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test (+68/-0)
mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test (+1/-1)
mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test (+1/-1)
mysql-test/suite/sys_vars/t/rpl_init_slave_func.test (+6/-4)
mysql-test/suite/sys_vars/t/rpl_stop_slave_timeout_basic.test (+153/-0)
mysql-test/suite/sys_vars/t/secure_file_priv.test (+1/-1)
mysql-test/suite/sys_vars/t/table_definition_cache_basic.test (+4/-4)
mysql-test/suite/sys_vars/t/table_open_cache_basic.test (+3/-3)
mysql-test/t/audit_plugin.test (+1/-1)
mysql-test/t/bug12969156.test (+1/-0)
mysql-test/t/client_xml.test (+1/-1)
mysql-test/t/create.test (+1/-2)
mysql-test/t/distinct.test (+1/-1)
mysql-test/t/explain.test (+4/-0)
mysql-test/t/func_str.test (+4/-2)
mysql-test/t/group_min_max.test (+2/-0)
mysql-test/t/index_merge_delete.test (+14/-0)
mysql-test/t/index_merge_insert-and-replace.test (+13/-0)
mysql-test/t/index_merge_intersect_dml.test (+5/-0)
mysql-test/t/index_merge_update.test (+13/-0)
mysql-test/t/mdl_sync.test (+5/-51)
mysql-test/t/multi_plugin_load_add.test (+1/-0)
mysql-test/t/multi_plugin_load_add2.test (+1/-0)
mysql-test/t/mysql_upgrade.test (+3/-1)
mysql-test/t/mysqldump.test (+11/-11)
mysql-test/t/olap.test (+15/-0)
mysql-test/t/openssl_1.test (+6/-6)
mysql-test/t/partition_myisam.test (+2/-3)
mysql-test/t/partition_open_files_limit.test (+11/-3)
mysql-test/t/plugin.test (+52/-0)
mysql-test/t/plugin_auth.test (+2/-3)
mysql-test/t/plugin_auth_qa.test (+4/-2)
mysql-test/t/plugin_auth_qa_1.test (+2/-0)
mysql-test/t/plugin_auth_qa_2.test (+4/-4)
mysql-test/t/ps_grant.test (+1/-2)
mysql-test/t/rewrite_general_log.test (+3/-0)
mysql-test/t/sp_notembedded.test (+8/-12)
mysql-test/t/table_definition_cache_functionality.test (+3/-3)
mysql-test/t/table_open_cache_functionality.test (+1/-1)
mysql-test/valgrind.supp (+20/-1)
mysys/CMakeLists.txt (+6/-1)
mysys/mf_arr_appstr.c (+1/-1)
mysys/mf_iocache2.c (+4/-0)
mysys/mf_qsort2.c (+1/-1)
mysys/mf_same.c (+1/-1)
mysys/mf_soundex.c (+1/-1)
mysys/mf_wcomp.c (+1/-1)
mysys/mulalloc.c (+1/-1)
mysys/my_access.c (+1/-1)
mysys/my_alarm.c (+1/-1)
mysys/my_atomic.c (+1/-31)
mysys/my_bitmap.c (+1/-1)
mysys/my_compare.c (+1/-1)
mysys/my_crc32.c (+1/-1)
mysys/my_div.c (+1/-1)
mysys/my_fopen.c (+1/-1)
mysys/my_getpagesize.c (+1/-1)
mysys/my_getsystime.c (+1/-1)
mysys/my_handler_errors.h (+3/-1)
mysys/my_isnan.c (+2/-2)
mysys/my_libwrap.c (+1/-1)
mysys/my_memmem.c (+1/-1)
mysys/my_mkdir.c (+1/-1)
mysys/my_read.c (+8/-1)
mysys/my_symlink2.c (+1/-1)
mysys/my_winthread.c (+4/-2)
mysys/test_dir.c (+1/-1)
mysys/test_xml.c (+1/-1)
mysys/thr_alarm.c (+1/-1)
mysys/typelib.c (+1/-1)
mysys_ssl/crypt_genhash_impl.cc (+2/-2)
mysys_ssl/my_aes.cc (+50/-28)
mysys_ssl/my_default.cc (+1/-1)
mysys_ssl/my_getopt.cc (+49/-6)
mysys_ssl/my_rnd.cc (+19/-8)
packaging/WiX/CPackWixConfig.cmake (+1/-1)
packaging/rpm-uln/CMakeLists.txt (+3/-3)
packaging/rpm-uln/mysql-5.5-errno.patch (+0/-21)
packaging/rpm-uln/mysql-5.6-stack-guard.patch (+0/-143)
packaging/rpm-uln/mysql.spec.sh (+27/-15)
plugin/innodb_memcached/innodb_memcache/include/handler_api.h (+14/-2)
plugin/innodb_memcached/innodb_memcache/include/innodb_cb_api.h (+93/-20)
plugin/innodb_memcached/innodb_memcache/include/innodb_config.h (+1/-8)
plugin/innodb_memcached/innodb_memcache/include/innodb_engine.h (+3/-0)
plugin/innodb_memcached/innodb_memcache/src/handler_api.cc (+37/-2)
plugin/innodb_memcached/innodb_memcache/src/innodb_api.c (+456/-146)
plugin/innodb_memcached/innodb_memcache/src/innodb_config.c (+71/-6)
plugin/innodb_memcached/innodb_memcache/src/innodb_engine.c (+66/-24)
plugin/semisync/semisync_master.cc (+21/-21)
scripts/fill_help_tables.sql (+1/-1)
scripts/mysql_secure_installation.pl.in (+2/-1)
scripts/mysql_system_tables.sql (+21/-11)
scripts/mysql_system_tables_fix.sql (+8/-0)
scripts/mysql_test_data_timezone.sql (+1/-1)
scripts/mysqld_safe.sh (+1/-1)
sql-bench/CMakeLists.txt (+30/-22)
sql-common/client.c (+60/-6)
sql-common/client_authentication.cc (+6/-2)
sql-common/client_plugin.c (+32/-6)
sql-common/pack.c (+1/-1)
sql/binlog.cc (+428/-90)
sql/binlog.h (+17/-5)
sql/bounded_queue.h (+1/-1)
sql/debug_sync.cc (+1/-1)
sql/event_db_repository.cc (+16/-1)
sql/event_scheduler.cc (+51/-35)
sql/event_scheduler.h (+1/-1)
sql/events.cc (+4/-3)
sql/events.h (+1/-1)
sql/field.cc (+60/-3)
sql/field.h (+27/-9)
sql/field_conv.cc (+6/-3)
sql/filesort_utils.cc (+4/-1)
sql/global_threads.h (+2/-2)
sql/ha_ndbcluster_binlog.cc (+7/-1)
sql/ha_partition.cc (+85/-84)
sql/ha_partition.h (+1/-1)
sql/handler.cc (+32/-12)
sql/handler.h (+16/-3)
sql/hostname.cc (+3/-3)
sql/item.cc (+31/-11)
sql/item.h (+39/-9)
sql/item_cmpfunc.cc (+7/-11)
sql/item_cmpfunc.h (+6/-6)
sql/item_func.cc (+20/-2)
sql/item_func.h (+36/-0)
sql/item_geofunc.cc (+47/-60)
sql/item_subselect.cc (+63/-16)
sql/item_sum.cc (+77/-68)
sql/item_sum.h (+3/-2)
sql/key.cc (+9/-0)
sql/log.cc (+10/-5)
sql/log.h (+2/-1)
sql/log_event.cc (+311/-206)
sql/log_event.h (+58/-30)
sql/log_event_old.cc (+3/-0)
sql/mdl.cc (+7/-8)
sql/mem_root_array.h (+1/-1)
sql/mysqld.cc (+411/-221)
sql/mysqld.h (+11/-2)
sql/net_serv.cc (+1/-1)
sql/opt_explain.cc (+15/-0)
sql/opt_range.cc (+157/-129)
sql/opt_trace_Doxyfile (+1/-1)
sql/partition_info.cc (+3/-4)
sql/rpl_filter.cc (+6/-3)
sql/rpl_gtid.h (+9/-1)
sql/rpl_gtid_execution.cc (+120/-51)
sql/rpl_gtid_state.cc (+16/-1)
sql/rpl_handler.cc (+2/-2)
sql/rpl_info_dummy.cc (+1/-1)
sql/rpl_info_dummy.h (+1/-1)
sql/rpl_info_factory.cc (+28/-8)
sql/rpl_info_table.cc (+11/-7)
sql/rpl_info_table_access.cc (+15/-4)
sql/rpl_info_table_access.h (+2/-2)
sql/rpl_info_values.h (+1/-1)
sql/rpl_master.cc (+24/-2)
sql/rpl_record.cc (+5/-2)
sql/rpl_reporting.cc (+7/-3)
sql/rpl_reporting.h (+2/-2)
sql/rpl_rli.cc (+42/-39)
sql/rpl_rli.h (+1/-7)
sql/rpl_rli_pdb.cc (+75/-6)
sql/rpl_rli_pdb.h (+19/-1)
sql/rpl_slave.cc (+182/-40)
sql/rpl_utility.cc (+69/-17)
sql/rpl_utility.h (+14/-12)
sql/set_var.cc (+13/-10)
sql/share/CMakeLists.txt (+2/-2)
sql/share/charsets/Index.xml (+1/-1)
sql/share/charsets/armscii8.xml (+1/-1)
sql/share/charsets/ascii.xml (+1/-1)
sql/share/charsets/cp1250.xml (+1/-1)
sql/share/charsets/cp1256.xml (+1/-1)
sql/share/charsets/cp1257.xml (+1/-1)
sql/share/charsets/cp850.xml (+1/-1)
sql/share/charsets/cp852.xml (+1/-1)
sql/share/charsets/cp866.xml (+1/-1)
sql/share/charsets/dec8.xml (+1/-1)
sql/share/charsets/geostd8.xml (+1/-1)
sql/share/charsets/greek.xml (+1/-1)
sql/share/charsets/hebrew.xml (+1/-1)
sql/share/charsets/hp8.xml (+1/-1)
sql/share/charsets/keybcs2.xml (+1/-1)
sql/share/charsets/koi8r.xml (+1/-1)
sql/share/charsets/koi8u.xml (+1/-1)
sql/share/charsets/languages.html (+1/-1)
sql/share/charsets/latin1.xml (+1/-1)
sql/share/charsets/latin2.xml (+1/-1)
sql/share/charsets/latin5.xml (+1/-1)
sql/share/charsets/latin7.xml (+1/-1)
sql/share/charsets/macce.xml (+1/-1)
sql/share/charsets/macroman.xml (+1/-1)
sql/share/charsets/swe7.xml (+1/-1)
sql/share/errmsg-utf8.txt (+48/-5)
sql/signal_handler.cc (+2/-2)
sql/sp.cc (+8/-1)
sql/sp_head.cc (+13/-5)
sql/sp_instr.cc (+32/-16)
sql/sp_instr.h (+20/-2)
sql/sp_rcontext.cc (+81/-37)
sql/sp_rcontext.h (+29/-17)
sql/spatial.cc (+468/-677)
sql/spatial.h (+311/-114)
sql/sql_acl.cc (+451/-179)
sql/sql_admin.cc (+14/-2)
sql/sql_audit.cc (+5/-1)
sql/sql_audit.h (+66/-22)
sql/sql_base.cc (+53/-23)
sql/sql_base.h (+4/-2)
sql/sql_cache.cc (+18/-2)
sql/sql_class.cc (+152/-49)
sql/sql_class.h (+254/-76)
sql/sql_connect.cc (+27/-22)
sql/sql_db.cc (+8/-5)
sql/sql_delete.cc (+4/-1)
sql/sql_error.cc (+30/-36)
sql/sql_error.h (+3/-6)
sql/sql_executor.cc (+7/-8)
sql/sql_get_diagnostics.cc (+2/-2)
sql/sql_get_diagnostics.h (+2/-2)
sql/sql_handler.cc (+3/-0)
sql/sql_hset.h (+1/-1)
sql/sql_insert.cc (+140/-52)
sql/sql_insert.h (+1/-0)
sql/sql_lex.cc (+110/-16)
sql/sql_lex.h (+27/-3)
sql/sql_load.cc (+33/-4)
sql/sql_manager.cc (+6/-3)
sql/sql_optimizer.cc (+292/-181)
sql/sql_optimizer.h (+6/-14)
sql/sql_parse.cc (+123/-61)
sql/sql_partition.cc (+217/-151)
sql/sql_plugin.cc (+70/-2)
sql/sql_prepare.cc (+148/-31)
sql/sql_prepare.h (+3/-3)
sql/sql_rename.cc (+2/-2)
sql/sql_resolver.cc (+21/-8)
sql/sql_rewrite.cc (+39/-1)
sql/sql_select.cc (+70/-30)
sql/sql_select.h (+28/-5)
sql/sql_show.cc (+35/-18)
sql/sql_state.c (+1/-1)
sql/sql_string.h (+2/-1)
sql/sql_table.cc (+168/-95)
sql/sql_table.h (+3/-1)
sql/sql_test.cc (+5/-28)
sql/sql_tmp_table.cc (+9/-6)
sql/sql_union.cc (+60/-13)
sql/sql_update.cc (+26/-4)
sql/sql_view.cc (+4/-1)
sql/sql_yacc.yy (+86/-32)
sql/structs.h (+8/-1)
sql/sys_vars.cc (+24/-7)
sql/sys_vars.h (+18/-10)
sql/table.cc (+72/-14)
sql/table.h (+14/-0)
sql/transaction.cc (+69/-10)
sql/transaction.h (+4/-1)
storage/example/ha_example.cc (+29/-2)
storage/federated/ha_federated.cc (+1/-2)
storage/heap/_check.c (+1/-1)
storage/heap/_rectest.c (+1/-1)
storage/heap/hp_delete.c (+1/-1)
storage/heap/hp_extra.c (+1/-1)
storage/heap/hp_info.c (+1/-1)
storage/heap/hp_rfirst.c (+1/-1)
storage/heap/hp_rlast.c (+1/-1)
storage/heap/hp_rnext.c (+1/-1)
storage/heap/hp_rprev.c (+1/-1)
storage/heap/hp_rrnd.c (+1/-1)
storage/heap/hp_rsame.c (+1/-1)
storage/heap/hp_scan.c (+1/-1)
storage/heap/hp_update.c (+1/-1)
storage/innobase/api/api0api.cc (+113/-24)
storage/innobase/btr/btr0btr.cc (+194/-101)
storage/innobase/btr/btr0cur.cc (+12/-6)
storage/innobase/buf/buf0buddy.cc (+5/-0)
storage/innobase/buf/buf0buf.cc (+30/-45)
storage/innobase/buf/buf0dblwr.cc (+124/-82)
storage/innobase/buf/buf0flu.cc (+171/-133)
storage/innobase/buf/buf0lru.cc (+89/-75)
storage/innobase/buf/buf0rea.cc (+12/-13)
storage/innobase/compile-innodb (+3/-3)
storage/innobase/dict/dict0crea.cc (+9/-5)
storage/innobase/dict/dict0dict.cc (+149/-29)
storage/innobase/dict/dict0load.cc (+95/-39)
storage/innobase/dict/dict0mem.cc (+1/-5)
storage/innobase/dict/dict0stats.cc (+43/-46)
storage/innobase/dict/dict0stats_bg.cc (+1/-1)
storage/innobase/fil/fil0fil.cc (+291/-133)
storage/innobase/fsp/fsp0fsp.cc (+6/-1)
storage/innobase/fts/fts0ast.cc (+119/-45)
storage/innobase/fts/fts0blex.cc (+15/-15)
storage/innobase/fts/fts0config.cc (+3/-3)
storage/innobase/fts/fts0fts.cc (+174/-48)
storage/innobase/fts/fts0opt.cc (+56/-11)
storage/innobase/fts/fts0pars.cc (+367/-295)
storage/innobase/fts/fts0pars.y (+5/-1)
storage/innobase/fts/fts0que.cc (+724/-302)
storage/innobase/fts/fts0tlex.cc (+43/-38)
storage/innobase/fts/fts0tlex.l (+1/-1)
storage/innobase/handler/ha_innodb.cc (+281/-164)
storage/innobase/handler/handler0alter.cc (+30/-28)
storage/innobase/handler/i_s.cc (+39/-16)
storage/innobase/ibuf/ibuf0ibuf.cc (+55/-35)
storage/innobase/include/api0api.h (+3/-1)
storage/innobase/include/buf0buf.h (+9/-4)
storage/innobase/include/buf0buf.ic (+3/-3)
storage/innobase/include/buf0dblwr.h (+28/-22)
storage/innobase/include/buf0flu.h (+16/-11)
storage/innobase/include/buf0rea.h (+2/-2)
storage/innobase/include/buf0types.h (+2/-2)
storage/innobase/include/db0err.h (+2/-0)
storage/innobase/include/dict0crea.ic (+48/-11)
storage/innobase/include/dict0dict.h (+24/-9)
storage/innobase/include/dict0load.h (+26/-10)
storage/innobase/include/dict0mem.h (+1/-1)
storage/innobase/include/dict0priv.h (+4/-2)
storage/innobase/include/dict0priv.ic (+5/-3)
storage/innobase/include/dict0types.h (+16/-1)
storage/innobase/include/fil0fil.h (+13/-8)
storage/innobase/include/fts0ast.h (+7/-2)
storage/innobase/include/fts0blex.h (+3/-3)
storage/innobase/include/fts0fts.h (+29/-3)
storage/innobase/include/fts0pars.h (+13/-15)
storage/innobase/include/fts0tlex.h (+3/-3)
storage/innobase/include/fts0types.ic (+2/-1)
storage/innobase/include/ha_prototypes.h (+20/-0)
storage/innobase/include/handler0alter.h (+1/-1)
storage/innobase/include/ibuf0ibuf.ic (+2/-2)
storage/innobase/include/lock0lock.h (+21/-0)
storage/innobase/include/log0log.h (+3/-1)
storage/innobase/include/mtr0mtr.h (+3/-2)
storage/innobase/include/page0zip.ic (+1/-1)
storage/innobase/include/rem0rec.ic (+2/-2)
storage/innobase/include/srv0mon.h (+3/-2)
storage/innobase/include/trx0rec.h (+2/-2)
storage/innobase/include/trx0trx.h (+2/-2)
storage/innobase/include/trx0types.h (+4/-1)
storage/innobase/include/trx0undo.h (+2/-1)
storage/innobase/include/univ.i (+7/-4)
storage/innobase/lock/lock0lock.cc (+66/-9)
storage/innobase/lock/lock0wait.cc (+2/-1)
storage/innobase/log/log0log.cc (+16/-16)
storage/innobase/log/log0recv.cc (+54/-75)
storage/innobase/mem/mem0mem.cc (+5/-1)
storage/innobase/mtr/mtr0mtr.cc (+6/-3)
storage/innobase/os/os0file.cc (+8/-19)
storage/innobase/page/page0cur.cc (+5/-2)
storage/innobase/page/page0page.cc (+18/-12)
storage/innobase/page/page0zip.cc (+46/-29)
storage/innobase/pars/pars0pars.cc (+3/-3)
storage/innobase/read/read0read.cc (+2/-2)
storage/innobase/row/row0ext.cc (+23/-9)
storage/innobase/row/row0ftsort.cc (+2/-2)
storage/innobase/row/row0import.cc (+1/-1)
storage/innobase/row/row0ins.cc (+28/-6)
storage/innobase/row/row0log.cc (+27/-18)
storage/innobase/row/row0merge.cc (+61/-71)
storage/innobase/row/row0mysql.cc (+90/-17)
storage/innobase/row/row0purge.cc (+2/-1)
storage/innobase/row/row0quiesce.cc (+5/-4)
storage/innobase/row/row0sel.cc (+3/-4)
storage/innobase/row/row0uins.cc (+10/-8)
storage/innobase/row/row0umod.cc (+39/-5)
storage/innobase/row/row0upd.cc (+4/-0)
storage/innobase/srv/srv0mon.cc (+6/-2)
storage/innobase/srv/srv0srv.cc (+8/-4)
storage/innobase/srv/srv0start.cc (+88/-38)
storage/innobase/trx/trx0purge.cc (+1/-1)
storage/innobase/trx/trx0roll.cc (+11/-8)
storage/innobase/trx/trx0trx.cc (+111/-8)
storage/innobase/trx/trx0undo.cc (+10/-4)
storage/innobase/ut/ut0ut.cc (+2/-0)
storage/myisam/ft_stopwords.c (+1/-1)
storage/myisam/ftbench/Ecompare.pl (+1/-1)
storage/myisam/ftbench/Ecreate.pl (+1/-1)
storage/myisam/ftbench/Ereport.pl (+1/-1)
storage/myisam/ftbench/ft-test-run.sh (+2/-2)
storage/myisam/ha_myisam.h (+11/-3)
storage/myisam/mi_check.c (+7/-5)
storage/myisam/mi_checksum.c (+2/-3)
storage/myisam/mi_key.c (+2/-2)
storage/myisam/mi_packrec.c (+2/-2)
storage/myisam/mi_range.c (+1/-1)
storage/myisam/mi_rfirst.c (+1/-1)
storage/myisam/mi_rlast.c (+1/-1)
storage/myisam/mi_rrnd.c (+1/-1)
storage/myisam/mi_rsamepos.c (+1/-1)
storage/myisam/mi_test_all.sh (+2/-2)
storage/myisam/myisamchk.c (+1/-1)
storage/myisam/rt_index.c (+1/-1)
storage/myisam/rt_index.h (+1/-1)
storage/myisam/rt_key.c (+1/-1)
storage/myisam/rt_key.h (+1/-1)
storage/myisam/rt_mbr.c (+1/-1)
storage/myisam/rt_mbr.h (+1/-1)
storage/myisam/sp_defs.h (+1/-1)
storage/myisammrg/myrg_delete.c (+1/-1)
storage/myisammrg/myrg_locking.c (+1/-1)
storage/myisammrg/myrg_open.c (+1/-1)
storage/myisammrg/myrg_panic.c (+1/-1)
storage/myisammrg/myrg_range.c (+1/-1)
storage/myisammrg/myrg_records.c (+1/-1)
storage/myisammrg/myrg_rfirst.c (+1/-1)
storage/myisammrg/myrg_rlast.c (+1/-1)
storage/myisammrg/myrg_rnext.c (+1/-1)
storage/myisammrg/myrg_rnext_same.c (+1/-1)
storage/myisammrg/myrg_rprev.c (+1/-1)
storage/myisammrg/myrg_rrnd.c (+1/-1)
storage/myisammrg/myrg_rsame.c (+1/-1)
storage/myisammrg/myrg_update.c (+1/-1)
storage/myisammrg/myrg_write.c (+1/-1)
storage/ndb/include/kernel/signaldata/AlterIndxImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/BackupLockTab.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/BuildIndxImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CallbackSignal.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/ConfigChange.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CopyData.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CreateHashMap.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CreateIndxImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CreateNodegroup.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CreateNodegroupImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/CreateTrigImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DataFileOrd.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DbinfoScan.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DictSignal.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DictTakeover.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DihScanTab.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DropIndxImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DropNodegroup.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DropNodegroupImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/DropTrigImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/EnableCom.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/HashMapImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/IndexStatSignal.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/LqhTransReq.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/ReleasePages.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/SchemaTrans.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/SchemaTransImpl.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/StopForCrash.hpp (+1/-1)
storage/ndb/include/kernel/signaldata/TabCommit.hpp (+1/-1)
storage/ndb/include/portlib/NdbDir.hpp (+1/-1)
storage/ndb/include/util/HashMap.hpp (+1/-1)
storage/ndb/ndbapi-examples/ndbapi_multi_cursor/main.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/AlterIndxImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/ApiVersion.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/BuildIndx.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/BuildIndxImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/CreateIndxImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/CreateTab.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/CreateTable.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/CreateTrigImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/DropIndxImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/DropTable.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/DropTrigImpl.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/GetTabInfo.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/IndexStatSignal.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/SchemaTrans.cpp (+1/-1)
storage/ndb/src/common/debugger/signaldata/SchemaTransImpl.cpp (+1/-1)
storage/ndb/src/common/portlib/NdbDir.cpp (+1/-1)
storage/ndb/src/common/util/HashMap.cpp (+1/-1)
storage/ndb/src/kernel/angel.cpp (+1/-1)
storage/ndb/src/kernel/angel.hpp (+1/-1)
storage/ndb/src/kernel/blocks/LocalProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/LocalProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/PgmanProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/PgmanProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/RestoreProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/RestoreProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/backup/BackupProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/backup/BackupProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dbacc/DbaccProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dbacc/DbaccProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dbinfo/Dbinfo.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dbinfo/Dbinfo.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dblqh/DblqhCommon.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dblqh/DblqhCommon.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dblqh/DblqhProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dblqh/DblqhProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dbspj/DbspjProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dbtup/DbtupClient.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/dbtux/DbtuxProxy.cpp (+1/-1)
storage/ndb/src/kernel/blocks/dbtux/DbtuxProxy.hpp (+1/-1)
storage/ndb/src/kernel/blocks/ndbfs/AsyncIoThread.cpp (+1/-1)
storage/ndb/src/kernel/blocks/ndbfs/AsyncIoThread.hpp (+1/-1)
storage/ndb/src/kernel/ndbd.cpp (+1/-1)
storage/ndb/src/kernel/ndbd.hpp (+1/-1)
storage/ndb/src/kernel/vm/ArenaPool.cpp (+1/-1)
storage/ndb/src/kernel/vm/ArenaPool.hpp (+1/-1)
storage/ndb/src/kernel/vm/GlobalData.cpp (+1/-1)
storage/ndb/src/kernel/vm/LongSignal.cpp (+1/-1)
storage/ndb/src/kernel/vm/LongSignalImpl.hpp (+1/-1)
storage/ndb/src/kernel/vm/LongSignal_mt.cpp (+1/-1)
storage/ndb/src/kernel/vm/LongSignal_nonmt.cpp (+1/-1)
storage/ndb/src/kernel/vm/NdbSeqLock.hpp (+1/-1)
storage/ndb/src/kernel/vm/SafeMutex.cpp (+1/-1)
storage/ndb/src/kernel/vm/SafeMutex.hpp (+1/-1)
storage/ndb/src/kernel/vm/SimplePropertiesSection_mt.cpp (+1/-1)
storage/ndb/src/kernel/vm/SimplePropertiesSection_nonmt.cpp (+1/-1)
storage/ndb/src/kernel/vm/SimulatedBlock_mt.cpp (+1/-1)
storage/ndb/src/kernel/vm/SimulatedBlock_nonmt.cpp (+1/-1)
storage/ndb/src/kernel/vm/TransporterCallbackKernel.hpp (+1/-1)
storage/ndb/src/kernel/vm/TransporterCallback_mt.cpp (+1/-1)
storage/ndb/src/kernel/vm/TransporterCallback_nonmt.cpp (+1/-1)
storage/ndb/src/kernel/vm/mt-asm.h (+1/-1)
storage/ndb/src/kernel/vm/mt.cpp (+1/-1)
storage/ndb/src/kernel/vm/mt.hpp (+1/-1)
storage/ndb/src/mgmsrv/ConfigManager.cpp (+1/-1)
storage/ndb/src/mgmsrv/ConfigManager.hpp (+1/-1)
storage/ndb/src/mgmsrv/ConfigSubscriber.hpp (+1/-1)
storage/ndb/src/mgmsrv/Defragger.hpp (+1/-1)
storage/ndb/src/mgmsrv/MgmtThread.hpp (+1/-1)
storage/ndb/src/ndbapi/NdbIndexStatImpl.cpp (+1/-1)
storage/ndb/src/ndbapi/NdbIndexStatImpl.hpp (+1/-1)
storage/ndb/src/ndbapi/NdbQueryBuilder.hpp (+1/-1)
storage/ndb/src/ndbapi/NdbQueryOperation.hpp (+1/-1)
storage/ndb/src/ndbapi/NdbQueryOperationImpl.hpp (+1/-1)
storage/ndb/test/include/NdbMgmd.hpp (+1/-1)
storage/ndb/test/include/SocketInputStream2.hpp (+1/-1)
storage/ndb/test/ndbapi/reorg_tab.cpp (+1/-1)
storage/ndb/test/ndbapi/testLimits.cpp (+1/-1)
storage/ndb/test/ndbapi/testNativeDefault.cpp (+1/-1)
storage/ndb/test/ndbapi/testSingleUserMode.cpp (+1/-1)
storage/ndb/test/src/SocketInputStream2.cpp (+1/-1)
storage/ndb/test/tools/test_spj.cpp (+1/-1)
storage/ndb/tools/ndb_dist_priv.sql (+1/-1)
storage/ndb/tools/ndb_dump_frm_data.cpp (+1/-1)
storage/ndb/tools/ndb_index_stat.cpp (+1/-1)
storage/perfschema/cursor_by_account.cc (+1/-1)
storage/perfschema/cursor_by_account.h (+1/-1)
storage/perfschema/cursor_by_host.cc (+1/-1)
storage/perfschema/cursor_by_host.h (+1/-1)
storage/perfschema/cursor_by_thread.cc (+1/-1)
storage/perfschema/cursor_by_thread.h (+1/-1)
storage/perfschema/cursor_by_user.cc (+1/-1)
storage/perfschema/cursor_by_user.h (+1/-1)
storage/perfschema/pfs.cc (+92/-70)
storage/perfschema/pfs_account.cc (+59/-54)
storage/perfschema/pfs_account.h (+7/-7)
storage/perfschema/pfs_digest.cc (+25/-11)
storage/perfschema/pfs_digest.h (+4/-4)
storage/perfschema/pfs_events_stages.cc (+17/-3)
storage/perfschema/pfs_events_statements.cc (+17/-3)
storage/perfschema/pfs_events_waits.cc (+17/-3)
storage/perfschema/pfs_host.cc (+10/-2)
storage/perfschema/pfs_host.h (+3/-2)
storage/perfschema/pfs_instr.cc (+153/-79)
storage/perfschema/pfs_instr.h (+81/-24)
storage/perfschema/pfs_instr_class.cc (+6/-2)
storage/perfschema/pfs_instr_class.h (+9/-2)
storage/perfschema/pfs_setup_object.cc (+1/-1)
storage/perfschema/pfs_stat.h (+6/-1)
storage/perfschema/pfs_user.cc (+1/-1)
storage/perfschema/pfs_user.h (+1/-1)
storage/perfschema/table_esgs_by_account_by_event_name.cc (+1/-1)
storage/perfschema/table_esgs_by_account_by_event_name.h (+1/-1)
storage/perfschema/table_esgs_by_host_by_event_name.cc (+1/-1)
storage/perfschema/table_esgs_by_host_by_event_name.h (+1/-1)
storage/perfschema/table_esgs_by_user_by_event_name.cc (+1/-1)
storage/perfschema/table_esgs_by_user_by_event_name.h (+1/-1)
storage/perfschema/table_esms_by_account_by_event_name.cc (+1/-1)
storage/perfschema/table_esms_by_account_by_event_name.h (+1/-1)
storage/perfschema/table_esms_by_digest.cc (+1/-1)
storage/perfschema/table_esms_by_digest.h (+1/-1)
storage/perfschema/table_esms_by_host_by_event_name.cc (+1/-1)
storage/perfschema/table_esms_by_host_by_event_name.h (+1/-1)
storage/perfschema/table_esms_by_user_by_event_name.cc (+1/-1)
storage/perfschema/table_esms_by_user_by_event_name.h (+1/-1)
storage/perfschema/table_events_statements.cc (+9/-3)
storage/perfschema/table_ews_by_account_by_event_name.cc (+1/-1)
storage/perfschema/table_ews_by_account_by_event_name.h (+1/-1)
storage/perfschema/table_ews_by_host_by_event_name.cc (+1/-1)
storage/perfschema/table_ews_by_host_by_event_name.h (+1/-1)
storage/perfschema/table_ews_by_user_by_event_name.cc (+1/-1)
storage/perfschema/table_ews_by_user_by_event_name.h (+1/-1)
storage/perfschema/table_helper.cc (+16/-7)
storage/perfschema/table_helper.h (+3/-3)
storage/perfschema/table_os_global_by_type.cc (+1/-1)
storage/perfschema/table_os_global_by_type.h (+1/-1)
storage/perfschema/table_threads.cc (+54/-33)
storage/perfschema/table_tiws_by_table.cc (+1/-1)
storage/perfschema/table_tiws_by_table.h (+1/-1)
storage/perfschema/table_tlws_by_table.cc (+1/-1)
storage/perfschema/table_tlws_by_table.h (+1/-1)
storage/perfschema/unittest/CMakeLists.txt (+2/-2)
storage/perfschema/unittest/stub_pfs_defaults.h (+1/-1)
storage/perfschema/unittest/stub_server_misc.h (+1/-1)
strings/conf_to_src.c (+1/-1)
strings/decimal.c (+1/-1)
strings/my_strtoll10.c (+2/-2)
strings/t_ctype.h (+1/-1)
strings/xml.c (+1/-1)
support-files/MacOSX/Description.plist.sh (+1/-1)
support-files/MacOSX/Info.plist.sh (+1/-1)
support-files/MacOSX/MySQLCOM (+1/-1)
support-files/MacOSX/ReadMe.txt (+1/-2)
support-files/MacOSX/StartupItem.Description.plist (+1/-1)
support-files/MacOSX/StartupItem.Info.plist (+1/-1)
support-files/MacOSX/StartupItem.postinstall (+1/-1)
support-files/MacOSX/StartupParameters.plist.sh (+1/-1)
support-files/MacOSX/mwar-wrapper (+1/-1)
support-files/MacOSX/mwcc-wrapper (+1/-1)
support-files/MacOSX/postflight.sh (+2/-2)
support-files/MacOSX/preflight.sh (+2/-2)
support-files/MySQL-shared-compat.spec.sh (+3/-3)
support-files/RHEL4-SElinux/mysql.fc (+1/-1)
support-files/RHEL4-SElinux/mysql.te (+1/-1)
support-files/build-tags (+1/-1)
support-files/compiler_warnings.supp (+1/-1)
support-files/mysql.m4 (+2/-2)
support-files/mysql.server.sh (+7/-1)
support-files/mysql.spec.sh (+74/-92)
tests/connect_test.c (+1/-1)
tests/deadlock_test.c (+1/-1)
tests/drop_test.pl (+1/-1)
tests/export.pl (+1/-1)
tests/fork2_test.pl (+1/-1)
tests/fork_big.pl (+1/-1)
tests/fork_big2.pl (+1/-1)
tests/index_corrupt.pl (+1/-1)
tests/insert_and_repair.pl (+1/-1)
tests/insert_test.c (+1/-1)
tests/list_test.c (+1/-1)
tests/lock_test.pl (+1/-1)
tests/mysql_client_fw.c (+1/-1)
tests/mysql_client_test.c (+229/-165)
tests/pmail.pl (+1/-1)
tests/rename_test.pl (+1/-1)
tests/select_test.c (+1/-1)
tests/showdb_test.c (+1/-1)
tests/ssl_test.c (+1/-1)
tests/table_types.pl (+1/-1)
tests/test_delayed_insert.pl (+1/-1)
tests/truncate.pl (+1/-1)
unittest/gunit/CMakeLists.txt (+9/-2)
unittest/gunit/alignment-t.cc (+2/-2)
unittest/gunit/bounded_queue-t.cc (+1/-1)
unittest/gunit/bounds_checked_array-t.cc (+1/-1)
unittest/gunit/byteorder-t.cc (+2/-2)
unittest/gunit/client_string-t.cc (+2/-2)
unittest/gunit/cost_estimate-t.cc (+1/-1)
unittest/gunit/dbug-t.cc (+85/-2)
unittest/gunit/decimal-t.cc (+2/-2)
unittest/gunit/dynarray-t.cc (+7/-2)
unittest/gunit/explain_filename-t.cc (+193/-0)
unittest/gunit/field-t.cc (+1/-1)
unittest/gunit/field_date-t.cc (+1/-1)
unittest/gunit/field_datetime-t.cc (+1/-1)
unittest/gunit/field_long-t.cc (+1/-1)
unittest/gunit/field_newdecimal-t.cc (+1/-1)
unittest/gunit/field_temporal_utils.h (+1/-1)
unittest/gunit/filesort_buffer-t.cc (+2/-2)
unittest/gunit/filesort_compare-t.cc (+2/-2)
unittest/gunit/get_diagnostics-t.cc (+6/-7)
unittest/gunit/handler-t.cc (+2/-2)
unittest/gunit/handler-t.h (+2/-2)
unittest/gunit/item-t.cc (+1/-1)
unittest/gunit/join_tab_sort-t.cc (+1/-1)
unittest/gunit/log_throttle-t.cc (+247/-0)
unittest/gunit/make_sortkey-t.cc (+2/-2)
unittest/gunit/mdl-t.cc (+3/-34)
unittest/gunit/mock_create_field.h (+1/-1)
unittest/gunit/mock_field_timestamp.h (+1/-1)
unittest/gunit/mock_field_timestampf.h (+1/-1)
unittest/gunit/my_decimal-t.cc (+1/-1)
unittest/gunit/my_error-t.cc (+2/-2)
unittest/gunit/my_fileutils-t.cc (+38/-38)
unittest/gunit/my_regex-t.cc (+1/-1)
unittest/gunit/mysys_my_rdtsc-t.cc (+2/-2)
unittest/gunit/mysys_my_vsnprintf-t.cc (+0/-2)
unittest/gunit/opt_range-t.cc (+1/-1)
unittest/gunit/segfault-t.cc (+5/-2)
unittest/gunit/sql_string-t.cc (+2/-2)
unittest/gunit/stdcxx-t.cc (+2/-2)
unittest/gunit/string-tests.cc (+2/-2)
unittest/gunit/strtoll-t.cc (+48/-0)
unittest/gunit/test_mdl_context_owner.h (+1/-1)
unittest/gunit/test_utils.cc (+1/-1)
unittest/gunit/test_utils.h (+1/-1)
unittest/gunit/yassl/yassl-t.cc (+2/-2)
unittest/mytap/tap.c (+1/-1)
unittest/mytap/tap.h (+1/-1)
vio/viossl.c (+85/-20)
Contents conflict in storage/innobase/xtrabackup/Makefile
Text conflict in storage/innobase/xtrabackup/test/run.sh
Text conflict in storage/innobase/xtrabackup/utils/build-dpkg.sh
Text conflict in storage/innobase/xtrabackup/utils/xtrabackup.spec
To merge this branch: bzr merge lp:~akopytov/percona-xtrabackup/rebase-2.2-on-mysql-5.6.14
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Alexey Kopytov (community) Approve
Review via email: mp+196856@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote :

compact_compressed failures is most likely an upstream bug. Reported as bug #1255476 for further investigation.

review: Approve
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

I have not reviewed the whole diff (80000 lines; 13000 lines for
InnoDB) for any possible XtraBackup issues. I have reviewed a diff
of diffs between this MP diff and MySQL 5.6.11-5.6.14 diff only.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'BUILD/SETUP.sh'
--- BUILD/SETUP.sh 2013-02-26 05:45:28 +0000
+++ BUILD/SETUP.sh 2013-11-27 10:38:56 +0000
@@ -14,8 +14,8 @@
14#14#
15# You should have received a copy of the GNU Library General Public15# You should have received a copy of the GNU Library General Public
16# License along with this library; if not, write to the Free16# License along with this library; if not, write to the Free
17# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,17# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18# MA 02111-1307, USA18# MA 02110-1301, USA
1919
20########################################################################20########################################################################
2121
2222
=== modified file 'BUILD/compile-pentium'
--- BUILD/compile-pentium 2013-02-26 05:45:28 +0000
+++ BUILD/compile-pentium 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13# 13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18path=`dirname $0`18path=`dirname $0`
19cmake $path/.. -DWITH_DEBUG=019cmake $path/.. -DWITH_DEBUG=0
2020
=== modified file 'BUILD/compile-pentium-debug-max-no-ndb'
--- BUILD/compile-pentium-debug-max-no-ndb 2013-02-26 05:45:28 +0000
+++ BUILD/compile-pentium-debug-max-no-ndb 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13# 13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18path=`dirname $0`18path=`dirname $0`
19cmake $path/.. -DWITH_DEBUG=1 -DWITH_NDBCLUSTER=019cmake $path/.. -DWITH_DEBUG=1 -DWITH_NDBCLUSTER=0
2020
=== modified file 'BUILD/compile-pentium-gcov'
--- BUILD/compile-pentium-gcov 2012-03-23 09:29:43 +0000
+++ BUILD/compile-pentium-gcov 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13# 13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18path=`dirname $0`18path=`dirname $0`
19cmake $path/.. -DWITH_DEBUG=1 -DENABLE_GCOV=ON 19cmake $path/.. -DWITH_DEBUG=1 -DENABLE_GCOV=ON
2020
=== modified file 'BUILD/compile-pentium-gprof'
--- BUILD/compile-pentium-gprof 2012-03-23 09:29:43 +0000
+++ BUILD/compile-pentium-gprof 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13# 13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18path=`dirname $0`18path=`dirname $0`
19cmake $path/.. -DWITH_DEBUG=0 -DENABLE_GPROF=ON 19cmake $path/.. -DWITH_DEBUG=0 -DENABLE_GPROF=ON
2020
=== modified file 'BUILD/compile-pentium-valgrind-max-no-ndb'
--- BUILD/compile-pentium-valgrind-max-no-ndb 2012-03-23 09:29:43 +0000
+++ BUILD/compile-pentium-valgrind-max-no-ndb 2013-11-27 10:38:56 +0000
@@ -14,8 +14,8 @@
14#14#
15# You should have received a copy of the GNU Library General Public15# You should have received a copy of the GNU Library General Public
16# License along with this library; if not, write to the Free16# License along with this library; if not, write to the Free
17# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,17# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18# MA 02111-1307, USA18# MA 02110-1301, USA
1919
20path=`dirname $0`20path=`dirname $0`
21cmake $path/.. -DWITH_DEBUG=1 -DWITH_VALGRIND=1 \21cmake $path/.. -DWITH_DEBUG=1 -DWITH_VALGRIND=1 \
2222
=== modified file 'BUILD/compile-pentium64'
--- BUILD/compile-pentium64 2012-03-23 09:29:43 +0000
+++ BUILD/compile-pentium64 2013-11-27 10:38:56 +0000
@@ -14,8 +14,8 @@
14#14#
15# You should have received a copy of the GNU Library General Public15# You should have received a copy of the GNU Library General Public
16# License along with this library; if not, write to the Free16# License along with this library; if not, write to the Free
17# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,17# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18# MA 02111-1307, USA18# MA 02110-1301, USA
1919
20path=`dirname $0`20path=`dirname $0`
21cmake $path/.. -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_C_FLAGS=-m64 21cmake $path/.. -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_C_FLAGS=-m64
2222
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2013-11-27 10:38:46 +0000
+++ CMakeLists.txt 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -335,8 +335,8 @@
335MYSQL_CHECK_ZLIB_WITH_COMPRESS()335MYSQL_CHECK_ZLIB_WITH_COMPRESS()
336# Add bundled yassl/taocrypt or system openssl.336# Add bundled yassl/taocrypt or system openssl.
337MYSQL_CHECK_SSL()337MYSQL_CHECK_SSL()
338# Add readline or libedit.338# Add system/bundled editline.
339MYSQL_CHECK_READLINE()339MYSQL_CHECK_EDITLINE()
340# Add libevent340# Add libevent
341MYSQL_CHECK_LIBEVENT()341MYSQL_CHECK_LIBEVENT()
342342
@@ -388,6 +388,10 @@
388 ADD_SUBDIRECTORY(unittest/examples)388 ADD_SUBDIRECTORY(unittest/examples)
389 ADD_SUBDIRECTORY(unittest/mytap)389 ADD_SUBDIRECTORY(unittest/mytap)
390 ADD_SUBDIRECTORY(unittest/mytap/t)390 ADD_SUBDIRECTORY(unittest/mytap/t)
391 # Visual Studio 11 needs this extra flag in order to compile gmock.
392 IF(WIN32)
393 ADD_DEFINITIONS( /D _VARIADIC_MAX=10 )
394 ENDIF()
391 ADD_SUBDIRECTORY(unittest/gunit)395 ADD_SUBDIRECTORY(unittest/gunit)
392ENDIF()396ENDIF()
393397
394398
=== modified file 'Docs/mysql.info'
--- Docs/mysql.info 2007-11-02 11:29:13 +0000
+++ Docs/mysql.info 2013-11-27 10:38:56 +0000
@@ -1,4 +1,3 @@
11
2The MySQL Reference Manual is available in various formats on2The MySQL Reference Manual is available in various formats on
3http://dev.mysql.com/doc; if you're interested in the DocBook XML3http://dev.mysql.com/doc.
4sources go to http://svn.mysql.com.
54
=== modified file 'INSTALL-SOURCE'
--- INSTALL-SOURCE 2012-03-22 15:16:11 +0000
+++ INSTALL-SOURCE 2013-11-27 10:38:56 +0000
@@ -4,5 +4,4 @@
4 http://dev.mysql.com/doc/refman/5.5/en/source-installation.html4 http://dev.mysql.com/doc/refman/5.5/en/source-installation.html
55
6The MySQL Reference Manual is also available in various formats on6The MySQL Reference Manual is also available in various formats on
7http://dev.mysql.com/doc; if you're interested in the DocBook XML7http://dev.mysql.com/doc.
8sources go to http://svn.mysql.com.
98
=== modified file 'INSTALL-WIN-SOURCE'
--- INSTALL-WIN-SOURCE 2012-03-22 15:16:11 +0000
+++ INSTALL-WIN-SOURCE 2013-11-27 10:38:56 +0000
@@ -5,5 +5,4 @@
5 http://dev.mysql.com/doc/refman/5.5/en/source-installation.html5 http://dev.mysql.com/doc/refman/5.5/en/source-installation.html
66
7The MySQL Reference Manual is also available in various formats on7The MySQL Reference Manual is also available in various formats on
8http://dev.mysql.com/doc; if you're interested in the DocBook XML8http://dev.mysql.com/doc.
9sources go to http://svn.mysql.com.
109
=== modified file 'README'
--- README 2013-01-01 02:38:33 +0000
+++ README 2013-11-27 10:38:56 +0000
@@ -1,56 +1,56 @@
1MySQL Server 5.61MySQL Server 5.6
22
3This is a release of MySQL, a dual-license SQL database server.3This is a release of MySQL, a dual-license SQL database server.
4For the avoidance of doubt, this particular copy of the software 4For the avoidance of doubt, this particular copy of the software
5is released under the version 2 of the GNU General Public License. 5is released under the version 2 of the GNU General Public License.
6MySQL is brought to you by Oracle.6MySQL is brought to you by Oracle.
77
8Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.8Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
99
10License information can be found in the COPYING file.10License information can be found in the COPYING file.
1111
12MySQL FOSS License Exception12MySQL FOSS License Exception
13We want free and open source software applications under certain13We want free and open source software applications under certain
14licenses to be able to use specified GPL-licensed MySQL client14licenses to be able to use specified GPL-licensed MySQL client
15libraries despite the fact that not all such FOSS licenses are15libraries despite the fact that not all such FOSS licenses are
16compatible with version 2 of the GNU General Public License. 16compatible with version 2 of the GNU General Public License.
17Therefore there are special exceptions to the terms and conditions 17Therefore there are special exceptions to the terms and conditions
18of the GPLv2 as applied to these client libraries, which are 18of the GPLv2 as applied to these client libraries, which are
19identified and described in more detail in the FOSS License 19identified and described in more detail in the FOSS License
20Exception at 20Exception at
21<http://www.mysql.com/about/legal/licensing/foss-exception.html>.21<http://www.mysql.com/about/legal/licensing/foss-exception.html>.
2222
23This distribution may include materials developed by third23This distribution may include materials developed by third
24parties. For license and attribution notices for these24parties. For license and attribution notices for these
25materials, please refer to the documentation that accompanies25materials, please refer to the documentation that accompanies
26this distribution (see the "Licenses for Third-Party Components"26this distribution (see the "Licenses for Third-Party Components"
27appendix) or view the online documentation at 27appendix) or view the online documentation at
28<http://dev.mysql.com/doc/>.28<http://dev.mysql.com/doc/>.
2929
30GPLv2 Disclaimer30GPLv2 Disclaimer
31For the avoidance of doubt, except that if any license choice31For the avoidance of doubt, except that if any license choice
32other than GPL or LGPL is available it will apply instead, 32other than GPL or LGPL is available it will apply instead,
33Oracle elects to use only the General Public License version 2 33Oracle elects to use only the General Public License version 2
34(GPLv2) at this time for any software where a choice of GPL 34(GPLv2) at this time for any software where a choice of GPL
35license versions is made available with the language indicating 35license versions is made available with the language indicating
36that GPLv2 or any later version may be used, or where a choice 36that GPLv2 or any later version may be used, or where a choice
37of which version of the GPL is applied is otherwise unspecified.37of which version of the GPL is applied is otherwise unspecified.
3838
39For further information about MySQL or additional documentation, 39For further information about MySQL or additional documentation,
40see:40see:
41- The latest information about MySQL: http://www.mysql.com41- The latest information about MySQL: http://www.mysql.com
42- The current MySQL documentation: http://dev.mysql.com/doc42- The current MySQL documentation: http://dev.mysql.com/doc
4343
44Some Reference Manual sections of special interest:44Some Reference Manual sections of special interest:
45- If you are migrating from an older version of MySQL, please 45- If you are migrating from an older version of MySQL, please
46 read the "Upgrading from..." section.46 read the "Upgrading from..." section.
47- To see what MySQL can do, take a look at the features section.47- To see what MySQL can do, take a look at the features section.
48- For installation instructions, see the Installing and Upgrading48- For installation instructions, see the Installing and Upgrading
49 chapter.49 chapter.
50- For the new features/bugfix history, see the MySQL Change History 50- For the new features/bugfix history, see the MySQL Change History
51 appendix.51 appendix.
5252
53You can browse the MySQL Reference Manual online or download it 53You can browse the MySQL Reference Manual online or download it
54in any of several formats at the URL given earlier in this file.54in any of several formats at the URL given earlier in this file.
55Source distributions include a local copy of the manual in the55Source distributions include a local copy of the manual in the
56Docs directory.56Docs directory.
5757
=== modified file 'VERSION'
--- VERSION 2013-01-08 06:31:14 +0000
+++ VERSION 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1MYSQL_VERSION_MAJOR=51MYSQL_VERSION_MAJOR=5
2MYSQL_VERSION_MINOR=62MYSQL_VERSION_MINOR=6
3MYSQL_VERSION_PATCH=113MYSQL_VERSION_PATCH=14
4MYSQL_VERSION_EXTRA=4MYSQL_VERSION_EXTRA=
55
=== modified file 'client/CMakeLists.txt'
--- client/CMakeLists.txt 2012-09-05 08:29:51 +0000
+++ client/CMakeLists.txt 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
22 ${CMAKE_SOURCE_DIR}/regex22 ${CMAKE_SOURCE_DIR}/regex
23 ${CMAKE_SOURCE_DIR}/sql23 ${CMAKE_SOURCE_DIR}/sql
24 ${CMAKE_SOURCE_DIR}/strings24 ${CMAKE_SOURCE_DIR}/strings
25 ${READLINE_INCLUDE_DIR}25 ${EDITLINE_INCLUDE_DIR}
26 ${CMAKE_CURRENT_BINARY_DIR}26 ${CMAKE_CURRENT_BINARY_DIR}
27)27)
2828
@@ -30,13 +30,11 @@
30## We will need libeay32.dll and ssleay32.dll when running client executables.30## We will need libeay32.dll and ssleay32.dll when running client executables.
31COPY_OPENSSL_DLLS(copy_openssl_client)31COPY_OPENSSL_DLLS(copy_openssl_client)
3232
33
34ADD_DEFINITIONS(${READLINE_DEFINES})
35ADD_DEFINITIONS(${SSL_DEFINES})33ADD_DEFINITIONS(${SSL_DEFINES})
36MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc)34MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc)
37TARGET_LINK_LIBRARIES(mysql mysqlclient)35TARGET_LINK_LIBRARIES(mysql mysqlclient)
38IF(UNIX)36IF(UNIX)
39 TARGET_LINK_LIBRARIES(mysql ${READLINE_LIBRARY})37 TARGET_LINK_LIBRARIES(mysql ${EDITLINE_LIBRARY})
40ENDIF(UNIX)38ENDIF(UNIX)
4139
42MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)40MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
4341
=== modified file 'client/completion_hash.h'
--- client/completion_hash.h 2013-02-26 05:45:28 +0000
+++ client/completion_hash.h 2013-11-27 10:38:56 +0000
@@ -13,8 +13,8 @@
1313
14 You should have received a copy of the GNU Library General Public14 You should have received a copy of the GNU Library General Public
15 License along with this library; if not, write to the Free15 License along with this library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,16 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 MA 02111-1307, USA */17 MA 02110-1301, USA */
1818
19#ifndef _HASH_19#ifndef _HASH_
20#define _HASH_20#define _HASH_
2121
=== modified file 'client/echo.c'
--- client/echo.c 2013-02-26 05:45:28 +0000
+++ client/echo.c 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1616
17/*17/*
18 echo is a replacement for the "echo" command builtin to cmd.exe18 echo is a replacement for the "echo" command builtin to cmd.exe
1919
=== modified file 'client/mysql.cc'
--- client/mysql.cc 2013-02-28 13:55:23 +0000
+++ client/mysql.cc 2013-11-27 10:38:56 +0000
@@ -97,7 +97,7 @@
97#if defined(__WIN__)97#if defined(__WIN__)
98#include <conio.h>98#include <conio.h>
99#else99#else
100#include <readline/readline.h>100#include <readline.h>
101#define HAVE_READLINE101#define HAVE_READLINE
102#define USE_POPEN102#define USE_POPEN
103#endif103#endif
@@ -164,6 +164,7 @@
164static char *opt_bind_addr = NULL;164static char *opt_bind_addr = NULL;
165static int connect_flag=CLIENT_INTERACTIVE;165static int connect_flag=CLIENT_INTERACTIVE;
166static my_bool opt_binary_mode= FALSE;166static my_bool opt_binary_mode= FALSE;
167static my_bool opt_connect_expired_password= FALSE;
167static char *current_host,*current_db,*current_user=0,*opt_password=0,168static char *current_host,*current_db,*current_user=0,*opt_password=0,
168 *current_prompt=0, *delimiter_str= 0,169 *current_prompt=0, *delimiter_str= 0,
169 *default_charset= (char*) MYSQL_AUTODETECT_CHARSET_NAME,170 *default_charset= (char*) MYSQL_AUTODETECT_CHARSET_NAME,
@@ -1769,6 +1770,11 @@
1769 &opt_server_public_key, &opt_server_public_key, 0,1770 &opt_server_public_key, &opt_server_public_key, 0,
1770 GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},1771 GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1771#endif1772#endif
1773 {"connect-expired-password", 0,
1774 "Notify the server that this client is prepared to handle expired "
1775 "password sandbox mode.",
1776 &opt_connect_expired_password, &opt_connect_expired_password, 0, GET_BOOL,
1777 NO_ARG, 0, 0, 0, 0, 0, 0},
1772 { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}1778 { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
1773};1779};
17741780
@@ -2038,7 +2044,7 @@
2038 String buffer;2044 String buffer;
2039#endif2045#endif
20402046
2041 char *line;2047 char *line= NULL;
2042 char in_string=0;2048 char in_string=0;
2043 ulong line_number=0;2049 ulong line_number=0;
2044 bool ml_comment= 0; 2050 bool ml_comment= 0;
@@ -2124,6 +2130,13 @@
2124#else2130#else
2125 if (opt_outfile)2131 if (opt_outfile)
2126 fputs(prompt, OUTFILE);2132 fputs(prompt, OUTFILE);
2133 /*
2134 free the previous entered line.
2135 Note: my_free() cannot be used here as the memory was allocated under
2136 the readline/libedit library.
2137 */
2138 if (line)
2139 free(line);
2127 line= readline(prompt);2140 line= readline(prompt);
2128#endif /* defined(__WIN__) */2141#endif /* defined(__WIN__) */
21292142
@@ -2183,6 +2196,14 @@
2183#if defined(__WIN__)2196#if defined(__WIN__)
2184 buffer.free();2197 buffer.free();
2185 tmpbuf.free();2198 tmpbuf.free();
2199#else
2200 if (interactive)
2201 /*
2202 free the last entered line.
2203 Note: my_free() cannot be used here as the memory was allocated under
2204 the readline/libedit library.
2205 */
2206 free(line);
2186#endif2207#endif
21872208
2188 /*2209 /*
@@ -2995,7 +3016,7 @@
2995 for (i= 0; i < histignore_patterns.elements; i++)3016 for (i= 0; i < histignore_patterns.elements; i++)
2996 {3017 {
2997 tmp= dynamic_element(&histignore_patterns, i, LEX_STRING *);3018 tmp= dynamic_element(&histignore_patterns, i, LEX_STRING *);
2998 if ((rc= charset_info->coll->wildcmp(&my_charset_latin1,3019 if ((rc= charset_info->coll->wildcmp(charset_info,
2999 string, string + strlen(string),3020 string, string + strlen(string),
3000 tmp->str, tmp->str + tmp->length,3021 tmp->str, tmp->str + tmp->length,
3001 wild_prefix, wild_one,3022 wild_prefix, wild_one,
@@ -3389,6 +3410,8 @@
3389 do3410 do
3390 {3411 {
3391 char *pos;3412 char *pos;
3413 bool batchmode= (status.batch && verbose <= 1) ? TRUE : FALSE;
3414 buff[0]= 0;
33923415
3393 if (quick)3416 if (quick)
3394 {3417 {
@@ -3441,9 +3464,10 @@
3441 print_tab_data(result);3464 print_tab_data(result);
3442 else3465 else
3443 print_table_data(result);3466 print_table_data(result);
3444 sprintf(buff,"%ld %s in set",3467 if( !batchmode )
3445 (long) mysql_num_rows(result),3468 sprintf(buff,"%lld %s in set",
3446 (long) mysql_num_rows(result) == 1 ? "row" : "rows");3469 mysql_num_rows(result),
3470 mysql_num_rows(result) == 1LL ? "row" : "rows");
3447 end_pager();3471 end_pager();
3448 if (mysql_errno(&mysql))3472 if (mysql_errno(&mysql))
3449 error= put_error(&mysql);3473 error= put_error(&mysql);
@@ -3451,13 +3475,13 @@
3451 }3475 }
3452 else if (mysql_affected_rows(&mysql) == ~(ulonglong) 0)3476 else if (mysql_affected_rows(&mysql) == ~(ulonglong) 0)
3453 strmov(buff,"Query OK");3477 strmov(buff,"Query OK");
3454 else3478 else if( !batchmode )
3455 sprintf(buff,"Query OK, %ld %s affected",3479 sprintf(buff,"Query OK, %lld %s affected",
3456 (long) mysql_affected_rows(&mysql),3480 mysql_affected_rows(&mysql),
3457 (long) mysql_affected_rows(&mysql) == 1 ? "row" : "rows");3481 mysql_affected_rows(&mysql) == 1LL ? "row" : "rows");
34583482
3459 pos=strend(buff);3483 pos=strend(buff);
3460 if ((warnings= mysql_warning_count(&mysql)))3484 if ((warnings= mysql_warning_count(&mysql)) && !batchmode)
3461 {3485 {
3462 *pos++= ',';3486 *pos++= ',';
3463 *pos++= ' ';3487 *pos++= ' ';
@@ -4685,7 +4709,8 @@
4685sql_real_connect(char *host,char *database,char *user,char *password,4709sql_real_connect(char *host,char *database,char *user,char *password,
4686 uint silent)4710 uint silent)
4687{4711{
4688 my_bool interactive= status.batch ? FALSE : TRUE;4712 my_bool handle_expired= (opt_connect_expired_password || !status.batch) ?
4713 TRUE : FALSE;
46894714
4690 if (connected)4715 if (connected)
4691 {4716 {
@@ -4777,7 +4802,7 @@
4777 mysql_options(&mysql, MYSQL_OPT_CONNECT_ATTR_RESET, 0);4802 mysql_options(&mysql, MYSQL_OPT_CONNECT_ATTR_RESET, 0);
4778 mysql_options4(&mysql, MYSQL_OPT_CONNECT_ATTR_ADD, 4803 mysql_options4(&mysql, MYSQL_OPT_CONNECT_ATTR_ADD,
4779 "program_name", "mysql");4804 "program_name", "mysql");
4780 mysql_options(&mysql, MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, &interactive);4805 mysql_options(&mysql, MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, &handle_expired);
47814806
4782 if (!mysql_real_connect(&mysql, host, user, password,4807 if (!mysql_real_connect(&mysql, host, user, password,
4783 database, opt_mysql_port, opt_mysql_unix_port,4808 database, opt_mysql_port, opt_mysql_unix_port,
47844809
=== modified file 'client/mysql_plugin.c'
--- client/mysql_plugin.c 2013-02-26 05:45:28 +0000
+++ client/mysql_plugin.c 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
16*/16*/
1717
18#include <m_string.h>18#include <m_string.h>
1919
=== modified file 'client/mysql_upgrade.c'
--- client/mysql_upgrade.c 2013-02-13 13:11:37 +0000
+++ client/mysql_upgrade.c 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.2 Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
33
4 This program is free software; you can redistribute it and/or modify4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by5 it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@
40static char mysqlcheck_path[FN_REFLEN];40static char mysqlcheck_path[FN_REFLEN];
4141
42static my_bool opt_force, opt_verbose, debug_info_flag, debug_check_flag,42static my_bool opt_force, opt_verbose, debug_info_flag, debug_check_flag,
43 opt_systables_only;43 opt_systables_only, opt_version_check;
44static uint my_end_arg= 0;44static uint my_end_arg= 0;
45static char *opt_user= (char*)"root";45static char *opt_user= (char*)"root";
4646
@@ -129,6 +129,12 @@
129 "Base name of shared memory.", 0,129 "Base name of shared memory.", 0,
130 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},130 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
131#endif131#endif
132 {"version-check", 'k', "Run this program only if its \'server version\' "
133 "matches the version of the server to which it's connecting, (enabled by "
134 "default); use --skip-version-check to avoid this check. Note: the \'server "
135 "version\' of the program is the version of the MySQL server with which it "
136 "was built/distributed.", &opt_version_check, &opt_version_check, 0,
137 GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
132 {"socket", 'S', "The socket file to use for connection.",138 {"socket", 'S', "The socket file to use for connection.",
133 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},139 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
134#include <sslopt-longopts.h>140#include <sslopt-longopts.h>
@@ -286,6 +292,7 @@
286 my_progname, optid == 'b' ? "basedir" : "datadir");292 my_progname, optid == 'b' ? "basedir" : "datadir");
287 /* FALLTHROUGH */293 /* FALLTHROUGH */
288294
295 case 'k': /* --version-check */
289 case 'v': /* --verbose */296 case 'v': /* --verbose */
290 case 'f': /* --force */297 case 'f': /* --force */
291 case 's': /* --upgrade-system-tables */298 case 's': /* --upgrade-system-tables */
@@ -552,6 +559,8 @@
552static int extract_variable_from_show(DYNAMIC_STRING* ds, char* value)559static int extract_variable_from_show(DYNAMIC_STRING* ds, char* value)
553{560{
554 char *value_start, *value_end;561 char *value_start, *value_end;
562 size_t len;
563
555 /*564 /*
556 The query returns "datadir\t<datadir>\n", skip past565 The query returns "datadir\t<datadir>\n", skip past
557 the tab566 the tab
@@ -564,7 +573,9 @@
564 if ((value_end= strchr(value_start, '\n')) == NULL)573 if ((value_end= strchr(value_start, '\n')) == NULL)
565 return 1; /* Unexpected result */574 return 1; /* Unexpected result */
566575
567 strncpy(value, value_start, MY_MIN(FN_REFLEN, value_end - value_start));576 len= (size_t) MY_MIN(FN_REFLEN, value_end-value_start);
577 strncpy(value, value_start, len);
578 value[len]= '\0';
568 return 0;579 return 0;
569}580}
570581
@@ -891,6 +902,55 @@
891};902};
892903
893904
905/* Convert the specified version string into the numeric format. */
906static ulong STDCALL calc_server_version(char *some_version)
907{
908 uint major, minor, version;
909 char *point= some_version, *end_point;
910 major= (uint) strtoul(point, &end_point, 10); point=end_point+1;
911 minor= (uint) strtoul(point, &end_point, 10); point=end_point+1;
912 version= (uint) strtoul(point, &end_point, 10);
913 return (ulong) major * 10000L + (ulong)(minor * 100 + version);
914}
915
916/**
917 Check if the server version matches with the server version mysql_upgrade
918 was compiled with.
919
920 @return 0 match successful
921 1 failed
922*/
923static int check_version_match(void)
924{
925 DYNAMIC_STRING ds_version;
926 char version_str[NAME_CHAR_LEN + 1];
927
928 if (init_dynamic_string(&ds_version, NULL, NAME_CHAR_LEN, NAME_CHAR_LEN))
929 die("Out of memory");
930
931 if (run_query("show variables like 'version'",
932 &ds_version, FALSE) ||
933 extract_variable_from_show(&ds_version, version_str))
934 {
935 dynstr_free(&ds_version);
936 return 1; /* Query failed */
937 }
938
939 dynstr_free(&ds_version);
940
941 if (calc_server_version((char *) version_str) != MYSQL_VERSION_ID)
942 {
943 fprintf(stderr, "Error: Server version (%s) does not match with the "
944 "version of\nthe server (%s) with which this program was built/"
945 "distributed. You can\nuse --skip-version-check to skip this "
946 "check.\n", version_str, MYSQL_SERVER_VERSION);
947 return 1;
948 }
949 else
950 return 0;
951}
952
953
894int main(int argc, char **argv)954int main(int argc, char **argv)
895{955{
896 char self_name[FN_REFLEN];956 char self_name[FN_REFLEN];
@@ -957,6 +1017,9 @@
957 die(NULL);1017 die(NULL);
958 }1018 }
9591019
1020 if (opt_version_check && check_version_match())
1021 die("Upgrade failed");
1022
960 /*1023 /*
961 Run "mysqlcheck" and "mysql_fix_privilege_tables.sql"1024 Run "mysqlcheck" and "mysql_fix_privilege_tables.sql"
962 First run mysqlcheck on the system database.1025 First run mysqlcheck on the system database.
9631026
=== modified file 'client/mysqlbinlog.cc'
--- client/mysqlbinlog.cc 2013-02-11 15:52:40 +0000
+++ client/mysqlbinlog.cc 2013-11-27 10:38:56 +0000
@@ -187,6 +187,10 @@
187 *opt_exclude_gtids_str= NULL;187 *opt_exclude_gtids_str= NULL;
188static my_bool opt_skip_gtids= 0;188static my_bool opt_skip_gtids= 0;
189static bool filter_based_on_gtids= false;189static bool filter_based_on_gtids= false;
190
191static bool in_transaction= false;
192static bool seen_gtids= false;
193
190static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,194static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,
191 const char* logname);195 const char* logname);
192static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,196static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
@@ -745,6 +749,60 @@
745 filtered= filtered || opt_skip_gtids;749 filtered= filtered || opt_skip_gtids;
746 }750 }
747 break;751 break;
752 /* Skip previous gtids if --skip-gtids is set. */
753 case PREVIOUS_GTIDS_LOG_EVENT:
754 filtered= opt_skip_gtids;
755 break;
756
757 /*
758 Transaction boundaries reset the global filtering flag.
759
760 Since in the relay log a transaction can span multiple
761 log files, we do not reset filter_based_on_gtids flag when
762 processing control events (they can appear in the middle
763 of a transaction). But then, if:
764
765 FILE1: ... GTID BEGIN QUERY QUERY COMMIT ROTATE
766 FILE2: FD BEGIN QUERY QUERY COMMIT
767
768 Events on the second file would not be outputted, even
769 though they should.
770 */
771 case XID_EVENT:
772 filtered= filter_based_on_gtids;
773 filter_based_on_gtids= false;
774 break;
775 case QUERY_EVENT:
776 filtered= filter_based_on_gtids;
777 if (((Query_log_event *)ev)->ends_group())
778 filter_based_on_gtids= false;
779 break;
780
781 /*
782 Never skip STOP, FD, ROTATE, IGNORABLE or INCIDENT events.
783 SLAVE_EVENT and START_EVENT_V3 are there for completion.
784
785 Although in the binlog transactions do not span multiple
786 log files, in the relay-log, that can happen. As such,
787 we need to explicitly state that we do not filter these
788 events, because there is a chance that they appear in the
789 middle of a filtered transaction, e.g.:
790
791 FILE1: ... GTID BEGIN QUERY QUERY ROTATE
792 FILE2: FD QUERY QUERY COMMIT GTID BEGIN ...
793
794 In this case, ROTATE and FD events should be processed and
795 outputted.
796 */
797 case START_EVENT_V3: /* for completion */
798 case SLAVE_EVENT: /* for completion */
799 case STOP_EVENT:
800 case FORMAT_DESCRIPTION_EVENT:
801 case ROTATE_EVENT:
802 case IGNORABLE_LOG_EVENT:
803 case INCIDENT_EVENT:
804 filtered= false;
805 break;
748 default:806 default:
749 filtered= filter_based_on_gtids;807 filtered= filter_based_on_gtids;
750 break;808 break;
@@ -842,7 +900,9 @@
842 bool parent_query_skips=900 bool parent_query_skips=
843 !((Query_log_event*) ev)->is_trans_keyword() &&901 !((Query_log_event*) ev)->is_trans_keyword() &&
844 shall_skip_database(((Query_log_event*) ev)->db);902 shall_skip_database(((Query_log_event*) ev)->db);
845 903 bool ends_group= ((Query_log_event*) ev)->ends_group();
904 bool starts_group= ((Query_log_event*) ev)->starts_group();
905
846 for (uint i= 0; i < buff_ev.elements; i++) 906 for (uint i= 0; i < buff_ev.elements; i++)
847 {907 {
848 buff_event_info pop_event_array= *dynamic_element(&buff_ev, i, buff_event_info *);908 buff_event_info pop_event_array= *dynamic_element(&buff_ev, i, buff_event_info *);
@@ -865,12 +925,28 @@
865 statements in the Query_log_event, we still need to handle DDL,925 statements in the Query_log_event, we still need to handle DDL,
866 which causes a commit itself.926 which causes a commit itself.
867 */927 */
868 print_event_info->skipped_event_in_transaction= true;928
929 if (seen_gtids && !in_transaction && !starts_group && !ends_group)
930 {
931 /*
932 For DDLs, print the COMMIT right away.
933 */
934 fprintf(result_file, "COMMIT /* added by mysqlbinlog */%s\n", print_event_info->delimiter);
935 print_event_info->skipped_event_in_transaction= false;
936 in_transaction= false;
937 }
938 else
939 print_event_info->skipped_event_in_transaction= true;
869 goto end;940 goto end;
870 }941 }
871942
872 if (((Query_log_event*) ev)->ends_group())943 if (ends_group)
944 {
945 in_transaction= false;
873 print_event_info->skipped_event_in_transaction= false;946 print_event_info->skipped_event_in_transaction= false;
947 }
948 else if (starts_group)
949 in_transaction= true;
874950
875 ev->print(result_file, print_event_info);951 ev->print(result_file, print_event_info);
876 if (head->error == -1)952 if (head->error == -1)
@@ -1113,9 +1189,13 @@
1113 bool skip_event= (ignored_map != NULL);1189 bool skip_event= (ignored_map != NULL);
1114 /*1190 /*
1115 end of statement check:1191 end of statement check:
1116 i) destroy/free ignored maps1192 i) destroy/free ignored maps
1117 ii) if skip event, flush cache now1193 ii) if skip event
1118 */1194 a) set the unflushed_events flag to false
1195 b) since we are skipping the last event,
1196 append END-MARKER(') to body cache (if required)
1197 c) flush cache now
1198 */
1119 if (stmt_end)1199 if (stmt_end)
1120 {1200 {
1121 /*1201 /*
@@ -1134,11 +1214,22 @@
1134 event was not skipped).1214 event was not skipped).
1135 */1215 */
1136 if (skip_event)1216 if (skip_event)
1217 {
1218 // set the unflushed_events flag to false
1219 print_event_info->have_unflushed_events= FALSE;
1220
1221 // append END-MARKER(') with delimiter
1222 IO_CACHE *const body_cache= &print_event_info->body_cache;
1223 if (my_b_tell(body_cache))
1224 my_b_printf(body_cache, "'%s\n", print_event_info->delimiter);
1225
1226 // flush cache
1137 if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache,1227 if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache,
1138 result_file, stop_never /* flush result_file */) ||1228 result_file, stop_never /* flush result_file */) ||
1139 copy_event_cache_to_file_and_reinit(&print_event_info->body_cache,1229 copy_event_cache_to_file_and_reinit(&print_event_info->body_cache,
1140 result_file, stop_never /* flush result_file */)))1230 result_file, stop_never /* flush result_file */)))
1141 goto err;1231 goto err;
1232 }
1142 }1233 }
11431234
1144 /* skip the event check */1235 /* skip the event check */
@@ -1188,8 +1279,10 @@
1188 }1279 }
1189 break;1280 break;
1190 }1281 }
1282 case ANONYMOUS_GTID_LOG_EVENT:
1191 case GTID_LOG_EVENT:1283 case GTID_LOG_EVENT:
1192 {1284 {
1285 seen_gtids= true;
1193 if (print_event_info->skipped_event_in_transaction == true)1286 if (print_event_info->skipped_event_in_transaction == true)
1194 fprintf(result_file, "COMMIT /* added by mysqlbinlog */%s\n", print_event_info->delimiter);1287 fprintf(result_file, "COMMIT /* added by mysqlbinlog */%s\n", print_event_info->delimiter);
1195 print_event_info->skipped_event_in_transaction= false;1288 print_event_info->skipped_event_in_transaction= false;
@@ -1201,12 +1294,40 @@
1201 }1294 }
1202 case XID_EVENT:1295 case XID_EVENT:
1203 {1296 {
1297 in_transaction= false;
1204 print_event_info->skipped_event_in_transaction= false;1298 print_event_info->skipped_event_in_transaction= false;
1205 ev->print(result_file, print_event_info);1299 ev->print(result_file, print_event_info);
1206 if (head->error == -1)1300 if (head->error == -1)
1207 goto err;1301 goto err;
1208 break;1302 break;
1209 }1303 }
1304 case ROTATE_EVENT:
1305 {
1306 Rotate_log_event *rev= (Rotate_log_event *) ev;
1307 /* no transaction context, gtids seen and not a fake rotate */
1308 if (seen_gtids)
1309 {
1310 /*
1311 Fake rotate events have 'when' set to zero. @c fake_rotate_event(...).
1312 */
1313 bool is_fake= (rev->when.tv_sec == 0);
1314 if (!in_transaction && !is_fake)
1315 {
1316 /*
1317 If processing multiple files, we must reset this flag,
1318 since there may be no gtids on the next one.
1319 */
1320 seen_gtids= false;
1321 fprintf(result_file, "SET @@SESSION.GTID_NEXT= 'AUTOMATIC' "
1322 "/* added by mysqlbinlog */ %s\n",
1323 print_event_info->delimiter);
1324 }
1325 }
1326 ev->print(result_file, print_event_info);
1327 if (head->error == -1)
1328 goto err;
1329 break;
1330 }
1210 case PREVIOUS_GTIDS_LOG_EVENT:1331 case PREVIOUS_GTIDS_LOG_EVENT:
1211 if (one_database && !opt_skip_gtids)1332 if (one_database && !opt_skip_gtids)
1212 warning("The option --database has been used. It may filter "1333 warning("The option --database has been used. It may filter "
@@ -2135,6 +2256,11 @@
2135 */2256 */
2136 continue;2257 continue;
2137 }2258 }
2259 /*
2260 Reset the value of '# at pos' field shown against first event of
2261 next binlog file (fake rotate) picked by mysqlbinlog --to-last-log
2262 */
2263 old_off= start_position_mot;
2138 len= 1; // fake Rotate, so don't increment old_off2264 len= 1; // fake Rotate, so don't increment old_off
2139 }2265 }
2140 }2266 }
@@ -2843,3 +2969,4 @@
2843#include "uuid.cc"2969#include "uuid.cc"
2844#include "rpl_gtid_set.cc"2970#include "rpl_gtid_set.cc"
2845#include "rpl_gtid_specification.cc"2971#include "rpl_gtid_specification.cc"
2972#include "rpl_tblmap.cc"
28462973
=== modified file 'client/mysqldump.c'
--- client/mysqldump.c 2013-02-26 05:45:28 +0000
+++ client/mysqldump.c 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
16*/16*/
1717
18/* mysqldump.c - Dump a tables contents and format to an ASCII file18/* mysqldump.c - Dump a tables contents and format to an ASCII file
@@ -84,14 +84,6 @@
84#define IGNORE_DATA 0x01 /* don't dump data for this table */84#define IGNORE_DATA 0x01 /* don't dump data for this table */
85#define IGNORE_INSERT_DELAYED 0x02 /* table doesn't support INSERT DELAYED */85#define IGNORE_INSERT_DELAYED 0x02 /* table doesn't support INSERT DELAYED */
8686
87/* general_log or slow_log tables under mysql database */
88static inline my_bool general_log_or_slow_log_tables(const char *db,
89 const char *table)
90{
91 return (strcmp(db, "mysql") == 0) &&
92 ((strcmp(table, "general_log") == 0) ||
93 (strcmp(table, "slow_log") == 0));
94}
9587
96static void add_load_option(DYNAMIC_STRING *str, const char *option,88static void add_load_option(DYNAMIC_STRING *str, const char *option,
97 const char *option_value);89 const char *option_value);
@@ -2457,6 +2449,15 @@
2457 DBUG_RETURN(0);2449 DBUG_RETURN(0);
2458}2450}
24592451
2452/* general_log or slow_log tables under mysql database */
2453static inline my_bool general_log_or_slow_log_tables(const char *db,
2454 const char *table)
2455{
2456 return (!my_strcasecmp(charset_info, db, "mysql")) &&
2457 (!my_strcasecmp(charset_info, table, "general_log") ||
2458 !my_strcasecmp(charset_info, table, "slow_log"));
2459}
2460
2460/*2461/*
2461 get_table_structure -- retrievs database structure, prints out corresponding2462 get_table_structure -- retrievs database structure, prints out corresponding
2462 CREATE statement and fills out insert_pat if the table is the type we will2463 CREATE statement and fills out insert_pat if the table is the type we will
@@ -4379,7 +4380,8 @@
4379 char table_buff[NAME_LEN*2+3];4380 char table_buff[NAME_LEN*2+3];
4380 char hash_key[2*NAME_LEN+2]; /* "db.tablename" */4381 char hash_key[2*NAME_LEN+2]; /* "db.tablename" */
4381 char *afterdot;4382 char *afterdot;
4382 int using_mysql_db= my_strcasecmp(&my_charset_latin1, database, "mysql");4383 my_bool general_log_table_exists= 0, slow_log_table_exists=0;
4384 int using_mysql_db= !my_strcasecmp(charset_info, database, "mysql");
4383 DBUG_ENTER("dump_all_tables_in_db");4385 DBUG_ENTER("dump_all_tables_in_db");
43844386
4385 afterdot= strmov(hash_key, database);4387 afterdot= strmov(hash_key, database);
@@ -4390,22 +4392,6 @@
4390 if (opt_xml)4392 if (opt_xml)
4391 print_xml_tag(md_result_file, "", "\n", "database", "name=", database, NullS);4393 print_xml_tag(md_result_file, "", "\n", "database", "name=", database, NullS);
43924394
4393 if (strcmp(database, "mysql") == 0)
4394 {
4395 char table_type[NAME_LEN];
4396 char ignore_flag;
4397 uint num_fields;
4398 num_fields= get_table_structure((char *) "general_log",
4399 database, table_type, &ignore_flag);
4400 if (num_fields == 0)
4401 verbose_msg("-- Warning: get_table_structure() failed with some internal "
4402 "error for 'general_log' table\n");
4403 num_fields= get_table_structure((char *) "slow_log",
4404 database, table_type, &ignore_flag);
4405 if (num_fields == 0)
4406 verbose_msg("-- Warning: get_table_structure() failed with some internal "
4407 "error for 'slow_log' table\n");
4408 }
4409 if (lock_tables)4395 if (lock_tables)
4410 {4396 {
4411 DYNAMIC_STRING query;4397 DYNAMIC_STRING query;
@@ -4451,6 +4437,26 @@
4451 }4437 }
4452 }4438 }
4453 }4439 }
4440 else
4441 {
4442 /*
4443 If general_log and slow_log exists in the 'mysql' database,
4444 we should dump the table structure. But we cannot
4445 call get_table_structure() here as 'LOCK TABLES' query got executed
4446 above on the session and that 'LOCK TABLES' query does not contain
4447 'general_log' and 'slow_log' tables. (you cannot acquire lock
4448 on log tables). Hence mark the existence of these log tables here and
4449 after 'UNLOCK TABLES' query is executed on the session, get the table
4450 structure from server and dump it in the file.
4451 */
4452 if (using_mysql_db)
4453 {
4454 if (!my_strcasecmp(charset_info, table, "general_log"))
4455 general_log_table_exists= 1;
4456 else if (!my_strcasecmp(charset_info, table, "slow_log"))
4457 slow_log_table_exists= 1;
4458 }
4459 }
4454 }4460 }
4455 if (opt_events && mysql_get_server_version(mysql) >= 50106)4461 if (opt_events && mysql_get_server_version(mysql) >= 50106)
4456 {4462 {
@@ -4469,7 +4475,26 @@
4469 }4475 }
4470 if (lock_tables)4476 if (lock_tables)
4471 (void) mysql_query_with_error_report(mysql, 0, "UNLOCK TABLES");4477 (void) mysql_query_with_error_report(mysql, 0, "UNLOCK TABLES");
4472 if (flush_privileges && using_mysql_db == 0)4478 if (using_mysql_db)
4479 {
4480 char table_type[NAME_LEN];
4481 char ignore_flag;
4482 if (general_log_table_exists)
4483 {
4484 if (!get_table_structure((char *) "general_log",
4485 database, table_type, &ignore_flag) )
4486 verbose_msg("-- Warning: get_table_structure() failed with some internal "
4487 "error for 'general_log' table\n");
4488 }
4489 if (slow_log_table_exists)
4490 {
4491 if (!get_table_structure((char *) "slow_log",
4492 database, table_type, &ignore_flag) )
4493 verbose_msg("-- Warning: get_table_structure() failed with some internal "
4494 "error for 'slow_log' table\n");
4495 }
4496 }
4497 if (flush_privileges && using_mysql_db)
4473 {4498 {
4474 fprintf(md_result_file,"\n--\n-- Flush Grant Tables \n--\n");4499 fprintf(md_result_file,"\n--\n-- Flush Grant Tables \n--\n");
4475 fprintf(md_result_file,"\n/*! FLUSH PRIVILEGES */;\n");4500 fprintf(md_result_file,"\n/*! FLUSH PRIVILEGES */;\n");
@@ -4841,7 +4866,7 @@
4841 if (row[1])4866 if (row[1])
4842 fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);4867 fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);
4843 if (row[3])4868 if (row[3])
4844 fprintf(md_result_file, "MASTER_PORT='%s', ", row[3]);4869 fprintf(md_result_file, "MASTER_PORT=%s, ", row[3]);
4845 }4870 }
4846 fprintf(md_result_file,4871 fprintf(md_result_file,
4847 "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);4872 "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);
@@ -5362,18 +5387,28 @@
5362 MYSQL_RES *gtid_mode_res;5387 MYSQL_RES *gtid_mode_res;
5363 MYSQL_ROW gtid_mode_row;5388 MYSQL_ROW gtid_mode_row;
5364 char *gtid_mode_val= 0;5389 char *gtid_mode_val= 0;
5390 char buf[32], query[64];
53655391
5366 if (opt_set_gtid_purged_mode == SET_GTID_PURGED_OFF)5392 if (opt_set_gtid_purged_mode == SET_GTID_PURGED_OFF)
5367 return FALSE; /* nothing to be done */5393 return FALSE; /* nothing to be done */
53685394
5395 /*
5396 Check if the server has the knowledge of GTIDs(pre mysql-5.6)
5397 or if the gtid_mode is ON or OFF.
5398 */
5399 my_snprintf(query, sizeof(query), "SHOW VARIABLES LIKE %s",
5400 quote_for_like("gtid_mode", buf));
53695401
5370 /* check if gtid_mode is ON or OFF */5402 if (mysql_query_with_error_report(mysql_con, &gtid_mode_res, query))
5371 if (mysql_query_with_error_report(mysql_con, &gtid_mode_res,
5372 "SELECT @@GTID_MODE"))
5373 return TRUE;5403 return TRUE;
53745404
5375 gtid_mode_row = mysql_fetch_row(gtid_mode_res);5405 gtid_mode_row = mysql_fetch_row(gtid_mode_res);
5376 gtid_mode_val = (char*)gtid_mode_row[0];5406
5407 /*
5408 gtid_mode_row is NULL for pre 5.6 versions. For versions >= 5.6,
5409 get the gtid_mode value from the second column.
5410 */
5411 gtid_mode_val = gtid_mode_row ? (char*)gtid_mode_row[1] : NULL;
53775412
5378 if (gtid_mode_val && strcmp(gtid_mode_val, "OFF"))5413 if (gtid_mode_val && strcmp(gtid_mode_val, "OFF"))
5379 {5414 {
53805415
=== modified file 'client/mysqltest.cc'
--- client/mysqltest.cc 2013-02-12 10:38:59 +0000
+++ client/mysqltest.cc 2013-11-27 10:38:56 +0000
@@ -1583,6 +1583,7 @@
1583 else1583 else
1584 p++;1584 p++;
1585 }1585 }
1586
1586 /* Output any chars that migh be left */1587 /* Output any chars that migh be left */
1587 dynstr_append_mem(ds, start, p-start);1588 dynstr_append_mem(ds, start, p-start);
1588 }1589 }
@@ -3407,8 +3408,12 @@
3407 /* Set default wild chars for wild_compare, is changed in embedded mode */3408 /* Set default wild chars for wild_compare, is changed in embedded mode */
3408 set_wild_chars(1);3409 set_wild_chars(1);
3409 3410
3411 uint length;
3412 /* Storing the length of the path to the file, so it can be reused */
3413 length= ds_file_to_remove.length;
3410 for (i= 0; i < (uint) dir_info->number_off_files; i++)3414 for (i= 0; i < (uint) dir_info->number_off_files; i++)
3411 {3415 {
3416 ds_file_to_remove.length= length;
3412 file= dir_info->dir_entry + i;3417 file= dir_info->dir_entry + i;
3413 /* Remove only regular files, i.e. no directories etc. */3418 /* Remove only regular files, i.e. no directories etc. */
3414 /* if (!MY_S_ISREG(file->mystat->st_mode)) */3419 /* if (!MY_S_ISREG(file->mystat->st_mode)) */
@@ -3418,8 +3423,10 @@
3418 if (ds_wild.length &&3423 if (ds_wild.length &&
3419 wild_compare(file->name, ds_wild.str, 0))3424 wild_compare(file->name, ds_wild.str, 0))
3420 continue;3425 continue;
3421 ds_file_to_remove.length= ds_directory.length + 1;3426 /* Not required as the var ds_file_to_remove.length already has the
3422 ds_file_to_remove.str[ds_directory.length + 1]= 0;3427 length in canonnicalized form */
3428 /* ds_file_to_remove.length= ds_directory.length + 1;
3429 ds_file_to_remove.str[ds_directory.length + 1]= 0; */
3423 dynstr_append(&ds_file_to_remove, file->name);3430 dynstr_append(&ds_file_to_remove, file->name);
3424 DBUG_PRINT("info", ("removing file: %s", ds_file_to_remove.str));3431 DBUG_PRINT("info", ("removing file: %s", ds_file_to_remove.str));
3425 error= my_delete(ds_file_to_remove.str, MYF(0)) != 0;3432 error= my_delete(ds_file_to_remove.str, MYF(0)) != 0;
34263433
=== modified file 'client/sql_string.h'
--- client/sql_string.h 2012-10-23 06:38:31 +0000
+++ client/sql_string.h 2013-11-27 10:38:56 +0000
@@ -1,7 +1,7 @@
1#ifndef CLIENT_SQL_STRING_INCLUDED1#ifndef CLIENT_SQL_STRING_INCLUDED
2#define CLIENT_SQL_STRING_INCLUDED2#define CLIENT_SQL_STRING_INCLUDED
33
4/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.4/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
55
6 This program is free software; you can redistribute it and/or modify6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by7 it under the terms of the GNU General Public License as published by
@@ -231,6 +231,7 @@
231 DBUG_ASSERT(!s.uses_buffer_owned_by(this));231 DBUG_ASSERT(!s.uses_buffer_owned_by(this));
232 free();232 free();
233 Ptr=s.Ptr ; str_length=s.str_length ; Alloced_length=s.Alloced_length;233 Ptr=s.Ptr ; str_length=s.str_length ; Alloced_length=s.Alloced_length;
234 str_charset=s.str_charset;
234 alloced=0;235 alloced=0;
235 }236 }
236 return *this;237 return *this;
237238
=== modified file 'cmake/build_configurations/compiler_options.cmake'
--- cmake/build_configurations/compiler_options.cmake 2012-04-02 14:31:07 +0000
+++ cmake/build_configurations/compiler_options.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
11# 11#
12# You should have received a copy of the GNU General Public License12# You should have received a copy of the GNU General Public License
13# along with this program; if not, write to the Free Software13# along with this program; if not, write to the Free Software
14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515
16IF(SIZEOF_VOIDP EQUAL 4)16IF(SIZEOF_VOIDP EQUAL 4)
17 SET(32BIT 1)17 SET(32BIT 1)
1818
=== modified file 'cmake/build_configurations/feature_set.cmake'
--- cmake/build_configurations/feature_set.cmake 2012-03-21 14:30:53 +0000
+++ cmake/build_configurations/feature_set.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
11# 11#
12# You should have received a copy of the GNU General Public License12# You should have received a copy of the GNU General Public License
13# along with this program; if not, write to the Free Software13# along with this program; if not, write to the Free Software
14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515
16SET(FEATURE_SET "community" CACHE STRING 16SET(FEATURE_SET "community" CACHE STRING
17" Selection of features. Options are17" Selection of features. Options are
1818
=== modified file 'cmake/build_configurations/mysql_release.cmake'
--- cmake/build_configurations/mysql_release.cmake 2013-02-26 05:45:28 +0000
+++ cmake/build_configurations/mysql_release.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -33,7 +33,6 @@
3333
34IF(UNIX)34IF(UNIX)
35 SET(WITH_EXTRA_CHARSETS all CACHE STRING "")35 SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
36 OPTION(WITH_LIBEDIT "" ON)
3736
38 OPTION(WITH_PIC "" ON) # Why?37 OPTION(WITH_PIC "" ON) # Why?
3938
4039
=== modified file 'cmake/dtrace.cmake'
--- cmake/dtrace.cmake 2013-02-14 10:33:04 +0000
+++ cmake/dtrace.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -157,7 +157,7 @@
157 FOREACH(lib ${libs})157 FOREACH(lib ${libs})
158 GET_TARGET_PROPERTY(libtype ${lib} TYPE)158 GET_TARGET_PROPERTY(libtype ${lib} TYPE)
159 IF(libtype MATCHES STATIC_LIBRARY)159 IF(libtype MATCHES STATIC_LIBRARY)
160 SET(static_libs ${static_lics} ${lib})160 SET(static_libs ${static_libs} ${lib})
161 ENDIF()161 ENDIF()
162 ENDFOREACH()162 ENDFOREACH()
163163
164164
=== modified file 'cmake/install_macros.cmake'
--- cmake/install_macros.cmake 2013-02-26 05:45:28 +0000
+++ cmake/install_macros.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -111,28 +111,28 @@
111ENDFUNCTION()111ENDFUNCTION()
112112
113# Install symbolic link to CMake target. 113# Install symbolic link to CMake target.
114# the link is created in the same directory as target114# We do 'cd path; ln -s target_name link_name'
115# and extension will be the same as for target file.115# We also add an INSTALL target for "${path}/${link_name}"
116MACRO(INSTALL_SYMLINK linkname target destination component)116MACRO(INSTALL_SYMLINK target target_name link_name destination component)
117IF(UNIX)117IF(UNIX)
118 GET_TARGET_PROPERTY(location ${target} LOCATION)118 GET_TARGET_PROPERTY(location ${target} LOCATION)
119 GET_FILENAME_COMPONENT(path ${location} PATH)119 GET_FILENAME_COMPONENT(path ${location} PATH)
120 GET_FILENAME_COMPONENT(name ${location} NAME)120
121 SET(output ${path}/${linkname})121 SET(output ${path}/${link_name})
122 ADD_CUSTOM_COMMAND(122 ADD_CUSTOM_COMMAND(
123 OUTPUT ${output}123 OUTPUT ${output}
124 COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}124 COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
125 COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink 125 COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
126 ${name} 126 ${target_name}
127 ${linkname}127 ${link_name}
128 WORKING_DIRECTORY ${path}128 WORKING_DIRECTORY ${path}
129 DEPENDS ${target}129 DEPENDS ${target}
130 )130 )
131 131
132 ADD_CUSTOM_TARGET(symlink_${linkname}132 ADD_CUSTOM_TARGET(symlink_${link_name}
133 ALL133 ALL
134 DEPENDS ${output})134 DEPENDS ${output})
135 SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)135 SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
136 IF(CMAKE_GENERATOR MATCHES "Xcode")136 IF(CMAKE_GENERATOR MATCHES "Xcode")
137 # For Xcode, replace project config with install config137 # For Xcode, replace project config with install config
138 STRING(REPLACE "${CMAKE_CFG_INTDIR}" 138 STRING(REPLACE "${CMAKE_CFG_INTDIR}"
139139
=== modified file 'cmake/mysql_version.cmake'
--- cmake/mysql_version.cmake 2013-11-27 10:38:46 +0000
+++ cmake/mysql_version.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
18#18#
1919
20SET(SHARED_LIB_MAJOR_VERSION "18")20SET(SHARED_LIB_MAJOR_VERSION "18")
21SET(SHARED_LIB_MINOR_VERSION "1")
21SET(PROTOCOL_VERSION "10")22SET(PROTOCOL_VERSION "10")
22SET(DOT_FRM_VERSION "6")23SET(DOT_FRM_VERSION "6")
2324
2425
=== modified file 'cmake/os/WindowsCache.cmake'
--- cmake/os/WindowsCache.cmake 2011-07-03 23:56:47 +0000
+++ cmake/os/WindowsCache.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -116,7 +116,7 @@
116SET(HAVE_LRAND48 CACHE INTERNAL "")116SET(HAVE_LRAND48 CACHE INTERNAL "")
117SET(HAVE_LSTAT CACHE INTERNAL "")117SET(HAVE_LSTAT CACHE INTERNAL "")
118SET(HAVE_MADVISE CACHE INTERNAL "")118SET(HAVE_MADVISE CACHE INTERNAL "")
119SET(HAVE_MALLINFO CACHE INTERNAL "")119SET(HAVE_MALLOC_INFO CACHE INTERNAL "")
120SET(HAVE_MALLOC_H 1 CACHE INTERNAL "")120SET(HAVE_MALLOC_H 1 CACHE INTERNAL "")
121SET(HAVE_MEMALIGN CACHE INTERNAL "")121SET(HAVE_MEMALIGN CACHE INTERNAL "")
122SET(HAVE_MEMCPY 1 CACHE INTERNAL "")122SET(HAVE_MEMCPY 1 CACHE INTERNAL "")
@@ -145,6 +145,7 @@
145SET(HAVE_PREAD CACHE INTERNAL "")145SET(HAVE_PREAD CACHE INTERNAL "")
146SET(HAVE_PRINTSTACK CACHE INTERNAL "")146SET(HAVE_PRINTSTACK CACHE INTERNAL "")
147SET(HAVE_PTHREAD_ATTR_CREATE CACHE INTERNAL "")147SET(HAVE_PTHREAD_ATTR_CREATE CACHE INTERNAL "")
148SET(HAVE_PTHREAD_ATTR_GETGUARDSIZE CACHE INTERNAL "")
148SET(HAVE_PTHREAD_ATTR_GETSTACKSIZE CACHE INTERNAL "")149SET(HAVE_PTHREAD_ATTR_GETSTACKSIZE CACHE INTERNAL "")
149SET(HAVE_PTHREAD_ATTR_SETSCOPE CACHE INTERNAL "")150SET(HAVE_PTHREAD_ATTR_SETSCOPE CACHE INTERNAL "")
150SET(HAVE_PTHREAD_ATTR_SETSTACKSIZE CACHE INTERNAL "")151SET(HAVE_PTHREAD_ATTR_SETSTACKSIZE CACHE INTERNAL "")
151152
=== modified file 'cmake/package_name.cmake'
--- cmake/package_name.cmake 2013-11-27 10:38:46 +0000
+++ cmake/package_name.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
2#2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -82,12 +82,20 @@
82 MATH(EXPR VER "${VER} -4")82 MATH(EXPR VER "${VER} -4")
83 SET(DEFAULT_PLATFORM "osx10.${VER}")83 SET(DEFAULT_PLATFORM "osx10.${VER}")
84 ENDIF()84 ENDIF()
85 LIST(LENGTH CMAKE_OSX_ARCHITECTURES LEN)85
86 IF(LEN GREATER 1)86 IF(CMAKE_OSX_ARCHITECTURES)
87 SET(DEFAULT_MACHINE "universal")87 LIST(LENGTH CMAKE_OSX_ARCHITECTURES LEN)
88 IF(LEN GREATER 1)
89 SET(DEFAULT_MACHINE "universal")
90 ELSE()
91 SET(DEFAULT_MACHINE "${CMAKE_OSX_ARCHITECTURES}")
92 ENDIF()
88 ELSE()93 ELSE()
89 SET(DEFAULT_MACHINE "${CMAKE_OSX_ARCHITECTURES}")94 IF(64BIT)
95 SET(DEFAULT_MACHINE "x86_64")
96 ENDIF()
90 ENDIF()97 ENDIF()
98
91 IF(DEFAULT_MACHINE MATCHES "i386")99 IF(DEFAULT_MACHINE MATCHES "i386")
92 SET(DEFAULT_MACHINE "x86")100 SET(DEFAULT_MACHINE "x86")
93 ENDIF()101 ENDIF()
94102
=== modified file 'cmake/readline.cmake'
--- cmake/readline.cmake 2013-02-26 05:45:28 +0000
+++ cmake/readline.cmake 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -13,6 +13,9 @@
13# along with this program; if not, write to the Free Software13# along with this program; if not, write to the Free Software
14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515
16# cmake -DWITH_EDITLINE=system|bundled
17# bundled is the default
18
16MACRO (MYSQL_CHECK_MULTIBYTE)19MACRO (MYSQL_CHECK_MULTIBYTE)
17 CHECK_INCLUDE_FILE(wctype.h HAVE_WCTYPE_H)20 CHECK_INCLUDE_FILE(wctype.h HAVE_WCTYPE_H)
18 CHECK_INCLUDE_FILE(wchar.h HAVE_WCHAR_H)21 CHECK_INCLUDE_FILE(wchar.h HAVE_WCHAR_H)
@@ -117,85 +120,93 @@
117 ENDIF()120 ENDIF()
118ENDMACRO()121ENDMACRO()
119122
120MACRO (MYSQL_USE_BUNDLED_LIBEDIT)123MACRO (MYSQL_USE_BUNDLED_EDITLINE)
121 SET(USE_LIBEDIT_INTERFACE 1)124 SET(USE_LIBEDIT_INTERFACE 1)
122 SET(HAVE_HIST_ENTRY 1)125 SET(HAVE_HIST_ENTRY 1)
123 SET(READLINE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit)126 SET(EDITLINE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit/editline)
124 SET(READLINE_LIBRARY edit)127 SET(EDITLINE_LIBRARY edit)
125 FIND_CURSES()128 FIND_CURSES()
126 ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit)129 ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit)
127ENDMACRO()130ENDMACRO()
128131
129MACRO (FIND_SYSTEM_LIBEDIT name)132MACRO (FIND_SYSTEM_EDITLINE)
130 133 FIND_PATH(FOUND_EDITLINE_READLINE
131 FIND_PATH(${name}_INCLUDE_DIR readline/readline.h ) 134 NAMES editline/readline.h
132 FIND_LIBRARY(${name}_LIBRARY NAMES ${name})135 )
133 MARK_AS_ADVANCED(${name}_INCLUDE_DIR ${name}_LIBRARY)136 IF(FOUND_EDITLINE_READLINE)
137 SET(EDITLINE_INCLUDE_DIR "${FOUND_EDITLINE_READLINE}/editline")
138 ELSE()
139 # Different path on FreeBSD
140 FIND_PATH(FOUND_EDIT_READLINE_READLINE
141 NAMES edit/readline/readline.h
142 )
143 IF(FOUND_EDIT_READLINE_READLINE)
144 SET(EDITLINE_INCLUDE_DIR "${FOUND_EDIT_READLINE_READLINE}/edit/readline")
145 ENDIF()
146 ENDIF()
147
148 FIND_LIBRARY(EDITLINE_LIBRARY
149 NAMES
150 edit
151 )
152 MARK_AS_ADVANCED(EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY)
153
154 MESSAGE(STATUS "EDITLINE_INCLUDE_DIR ${EDITLINE_INCLUDE_DIR}")
155 MESSAGE(STATUS "EDITLINE_LIBRARY ${EDITLINE_LIBRARY}")
134156
135 INCLUDE(CheckCXXSourceCompiles)157 INCLUDE(CheckCXXSourceCompiles)
136 SET(CMAKE_REQUIRES_LIBRARIES ${${name}_LIBRARY})158 IF(EDITLINE_LIBRARY AND EDITLINE_INCLUDE_DIR)
137159 SET(CMAKE_REQUIRED_INCLUDES ${EDITLINE_INCLUDE_DIR})
138 IF(${name}_LIBRARY AND ${name}_INCLUDE_DIR)160 SET(CMAKE_REQUIRED_LIBRARIES ${EDITLINE_LIBRARY})
139 SET(SYSTEM_READLINE_FOUND 1)
140 SET(CMAKE_REQUIRED_LIBRARIES ${${name}_LIBRARY})
141 CHECK_CXX_SOURCE_COMPILES("161 CHECK_CXX_SOURCE_COMPILES("
142 #include <stdio.h>162 #include <stdio.h>
143 #include <readline/readline.h> 163 #include <readline.h>
144 int main(int argc, char **argv)164 int main(int argc, char **argv)
145 {165 {
146 HIST_ENTRY entry;166 HIST_ENTRY entry;
147 return 0;167 return 0;
148 }"168 }"
149 ${name}_HAVE_HIST_ENTRY)169 EDITLINE_HAVE_HIST_ENTRY)
150 170
151 CHECK_CXX_SOURCE_COMPILES("171 CHECK_CXX_SOURCE_COMPILES("
152 #include <stdio.h>172 #include <stdio.h>
153 #include <readline/readline.h>173 #include <readline.h>
154 int main(int argc, char **argv)174 int main(int argc, char **argv)
155 {175 {
156 char res= *(*rl_completion_entry_function)(0,0);176 typedef int MYFunction(const char*, int);
177 MYFunction* myf= rl_completion_entry_function;
178 int res= (myf)(NULL, 0);
157 completion_matches(0,0);179 completion_matches(0,0);
180 return res;
158 }"181 }"
159 ${name}_USE_LIBEDIT_INTERFACE)182 EDITLINE_HAVE_COMPLETION)
160183
161 CHECK_CXX_SOURCE_COMPILES("184 IF(EDITLINE_HAVE_COMPLETION)
162 #include <stdio.h>185 SET(HAVE_HIST_ENTRY ${EDITLINE_HAVE_HIST_ENTRY})
163 #include <readline/readline.h>186 SET(USE_LIBEDIT_INTERFACE 1)
164 int main(int argc, char **argv)187 SET(EDITLINE_FOUND 1)
165 {
166 rl_completion_func_t *func1= (rl_completion_func_t*)0;
167 rl_compentry_func_t *func2= (rl_compentry_func_t*)0;
168 }"
169 ${name}_USE_NEW_READLINE_INTERFACE)
170
171 IF(${name}_USE_LIBEDIT_INTERFACE OR ${name}_USE_NEW_READLINE_INTERFACE)
172 SET(READLINE_LIBRARY ${${name}_LIBRARY})
173 SET(READLINE_INCLUDE_DIR ${${name}_INCLUDE_DIR})
174 SET(HAVE_HIST_ENTRY ${${name}_HAVE_HIST_ENTRY})
175 SET(USE_LIBEDIT_INTERFACE ${${name}_USE_LIBEDIT_INTERFACE})
176 SET(USE_NEW_READLINE_INTERFACE ${${name}_USE_NEW_READLINE_INTERFACE})
177 SET(READLINE_FOUND 1)
178 ENDIF()188 ENDIF()
179 ENDIF()189 ENDIF()
180ENDMACRO()190ENDMACRO()
181191
182192
183MACRO (MYSQL_CHECK_READLINE)193IF (NOT WITH_EDITLINE AND NOT WIN32)
194 SET(WITH_EDITLINE "bundled" CACHE STRING "By default use bundled editline")
195ENDIF()
196
197MACRO (MYSQL_CHECK_EDITLINE)
184 IF (NOT WIN32)198 IF (NOT WIN32)
185 MYSQL_CHECK_MULTIBYTE()199 MYSQL_CHECK_MULTIBYTE()
186 IF(NOT CYGWIN)
187 SET(WITH_LIBEDIT ON CACHE BOOL "Use bundled libedit")
188 # Bundled libedit does not compile on cygwin, only readline
189 ENDIF()
190200
191 IF(WITH_LIBEDIT) 201 IF(WITH_EDITLINE STREQUAL "bundled")
192 MYSQL_USE_BUNDLED_LIBEDIT()202 MYSQL_USE_BUNDLED_EDITLINE()
203 ELSEIF(WITH_EDITLINE STREQUAL "system")
204 FIND_SYSTEM_EDITLINE()
205 IF(NOT EDITLINE_FOUND)
206 MESSAGE(FATAL_ERROR "Cannot find system editline libraries.")
207 ENDIF()
193 ELSE()208 ELSE()
194 FIND_SYSTEM_LIBEDIT(edit)209 MESSAGE(FATAL_ERROR "WITH_EDITLINE must be bundled or system")
195 IF(NOT_LIBEDIT_FOUND)
196 MESSAGE(FATAL_ERROR "Cannot find system libedit libraries.Use WITH_LIBEDIT")
197 ENDIF()
198 ENDIF()210 ENDIF()
199 ENDIF(NOT WIN32)211 ENDIF(NOT WIN32)
200ENDMACRO()212ENDMACRO()
201
202213
=== renamed directory 'cmd-line-utils/libedit/readline' => 'cmd-line-utils/libedit/editline'
=== modified file 'cmd-line-utils/libedit/readline.c'
--- cmd-line-utils/libedit/readline.c 2012-01-12 13:03:44 +0000
+++ cmd-line-utils/libedit/readline.c 2013-11-27 10:38:56 +0000
@@ -51,7 +51,7 @@
51#else51#else
52#include "np/vis.h"52#include "np/vis.h"
53#endif53#endif
54#include "readline/readline.h"54#include "editline/readline.h"
55#include "el.h"55#include "el.h"
56#include "fcns.h" /* for EL_NUM_FCNS */56#include "fcns.h" /* for EL_NUM_FCNS */
57#include "histedit.h"57#include "histedit.h"
5858
=== modified file 'config.h.cmake'
--- config.h.cmake 2013-02-26 05:45:28 +0000
+++ config.h.cmake 2013-11-27 10:38:56 +0000
@@ -120,7 +120,6 @@
120/* Readline */120/* Readline */
121#cmakedefine HAVE_HIST_ENTRY 1121#cmakedefine HAVE_HIST_ENTRY 1
122#cmakedefine USE_LIBEDIT_INTERFACE 1122#cmakedefine USE_LIBEDIT_INTERFACE 1
123#cmakedefine USE_NEW_READLINE_INTERFACE 1
124123
125#cmakedefine FIONREAD_IN_SYS_IOCTL 1124#cmakedefine FIONREAD_IN_SYS_IOCTL 1
126#cmakedefine GWINSZ_IN_SYS_IOCTL 1125#cmakedefine GWINSZ_IN_SYS_IOCTL 1
@@ -194,7 +193,7 @@
194#cmakedefine HAVE_DECL_MADVISE 1193#cmakedefine HAVE_DECL_MADVISE 1
195#cmakedefine HAVE_DECL_TGOTO 1194#cmakedefine HAVE_DECL_TGOTO 1
196#cmakedefine HAVE_DECL_MHA_MAPSIZE_VA195#cmakedefine HAVE_DECL_MHA_MAPSIZE_VA
197#cmakedefine HAVE_MALLINFO 1196#cmakedefine HAVE_MALLOC_INFO 1
198#cmakedefine HAVE_MEMCPY 1197#cmakedefine HAVE_MEMCPY 1
199#cmakedefine HAVE_MEMMOVE 1198#cmakedefine HAVE_MEMMOVE 1
200#cmakedefine HAVE_MKSTEMP 1199#cmakedefine HAVE_MKSTEMP 1
@@ -212,6 +211,7 @@
212#cmakedefine HAVE_RDTSCLL 1211#cmakedefine HAVE_RDTSCLL 1
213#cmakedefine HAVE_READ_REAL_TIME 1212#cmakedefine HAVE_READ_REAL_TIME 1
214#cmakedefine HAVE_PTHREAD_ATTR_CREATE 1213#cmakedefine HAVE_PTHREAD_ATTR_CREATE 1
214#cmakedefine HAVE_PTHREAD_ATTR_GETGUARDSIZE 1
215#cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1215#cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
216#cmakedefine HAVE_PTHREAD_ATTR_SETPRIO 1216#cmakedefine HAVE_PTHREAD_ATTR_SETPRIO 1
217#cmakedefine HAVE_PTHREAD_ATTR_SETSCHEDPARAM 1217#cmakedefine HAVE_PTHREAD_ATTR_SETSCHEDPARAM 1
218218
=== modified file 'configure.cmake'
--- configure.cmake 2013-02-28 13:55:23 +0000
+++ configure.cmake 2013-11-27 10:38:56 +0000
@@ -441,7 +441,7 @@
441CHECK_FUNCTION_EXISTS (longjmp HAVE_LONGJMP)441CHECK_FUNCTION_EXISTS (longjmp HAVE_LONGJMP)
442CHECK_FUNCTION_EXISTS (lstat HAVE_LSTAT)442CHECK_FUNCTION_EXISTS (lstat HAVE_LSTAT)
443CHECK_FUNCTION_EXISTS (madvise HAVE_MADVISE)443CHECK_FUNCTION_EXISTS (madvise HAVE_MADVISE)
444CHECK_FUNCTION_EXISTS (mallinfo HAVE_MALLINFO)444CHECK_FUNCTION_EXISTS (malloc_info HAVE_MALLOC_INFO)
445CHECK_FUNCTION_EXISTS (memcpy HAVE_MEMCPY)445CHECK_FUNCTION_EXISTS (memcpy HAVE_MEMCPY)
446CHECK_FUNCTION_EXISTS (memmove HAVE_MEMMOVE)446CHECK_FUNCTION_EXISTS (memmove HAVE_MEMMOVE)
447CHECK_FUNCTION_EXISTS (mkstemp HAVE_MKSTEMP)447CHECK_FUNCTION_EXISTS (mkstemp HAVE_MKSTEMP)
@@ -456,6 +456,7 @@
456CHECK_FUNCTION_EXISTS (posix_memalign HAVE_POSIX_MEMALIGN)456CHECK_FUNCTION_EXISTS (posix_memalign HAVE_POSIX_MEMALIGN)
457CHECK_FUNCTION_EXISTS (pread HAVE_PREAD)457CHECK_FUNCTION_EXISTS (pread HAVE_PREAD)
458CHECK_FUNCTION_EXISTS (pthread_attr_create HAVE_PTHREAD_ATTR_CREATE)458CHECK_FUNCTION_EXISTS (pthread_attr_create HAVE_PTHREAD_ATTR_CREATE)
459CHECK_FUNCTION_EXISTS (pthread_attr_getguardsize HAVE_PTHREAD_ATTR_GETGUARDSIZE)
459CHECK_FUNCTION_EXISTS (pthread_attr_getstacksize HAVE_PTHREAD_ATTR_GETSTACKSIZE)460CHECK_FUNCTION_EXISTS (pthread_attr_getstacksize HAVE_PTHREAD_ATTR_GETSTACKSIZE)
460CHECK_FUNCTION_EXISTS (pthread_attr_setscope HAVE_PTHREAD_ATTR_SETSCOPE)461CHECK_FUNCTION_EXISTS (pthread_attr_setscope HAVE_PTHREAD_ATTR_SETSCOPE)
461CHECK_FUNCTION_EXISTS (pthread_attr_setstacksize HAVE_PTHREAD_ATTR_SETSTACKSIZE)462CHECK_FUNCTION_EXISTS (pthread_attr_setstacksize HAVE_PTHREAD_ATTR_SETSTACKSIZE)
@@ -695,6 +696,7 @@
695696
696# check whether time_t is unsigned697# check whether time_t is unsigned
697CHECK_C_SOURCE_COMPILES("698CHECK_C_SOURCE_COMPILES("
699#include <time.h>
698int main()700int main()
699{701{
700 int array[(((time_t)-1) > 0) ? 1 : -1];702 int array[(((time_t)-1) > 0) ? 1 : -1];
701703
=== modified file 'dbug/dbug.c'
--- dbug/dbug.c 2012-11-06 11:30:07 +0000
+++ dbug/dbug.c 2013-11-27 10:38:56 +0000
@@ -79,12 +79,6 @@
79 *79 *
80 */80 */
8181
82/*
83 We can't have SAFE_MUTEX defined here as this will cause recursion
84 in pthread_mutex_lock
85*/
86
87#undef SAFE_MUTEX
88#include <my_global.h>82#include <my_global.h>
89#include <m_string.h>83#include <m_string.h>
90#include <errno.h>84#include <errno.h>
@@ -598,7 +592,7 @@
598 if (!is_shared(stack, keywords))592 if (!is_shared(stack, keywords))
599 FreeList(stack->keywords);593 FreeList(stack->keywords);
600 stack->keywords=NULL;594 stack->keywords=NULL;
601 stack->flags &= ~DEBUG_ON;595 stack->flags&= ~DEBUG_ON;
602 break;596 break;
603 }597 }
604 if (rel && is_shared(stack, keywords))598 if (rel && is_shared(stack, keywords))
@@ -606,11 +600,29 @@
606 if (sign < 0)600 if (sign < 0)
607 {601 {
608 if (DEBUGGING)602 if (DEBUGGING)
603 {
609 stack->keywords= ListDel(stack->keywords, control, end);604 stack->keywords= ListDel(stack->keywords, control, end);
610 break;605 /* Turn off DEBUG_ON if it is last keyword to be removed. */
611 }606 if (stack->keywords == NULL)
612 stack->keywords= ListAdd(stack->keywords, control, end);607 stack->flags&= ~DEBUG_ON;
613 stack->flags |= DEBUG_ON;608 }
609 break;
610 }
611
612 /* Do not add keyword if debugging all is enabled. */
613 if (!(DEBUGGING && stack->keywords == NULL))
614 {
615 stack->keywords= ListAdd(stack->keywords, control, end);
616 stack->flags|= DEBUG_ON;
617 }
618
619 /* If debug all is enabled, make the keyword list empty. */
620 if (sign == 1 && control == end)
621 {
622 FreeList(stack->keywords);
623 stack->keywords= NULL;
624 }
625
614 break;626 break;
615 case 'D':627 case 'D':
616 stack->delay= atoi(control);628 stack->delay= atoi(control);
@@ -1035,7 +1047,7 @@
1035 } while (0)1047 } while (0)
1036#define str_to_buf(S) do { \1048#define str_to_buf(S) do { \
1037 char_to_buf(','); \1049 char_to_buf(','); \
1038 buf=strnmov(buf, (S), len+1); \1050 buf=strnmov(buf, (S), end-buf); \
1039 if (buf >= end) goto overflow; \1051 if (buf >= end) goto overflow; \
1040 } while (0)1052 } while (0)
1041#define list_to_buf(l, f) do { \1053#define list_to_buf(l, f) do { \
@@ -1358,6 +1370,38 @@
1358/*1370/*
1359 * FUNCTION1371 * FUNCTION
1360 *1372 *
1373 * _db_enabled_ check if debug is enabled for the keyword used in
1374 * DBUG_PRINT
1375 *
1376 * SYNOPSIS
1377 *
1378 * int _db_enabled_();
1379 *
1380 * DESCRIPTION
1381 *
1382 * The function checks if the debug output is to be enabled for the keyword
1383 * specified in DBUG_PRINT macro. _db_doprnt_ will be called only if this
1384 * function evaluates to 1.
1385 */
1386
1387int _db_enabled_()
1388{
1389 CODE_STATE *cs;
1390
1391 get_code_state_or_return 0;
1392
1393 if (! DEBUGGING)
1394 return 0;
1395
1396 if (_db_keyword_(cs, cs->u_keyword, 0))
1397 return 1;
1398
1399 return 0;
1400}
1401
1402/*
1403 * FUNCTION
1404 *
1361 * _db_doprnt_ handle print of debug lines1405 * _db_doprnt_ handle print of debug lines
1362 *1406 *
1363 * SYNOPSIS1407 * SYNOPSIS
@@ -1368,11 +1412,9 @@
1368 *1412 *
1369 * DESCRIPTION1413 * DESCRIPTION
1370 *1414 *
1371 * When invoked via one of the DBUG macros, tests the current keyword1415 * This function handles the printing of the arguments via the format
1372 * set by calling _db_pargs_() to see if that macro has been selected1416 * string. The line number of the DBUG macro in the source is found in
1373 * for processing via the debugger control string, and if so, handles1417 * u_line.
1374 * printing of the arguments via the format string. The line number
1375 * of the DBUG macro in the source is found in u_line.
1376 *1418 *
1377 * Note that the format string SHOULD NOT include a terminating1419 * Note that the format string SHOULD NOT include a terminating
1378 * newline, this is supplied automatically.1420 * newline, this is supplied automatically.
@@ -1385,6 +1427,8 @@
1385{1427{
1386 va_list args;1428 va_list args;
1387 CODE_STATE *cs;1429 CODE_STATE *cs;
1430 int save_errno;
1431
1388 get_code_state_or_return;1432 get_code_state_or_return;
13891433
1390 /* Dirty read, for DBUG_PRINT() performance. */1434 /* Dirty read, for DBUG_PRINT() performance. */
@@ -1394,21 +1438,19 @@
1394 va_start(args,format);1438 va_start(args,format);
1395 read_lock_stack(cs);1439 read_lock_stack(cs);
13961440
1397 if (_db_keyword_(cs, cs->u_keyword, 0))1441 save_errno=errno;
1398 {1442 if (!cs->locked)
1399 int save_errno=errno;1443 pthread_mutex_lock(&THR_LOCK_dbug);
1400 if (!cs->locked)1444 DoPrefix(cs, cs->u_line);
1401 pthread_mutex_lock(&THR_LOCK_dbug);1445 if (TRACING)
1402 DoPrefix(cs, cs->u_line);1446 Indent(cs, cs->level + 1);
1403 if (TRACING)1447 else
1404 Indent(cs, cs->level + 1);1448 (void) fprintf(cs->stack->out_file, "%s: ", cs->func);
1405 else1449 (void) fprintf(cs->stack->out_file, "%s: ", cs->u_keyword);
1406 (void) fprintf(cs->stack->out_file, "%s: ", cs->func);1450 DbugVfprintf(cs->stack->out_file, format, args);
1407 (void) fprintf(cs->stack->out_file, "%s: ", cs->u_keyword);1451 DbugFlush(cs);
1408 DbugVfprintf(cs->stack->out_file, format, args);1452 errno=save_errno;
1409 DbugFlush(cs);1453
1410 errno=save_errno;
1411 }
1412 unlock_stack(cs);1454 unlock_stack(cs);
1413 va_end(args);1455 va_end(args);
1414}1456}
14151457
=== modified file 'extra/charset2html.c'
--- extra/charset2html.c 2013-02-26 05:45:28 +0000
+++ extra/charset2html.c 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
16 */16 */
1717
18/*18/*
1919
=== modified file 'extra/comp_err.c'
--- extra/comp_err.c 2013-02-26 05:45:28 +0000
+++ extra/comp_err.c 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.2 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
33
4 This program is free software; you can redistribute it and/or modify4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by5 it under the terms of the GNU General Public License as published by
@@ -31,6 +31,7 @@
31#include <my_getopt.h>31#include <my_getopt.h>
32#include <assert.h>32#include <assert.h>
33#include <my_dir.h>33#include <my_dir.h>
34#include <mysql_version.h>
3435
35#define MAX_ROWS 100036#define MAX_ROWS 1000
36#define HEADER_LENGTH 32 /* Length of header in errmsg.sys */37#define HEADER_LENGTH 32 /* Length of header in errmsg.sys */
@@ -182,6 +183,23 @@
182 fprintf(stderr, "Failed to parse input file %s\n", TXTFILE);183 fprintf(stderr, "Failed to parse input file %s\n", TXTFILE);
183 DBUG_RETURN(1);184 DBUG_RETURN(1);
184 }185 }
186#if MYSQL_VERSION_ID >= 50100 && MYSQL_VERSION_ID < 50500
187/* Number of error messages in 5.1 - do not change this number! */
188#define MYSQL_OLD_GA_ERROR_MESSAGE_COUNT 641
189#elif MYSQL_VERSION_ID >= 50500 && MYSQL_VERSION_ID < 50600
190/* Number of error messages in 5.5 - do not change this number! */
191#define MYSQL_OLD_GA_ERROR_MESSAGE_COUNT 728
192#endif
193#if MYSQL_OLD_GA_ERROR_MESSAGE_COUNT
194 if (row_count != MYSQL_OLD_GA_ERROR_MESSAGE_COUNT)
195 {
196 fprintf(stderr, "Can only add new error messages to latest GA. ");
197 fprintf(stderr, "Use ER_UNKNOWN_ERROR instead.\n");
198 fprintf(stderr, "Expected %u messages, found %u.\n",
199 MYSQL_OLD_GA_ERROR_MESSAGE_COUNT, row_count);
200 DBUG_RETURN(1);
201 }
202#endif
185 if (lang_head == NULL || error_head == NULL)203 if (lang_head == NULL || error_head == NULL)
186 {204 {
187 fprintf(stderr, "Failed to parse input file %s\n", TXTFILE);205 fprintf(stderr, "Failed to parse input file %s\n", TXTFILE);
188206
=== modified file 'extra/yassl/COPYING'
--- extra/yassl/COPYING 2006-08-01 18:20:46 +0000
+++ extra/yassl/COPYING 2013-11-27 10:38:56 +0000
@@ -2,7 +2,7 @@
2 Version 2, June 19912 Version 2, June 1991
33
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA5 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
6 Everyone is permitted to copy and distribute verbatim copies6 Everyone is permitted to copy and distribute verbatim copies
7 of this license document, but changing it is not allowed.7 of this license document, but changing it is not allowed.
88
@@ -305,7 +305,7 @@
305305
306 You should have received a copy of the GNU General Public License306 You should have received a copy of the GNU General Public License
307 along with this program; if not, write to the Free Software307 along with this program; if not, write to the Free Software
308 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA308 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
309309
310310
311Also add information on how to contact you by electronic and paper mail.311Also add information on how to contact you by electronic and paper mail.
312312
=== modified file 'extra/yassl/include/openssl/generate_prefix_files.pl'
--- extra/yassl/include/openssl/generate_prefix_files.pl 2010-12-28 18:57:23 +0000
+++ extra/yassl/include/openssl/generate_prefix_files.pl 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13# 13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18#18#
19# This script generates defines for all functions19# This script generates defines for all functions
2020
=== modified file 'extra/yassl/src/crypto_wrapper.cpp'
--- extra/yassl/src/crypto_wrapper.cpp 2013-02-26 05:45:28 +0000
+++ extra/yassl/src/crypto_wrapper.cpp 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/* The crypto wrapper source implements the policies for the cipher16/* The crypto wrapper source implements the policies for the cipher
17 * components used by SSL.17 * components used by SSL.
1818
=== modified file 'extra/yassl/src/make.bat'
--- extra/yassl/src/make.bat 2013-02-26 05:45:28 +0000
+++ extra/yassl/src/make.bat 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11REM 11REM
12REM You should have received a copy of the GNU General Public License12REM You should have received a copy of the GNU General Public License
13REM along with this program; if not, write to the Free Software13REM along with this program; if not, write to the Free Software
14REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16REM quick and dirty build file for testing different MSDEVs16REM quick and dirty build file for testing different MSDEVs
17setlocal 17setlocal
1818
=== modified file 'extra/yassl/src/yassl_int.cpp'
--- extra/yassl/src/yassl_int.cpp 2013-02-26 05:45:28 +0000
+++ extra/yassl/src/yassl_int.cpp 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/* yaSSL internal source implements SSL supporting types not specified in the16/* yaSSL internal source implements SSL supporting types not specified in the
17 * draft along with type conversion functions.17 * draft along with type conversion functions.
1818
=== modified file 'extra/yassl/taocrypt/COPYING'
--- extra/yassl/taocrypt/COPYING 2006-09-25 14:40:29 +0000
+++ extra/yassl/taocrypt/COPYING 2013-11-27 10:38:56 +0000
@@ -2,7 +2,7 @@
2 Version 2, June 19912 Version 2, June 1991
33
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA5 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
6 Everyone is permitted to copy and distribute verbatim copies6 Everyone is permitted to copy and distribute verbatim copies
7 of this license document, but changing it is not allowed.7 of this license document, but changing it is not allowed.
88
@@ -305,7 +305,7 @@
305305
306 You should have received a copy of the GNU General Public License306 You should have received a copy of the GNU General Public License
307 along with this program; if not, write to the Free Software307 along with this program; if not, write to the Free Software
308 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA308 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
309309
310310
311Also add information on how to contact you by electronic and paper mail.311Also add information on how to contact you by electronic and paper mail.
312312
=== modified file 'extra/yassl/taocrypt/benchmark/make.bat'
--- extra/yassl/taocrypt/benchmark/make.bat 2013-02-26 05:45:28 +0000
+++ extra/yassl/taocrypt/benchmark/make.bat 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11REM 11REM
12REM You should have received a copy of the GNU General Public License12REM You should have received a copy of the GNU General Public License
13REM along with this program; if not, write to the Free Software13REM along with this program; if not, write to the Free Software
14REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16REM quick and dirty build file for testing different MSDEVs16REM quick and dirty build file for testing different MSDEVs
17setlocal 17setlocal
1818
=== modified file 'extra/yassl/taocrypt/src/algebra.cpp'
--- extra/yassl/taocrypt/src/algebra.cpp 2013-02-26 05:45:28 +0000
+++ extra/yassl/taocrypt/src/algebra.cpp 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/* based on Wei Dai's algebra.cpp from CryptoPP */16/* based on Wei Dai's algebra.cpp from CryptoPP */
17#undef NDEBUG17#undef NDEBUG
1818
=== modified file 'extra/yassl/taocrypt/src/integer.cpp'
--- extra/yassl/taocrypt/src/integer.cpp 2013-02-26 05:45:28 +0000
+++ extra/yassl/taocrypt/src/integer.cpp 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/* based on Wei Dai's integer.cpp from CryptoPP */16/* based on Wei Dai's integer.cpp from CryptoPP */
1717
1818
=== modified file 'extra/yassl/taocrypt/src/make.bat'
--- extra/yassl/taocrypt/src/make.bat 2013-02-26 05:45:28 +0000
+++ extra/yassl/taocrypt/src/make.bat 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11REM 11REM
12REM You should have received a copy of the GNU General Public License12REM You should have received a copy of the GNU General Public License
13REM along with this program; if not, write to the Free Software13REM along with this program; if not, write to the Free Software
14REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16REM quick and dirty build file for testing different MSDEVs16REM quick and dirty build file for testing different MSDEVs
17setlocal 17setlocal
1818
=== modified file 'extra/yassl/taocrypt/test/make.bat'
--- extra/yassl/taocrypt/test/make.bat 2013-02-26 05:45:28 +0000
+++ extra/yassl/taocrypt/test/make.bat 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11REM 11REM
12REM You should have received a copy of the GNU General Public License12REM You should have received a copy of the GNU General Public License
13REM along with this program; if not, write to the Free Software13REM along with this program; if not, write to the Free Software
14REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16REM quick and dirty build file for testing different MSDEVs16REM quick and dirty build file for testing different MSDEVs
17setlocal 17setlocal
1818
=== modified file 'extra/yassl/testsuite/make.bat'
--- extra/yassl/testsuite/make.bat 2013-02-26 05:45:28 +0000
+++ extra/yassl/testsuite/make.bat 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11REM 11REM
12REM You should have received a copy of the GNU General Public License12REM You should have received a copy of the GNU General Public License
13REM along with this program; if not, write to the Free Software13REM along with this program; if not, write to the Free Software
14REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16REM quick and dirty build file for testing different MSDEVs16REM quick and dirty build file for testing different MSDEVs
17setlocal 17setlocal
1818
=== modified file 'include/atomic/rwlock.h'
--- include/atomic/rwlock.h 2011-06-30 15:46:53 +0000
+++ include/atomic/rwlock.h 2013-11-27 10:38:56 +0000
@@ -1,8 +1,7 @@
1#ifndef ATOMIC_RWLOCK_INCLUDED1#ifndef ATOMIC_RWLOCK_INCLUDED
2#define ATOMIC_RWLOCK_INCLUDED2#define ATOMIC_RWLOCK_INCLUDED
33
4/* Copyright (c) 2006 MySQL AB, 2009 Sun Microsystems, Inc.4/* Copyright (c) 2006, 2013 Oracle and/or its affiliates. All rights reserved.
5 Use is subject to license terms.
65
7 This program is free software; you can redistribute it and/or modify6 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by7 it under the terms of the GNU General Public License as published by
@@ -41,8 +40,6 @@
4140
42typedef struct {pthread_mutex_t rw;} my_atomic_rwlock_t;41typedef struct {pthread_mutex_t rw;} my_atomic_rwlock_t;
4342
44#ifndef SAFE_MUTEX
45
46/*43/*
47 we're using read-write lock macros but map them to mutex locks, and they're44 we're using read-write lock macros but map them to mutex locks, and they're
48 faster. Still, having semantically rich API we can change the45 faster. Still, having semantically rich API we can change the
@@ -55,37 +52,6 @@
55#define my_atomic_rwlock_rdunlock(name) pthread_mutex_unlock(& (name)->rw)52#define my_atomic_rwlock_rdunlock(name) pthread_mutex_unlock(& (name)->rw)
56#define my_atomic_rwlock_wrunlock(name) pthread_mutex_unlock(& (name)->rw)53#define my_atomic_rwlock_wrunlock(name) pthread_mutex_unlock(& (name)->rw)
5754
58#else /* SAFE_MUTEX */
59
60/*
61 SAFE_MUTEX pollutes the compiling name space with macros
62 that alter pthread_mutex_t, pthread_mutex_init, etc.
63 Atomic operations should never use the safe mutex wrappers.
64 Unfortunately, there is no way to have both:
65 - safe mutex macros expanding pthread_mutex_lock to safe_mutex_lock
66 - my_atomic macros expanding to unmodified pthread_mutex_lock
67 inlined in the same compilation unit.
68 So, in case of SAFE_MUTEX, a function call is required.
69 Given that SAFE_MUTEX is a debugging facility,
70 this extra function call is not a performance concern for
71 production builds.
72*/
73C_MODE_START
74extern void plain_pthread_mutex_init(safe_mutex_t *);
75extern void plain_pthread_mutex_destroy(safe_mutex_t *);
76extern void plain_pthread_mutex_lock(safe_mutex_t *);
77extern void plain_pthread_mutex_unlock(safe_mutex_t *);
78C_MODE_END
79
80#define my_atomic_rwlock_destroy(name) plain_pthread_mutex_destroy(&(name)->rw)
81#define my_atomic_rwlock_init(name) plain_pthread_mutex_init(&(name)->rw)
82#define my_atomic_rwlock_rdlock(name) plain_pthread_mutex_lock(&(name)->rw)
83#define my_atomic_rwlock_wrlock(name) plain_pthread_mutex_lock(&(name)->rw)
84#define my_atomic_rwlock_rdunlock(name) plain_pthread_mutex_unlock(&(name)->rw)
85#define my_atomic_rwlock_wrunlock(name) plain_pthread_mutex_unlock(&(name)->rw)
86
87#endif /* SAFE_MUTEX */
88
89#define MY_ATOMIC_MODE "mutex"55#define MY_ATOMIC_MODE "mutex"
90#ifndef MY_ATOMIC_MODE_RWLOCKS56#ifndef MY_ATOMIC_MODE_RWLOCKS
91#define MY_ATOMIC_MODE_RWLOCKS 157#define MY_ATOMIC_MODE_RWLOCKS 1
9258
=== modified file 'include/big_endian.h'
--- include/big_endian.h 2012-02-01 08:31:03 +0000
+++ include/big_endian.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16/*16/*
17 Data in big-endian format.17 Data in big-endian format.
1818
=== modified file 'include/byte_order_generic.h'
--- include/byte_order_generic.h 2012-02-01 08:31:03 +0000
+++ include/byte_order_generic.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16/*16/*
17 Endianness-independent definitions for architectures other17 Endianness-independent definitions for architectures other
1818
=== modified file 'include/byte_order_generic_x86.h'
--- include/byte_order_generic_x86.h 2012-02-01 08:31:03 +0000
+++ include/byte_order_generic_x86.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16/*16/*
17 Optimized function-like macros for the x86 architecture (_WIN32 included).17 Optimized function-like macros for the x86 architecture (_WIN32 included).
1818
=== modified file 'include/byte_order_generic_x86_64.h'
--- include/byte_order_generic_x86_64.h 2012-02-01 08:31:03 +0000
+++ include/byte_order_generic_x86_64.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16/*16/*
17 Optimized function-like macros for the x86 architecture (_WIN32 included).17 Optimized function-like macros for the x86 architecture (_WIN32 included).
1818
=== modified file 'include/little_endian.h'
--- include/little_endian.h 2012-02-01 08:31:03 +0000
+++ include/little_endian.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16/*16/*
17 Data in little-endian format.17 Data in little-endian format.
1818
=== modified file 'include/my_base.h'
--- include/my_base.h 2013-02-26 05:45:28 +0000
+++ include/my_base.h 2013-11-27 10:38:56 +0000
@@ -479,7 +479,9 @@
479#define HA_ERR_TABLESPACE_EXISTS 184 /* The tablespace existed in storage engine */479#define HA_ERR_TABLESPACE_EXISTS 184 /* The tablespace existed in storage engine */
480#define HA_ERR_TOO_MANY_FIELDS 185 /* Table has too many columns */480#define HA_ERR_TOO_MANY_FIELDS 185 /* Table has too many columns */
481#define HA_ERR_ROW_IN_WRONG_PARTITION 186 /* Row in wrong partition */481#define HA_ERR_ROW_IN_WRONG_PARTITION 186 /* Row in wrong partition */
482#define HA_ERR_LAST 186 /* Copy of last error nr */482#define HA_ERR_INNODB_READ_ONLY 187 /* InnoDB is in read only mode. */
483#define HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT 188 /* FTS query exceeds result cache limit */
484#define HA_ERR_LAST 188 /* Copy of last error nr */
483485
484/* Number of different errors */486/* Number of different errors */
485#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)487#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
486488
=== modified file 'include/my_bitmap.h'
--- include/my_bitmap.h 2012-03-29 19:22:02 +0000
+++ include/my_bitmap.h 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1616
17#ifndef _my_bitmap_h_17#ifndef _my_bitmap_h_
18#define _my_bitmap_h_18#define _my_bitmap_h_
1919
=== modified file 'include/my_compare.h'
--- include/my_compare.h 2011-03-29 12:56:34 +0000
+++ include/my_compare.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#ifndef _my_compare_h16#ifndef _my_compare_h
17#define _my_compare_h17#define _my_compare_h
1818
=== modified file 'include/my_dbug.h'
--- include/my_dbug.h 2013-02-26 05:45:28 +0000
+++ include/my_dbug.h 2013-11-27 10:38:56 +0000
@@ -39,7 +39,7 @@
39};39};
4040
41struct _db_code_state_;41struct _db_code_state_;
42extern my_bool _dbug_on_;42extern MYSQL_PLUGIN_IMPORT my_bool _dbug_on_;
43extern my_bool _db_keyword_(struct _db_code_state_ *, const char *, int);43extern my_bool _db_keyword_(struct _db_code_state_ *, const char *, int);
44extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);44extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);
45extern int _db_explain_init_(char *buf, size_t len);45extern int _db_explain_init_(char *buf, size_t len);
@@ -55,6 +55,7 @@
55 struct _db_stack_frame_ *_stack_frame_);55 struct _db_stack_frame_ *_stack_frame_);
56extern void _db_return_(uint _line_, struct _db_stack_frame_ *_stack_frame_);56extern void _db_return_(uint _line_, struct _db_stack_frame_ *_stack_frame_);
57extern void _db_pargs_(uint _line_,const char *keyword);57extern void _db_pargs_(uint _line_,const char *keyword);
58extern int _db_enabled_();
58extern void _db_doprnt_(const char *format,...)59extern void _db_doprnt_(const char *format,...)
59 ATTRIBUTE_FORMAT(printf, 1, 2);60 ATTRIBUTE_FORMAT(printf, 1, 2);
60extern void _db_dump_(uint _line_,const char *keyword,61extern void _db_dump_(uint _line_,const char *keyword,
@@ -80,7 +81,17 @@
80#define DBUG_EVALUATE_IF(keyword,a1,a2) \81#define DBUG_EVALUATE_IF(keyword,a1,a2) \
81 (_db_keyword_(0,(keyword), 1) ? (a1) : (a2))82 (_db_keyword_(0,(keyword), 1) ? (a1) : (a2))
82#define DBUG_PRINT(keyword,arglist) \83#define DBUG_PRINT(keyword,arglist) \
83 do {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;} while(0)84 do \
85 { \
86 if (_dbug_on_) \
87 { \
88 _db_pargs_(__LINE__,keyword); \
89 if (_db_enabled_()) \
90 { \
91 _db_doprnt_ arglist; \
92 } \
93 } \
94 } while(0)
84#define DBUG_PUSH(a1) _db_push_ (a1)95#define DBUG_PUSH(a1) _db_push_ (a1)
85#define DBUG_POP() _db_pop_ ()96#define DBUG_POP() _db_pop_ ()
86#define DBUG_SET(a1) _db_set_ (a1)97#define DBUG_SET(a1) _db_set_ (a1)
8798
=== modified file 'include/my_default.h'
--- include/my_default.h 2012-06-09 13:16:21 +0000
+++ include/my_default.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515
16#ifndef MY_DEFAULT_INCLUDED16#ifndef MY_DEFAULT_INCLUDED
17#define MY_DEFAULT_INCLUDED17#define MY_DEFAULT_INCLUDED
1818
=== modified file 'include/my_getopt.h'
--- include/my_getopt.h 2012-10-28 03:26:15 +0000
+++ include/my_getopt.h 2013-11-27 10:38:56 +0000
@@ -128,6 +128,9 @@
128my_bool getopt_compare_strings(const char *s, const char *t, uint length);128my_bool getopt_compare_strings(const char *s, const char *t, uint length);
129ulonglong max_of_int_range(int var_type);129ulonglong max_of_int_range(int var_type);
130130
131ulonglong getopt_double2ulonglong(double);
132double getopt_ulonglong2double(ulonglong);
133
131C_MODE_END134C_MODE_END
132135
133#endif /* _my_getopt_h */136#endif /* _my_getopt_h */
134137
=== modified file 'include/my_global.h'
--- include/my_global.h 2012-03-06 14:29:42 +0000
+++ include/my_global.h 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.2 Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
33
4 This program is free software; you can redistribute it and/or modify4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by5 it under the terms of the GNU General Public License as published by
@@ -47,10 +47,6 @@
47#define HAVE_ERRNO_AS_DEFINE47#define HAVE_ERRNO_AS_DEFINE
48#endif /* __CYGWIN__ */48#endif /* __CYGWIN__ */
4949
50#if defined(__OpenBSD__) && (OpenBSD >= 200411)
51#define HAVE_ERRNO_AS_DEFINE
52#endif
53
54#if defined(i386) && !defined(__i386__)50#if defined(i386) && !defined(__i386__)
55#define __i386__51#define __i386__
56#endif52#endif
@@ -381,7 +377,7 @@
381#define compile_time_assert(X) \377#define compile_time_assert(X) \
382 do \378 do \
383 { \379 { \
384 typedef char compile_time_assert[(X) ? 1 : -1]; \380 typedef char compile_time_assert[(X) ? 1 : -1] __attribute__((unused)); \
385 } while(0)381 } while(0)
386#endif382#endif
387383
@@ -951,7 +947,7 @@
951 TODO Convert these to use Bitmap class.947 TODO Convert these to use Bitmap class.
952 */948 */
953typedef ulonglong table_map; /* Used for table bits in join */949typedef ulonglong table_map; /* Used for table bits in join */
954typedef ulong nesting_map; /* Used for flags of nesting constructs */950typedef ulonglong nesting_map; /* Used for flags of nesting constructs */
955951
956#if defined(__WIN__)952#if defined(__WIN__)
957#define socket_errno WSAGetLastError()953#define socket_errno WSAGetLastError()
@@ -1021,8 +1017,6 @@
1021#define reg16 register1017#define reg16 register
1022#endif1018#endif
10231019
1024#include <my_dbug.h>
1025
1026/* Some helper macros */1020/* Some helper macros */
1027#define YESNO(X) ((X) ? "yes" : "no")1021#define YESNO(X) ((X) ? "yes" : "no")
10281022
@@ -1190,6 +1184,8 @@
1190#endif1184#endif
1191#endif1185#endif
11921186
1187#include <my_dbug.h>
1188
1193/* Defines that are unique to the embedded version of MySQL */1189/* Defines that are unique to the embedded version of MySQL */
11941190
1195#ifdef EMBEDDED_LIBRARY1191#ifdef EMBEDDED_LIBRARY
11961192
=== modified file 'include/my_md5.h'
--- include/my_md5.h 2013-02-26 05:45:28 +0000
+++ include/my_md5.h 2013-11-27 10:38:56 +0000
@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU General Public License15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1818
19#include "m_string.h"19#include "m_string.h"
2020
2121
=== modified file 'include/my_pthread.h'
--- include/my_pthread.h 2013-02-26 05:45:28 +0000
+++ include/my_pthread.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/* Defines to make different thread packages compatible */16/* Defines to make different thread packages compatible */
1717
@@ -798,6 +798,15 @@
798extern my_thread_id my_thread_dbug_id(void);798extern my_thread_id my_thread_dbug_id(void);
799extern int pthread_dummy(int);799extern int pthread_dummy(int);
800800
801#ifndef HAVE_PTHREAD_ATTR_GETGUARDSIZE
802static inline int pthread_attr_getguardsize(pthread_attr_t *attr,
803 size_t *guardsize)
804{
805 *guardsize= 0;
806 return 0;
807}
808#endif
809
801/* All thread specific variables are in the following struct */810/* All thread specific variables are in the following struct */
802811
803#define THREAD_NAME_SIZE 10812#define THREAD_NAME_SIZE 10
804813
=== modified file 'include/my_sys.h'
--- include/my_sys.h 2013-02-26 05:45:28 +0000
+++ include/my_sys.h 2013-11-27 10:38:56 +0000
@@ -234,13 +234,8 @@
234#define my_afree(PTR) my_free(PTR)234#define my_afree(PTR) my_free(PTR)
235#endif /* HAVE_ALLOCA */235#endif /* HAVE_ALLOCA */
236236
237#ifndef errno /* did we already get it? */
238#ifdef HAVE_ERRNO_AS_DEFINE
239#include <errno.h> /* errno is a define */237#include <errno.h> /* errno is a define */
240#else238
241extern int errno; /* declare errno */
242#endif
243#endif /* #ifndef errno */
244extern char *home_dir; /* Home directory for user */239extern char *home_dir; /* Home directory for user */
245extern const char *my_progname; /* program-name (printed in errors) */240extern const char *my_progname; /* program-name (printed in errors) */
246extern char curr_dir[]; /* Current directory for user */241extern char curr_dir[]; /* Current directory for user */
247242
=== modified file 'include/my_user.h'
--- include/my_user.h 2013-02-26 05:45:28 +0000
+++ include/my_user.h 2013-11-27 10:38:56 +0000
@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU General Public License13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1616
17/*17/*
18 This is a header for libraries containing functions used in both server and18 This is a header for libraries containing functions used in both server and
1919
=== modified file 'include/my_xml.h'
--- include/my_xml.h 2013-02-26 05:45:28 +0000
+++ include/my_xml.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
1616
17#ifndef _my_xml_h17#ifndef _my_xml_h
1818
=== modified file 'include/mysql/innodb_priv.h'
--- include/mysql/innodb_priv.h 2010-11-22 14:08:51 +0000
+++ include/mysql/innodb_priv.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#ifndef INNODB_PRIV_INCLUDED16#ifndef INNODB_PRIV_INCLUDED
17#define INNODB_PRIV_INCLUDED17#define INNODB_PRIV_INCLUDED
1818
=== modified file 'include/mysql/plugin.h'
--- include/mysql/plugin.h 2013-02-26 05:45:28 +0000
+++ include/mysql/plugin.h 2013-11-27 10:38:56 +0000
@@ -169,6 +169,7 @@
169#define PLUGIN_VAR_STR 0x0005169#define PLUGIN_VAR_STR 0x0005
170#define PLUGIN_VAR_ENUM 0x0006170#define PLUGIN_VAR_ENUM 0x0006
171#define PLUGIN_VAR_SET 0x0007171#define PLUGIN_VAR_SET 0x0007
172#define PLUGIN_VAR_DOUBLE 0x0008
172#define PLUGIN_VAR_UNSIGNED 0x0080173#define PLUGIN_VAR_UNSIGNED 0x0080
173#define PLUGIN_VAR_THDLOCAL 0x0100 /* Variable is per-connection */174#define PLUGIN_VAR_THDLOCAL 0x0100 /* Variable is per-connection */
174#define PLUGIN_VAR_READONLY 0x0200 /* Server variable is read only */175#define PLUGIN_VAR_READONLY 0x0200 /* Server variable is read only */
@@ -351,6 +352,11 @@
351 PLUGIN_VAR_SET | ((opt) & PLUGIN_VAR_MASK), \352 PLUGIN_VAR_SET | ((opt) & PLUGIN_VAR_MASK), \
352 #name, comment, check, update, &varname, def, typelib }353 #name, comment, check, update, &varname, def, typelib }
353354
355#define MYSQL_SYSVAR_DOUBLE(name, varname, opt, comment, check, update, def, min, max, blk) \
356DECLARE_MYSQL_SYSVAR_SIMPLE(name, double) = { \
357 PLUGIN_VAR_DOUBLE | ((opt) & PLUGIN_VAR_MASK), \
358 #name, comment, check, update, &varname, def, min, max, blk }
359
354#define MYSQL_THDVAR_BOOL(name, opt, comment, check, update, def) \360#define MYSQL_THDVAR_BOOL(name, opt, comment, check, update, def) \
355DECLARE_MYSQL_THDVAR_BASIC(name, char) = { \361DECLARE_MYSQL_THDVAR_BASIC(name, char) = { \
356 PLUGIN_VAR_BOOL | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \362 PLUGIN_VAR_BOOL | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
@@ -401,6 +407,11 @@
401 PLUGIN_VAR_SET | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \407 PLUGIN_VAR_SET | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
402 #name, comment, check, update, -1, def, NULL, typelib }408 #name, comment, check, update, -1, def, NULL, typelib }
403409
410#define MYSQL_THDVAR_DOUBLE(name, opt, comment, check, update, def, min, max, blk) \
411DECLARE_MYSQL_THDVAR_SIMPLE(name, double) = { \
412 PLUGIN_VAR_DOUBLE | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
413 #name, comment, check, update, -1, def, min, max, blk, NULL }
414
404/* accessor macros */415/* accessor macros */
405416
406#define SYSVAR(name) \417#define SYSVAR(name) \
407418
=== modified file 'include/mysql/plugin_audit.h'
--- include/mysql/plugin_audit.h 2011-07-07 09:45:10 +0000
+++ include/mysql/plugin_audit.h 2013-11-27 10:38:56 +0000
@@ -25,7 +25,7 @@
2525
26#define MYSQL_AUDIT_CLASS_MASK_SIZE 126#define MYSQL_AUDIT_CLASS_MASK_SIZE 1
2727
28#define MYSQL_AUDIT_INTERFACE_VERSION 0x030028#define MYSQL_AUDIT_INTERFACE_VERSION 0x0301
2929
3030
31/*************************************************************************31/*************************************************************************
@@ -59,6 +59,10 @@
59 struct charset_info_st *general_charset;59 struct charset_info_st *general_charset;
60 unsigned long long general_time;60 unsigned long long general_time;
61 unsigned long long general_rows;61 unsigned long long general_rows;
62 MYSQL_LEX_STRING general_host;
63 MYSQL_LEX_STRING general_sql_command;
64 MYSQL_LEX_STRING general_external_user;
65 MYSQL_LEX_STRING general_ip;
62};66};
6367
6468
6569
=== modified file 'include/mysql/plugin_audit.h.pp'
--- include/mysql/plugin_audit.h.pp 2012-12-19 09:33:45 +0000
+++ include/mysql/plugin_audit.h.pp 2013-11-27 10:38:56 +0000
@@ -261,6 +261,10 @@
261 struct charset_info_st *general_charset;261 struct charset_info_st *general_charset;
262 unsigned long long general_time;262 unsigned long long general_time;
263 unsigned long long general_rows;263 unsigned long long general_rows;
264 MYSQL_LEX_STRING general_host;
265 MYSQL_LEX_STRING general_sql_command;
266 MYSQL_LEX_STRING general_external_user;
267 MYSQL_LEX_STRING general_ip;
264};268};
265struct mysql_event_connection269struct mysql_event_connection
266{270{
267271
=== modified file 'include/mysql_time.h'
--- include/mysql_time.h 2013-02-26 05:45:28 +0000
+++ include/mysql_time.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#ifndef _mysql_time_h_16#ifndef _mysql_time_h_
17#define _mysql_time_h_17#define _mysql_time_h_
1818
=== modified file 'include/t_ctype.h'
--- include/t_ctype.h 2010-10-27 11:32:32 +0000
+++ include/t_ctype.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16/*16/*
17 Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved.17 Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved.
1818
=== modified file 'include/typelib.h'
--- include/typelib.h 2013-02-26 05:45:28 +0000
+++ include/typelib.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
1616
17#ifndef _typelib_h17#ifndef _typelib_h
1818
=== modified file 'libmysql/CMakeLists.txt'
--- libmysql/CMakeLists.txt 2013-11-27 10:38:46 +0000
+++ libmysql/CMakeLists.txt 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -131,6 +131,13 @@
131mysql_set_character_set131mysql_set_character_set
132mysql_get_character_set_info132mysql_get_character_set_info
133mysql_stmt_next_result133mysql_stmt_next_result
134my_init
135mysql_client_find_plugin
136mysql_client_register_plugin
137mysql_load_plugin
138mysql_load_plugin_v
139mysql_options4
140mysql_plugin_options
134141
135CACHE INTERNAL "Functions exported by client API"142CACHE INTERNAL "Functions exported by client API"
136143
@@ -179,6 +186,12 @@
179IF(MSVC)186IF(MSVC)
180ENDIF()187ENDIF()
181188
189MACRO(GET_TARGET_NAME target out_name)
190 GET_TARGET_PROPERTY(location ${target} LOCATION)
191 GET_FILENAME_COMPONENT(name ${location} NAME)
192 SET(${out_name} ${name})
193ENDMACRO()
194
182IF(UNIX)195IF(UNIX)
183 MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)196 MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
184 SET(DOT_VERSION ".${VERSION}")197 SET(DOT_VERSION ".${VERSION}")
@@ -204,10 +217,9 @@
204 # libtool compatability217 # libtool compatability
205 IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)218 IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
206 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")219 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
207 ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
208 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
209 ELSE()220 ELSE()
210 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")221 SET(OS_SHARED_LIB_VERSION
222 "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
211 ENDIF()223 ENDIF()
212 # Name of shared library is mysqlclient on Unix224 # Name of shared library is mysqlclient on Unix
213 SET_TARGET_PROPERTIES(libmysql PROPERTIES 225 SET_TARGET_PROPERTIES(libmysql PROPERTIES
214226
=== modified file 'libmysql/authentication_win/common.cc'
--- libmysql/authentication_win/common.cc 2011-09-21 11:01:41 +0000
+++ libmysql/authentication_win/common.cc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#include "common.h"16#include "common.h"
17#include <sddl.h> // for ConvertSidToStringSid()17#include <sddl.h> // for ConvertSidToStringSid()
1818
=== modified file 'libmysql/authentication_win/common.h'
--- libmysql/authentication_win/common.h 2011-09-21 11:01:41 +0000
+++ libmysql/authentication_win/common.h 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#ifndef COMMON_H16#ifndef COMMON_H
17#define COMMON_H17#define COMMON_H
1818
=== modified file 'libmysql/authentication_win/handshake.cc'
--- libmysql/authentication_win/handshake.cc 2011-04-29 21:53:46 +0000
+++ libmysql/authentication_win/handshake.cc 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#include "handshake.h"16#include "handshake.h"
1717
@@ -280,10 +280,9 @@
280280
281void Security_buffer::free(void)281void Security_buffer::free(void)
282{282{
283 if (!m_allocated)283 if (m_allocated && NULL != ptr())
284 return;284 {
285 if (!ptr())285 FreeContextBuffer(ptr());
286 return;286 init(NULL, 0);
287 FreeContextBuffer(ptr());287 }
288 m_allocated= false;
289}288}
290289
=== modified file 'libmysql/authentication_win/handshake.h'
--- libmysql/authentication_win/handshake.h 2011-04-29 21:53:46 +0000
+++ libmysql/authentication_win/handshake.h 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.1/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
22
3 This program is free software; you can redistribute it and/or modify3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by4 it under the terms of the GNU General Public License as published by
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#ifndef HANDSHAKE_H16#ifndef HANDSHAKE_H
17#define HANDSHAKE_H17#define HANDSHAKE_H
@@ -53,7 +53,12 @@
53 }53 }
5454
55 /// If @c false, no deallocation will be done in the destructor.55 /// If @c false, no deallocation will be done in the destructor.
56 bool m_allocated;56 const bool m_allocated;
57
58 // Copying/assignment is not supported and can lead to memory leaks
59 // So declaring copy constructor and assignment operator as private
60 Security_buffer( const Security_buffer& );
61 const Security_buffer& operator=( const Security_buffer& );
5762
58 public:63 public:
5964
@@ -75,11 +80,6 @@
75 return m_buf.cbBuffer;80 return m_buf.cbBuffer;
76 }81 }
7782
78 bool is_valid() const
79 {
80 return ptr() != NULL;
81 }
82
83 const Blob as_blob() const83 const Blob as_blob() const
84 {84 {
85 return Blob(ptr(), len());85 return Blob(ptr(), len());
8686
=== modified file 'libmysql/authentication_win/handshake_client.cc'
--- libmysql/authentication_win/handshake_client.cc 2011-10-19 11:42:46 +0000
+++ libmysql/authentication_win/handshake_client.cc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#include "handshake.h"16#include "handshake.h"
1717
1818
=== modified file 'libmysql/authentication_win/log_client.cc'
--- libmysql/authentication_win/log_client.cc 2011-09-21 11:01:41 +0000
+++ libmysql/authentication_win/log_client.cc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#include <my_global.h>16#include <my_global.h>
17#include "common.h"17#include "common.h"
1818
=== modified file 'libmysql/authentication_win/plugin_client.cc'
--- libmysql/authentication_win/plugin_client.cc 2011-06-03 13:17:35 +0000
+++ libmysql/authentication_win/plugin_client.cc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
16#include <my_global.h>16#include <my_global.h>
17#include <mysql.h>17#include <mysql.h>
1818
=== modified file 'libmysql/conf_to_src.c'
--- libmysql/conf_to_src.c 2013-02-26 05:45:28 +0000
+++ libmysql/conf_to_src.c 2013-11-27 10:38:56 +0000
@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU General Public License15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1818
19/* can't use -lmysys because this prog is used to create -lstrings */19/* can't use -lmysys because this prog is used to create -lstrings */
2020
2121
=== modified file 'libmysql/libmysql.def'
--- libmysql/libmysql.def 2011-04-06 14:31:26 +0000
+++ libmysql/libmysql.def 2013-11-27 10:38:56 +0000
@@ -104,3 +104,10 @@
104 mysql_server_end104 mysql_server_end
105 mysql_set_character_set105 mysql_set_character_set
106 mysql_get_character_set_info106 mysql_get_character_set_info
107 my_init
108 mysql_client_find_plugin
109 mysql_client_register_plugin
110 mysql_load_plugin
111 mysql_load_plugin_v
112 mysql_options4
113 mysql_plugin_options
107114
=== modified file 'libmysqld/examples/CMakeLists.txt'
--- libmysqld/examples/CMakeLists.txt 2013-02-26 05:45:28 +0000
+++ libmysqld/examples/CMakeLists.txt 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
17 ${CMAKE_SOURCE_DIR}/libmysqld/include17 ${CMAKE_SOURCE_DIR}/libmysqld/include
18 ${CMAKE_SOURCE_DIR}/regex 18 ${CMAKE_SOURCE_DIR}/regex
19 ${CMAKE_SOURCE_DIR}/tests19 ${CMAKE_SOURCE_DIR}/tests
20 ${READLINE_INCLUDE_DIR} 20 ${EDITLINE_INCLUDE_DIR}
21 )21 )
2222
2323
@@ -28,8 +28,7 @@
28 ../../client/mysql.cc ../../client/readline.cc)28 ../../client/mysql.cc ../../client/readline.cc)
29TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver)29TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver)
30IF(UNIX)30IF(UNIX)
31 ADD_DEFINITIONS(${READLINE_DEFINES})31 TARGET_LINK_LIBRARIES(mysql_embedded ${EDITLINE_LIBRARY})
32 TARGET_LINK_LIBRARIES(mysql_embedded ${READLINE_LIBRARY})
33 SET_TARGET_PROPERTIES(mysql_embedded PROPERTIES ENABLE_EXPORTS TRUE)32 SET_TARGET_PROPERTIES(mysql_embedded PROPERTIES ENABLE_EXPORTS TRUE)
34ENDIF(UNIX)33ENDIF(UNIX)
3534
3635
=== modified file 'libmysqld/examples/test-run'
--- libmysqld/examples/test-run 2010-12-28 18:57:23 +0000
+++ libmysqld/examples/test-run 2013-11-27 10:38:56 +0000
@@ -13,7 +13,7 @@
13#13#
14# You should have received a copy of the GNU General Public License14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1717
18# This is slapped together as a quick way to run the tests and18# This is slapped together as a quick way to run the tests and
19# is not meant for prime time. Please hack at it and submit19# is not meant for prime time. Please hack at it and submit
2020
=== modified file 'libmysqld/lib_sql.cc'
--- libmysqld/lib_sql.cc 2013-02-12 10:17:24 +0000
+++ libmysqld/lib_sql.cc 2013-11-27 10:38:56 +0000
@@ -511,6 +511,7 @@
511 char ***argvp= NULL;511 char ***argvp= NULL;
512 int fake_argc= 1;512 int fake_argc= 1;
513 char *fake_argv[2];513 char *fake_argv[2];
514 char **foo= &fake_argv[0];
514 char fake_server[]= "server";515 char fake_server[]= "server";
515 char fake_embedded[]= "embedded";516 char fake_embedded[]= "embedded";
516 char *fake_groups[]= { fake_server, fake_embedded, NULL };517 char *fake_groups[]= { fake_server, fake_embedded, NULL };
@@ -530,7 +531,6 @@
530 fake_argv[0]= fake_name;531 fake_argv[0]= fake_name;
531 fake_argv[1]= NULL;532 fake_argv[1]= NULL;
532533
533 char **foo= &fake_argv[0];
534 argcp= &fake_argc;534 argcp= &fake_argc;
535 argvp= &foo;535 argvp= &foo;
536 }536 }
@@ -566,7 +566,8 @@
566 return 1;566 return 1;
567 }567 }
568568
569 adjust_related_options();569 ulong requested_open_files_dummy;
570 adjust_related_options(&requested_open_files_dummy);
570571
571 if (init_common_variables())572 if (init_common_variables())
572 {573 {
@@ -784,7 +785,8 @@
784 thd_init_client_charset(thd, mysql->charset->number);785 thd_init_client_charset(thd, mysql->charset->number);
785 thd->update_charset();786 thd->update_charset();
786 Security_context *sctx= thd->security_ctx;787 Security_context *sctx= thd->security_ctx;
787 sctx->host_or_ip= sctx->host= (char*) my_localhost;788 sctx->set_host(my_localhost);
789 sctx->host_or_ip= sctx->get_host()->ptr();
788 strmake(sctx->priv_host, (char*) my_localhost, MAX_HOSTNAME-1);790 strmake(sctx->priv_host, (char*) my_localhost, MAX_HOSTNAME-1);
789 strmake(sctx->priv_user, mysql->user, USERNAME_LENGTH-1);791 strmake(sctx->priv_user, mysql->user, USERNAME_LENGTH-1);
790 sctx->user= my_strdup(mysql->user, MYF(0));792 sctx->user= my_strdup(mysql->user, MYF(0));
@@ -819,14 +821,14 @@
819 connect_attrs_len + 2);821 connect_attrs_len + 2);
820 if (mysql->options.client_ip)822 if (mysql->options.client_ip)
821 {823 {
822 sctx->host= my_strdup(mysql->options.client_ip, MYF(0));824 sctx->set_host(my_strdup(mysql->options.client_ip, MYF(0)));
823 sctx->ip= my_strdup(sctx->host, MYF(0));825 sctx->set_ip(my_strdup(sctx->get_host()->ptr(), MYF(0)));
824 }826 }
825 else827 else
826 sctx->host= (char*)my_localhost;828 sctx->set_host((char*)my_localhost);
827 sctx->host_or_ip= sctx->host;829 sctx->host_or_ip= sctx->host->ptr();
828830
829 if (acl_check_host(sctx->host, sctx->ip))831 if (acl_check_host(sctx->get_host()->ptr(), sctx->get_ip()->ptr()))
830 goto err;832 goto err;
831833
832 /* construct a COM_CHANGE_USER packet */834 /* construct a COM_CHANGE_USER packet */
833835
=== modified file 'mysql-test/collections/default.daily'
--- mysql-test/collections/default.daily 2013-02-12 12:09:48 +0000
+++ mysql-test/collections/default.daily 2013-11-27 10:38:56 +0000
@@ -1,7 +1,8 @@
1# Default suites in modes normal(which includes binlog format stmt/mixed/row, parts), embedded and ps-protocol1# Default suites in modes normal(which includes binlog format stmt/mixed/row, parts), embedded and ps-protocol
2# Adding "--big-test" option to the default suite, normal(which includes binlog format stmt/mixed/row, parts), embedded and ps-protocol2# Adding "--big-test" option to the default suite, normal(which includes binlog format stmt/mixed/row, parts), embedded and ps-protocol
3perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal-debug-big --vardir=var-normal-debug-big --report-features --skip-test-list=collections/disabled-daily.list3perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal-debug-big --vardir=var-normal-debug-big --report-features --skip-test-list=collections/disabled-daily.list --unit-tests
4perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=embedded-debug-big --vardir=var-embedded-debug-big --embedded4# --debug-server is not used for embedded runs since debug build of embedded server is not available
5perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --parallel=auto --experimental=collections/default.experimental --comment=embedded-big --vardir=var-embedded-big --embedded-server
5perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps-debug-big --vardir=var-ps-debug-big --ps-protocol --skip-test-list=collections/disabled-daily.list 6perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps-debug-big --vardir=var-ps-debug-big --ps-protocol --skip-test-list=collections/disabled-daily.list
6# Run the suites that are not part of the default - funcs_2, stress, jp, nist7# Run the suites that are not part of the default - funcs_2, stress, jp, nist
7perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug-big --vardir=var-funcs2-debug-big --suite=funcs_28perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug-big --vardir=var-funcs2-debug-big --suite=funcs_2
@@ -21,9 +22,9 @@
21# Additional GTID coverage (binlog suite with gtid_mode=ON)22# Additional GTID coverage (binlog suite with gtid_mode=ON)
22perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=binlog_gtid-debug --vardir=var-binlog_gtid-debug --suite=binlog --mysqld=--binlog-checksum=CRC32 --mysqld=--enforce-gtid-consistency --mysqld=--log-slave-updates --mysqld=--gtid-mode=on --skip-test-list=collections/disabled-gtid-on.list23perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=binlog_gtid-debug --vardir=var-binlog_gtid-debug --suite=binlog --mysqld=--binlog-checksum=CRC32 --mysqld=--enforce-gtid-consistency --mysqld=--log-slave-updates --mysqld=--gtid-mode=on --skip-test-list=collections/disabled-gtid-on.list
2324
24# Additional runs for innodb-page-size=4k and 8k25# Run innodb suite including big-test with innodb-page-size=4k and 8k
25perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=n_mix_4k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin26perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=n_mix_4k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-daily.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin --suite=innodb
26perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=n_mix_8k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin27perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=n_mix_8k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-daily.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin --suite=innodb
2728
28#Engine independent tests29#Engine independent tests
29perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine-debug --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine-debug --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row --skip-test-list=collections/disabled-daily.list30perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine-debug --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine-debug --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row --skip-test-list=collections/disabled-daily.list
3031
=== added file 'mysql-test/collections/default.daily-valgrind'
--- mysql-test/collections/default.daily-valgrind 1970-01-01 00:00:00 +0000
+++ mysql-test/collections/default.daily-valgrind 2013-11-27 10:38:56 +0000
@@ -0,0 +1,15 @@
1# Valgrind run of non default suites
2# Default suites are covered through per push
3
4perl mysql-test-run.pl --force --timer --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug-big --vardir=var-funcs2-debug-big --suite=funcs_2
5perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=stress-debug --vardir=var-stress-debug --suite=stress
6perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=jp-debug --vardir=var-jp-debug --suite=jp
7perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist-debug --vardir=var-nist-debug --suite=nist
8
9
10#Engine independent tests
11perl mysql-test-run.pl --timer --force --testcase-timeout=60 --debug-server --parallel=auto --comment=eits-tests-myisam-engine-debug-big --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-myisam-engine-debug-big --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --mysqld=--default-tmp-storage-engine=myisam --skip-test-list=collections/disabled-daily.list
12perl mysql-test-run.pl --timer --force --testcase-timeout=60 --debug-server --parallel=auto --comment=eits-tests-innodb-engine-debug-big --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-innodb-engine-debug-big --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --skip-test-list=collections/disabled-daily.list
13
14#Memcached tests
15perl mysql-test-run.pl --timer --force --debug-server --comment=memcached-debug --vardir=var-debug-memcached --experimental=collections/default.experimental --parallel=1 --retry=0 --suite=memcached --skip-test-list=collections/disabled-daily.list
016
=== modified file 'mysql-test/collections/default.experimental'
--- mysql-test/collections/default.experimental 2013-02-09 01:18:29 +0000
+++ mysql-test/collections/default.experimental 2013-11-27 10:38:56 +0000
@@ -10,13 +10,14 @@
1010
11main.index_merge_innodb # BUG#11754168 2012-05-08 jorgen Doing an attempt at reenabling tests disabled by bug. EXPLAIN's row estimates varies for innodb so marked experimental for a while11main.index_merge_innodb # BUG#11754168 2012-05-08 jorgen Doing an attempt at reenabling tests disabled by bug. EXPLAIN's row estimates varies for innodb so marked experimental for a while
1212
13innodb.innodb_monitor # Bug#12320827 2011-08-04 Occasional failure in PB213
14parts.partition_debug_innodb # Bug#14150368 2013-03-07 anitha Failing very frequently on PB2
1415
15rpl.rpl_delayed_slave # BUG#11764654 rpl_delayed_slave fails sporadically in pb16rpl.rpl_delayed_slave # BUG#11764654 rpl_delayed_slave fails sporadically in pb
16rpl.rpl_innodb_bug28430 # Bug#1175442517rpl.rpl_innodb_bug28430 # Bug#11754425
17rpl.rpl_show_slave_running # BUG#12346048 2011-04-11 sven fails sporadically on pb218rpl.rpl_show_slave_running # BUG#12346048 2011-04-11 sven fails sporadically on pb2
18rpl.rpl_gtid_logs_without_rotate_or_stop_event @windows # Bug#16207800 2013-02-09 anitha Fails very frequently on windows19rpl.rpl_gtid_logs_without_rotate_or_stop_event @windows # Bug#16207800 2013-02-09 anitha Fails very frequently on windows
1920
20sys_vars.rpl_init_slave_func # Bug#12535301 2011-05-09 andrei sys_vars.rpl_init_slave_func mismatches in daily-5.521perfschema.socket_summary_by_instance_func # bug#16274580
2122innodb.innodb_bug14676111 # bug#17026780 2013-07-08 anitha Originally made experimental due to bug#16371942 which is now fixed. Now fails with mismatch in CLUST_INDEX_SIZE
2223
2324
=== modified file 'mysql-test/collections/default.push'
--- mysql-test/collections/default.push 2013-01-29 11:21:54 +0000
+++ mysql-test/collections/default.push 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=n_mix-debug --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list1perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=n_mix-debug --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --unit-tests
2perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=rpl_binlog_ps_row-debug --vardir=var-rpl_binlog-ps_row --suite=rpl,binlog --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list2perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=rpl_binlog_ps_row-debug --vardir=var-rpl_binlog-ps_row --suite=rpl,binlog --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list
3perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=main_embedded-debug --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental3perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=main_embedded-debug --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list
4perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=innodb_4k_size-debug --vardir=var-innodb-4k --experimental=collections/default.experimental --suite=innodb --mysqld=--innodb-page-size=4k4perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=innodb_4k_size-debug --vardir=var-innodb-4k --experimental=collections/default.experimental --suite=innodb --mysqld=--innodb-page-size=4k --skip-test-list=collections/disabled-per-push.list
5perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=rpl_binlog_n_mix_MTS-debug --vardir=var-mts-rpl-binlog-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --mysqld=--slave-parallel-workers=4 --mysqld=--slave-transaction-retries=0 --suite=rpl 5perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=rpl_binlog_n_mix_MTS-debug --vardir=var-mts-rpl-binlog-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --mysqld=--slave-parallel-workers=4 --mysqld=--slave-transaction-retries=0 --suite=rpl --skip-test-list=collections/disabled-per-push.list
66
=== added file 'mysql-test/collections/default.push-valgrind'
--- mysql-test/collections/default.push-valgrind 1970-01-01 00:00:00 +0000
+++ mysql-test/collections/default.push-valgrind 2013-11-27 10:38:56 +0000
@@ -0,0 +1,2 @@
1# Run all default suites
2perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=all_default_valgrind --vardir=var-all_default_valgrind --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list
03
=== modified file 'mysql-test/collections/default.release.in'
--- mysql-test/collections/default.release.in 2013-01-21 14:05:32 +0000
+++ mysql-test/collections/default.release.in 2013-11-27 10:38:56 +0000
@@ -15,4 +15,4 @@
15perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded-server --skip-rpl15perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded-server --skip-rpl
16perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist16perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist
17perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-nist_ps --suite=nist --ps-protocol17perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-nist_ps --suite=nist --ps-protocol
18perl mysql-test-run.pl --timer --force --comment=memcached --vardir=var-memcached --experimental=collections/default.experimental --parallel=auto --retry=0 --suite=memcached --mysqld=--innodb-page-size=4k18perl mysql-test-run.pl --timer --force --comment=memcached --vardir=var-memcached --experimental=collections/default.experimental --parallel=auto --retry=0 --suite=memcached
1919
=== modified file 'mysql-test/collections/default.weekly'
--- mysql-test/collections/default.weekly 2013-01-29 11:21:54 +0000
+++ mysql-test/collections/default.weekly 2013-11-27 10:38:56 +0000
@@ -11,9 +11,10 @@
11# Repeat daily run11# Repeat daily run
12# big-test option for normal runs 12# big-test option for normal runs
13# Default suites (in modes binlog format stmt/mixed/row, parts), embedded and ps-protocol13# Default suites (in modes binlog format stmt/mixed/row, parts), embedded and ps-protocol
14perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal-debug-big --vardir=var-normal-debug-big --report-features --skip-test-list=collections/disabled-daily.list --mysqld=--innodb_autoextend_increment=6414perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal-debug-big --vardir=var-normal-debug-big --report-features --skip-test-list=collections/disabled-weekly.list --mysqld=--innodb_autoextend_increment=64 --unit-tests
15perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=embedded-debug-big --vardir=var-embedded-debug-big --embedded15# --debug-server is not used for embedded runs since debug build of embedded server is not available
16perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps-debug-big --vardir=var-ps-debug-big --ps-protocol --skip-test-list=collections/disabled-daily.list16perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --parallel=auto --experimental=collections/default.experimental --comment=embedded-big --vardir=var-embedded-big --embedded-server
17perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=90 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps-debug-big --vardir=var-ps-debug-big --ps-protocol --skip-test-list=collections/disabled-weekly.list
1718
18# Run the suites that are not part of the default - funcs_2, stress, jp, nist19# Run the suites that are not part of the default - funcs_2, stress, jp, nist
19perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug --vardir=var-funcs2-big --suite=funcs_2-big20perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug --vardir=var-funcs2-big --suite=funcs_2-big
@@ -25,9 +26,9 @@
2526
26# Additional replication configurations27# Additional replication configurations
27perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --parallel=auto --comment=all_binlog_checksum-debug --experimental=collections/default.experimental --mysqld=--binlog-checksum=CRC32 --vardir=var-all_binlog_checksum-debug --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-weekly.list28perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --parallel=auto --comment=all_binlog_checksum-debug --experimental=collections/default.experimental --mysqld=--binlog-checksum=CRC32 --vardir=var-all_binlog_checksum-debug --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-weekly.list
28perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_crash_safe_relay-debug --vardir=var-rpl_crash_safe_relay-debug --suite=rpl --mysqld=--relay-log-info-repository=TABLE --skip-test-list=collections/disabled-daily.list29perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_crash_safe_relay-debug --vardir=var-rpl_crash_safe_relay-debug --suite=rpl --mysqld=--relay-log-info-repository=TABLE --skip-test-list=collections/disabled-weekly.list
29perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_crash_safe_master-debug --vardir=var-rpl_crash_safe_master-debug --suite=rpl --mysqld=--master-info-repository=TABLE --skip-test-list=collections/disabled-daily.list30perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_crash_safe_master-debug --vardir=var-rpl_crash_safe_master-debug --suite=rpl --mysqld=--master-info-repository=TABLE --skip-test-list=collections/disabled-weekly.list
30perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog-debug-big --vardir=rpl_binlog-debug-big --suite=rpl --skip-test-list=collections/disabled-daily.list31perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog-debug-big --vardir=rpl_binlog-debug-big --suite=rpl --skip-test-list=collections/disabled-weekly.list
3132
3233
33#Engine independent tests34#Engine independent tests
@@ -41,25 +42,18 @@
41#Memcached tests42#Memcached tests
42perl mysql-test-run.pl --timer --force --debug-server --comment=memcached-debug --vardir=var-debug-memcached --experimental=collections/default.experimental --parallel=1 --retry=0 --suite=memcached --skip-test-list=collections/disabled-weekly.list43perl mysql-test-run.pl --timer --force --debug-server --comment=memcached-debug --vardir=var-debug-memcached --experimental=collections/default.experimental --parallel=1 --retry=0 --suite=memcached --skip-test-list=collections/disabled-weekly.list
4344
44# Non debug runs of default suites in normal and embedded modes45# Non debug runs of default suites in normal modes
45perl mysql-test-run.pl --force --debug-server --timer --parallel=auto --experimental=collections/default.experimental --comment=normal-non-debug --vardir=var-normal-non-debug --report-features --skip-test-list=collections/disabled-daily.list46perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal-non-debug --vardir=var-normal-non-debug --report-features --skip-test-list=collections/disabled-weekly.list
46perl mysql-test-run.pl --force --debug-server --timer --parallel=auto --experimental=collections/default.experimental --comment=embedded-non-debug --vardir=var-embedded-non-debug --embedded
4747
4848
4949
50# Multi-Thread Slave50# Multi-Thread Slave
51perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=MTS-debug-big --vardir=var-MTS-debug-big --suite=rpl --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--slave-parallel-workers=4 --mysqld=--slave-transaction-retries=051perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=MTS-debug-big --vardir=var-MTS-debug-big --suite=rpl --experimental=collections/default.experimental --skip-test-list=collections/disabled-weekly.list --mysqld=--slave-parallel-workers=4 --mysqld=--slave-transaction-retries=0
5252
53# Run with 4K page size53
54perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=n_mix_4k_size --vardir=var-n_mix_4k_size --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin54# Run innodb suite including big-test with innodb-page-size=4k and 8k
55perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=rpl_binlog_ps_row_4k_size --vardir=var-rpl_binlog-ps_row --suite=rpl,binlog --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin55perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=n_mix_4k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-weekly.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin --suite=innodb
56perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=main_embedded_4k_size --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin56perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=n_mix_8k_size --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-weekly.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin --suite=innodb
57
58# Run with 8K page size
59perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=n_mix_8k_size --vardir=var-n_mix_8k_size --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin
60perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=rpl_binlog_ps_row_8k_size --vardir=var-rpl_binlog-ps_row --suite=rpl,binlog --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin
61perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=main_embedded_8k_size --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin
62
6357
64# Additional run to test rpl HASH_SCAN & INDEX_SCAN58# Additional run to test rpl HASH_SCAN & INDEX_SCAN
65perl mysql-test-run.pl --force --debug-server --timer --parallel=auto --experimental=collections/default.experimental --comment=binlog_rpl_row_hash_scan --vardir=var-binlog_rpl_row_hash_scan --mysqld=--binlog-format=row --suite=binlog,rpl --mysqld=--slave-rows-search-algorithms=HASH_SCAN,INDEX_SCAN --big-test --testcase-timeout=6059perl mysql-test-run.pl --force --debug-server --timer --parallel=auto --experimental=collections/default.experimental --comment=binlog_rpl_row_hash_scan --vardir=var-binlog_rpl_row_hash_scan --mysqld=--binlog-format=row --suite=binlog,rpl --mysqld=--slave-rows-search-algorithms=HASH_SCAN,INDEX_SCAN --big-test --testcase-timeout=60
6660
=== added file 'mysql-test/collections/default.weekly-valgrind'
--- mysql-test/collections/default.weekly-valgrind 1970-01-01 00:00:00 +0000
+++ mysql-test/collections/default.weekly-valgrind 2013-11-27 10:38:56 +0000
@@ -0,0 +1,17 @@
1# Run all default suites with big-test option
2perl mysql-test-run.pl --timer --big-test --debug-server --force --parallel=auto --comment=all_default_valgrind --vardir=var-all_default_valgrind --experimental=collections/default.experimental
3
4
5# Run all non default suites with big-test
6perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2-debug --vardir=var-funcs2-big --suite=funcs_2
7perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=stress-debug-big --vardir=var-stress-debug-big --suite=stress
8perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=jp-debug-big --vardir=var-jp-debug-big --suite=jp
9perl mysql-test-run.pl --force --timer --big-test --testcase-timeout=60 --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist-debug-big --vardir=var-nist-debug-big --suite=nist
10
11
12#Engine independent tests
13perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=eits-tests-myisam-engine-debug-big --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-myisam-engine-debug-big --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --mysqld=--default-tmp-storage-engine=myisam --skip-test-list=collections/disabled-weekly.list
14perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --debug-server --parallel=auto --comment=eits-tests-innodb-engine-debug-big --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-innodb-engine-debug-big --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --skip-test-list=collections/disabled-weekly.list
15
16#Memcached tests
17perl mysql-test-run.pl --timer --force --big-test --debug-server --comment=memcached-debug --vardir=var-debug-memcached --experimental=collections/default.experimental --parallel=1 --retry=0 --suite=memcached --skip-test-list=collections/disabled-weekly.list
018
=== modified file 'mysql-test/extra/binlog_tests/ctype_ucs_binlog.test'
--- mysql-test/extra/binlog_tests/ctype_ucs_binlog.test 2012-01-06 20:00:48 +0000
+++ mysql-test/extra/binlog_tests/ctype_ucs_binlog.test 2013-11-27 10:38:56 +0000
@@ -17,7 +17,7 @@
17flush logs;17flush logs;
18let $MYSQLD_DATADIR= `select @@datadir`;18let $MYSQLD_DATADIR= `select @@datadir`;
19--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR19--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
20--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /Server ver:.*$/SERVER_VERSION, BINLOG_VERSION/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID';/20--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /Server ver:.*$/SERVER_VERSION, BINLOG_VERSION/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/
21--exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001 21--exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001
22drop table t2;22drop table t2;
2323
2424
=== modified file 'mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc'
--- mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc 2013-02-15 15:57:07 +0000
+++ mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc 2013-11-27 10:38:56 +0000
@@ -1650,7 +1650,7 @@
1650--echo #1650--echo #
1651let $MYSQLD_DATADIR= `select @@datadir`;1651let $MYSQLD_DATADIR= `select @@datadir`;
1652--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR1652--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
1653--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT=.*$/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/1653--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/
1654--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.0000011654--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
16551655
1656--echo #1656--echo #
@@ -1730,7 +1730,7 @@
1730--echo #1730--echo #
1731let $MYSQLD_DATADIR= `select @@datadir`;1731let $MYSQLD_DATADIR= `select @@datadir`;
1732--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR1732--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
1733--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT=.*$/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/1733--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/
1734--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.0000011734--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
17351735
1736--echo #1736--echo #
@@ -1857,7 +1857,7 @@
1857--echo #1857--echo #
1858let $MYSQLD_DATADIR= `select @@datadir`;1858let $MYSQLD_DATADIR= `select @@datadir`;
1859--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR1859--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
1860--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT=.*$/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/1860--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/GTID:#-#/ /GROUPS: .*:(.*,.*)/GROUPS: GTID:(X,X)/ /CRC32 0x[0-9a-f]{8}/CRC32 #/
1861--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.0000011861--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
18621862
1863--echo #1863--echo #
@@ -1915,7 +1915,7 @@
1915--echo #1915--echo #
1916let $MYSQLD_DATADIR= `select @@datadir`;1916let $MYSQLD_DATADIR= `select @@datadir`;
1917--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR1917--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
1918--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID';/ /CRC32 0x[0-9a-f]{8}/CRC32 #/1918--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/ /CRC32 0x[0-9a-f]{8}/CRC32 #/
1919--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.0000011919--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
19201920
1921--echo #1921--echo #
19221922
=== modified file 'mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc'
--- mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc 2013-02-12 12:09:48 +0000
+++ mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc 2013-11-27 10:38:56 +0000
@@ -30,5 +30,5 @@
30--echo ---- $option_text ----30--echo ---- $option_text ----
3131
32# Print output32# Print output
33--replace_regex /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-Fa-f\-]{36})\:[0-9]+\-[0-9]+/UUID:#-#/33--replace_regex /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID'/ /([0-9A-Fa-f\-]{36})\:[0-9]+\-[0-9]+/UUID:#-#/
34--exec $MYSQL_BINLOG --short-form $option $extra_options34--exec $MYSQL_BINLOG --short-form $option $extra_options
3535
=== modified file 'mysql-test/extra/rpl_tests/rpl_conflicts.test'
--- mysql-test/extra/rpl_tests/rpl_conflicts.test 2011-08-19 13:04:28 +0000
+++ mysql-test/extra/rpl_tests/rpl_conflicts.test 2013-11-27 10:38:56 +0000
@@ -89,14 +89,12 @@
89 --echo ---- Wait until slave stops with an error ----89 --echo ---- Wait until slave stops with an error ----
90 # Wait until the slave tries to run the query, fails with duplicate90 # Wait until the slave tries to run the query, fails with duplicate
91 # key error, and stops the SQL thread.91 # key error, and stops the SQL thread.
92 let $slave_sql_errno= 1062; # ER_DUP_ENTRY92
93 let $slave_sql_errno= convert_error(ER_DUP_ENTRY);
93 source include/wait_for_slave_sql_error.inc;94 source include/wait_for_slave_sql_error.inc;
95 --let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
96 --eval SELECT "$errno" as 'Last_SQL_Errno'
9497
95 --let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1)
96 --replace_regex /end_log_pos [0-9]+/end_log_pos END_LOG_POS/
97 --disable_query_log
98 --eval SELECT "$err" as 'Last_SQL_Error (expected "duplicate key" error)'
99 --enable_query_log
100 call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");98 call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
101 call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");99 call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");
102100
@@ -144,14 +142,11 @@
144if (`SELECT @@global.binlog_format = 'ROW' AND @@global.slave_exec_mode = 'STRICT'`) {142if (`SELECT @@global.binlog_format = 'ROW' AND @@global.slave_exec_mode = 'STRICT'`) {
145 --echo ---- Wait until slave stops with an error ----143 --echo ---- Wait until slave stops with an error ----
146 call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., Error_code: 1032");144 call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., Error_code: 1032");
147 let $slave_sql_errno= 1032; # ER_KEY_NOT_FOUND145
146 let $slave_sql_errno= convert_error(ER_KEY_NOT_FOUND);
148 source include/wait_for_slave_sql_error.inc;147 source include/wait_for_slave_sql_error.inc;
149148 --let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
150 --let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1)149 --eval SELECT "$errno" as 'Last_SQL_Errno'
151 --replace_regex /end_log_pos [0-9]+/end_log_pos END_LOG_POS/
152 --disable_query_log
153 --eval SELECT "$err" as 'Last_SQL_Error (expected "duplicate key" error)'
154 --enable_query_log
155150
156 SELECT * FROM t1;151 SELECT * FROM t1;
157152
158153
=== modified file 'mysql-test/extra/rpl_tests/rpl_extra_col_master.test'
--- mysql-test/extra/rpl_tests/rpl_extra_col_master.test 2012-11-20 19:18:59 +0000
+++ mysql-test/extra/rpl_tests/rpl_extra_col_master.test 2013-11-27 10:38:56 +0000
@@ -486,10 +486,8 @@
486--echo ********************************************486--echo ********************************************
487--echo487--echo
488connection slave;488connection slave;
489# 1677 = ER_SLAVE_CONVERSION_FAILED
490--let $slave_sql_errno= 1677
491--let $slave_skip_counter= 2489--let $slave_skip_counter= 2
492--let $show_slave_sql_error= 1490--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
493--source include/wait_for_slave_sql_error_and_skip.inc491--source include/wait_for_slave_sql_error_and_skip.inc
494492
495--echo493--echo
@@ -542,10 +540,8 @@
542--echo ********************************************540--echo ********************************************
543--echo541--echo
544connection slave;542connection slave;
545# 1677 = ER_SLAVE_CONVERSION_FAILED
546--let $slave_sql_errno= 1677
547--let $slave_skip_counter= 2543--let $slave_skip_counter= 2
548--let $show_slave_sql_error= 1544--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
549--source include/wait_for_slave_sql_error_and_skip.inc545--source include/wait_for_slave_sql_error_and_skip.inc
550546
551--echo547--echo
@@ -684,9 +680,7 @@
684# Remove below once fixed680# Remove below once fixed
685#***************************681#***************************
686connection slave;682connection slave;
687# 1091 = ER_CANT_DROP_FIELD_OR_KEY683--let $slave_sql_errno= convert_error(ER_CANT_DROP_FIELD_OR_KEY)
688--let $slave_sql_errno= 1091
689--let $show_slave_sql_error= 1
690--source include/wait_for_slave_sql_error.inc684--source include/wait_for_slave_sql_error.inc
691#***************************685#***************************
692686
@@ -751,9 +745,7 @@
751--echo ********************************************745--echo ********************************************
752--echo746--echo
753connection slave;747connection slave;
754# 1054 = ER_BAD_FIELD_ERROR748--let $slave_sql_errno= convert_error(ER_BAD_FIELD_ERROR)
755--let $slave_sql_errno= 1054
756--let $show_slave_sql_error= 1
757--source include/wait_for_slave_sql_error.inc749--source include/wait_for_slave_sql_error.inc
758STOP SLAVE;750STOP SLAVE;
759751
@@ -829,9 +821,7 @@
829--echo *****************821--echo *****************
830--echo822--echo
831connection slave;823connection slave;
832# 1072 = ER_KEY_COLUMN_DOES_NOT_EXITS824--let $slave_sql_errno= convert_error(ER_KEY_COLUMN_DOES_NOT_EXITS)
833--let $slave_sql_errno= 1072
834--let $show_slave_sql_error= 1
835--source include/wait_for_slave_sql_error.inc825--source include/wait_for_slave_sql_error.inc
836STOP SLAVE;826STOP SLAVE;
837827
838828
=== modified file 'mysql-test/extra/rpl_tests/rpl_extra_col_slave.test'
--- mysql-test/extra/rpl_tests/rpl_extra_col_slave.test 2012-06-21 02:57:40 +0000
+++ mysql-test/extra/rpl_tests/rpl_extra_col_slave.test 2013-11-27 10:38:56 +0000
@@ -94,8 +94,7 @@
94SELECT * FROM t2 ORDER BY a;94SELECT * FROM t2 ORDER BY a;
9595
96connection slave;96connection slave;
97--let $slave_sql_errno= 167797--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
98--let $show_slave_sql_error= 1
99--source include/wait_for_slave_sql_error.inc98--source include/wait_for_slave_sql_error.inc
100STOP SLAVE;99STOP SLAVE;
101100
@@ -140,13 +139,12 @@
140139
141INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TESTING');140INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TESTING');
142141
143--echo ********************************************142--echo ******************************************************************
144--echo *** Expect slave to fail with Error 1677 ***143--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
145--echo ********************************************144--echo ******************************************************************
146connection slave;145connection slave;
147--let $slave_sql_errno= 1677
148--let $slave_skip_counter= 2146--let $slave_skip_counter= 2
149--let $show_slave_sql_error= 1147--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
150--source include/wait_for_slave_sql_error_and_skip.inc148--source include/wait_for_slave_sql_error_and_skip.inc
151149
152--echo *** Drop t3 ***150--echo *** Drop t3 ***
@@ -183,15 +181,15 @@
183INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),181INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
184 (30000.22,4,'QA TESTING');182 (30000.22,4,'QA TESTING');
185183
186--echo ********************************************184--echo ******************************************************************
187--echo *** Expect slave to fail with Error 1677 ***185--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
188--echo ********************************************186--echo ******************************************************************
189connection slave;187connection slave;
190--let $slave_sql_errno= 1677
191--let $slave_skip_counter= 2188--let $slave_skip_counter= 2
192--let $show_slave_sql_error= 1189--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
193--source include/wait_for_slave_sql_error_and_skip.inc190--source include/wait_for_slave_sql_error_and_skip.inc
194191
192
195--echo *** Drop t4 ***193--echo *** Drop t4 ***
196connection master;194connection master;
197DROP TABLE t4;195DROP TABLE t4;
@@ -226,15 +224,15 @@
226INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),224INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
227 (2,'JOE',300.01,0,'b2b2',1.0000009);225 (2,'JOE',300.01,0,'b2b2',1.0000009);
228226
229--echo ********************************************227--echo ******************************************************************
230--echo *** Expect slave to fail with Error 1677 ***228--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
231--echo ********************************************229--echo ******************************************************************
232connection slave;230connection slave;
233--let $slave_sql_errno= 1677
234--let $slave_skip_counter= 2231--let $slave_skip_counter= 2
235--let $show_slave_sql_error= 1232--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
236--source include/wait_for_slave_sql_error_and_skip.inc233--source include/wait_for_slave_sql_error_and_skip.inc
237234
235
238--echo *** Drop t5 ***236--echo *** Drop t5 ***
239connection master;237connection master;
240DROP TABLE t5;238DROP TABLE t5;
@@ -270,13 +268,13 @@
270INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),268INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
271 (2,'JOE',300.01,0);269 (2,'JOE',300.01,0);
272270
273--echo ********************************************271--echo ******************************************************************
274--echo *** Expect slave to fail with Error 1677 ***272--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
275--echo ********************************************273--echo ******************************************************************
276connection slave;274connection slave;
277--let $slave_sql_errno= 1677275--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
278--let $show_slave_sql_error= 1276--source include/wait_for_slave_sql_error_and_skip.inc
279--source include/wait_for_slave_sql_error.inc277
280278
281--echo *** Drop t6 ***279--echo *** Drop t6 ***
282--let $rpl_only_running_threads= 1280--let $rpl_only_running_threads= 1
@@ -474,15 +472,15 @@
474set @b1 = concat(@b1,@b1);472set @b1 = concat(@b1,@b1);
475INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');473INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
476474
477--echo ********************************************475--echo ******************************************************************
478--echo *** Expect slave to fail with Error 1677 ***476--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
479--echo ********************************************477--echo ******************************************************************
480connection slave;478connection slave;
481--let $slave_sql_errno= 1677
482--let $slave_skip_counter= 2479--let $slave_skip_counter= 2
483--let $show_slave_sql_error= 1480--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
484--source include/wait_for_slave_sql_error_and_skip.inc481--source include/wait_for_slave_sql_error_and_skip.inc
485482
483
486--echo *** Drop t10 ***484--echo *** Drop t10 ***
487connection master;485connection master;
488DROP TABLE t10;486DROP TABLE t10;
@@ -516,15 +514,15 @@
516set @b1 = concat(@b1,@b1);514set @b1 = concat(@b1,@b1);
517INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');515INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
518516
519--echo ********************************************517--echo ******************************************************************
520--echo *** Expect slave to fail with Error 1677 ***518--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
521--echo ********************************************519--echo ******************************************************************
522connection slave;520connection slave;
523--let $slave_sql_errno= 1677
524--let $slave_skip_counter= 2521--let $slave_skip_counter= 2
525--let $show_slave_sql_error= 1522--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
526--source include/wait_for_slave_sql_error_and_skip.inc523--source include/wait_for_slave_sql_error_and_skip.inc
527524
525
528--echo *** Drop t11 ***526--echo *** Drop t11 ***
529connection master;527connection master;
530DROP TABLE t11;528DROP TABLE t11;
@@ -794,15 +792,15 @@
794connection master;792connection master;
795ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;793ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
796794
797--echo ********************************************795--echo ********************************************************
798--echo *** Expect slave to fail with Error 1060 ***796--echo *** Expect slave to fail with Error ER_DUP_FIELDNAME ***
799--echo ********************************************797--echo ********************************************************
800connection slave;798connection slave;
801--let $slave_sql_errno= 1060
802--let $slave_skip_counter= 1799--let $slave_skip_counter= 1
803--let $show_slave_sql_error= 1800--let $slave_sql_errno= convert_error(ER_DUP_FIELDNAME) # 1060
804--source include/wait_for_slave_sql_error_and_skip.inc801--source include/wait_for_slave_sql_error_and_skip.inc
805802
803
806--echo *** Try to insert in master ****804--echo *** Try to insert in master ****
807connection master;805connection master;
808INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);806INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
@@ -903,13 +901,12 @@
903901
904INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');902INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
905903
906--echo ********************************************904--echo ******************************************************************
907--echo *** Expect slave to fail with Error 1677 ***905--echo *** Expect slave to fail with Error ER_SLAVE_CONVERSION_FAILED ***
908--echo ********************************************906--echo ******************************************************************
909connection slave;907connection slave;
910--let $slave_sql_errno= 1677
911--let $slave_skip_counter= 2908--let $slave_skip_counter= 2
912--let $show_slave_sql_error= 1909--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED)
913--source include/wait_for_slave_sql_error_and_skip.inc910--source include/wait_for_slave_sql_error_and_skip.inc
914911
915--echo ** DROP table t17 ***912--echo ** DROP table t17 ***
916913
=== modified file 'mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test'
--- mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test 2012-12-21 10:13:22 +0000
+++ mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test 2013-11-27 10:38:56 +0000
@@ -31,6 +31,8 @@
31#31#
32# At the end, master and slave cannot diverge.32# At the end, master and slave cannot diverge.
33################################################################################33################################################################################
34# Clean all configuration changes after running the test.
35--source include/force_restart.inc
3436
3537
36--echo ########################################################################38--echo ########################################################################
3739
=== modified file 'mysql-test/extra/rpl_tests/rpl_row_basic.test'
--- mysql-test/extra/rpl_tests/rpl_row_basic.test 2012-04-12 08:43:18 +0000
+++ mysql-test/extra/rpl_tests/rpl_row_basic.test 2013-11-27 10:38:56 +0000
@@ -440,9 +440,7 @@
440INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);440INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
441441
442connection slave;442connection slave;
443# 1677 = ER_SLAVE_CONVERSION_FAILED 443--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
444--let $slave_sql_errno= 1677
445--let $show_slave_sql_error= 1
446--source include/wait_for_slave_sql_error.inc444--source include/wait_for_slave_sql_error.inc
447445
448--source include/rpl_reset.inc446--source include/rpl_reset.inc
@@ -453,9 +451,7 @@
453INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);451INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
454452
455connection slave;453connection slave;
456# 1677 = ER_SLAVE_CONVERSION_FAILED 454--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
457--let $slave_sql_errno= 1677
458--let $show_slave_sql_error= 1
459--source include/wait_for_slave_sql_error.inc455--source include/wait_for_slave_sql_error.inc
460456
461--source include/rpl_reset.inc457--source include/rpl_reset.inc
462458
=== modified file 'mysql-test/extra/rpl_tests/rpl_row_empty_imgs.test'
--- mysql-test/extra/rpl_tests/rpl_row_empty_imgs.test 2011-08-19 13:04:28 +0000
+++ mysql-test/extra/rpl_tests/rpl_row_empty_imgs.test 2013-11-27 10:38:56 +0000
@@ -205,7 +205,7 @@
205205
206SET SQL_LOG_BIN=0;206SET SQL_LOG_BIN=0;
207call mtr.add_suppression("Slave: Can\'t find record in \'t1\' Error_code: 1032");207call mtr.add_suppression("Slave: Can\'t find record in \'t1\' Error_code: 1032");
208call mtr.add_suppression("Slave SQL: Could not execute Update_rows event on table test.t1; Can.t find record in .t1.* Error_code: 1032");208call mtr.add_suppression("Slave SQL: .*Could not execute Update_rows event on table test.t1; Can.t find record in .t1.* Error_code: 1032");
209call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");209call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");
210210
211SET SQL_LOG_BIN=1;211SET SQL_LOG_BIN=1;
212212
=== modified file 'mysql-test/extra/rpl_tests/rpl_row_tabledefs.test'
--- mysql-test/extra/rpl_tests/rpl_row_tabledefs.test 2011-09-06 12:43:05 +0000
+++ mysql-test/extra/rpl_tests/rpl_row_tabledefs.test 2013-11-27 10:38:56 +0000
@@ -152,8 +152,7 @@
152call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");152call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");
153153
154--let $slave_skip_counter= 2154--let $slave_skip_counter= 2
155--let $slave_sql_errno= 1677155--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
156--let $show_slave_sql_error= 1
157--source include/wait_for_slave_sql_error_and_skip.inc156--source include/wait_for_slave_sql_error_and_skip.inc
158157
159connection master;158connection master;
@@ -164,8 +163,7 @@
164INSERT INTO t5 VALUES (5,10,25);163INSERT INTO t5 VALUES (5,10,25);
165connection slave;164connection slave;
166--let $slave_skip_counter= 2165--let $slave_skip_counter= 2
167--let $slave_sql_errno= 1677166--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
168--let $show_slave_sql_error= 1
169--source include/wait_for_slave_sql_error_and_skip.inc167--source include/wait_for_slave_sql_error_and_skip.inc
170168
171connection master;169connection master;
@@ -176,8 +174,7 @@
176INSERT INTO t6 VALUES (6,12,36);174INSERT INTO t6 VALUES (6,12,36);
177connection slave;175connection slave;
178--let $slave_skip_counter= 2176--let $slave_skip_counter= 2
179--let $slave_sql_errno= 1677177--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
180--let $show_slave_sql_error= 1
181--source include/wait_for_slave_sql_error_and_skip.inc178--source include/wait_for_slave_sql_error_and_skip.inc
182179
183connection master;180connection master;
184181
=== added file 'mysql-test/extra/rpl_tests/rpl_stress_test.inc'
--- mysql-test/extra/rpl_tests/rpl_stress_test.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/extra/rpl_tests/rpl_stress_test.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,111 @@
1################################################################################
2# Build connections to master server
3# Stress test that execute massive queries on every connection
4#
5# ################################################################################
6--connection master
7--disable_query_log
8--disable_result_log
9--let $n= $connections
10--let $i= 1
11while ($i < $n)
12{
13 --eval CREATE TABLE t$i(c1 INT) ENGINE= $engine;
14 --inc $i
15}
16--enable_result_log
17--enable_query_log
18
19--sync_slave_with_master
20
21--echo # Build connections to master server
22--disable_query_log
23--disable_result_log
24--let $i= 1
25while ($i < $n)
26{
27 --connect(con$i,127.0.0.1,root,,test,$MASTER_MYPORT,)
28 --inc $i
29}
30--let $i= 1
31while ($i < $connections)
32{
33 --connection con$i
34 set session debug="+d,simulate_binlog_flush_error";
35 --inc $i
36}
37--enable_result_log
38--enable_query_log
39
40--echo # Stress test that execute massive queries on every connection
41--let $m= $loops
42--let $j= 1
43--disable_query_log
44--disable_result_log
45while ($j < $m)
46{
47 # Execute INSERT statement on these connections in parallel
48 --let $i= 1
49 while ($i < $n)
50 {
51 --connection con$i
52 --send
53 --eval INSERT INTO t$i VALUES(2)
54 --inc $i
55 }
56 # reap on every connection
57 --let $i= 1
58 while ($i < $n)
59 {
60 --connection con$i
61 --reap
62 --inc $i
63 }
64 --inc $j
65}
66
67--let $i= 1
68while ($i < $connections)
69{
70 --connection con$i
71 set session debug="-d,simulate_binlog_flush_error";
72 --inc $i
73}
74--enable_result_log
75--enable_query_log
76
77--let $slave_timeout= 3600
78if ($enable_diff_table)
79{
80--source include/sync_slave_sql_with_master.inc
81 --echo # Test if the results are consistent on master and slave
82 --let $i= 1
83 while ($i < $n)
84 {
85 --let $diff_tables= master:t$i, slave:t$i
86 --source include/diff_tables.inc
87 --inc $i
88 }
89}
90
91# clean up
92--connection master
93--disable_query_log
94--disable_result_log
95# disconnect connections
96--let $i= 1
97while ($i < $n)
98{
99 --disconnect con$i
100 --inc $i
101}
102# drop tables
103--let $i= 1
104while ($i < $n)
105{
106 --eval DROP TABLE t$i
107 --inc $i
108}
109--enable_result_log
110--enable_query_log
111--source include/sync_slave_sql_with_master.inc
0112
=== modified file 'mysql-test/include/default_mysqld.cnf'
--- mysql-test/include/default_mysqld.cnf 2013-02-26 05:45:28 +0000
+++ mysql-test/include/default_mysqld.cnf 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
2#2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
2525
26log-bin-trust-function-creators=126log-bin-trust-function-creators=1
27key_buffer_size= 1M27key_buffer_size= 1M
28sort_buffer= 256K28sort_buffer_size= 256K
29max_heap_table_size= 1M29max_heap_table_size= 1M
3030
31loose-innodb_data_file_path= ibdata1:10M:autoextend31loose-innodb_data_file_path= ibdata1:10M:autoextend
3232
=== modified file 'mysql-test/include/explain_json.inc'
--- mysql-test/include/explain_json.inc 2012-08-23 07:45:33 +0000
+++ mysql-test/include/explain_json.inc 2013-11-27 10:38:56 +0000
@@ -320,7 +320,7 @@
320 (4,1), (4,1), (4,1), (4,1),320 (4,1), (4,1), (4,1), (4,1),
321 (2,1), (2,1);321 (2,1), (2,1);
322322
323EXPLAIN FORMAT=JSON SELECT DISTINCT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;323EXPLAIN FORMAT=JSON SELECT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
324324
325DROP TABLE t1;325DROP TABLE t1;
326326
327327
=== modified file 'mysql-test/include/handler.inc'
--- mysql-test/include/handler.inc 2012-05-09 15:11:24 +0000
+++ mysql-test/include/handler.inc 2013-11-27 10:38:56 +0000
@@ -1090,8 +1090,7 @@
1090connection default;1090connection default;
1091--echo #1091--echo #
1092--echo # Demonstrate that HANDLER locks and transaction locks1092--echo # Demonstrate that HANDLER locks and transaction locks
1093--echo # reside in the same context, and we don't back-off1093--echo # reside in the same context.
1094--echo # when have transaction or handler locks.
1095--echo #1094--echo #
1096create table t1 (a int, key a (a));1095create table t1 (a int, key a (a));
1097insert into t1 (a) values (1), (2), (3), (4), (5);1096insert into t1 (a) values (1), (2), (3), (4), (5);
@@ -1112,9 +1111,9 @@
1112--source include/wait_condition.inc1111--source include/wait_condition.inc
1113--echo # --> connection default1112--echo # --> connection default
1114connection default;1113connection default;
1114--echo # We back-off on hitting deadlock condition.
1115--error ER_LOCK_DEADLOCK1115--error ER_LOCK_DEADLOCK
1116handler t0 open;1116handler t0 open;
1117--error ER_LOCK_DEADLOCK
1118select * from t0;1117select * from t0;
1119handler t1 open;1118handler t1 open;
1120commit;1119commit;
11211120
=== added file 'mysql-test/include/have_daemon_example_plugin.inc'
--- mysql-test/include/have_daemon_example_plugin.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/have_daemon_example_plugin.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,16 @@
1disable_query_log;
2#
3# Check if server has support for loading plugins
4#
5if (`SELECT @@have_dynamic_loading != 'YES'`) {
6 --skip daemon example plugin requires dynamic loading
7}
8
9#
10# Check if the variable DAEMONEXAMPLE is set
11#
12if (!$DAEMONEXAMPLE) {
13 --skip daemon_example plugin requires the environment variable \$DAEMONEXAMPLE to be set (normally done by mtr)
14}
15
16enable_query_log;
017
=== modified file 'mysql-test/include/have_perfschema.inc'
--- mysql-test/include/have_perfschema.inc 2010-01-07 05:42:07 +0000
+++ mysql-test/include/have_perfschema.inc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
11#11#
12# You should have received a copy of the GNU General Public License12# You should have received a copy of the GNU General Public License
13# along with this program; if not, write to the Free Software13# along with this program; if not, write to the Free Software
14# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA14# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1515
16if (!`SELECT count(*) FROM information_schema.engines WHERE16if (!`SELECT count(*) FROM information_schema.engines WHERE
17 (support = 'YES' OR support = 'DEFAULT') AND17 (support = 'YES' OR support = 'DEFAULT') AND
1818
=== modified file 'mysql-test/include/have_plugin_auth.inc'
--- mysql-test/include/have_plugin_auth.inc 2011-03-18 09:31:39 +0000
+++ mysql-test/include/have_plugin_auth.inc 2013-11-27 10:38:56 +0000
@@ -1,5 +1,4 @@
1disable_query_log;1if (!`select count(*) FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='test_plugin_server' and PLUGIN_LIBRARY LIKE 'auth_test_plugin%'`) {
2--require r/true.require2 --skip Need the plugin test_plugin_server
3select (PLUGIN_LIBRARY LIKE 'auth_test_plugin%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS 3}
4 WHERE PLUGIN_NAME='test_plugin_server';4
5enable_query_log;
65
=== modified file 'mysql-test/include/have_plugin_interface.inc'
--- mysql-test/include/have_plugin_interface.inc 2010-10-20 14:56:09 +0000
+++ mysql-test/include/have_plugin_interface.inc 2013-11-27 10:38:56 +0000
@@ -1,5 +1,4 @@
1--disable_query_log1if (!`select count(*) FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='qa_auth_interface' and PLUGIN_LIBRARY LIKE 'qa_auth_interface%'`) {
2--require r/true.require2 --skip Need the plugin qa_auth_interface
3select (PLUGIN_LIBRARY LIKE 'qa_auth_interface%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS3}
4 WHERE PLUGIN_NAME='qa_auth_interface';4
5--enable_query_log
65
=== modified file 'mysql-test/include/have_plugin_server.inc'
--- mysql-test/include/have_plugin_server.inc 2010-10-20 14:56:09 +0000
+++ mysql-test/include/have_plugin_server.inc 2013-11-27 10:38:56 +0000
@@ -1,5 +1,4 @@
1--disable_query_log1if (!`select count(*) FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='qa_auth_server' and PLUGIN_LIBRARY LIKE 'qa_auth_server%'`) {
2--require r/true.require2 --skip Need the plugin qa_auth_server
3select (PLUGIN_LIBRARY LIKE 'qa_auth_server%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS3}
4 WHERE PLUGIN_NAME='qa_auth_server';4
5--enable_query_log
65
=== added file 'mysql-test/include/have_valgrind.inc'
--- mysql-test/include/have_valgrind.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/have_valgrind.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,11 @@
1# include/have_valgrind.inc
2#
3# If some test should be run with only valgrind then skip it while running test
4# without it.
5#
6
7if (!$VALGRIND_TEST) {
8 --skip Need "--valgrind"
9}
10
11
012
=== added file 'mysql-test/include/index_merge_delete.inc'
--- mysql-test/include/index_merge_delete.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_delete.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,215 @@
1#
2# DELETE Statements
3#
4
5# The include file works as intended only when index_merge_single_col_setup.inc
6# or index_merge_multi_col_setup.inc is used. The table t1 set-up is done in
7# these two include files.
8
9--disable_warnings
10DROP TABLE IF EXISTS t2;
11--enable_warnings
12
13CREATE TABLE t2 LIKE t1;
14INSERT INTO t2 SELECT * FROM t1;
15ANALYZE TABLE t2;
16
17#1. SQL statments with various combinations of comparison operators
18
19# union and sort_union
20
21--let $query = FROM t1 WHERE key1=25 OR key4=10
22--replace_column 9 #
23--eval EXPLAIN DELETE $query
24--eval SELECT COUNT(*) $query
25--eval DELETE $query
26--eval SELECT COUNT(*) $query
27
28--let $query = FROM t1 WHERE key1=48 OR key4=2 OR key6=3
29--replace_column 9 #
30--eval EXPLAIN DELETE $query
31--eval SELECT COUNT(*) $query
32--eval DELETE $query
33--eval SELECT COUNT(*) $query
34
35--let $query = FROM t1 WHERE key3=1025 OR key5 IS NULL
36--replace_column 9 #
37--eval EXPLAIN DELETE $query
38--eval SELECT COUNT(*) $query
39--eval DELETE $query
40--eval SELECT COUNT(*) $query
41
42--let $query = FROM t1 WHERE key3=45 OR key1=6 OR key6 IS NULL
43--replace_column 9 #
44--eval EXPLAIN DELETE $query
45--eval SELECT COUNT(*) $query
46--eval DELETE $query
47--eval SELECT COUNT(*) $query
48
49--let $query = FROM t1 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1=4 AND key3=6)
50--replace_column 9 #
51--eval EXPLAIN DELETE $query
52--eval SELECT COUNT(*) $query
53--eval DELETE $query
54--eval SELECT COUNT(*) $query
55
56INSERT INTO t1 VALUES (42,42,42,42,3,3,3,3),(4,4,6,6,6,6,4,4);
57--let $query = FROM t1 WHERE (key4=42 AND key6=3) OR (key1=4 AND key3=6)
58--replace_column 9 #
59--eval EXPLAIN DELETE $query
60--eval SELECT COUNT(*) $query
61--eval DELETE $query
62--eval SELECT COUNT(*) $query
63
64INSERT INTO t1 VALUES (42,42,42,42,3,3,3,3),(4,4,6,6,6,6,4,4);
65--let $query = FROM t1 WHERE (key4=42 AND key6=3) OR (key1=4 AND key3=6) AND key5<>50
66--replace_column 9 #
67--eval EXPLAIN DELETE $query
68--eval SELECT COUNT(*) $query
69--eval DELETE $query
70--eval SELECT COUNT(*) $query
71
72--let $query = FROM t1 WHERE key1<2 OR key2<3
73--replace_result "i1,i2" "i2,i1"
74--replace_column 9 #
75--eval EXPLAIN DELETE $query
76--eval SELECT COUNT(*) $query
77--eval DELETE $query
78--eval SELECT COUNT(*) $query
79
80--let $query = FROM t1 WHERE key1<5 OR key3<7
81--replace_result "i1,i3" "i3,i1"
82--replace_column 9 #
83--eval EXPLAIN DELETE $query
84--eval SELECT COUNT(*) $query
85--eval DELETE $query
86--eval SELECT COUNT(*) $query
87
88INSERT INTO t1 VALUES (10,10,10,10,10,10,10,10),(3,3,3,3,3,3,3,3);
89--let $query = FROM t1 WHERE key2=10 OR key3=3 OR key4 IS NULL
90--replace_column 9 #
91--eval EXPLAIN DELETE $query
92--eval SELECT COUNT(*) $query
93--eval DELETE $query
94--eval SELECT COUNT(*) $query
95
96INSERT INTO t1 VALUES (10,10,10,10,10,10,10,10),(3,3,3,3,3,3,3,3);
97--let $query = FROM t1 WHERE key2=10 OR key3=3 OR key4 <=> null
98--replace_column 9 #
99--eval EXPLAIN DELETE $query
100--eval SELECT COUNT(*) $query
101--eval DELETE $query
102--eval SELECT COUNT(*) $query
103
104--let $query = FROM t1 WHERE (key1>30 AND key1<35) OR (key2>32 AND key2<40)
105--replace_column 9 #
106--eval EXPLAIN DELETE $query
107--eval SELECT COUNT(*) $query
108--eval DELETE $query
109--eval SELECT COUNT(*) $query
110
111--let $query = FROM t1 WHERE key1 BETWEEN 30 AND 35 OR key2 BETWEEN 32 AND 40
112--replace_column 9 #
113--eval EXPLAIN DELETE $query
114--eval SELECT COUNT(*) $query
115--eval DELETE $query
116--eval SELECT COUNT(*) $query
117
118--let $query = FROM t1 WHERE (key1>30 AND key1<35) OR (key2>32 AND key2<40) OR (key3>20 AND key3<45)
119--replace_column 9 #
120--eval EXPLAIN DELETE $query
121--eval SELECT COUNT(*) $query
122--eval DELETE $query
123--eval SELECT COUNT(*) $query
124
125--let $query = FROM t1 WHERE key1 BETWEEN 30 AND 35 OR key2 BETWEEN 32 AND 40 OR key3 BETWEEN 20 AND 45
126--replace_column 9 #
127--eval EXPLAIN DELETE $query
128--eval SELECT COUNT(*) $query
129--eval DELETE $query
130--eval SELECT COUNT(*) $query
131
132INSERT INTO t1 VALUES (1,1,1,1,1,1,1,1),(2,2,2,2,2,2,2,2),(3,3,3,3,3,3,3,3),(4,4,4,4,4,4,4,4);
133--let $query = FROM t1 WHERE ((key3<4 OR key5<3) AND (key1<3 OR key2<3)) OR (((key3<5 AND key6<5) OR key5<2) AND (key5<4 OR key6<4))
134--replace_column 9 #
135--eval EXPLAIN DELETE $query
136--eval SELECT COUNT(*) $query
137--eval DELETE $query
138--eval SELECT COUNT(*) $query
139
140--let $query = FROM t1 WHERE (key4<42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50
141--replace_column 9 #
142--eval EXPLAIN DELETE $query
143--eval SELECT COUNT(*) $query
144--eval DELETE $query
145--eval SELECT COUNT(*) $query
146
147--let $query = FROM t1 WHERE (key5 IN (15,70) OR key6 IN (15,70))
148--replace_column 9 #
149--eval EXPLAIN DELETE $query
150--eval SELECT COUNT(*) $query
151--eval DELETE $query
152--eval SELECT COUNT(*) $query
153
154#2. Statements with ORDER BY
155
156INSERT INTO t1 VALUES (1,1,1,1,1,1,1,1),(2,2,2,2,2,2,2,2),(3,3,3,3,3,3,3,3);
157--let $query = FROM t1 WHERE key1<2 OR key2<3 ORDER BY key1
158--replace_column 9 #
159--eval EXPLAIN DELETE $query
160--eval SELECT COUNT(*) $query
161--eval DELETE $query
162--eval SELECT COUNT(*) $query
163
164#3. Multi table SQL statements
165
166--let $query = FROM t1 USING t1 INNER JOIN t2 ON (t2.key1=t2.key1) WHERE t1.key1=3 OR t1.key2=4
167--replace_column 9 #
168--eval EXPLAIN DELETE $query
169SELECT COUNT(*) FROM t1;
170--eval DELETE $query
171SELECT COUNT(*) FROM t1;
172
173# Statements with subqueries
174
175--let $query1 = FROM t2 WHERE key6 = (SELECT key6 FROM t1 WHERE key1=10 OR key5=3 OR key2 IS NULL)
176--let $query2 = key3=28 OR key4=10
177--replace_column 9 #
178--eval EXPLAIN DELETE $query1 OR $query2
179--eval SELECT COUNT(*) $query1 OR $query2
180--eval DELETE $query1 OR $query2
181--eval SELECT COUNT(*) $query1 OR $query2
182
183--let $query3 = key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)
184--let $query2 = key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8)
185--let $query1 = FROM t2 WHERE key1=25 OR key4=40
186--replace_column 9 #
187--eval EXPLAIN DELETE $query1 AND ($query2 OR $query3)
188--eval SELECT COUNT(*) $query1 AND ($query2 OR $query3)
189--eval DELETE $query1 AND ($query2 OR $query3)
190--eval SELECT COUNT(*) $query1 AND ($query2 OR $query3)
191
192INSERT INTO t1 VALUES (2,2,2,2,2,2,2,2),(5,5,5,5,5,5,5,5);
193--let $query = FROM t2 WHERE EXISTS (SELECT * FROM t1 WHERE key1<5 OR key3<7)
194--replace_column 9 #
195--eval EXPLAIN DELETE $query
196--eval SELECT COUNT(*) $query
197--eval DELETE $query
198--eval SELECT COUNT(*) $query
199
200# The following statement uses index_merge optimization only when the table is
201# created with multi column setup.
202
203INSERT INTO t1 VALUES ( 3,3,3,3,3,3,3,3 ),(4,4,4,4,4,4,4,4);
204--let $query = FROM t1 WHERE key7 = 3 OR key8 = 4
205--replace_column 9 #
206--eval EXPLAIN DELETE $query
207--eval SELECT COUNT(*) $query
208--eval DELETE $query
209--eval SELECT COUNT(*) $query
210
211#
212# end of DELETE statements
213#
214
215
0216
=== added file 'mysql-test/include/index_merge_insert-and-replace.inc'
--- mysql-test/include/index_merge_insert-and-replace.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_insert-and-replace.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,137 @@
1#
2# INSERT and REPLACE using index_merge optimization
3#
4
5# The include file works as intended only when index_merge_single_col_setup.inc
6# or index_merge_multi_col_setup.inc is used. The table t1 set-up is done in
7# these two include files.
8
9--disable_warnings
10DROP TABLE IF EXISTS t2;
11--enable_warnings
12
13CREATE TABLE t2 LIKE t1;
14
15let $i=10;
16while ($i)
17{
18 INSERT INTO t2 VALUES (rand()*6, rand()*6, rand()*6, rand()*6,
19 rand()*6, rand()*6, rand()*6, rand()*6);
20 dec $i;
21}
22
23ANALYZE TABLE t2;
24
25# intersect optimization technique test cases for non-selects
26# are in a separate file(index_merge_intersect_dml.inc)
27# due to different table requirements.
28
29#
30# REPLACE
31#
32
33# union
34
35--let $query = INTO t2 SELECT * FROM t1 WHERE key3=1025 OR key5 IS NULL
36--replace_column 9 #
37--eval EXPLAIN REPLACE $query
38--eval SELECT COUNT(*) FROM t2
39--eval REPLACE $query
40--eval SELECT COUNT(*) FROM t2
41
42--let $query = INTO t2 SELECT * FROM t1 WHERE key1=48 OR key4=2 OR key6=3
43--replace_column 9 #
44--eval EXPLAIN REPLACE $query
45--eval SELECT COUNT(*) FROM t2
46--eval REPLACE $query
47--eval SELECT COUNT(*) FROM t2
48
49# sort_union
50
51--let $query = INTO t2 SELECT * FROM t1 WHERE key1<2 OR key2<3
52--replace_column 9 #
53--eval EXPLAIN REPLACE $query
54--eval SELECT COUNT(*) FROM t2
55--eval REPLACE $query
56--eval SELECT COUNT(*) FROM t2
57
58--let $query = INTO t2 SELECT * FROM t1 WHERE (key1>30 AND key1<35) OR (key2>32 AND key2<40)
59--replace_column 9 #
60--eval EXPLAIN REPLACE $query
61--eval SELECT COUNT(*) FROM t2
62--eval REPLACE $query
63--eval SELECT COUNT(*) FROM t2
64
65# statements with use/force/ignore index
66
67--let $query = INTO t2 SELECT * FROM t1 IGNORE INDEX(i2) WHERE key1<2 OR key2<3
68--replace_column 9 #
69--eval EXPLAIN REPLACE $query
70--eval SELECT COUNT(*) FROM t2
71--eval REPLACE $query
72--eval SELECT COUNT(*) FROM t2
73
74INSERT INTO t1 VALUES (42,42,42,42,3,3,3,3),(4,4,6,6,6,6,4,4);
75--let $query = INTO t2 SELECT * FROM t1 USE INDEX(i6,i3) WHERE (key4=42 AND key6=3) OR (key1=4 AND key3=6)
76--replace_column 9 #
77--eval EXPLAIN REPLACE $query
78--eval SELECT COUNT(*) FROM t2
79--eval REPLACE $query
80--eval SELECT COUNT(*) FROM t2
81
82--let $query = INTO t2 SELECT * FROM t1 FORCE INDEX(i1,i2) WHERE (key1>1 OR key2>2)
83--replace_column 9 #
84--eval EXPLAIN REPLACE $query
85--eval SELECT COUNT(*) FROM t2
86--eval REPLACE $query
87--eval SELECT COUNT(*) FROM t2
88
89#
90# INSERT
91#
92
93# union
94
95INSERT INTO t1 VALUES (42,42,42,42,3,3,3,3),(4,4,6,6,6,6,4,4);
96--let $query = INTO t2 SELECT * FROM t1 WHERE (key4=42 AND key6=3) OR (key1=4 AND key3=6) AND key5<>50
97--replace_column 9 #
98--eval EXPLAIN INSERT $query
99--eval SELECT COUNT(*) FROM t2
100--eval INSERT $query
101--eval SELECT COUNT(*) FROM t2
102
103# sort_union
104
105--let $query = INTO t2 SELECT * FROM t1 WHERE key2=10 OR key3=3 OR key4 <=> null
106--replace_column 9 #
107--eval EXPLAIN INSERT $query
108--eval SELECT COUNT(*) FROM t2
109--eval INSERT $query
110--eval SELECT COUNT(*) FROM t2
111
112# statements with use/force/ignore index
113
114--let $query = INTO t2 SELECT * FROM t1 IGNORE INDEX(i1) WHERE key1<2 OR key2<3
115--replace_column 9 #
116--eval EXPLAIN INSERT $query
117--eval SELECT COUNT(*) FROM t2
118--eval INSERT $query
119--eval SELECT COUNT(*) FROM t2
120
121--let $query = INTO t2 SELECT * FROM t1 USE INDEX(i5,i6) WHERE (key1<2 OR key2<2) AND (key3<3 OR key4<3) AND (key5<5 OR key6<5);
122--replace_column 9 #
123--eval EXPLAIN INSERT $query
124--eval SELECT COUNT(*) FROM t2
125--eval INSERT $query
126--eval SELECT COUNT(*) FROM t2
127
128--let $query = INTO t2 SELECT * FROM t1 FORCE INDEX(i4,i5) WHERE (key4>3 OR key5>5)
129--replace_column 9 #
130--eval EXPLAIN INSERT $query
131--eval SELECT COUNT(*) FROM t2
132--eval INSERT $query
133--eval SELECT COUNT(*) FROM t2
134
135#
136# end
137#
0138
=== added file 'mysql-test/include/index_merge_intersect_dml.inc'
--- mysql-test/include/index_merge_intersect_dml.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_intersect_dml.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,197 @@
1#
2# index_merge tests for statements using intersect algorithm
3#
4
5--disable_warnings
6DROP TABLE IF EXISTS t1,t2;
7--enable_warnings
8
9CREATE TABLE t1 (
10 pk MEDIUMINT NOT NULL AUTO_INCREMENT,
11 a INT NOT NULL,
12 b INT NOT NULL,
13 c INT NOT NULL,
14 d INT NOT NULL,
15 PRIMARY KEY pk (pk),
16 KEY idx_a (a),
17 KEY idx_b (b),
18 KEY idx_c (c),
19 KEY idx_d (d)
20);
21
22--disable_query_log
23
24# Inserting a lot of rows inorder to enable index_merge intersect
25
26INSERT INTO t1(a,b,c,d) VALUES
27 ( RAND()*5, RAND()*5, RAND()*5, RAND()*5 );
28
29let $cnt=4;
30while ($cnt)
31{
32 INSERT INTO t1(a,b,c,d) SELECT 6,6,6,6 FROM t1;
33 dec $cnt;
34}
35
36INSERT INTO t1(a,b,c,d) SELECT 6, RAND()*5, RAND()*5,
37 RAND()*5 FROM t1 LIMIT 3;
38INSERT INTO t1(a,b,c,d) SELECT RAND()*5, 6, RAND()*5,
39 RAND()*5 FROM t1 LIMIT 3;
40INSERT INTO t1(a,b,c,d) SELECT RAND()*5, RAND()*5, 6,
41 RAND()*5 FROM t1 LIMIT 3;
42INSERT INTO t1(a,b,c,d) SELECT RAND()*5, RAND()*5,
43 RAND()*5, 6 FROM t1 LIMIT 3;
44
45let $cnt=7;
46while ($cnt)
47{
48 INSERT INTO t1(a,b,c,d) SELECT RAND()*5, RAND()*5,
49 RAND()*5, RAND()*5 FROM t1;
50 dec $cnt;
51}
52
53--enable_query_log
54
55# The following statement analyzes and
56# stores the key distribution for a table.
57
58ANALYZE TABLE t1;
59
60# DELETEs are not included as index merge intersection
61# is disabled for DELETE statements.
62
63# 1. UPDATE
64
65--let $query = WHERE b=6 AND c=6
66--replace_result "idx_c,idx_b" "idx_b,idx_c"
67--replace_column 9 #
68--eval EXPLAIN UPDATE t1 SET a=2 $query
69--eval SELECT COUNT(*), SUM(a) FROM t1 $query
70--eval UPDATE t1 SET a=2 $query
71--eval SELECT COUNT(*), SUM(a) FROM t1 $query
72
73--let $query = WHERE b=6 AND c=6 AND d=6
74--replace_result idx_b idx_x idx_c idx_x idx_d idx_x
75--replace_column 9 #
76--eval EXPLAIN UPDATE t1 SET a=2 $query
77--eval SELECT COUNT(*), SUM(a) FROM t1 $query
78--eval UPDATE t1 SET a=2 $query
79--eval SELECT COUNT(*), SUM(a) FROM t1 $query
80
81--let $query = WHERE d=6 AND a IS NOT NULL AND b=6
82--replace_result "idx_d,idx_b" "idx_b,idx_d"
83--replace_column 9 #
84--eval EXPLAIN UPDATE t1 SET c=6 $query
85--eval SELECT COUNT(*), SUM(c) FROM t1 $query
86--eval UPDATE t1 SET c=6 $query
87--eval SELECT COUNT(*), SUM(c) FROM t1 $query
88
89--let $query = WHERE d=6 AND a=6 AND c <> 6
90--replace_column 9 #
91--eval EXPLAIN UPDATE t1 SET b=0 $query
92--eval SELECT COUNT(*), SUM(b) FROM t1 $query
93--eval UPDATE t1 SET b=0 $query
94--eval SELECT COUNT(*), SUM(b) FROM t1 $query
95
96--let $query = WHERE d=6 AND a=6 AND c IN (1,2,3,4,5)
97--replace_column 9 #
98--eval EXPLAIN UPDATE t1 SET a=100 $query
99--eval SELECT COUNT(*), SUM(a) FROM t1 $query
100--eval UPDATE t1 SET a=100 $query
101--eval SELECT COUNT(*), SUM(a) FROM t1 $query
102
103# uses range scan instead of index_merge
104
105--let $query = WHERE a=5 AND b=4 AND d<3
106--replace_column 9 #
107--eval EXPLAIN UPDATE t1 SET a=2 $query
108--eval UPDATE t1 SET a=2 $query
109
110# Any range condition over a primary key of an InnoDB table.
111
112create table t2 (
113 pk MEDIUMINT NOT NULL AUTO_INCREMENT,
114 a INT NOT NULL,
115 b INT NOT NULL,
116 c INT NOT NULL,
117 d INT NOT NULL,
118 PRIMARY KEY pk (pk),
119 KEY idx_a (a),
120 KEY idx_b (b),
121 KEY idx_c (c),
122 KEY idx_d (d)
123)engine=InnoDB;
124
125INSERT INTO t2 SELECT * FROM t1;
126ANALYZE TABLE t2;
127
128--let $query = WHERE pk<2492 AND d=1
129--replace_column 9 #
130--eval EXPLAIN UPDATE t2 SET a=2 $query
131--eval UPDATE t2 SET a=2 $query
132
133# 2. REPLACE and INSERT
134
135CREATE TABLE t3(
136 a INT NOT NULL,
137 b INT NOT NULL,
138 c INT NOT NULL,
139 d INT NOT NULL,
140 e INT
141);
142
143INSERT INTO t3(a,b,c,d,e) VALUES (3890,3890,3890,3890,3890);
144INSERT INTO t3(a,b,c,d,e) VALUES (4000,4000,4000,4000,4000);
145
146--let $query = INTO t3 SELECT * FROM t1 WHERE b=6 AND c=6
147--replace_result "idx_c,idx_b" "idx_b,idx_c"
148--replace_column 9 #
149--eval EXPLAIN REPLACE $query
150--eval SELECT COUNT(*) FROM t3
151--eval REPLACE $query
152--eval SELECT COUNT(*) FROM t3
153
154--let $query = INTO t3 SELECT * FROM t1 WHERE d=6 AND a IS NOT NULL AND b=6
155--replace_column 9 #
156--replace_result "idx_d,idx_b" "idx_b,idx_d"
157--eval EXPLAIN INSERT $query
158--eval SELECT COUNT(*) FROM t3
159--eval INSERT $query
160--eval SELECT COUNT(*) FROM t3
161
162# Test case for multi column set-up.
163
164CREATE TABLE t4 (
165 pk MEDIUMINT NOT NULL AUTO_INCREMENT,
166 a INT NOT NULL,
167 b INT NOT NULL,
168 c INT NOT NULL,
169 d INT NOT NULL,
170 PRIMARY KEY pk (pk),
171 KEY idx_cd (c,d),
172 KEY idx_bd (b,d)
173);
174
175INSERT INTO t4 SELECT * FROM t1;
176
177# The following statement analyzes and
178# stores the key distribution for a table.
179
180ANALYZE TABLE t4;
181
182--let $query = WHERE b=6 AND c=6 AND d=6
183--replace_result idx_b idx_x idx_c idx_x idx_d idx_x
184--replace_column 9 #
185--eval EXPLAIN UPDATE t4 SET a=2 $query
186--eval SELECT COUNT(*), SUM(a) FROM t4 $query
187--eval UPDATE t4 SET a=2 $query
188--eval SELECT COUNT(*), SUM(a) FROM t4 $query
189
190DROP TABLE t1,t2,t3,t4;
191
192#
193# end of test cases for intersect index_merge optimization technique
194#
195
196
197
0198
=== added file 'mysql-test/include/index_merge_multi_col_setup.inc'
--- mysql-test/include/index_merge_multi_col_setup.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_multi_col_setup.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,75 @@
1#
2# Creating table with multi column index setup
3#
4
5--disable_warnings
6DROP TABLE IF EXISTS t1;
7--enable_warnings
8
9CREATE TABLE t1
10(
11 key1 INT NOT NULL,
12 key2 INT NOT NULL,
13 key3 INT NOT NULL,
14 key4 INT NOT NULL,
15 key5 INT,
16 key6 INT,
17 key7 INT NOT NULL,
18 key8 INT NOT NULL,
19 INDEX i1(key1,key2),
20 INDEX i2(key2,key1),
21 INDEX i3(key3,key4),
22 INDEX i4(key4,key3),
23 INDEX i5(key5,key6),
24 INDEX i6(key6,key5),
25 INDEX i7(key7,key8),
26 INDEX i8(key8,key7)
27);
28
29--disable_query_log
30
31
32# inserting values
33
34INSERT INTO t1 VALUES ( 1,1,1,1,1,1,1,1),(2,2,2,2,2,2,2,2);
35
36let $i=10;
37set @d=2;
38while($i)
39{
40 INSERT INTO t1 SELECT key1+@d, key2+@d, key3+@d, key4+@d,
41 key5+@d, key6+@d, key7+@d, key8+@d FROM t1;
42 set @d=@d*2;
43 dec $i;
44}
45
46
47# Inserting null values.
48
49let $i=5;
50set @d=5;
51while($i)
52{
53 INSERT INTO t1 VALUES (key1+@d, key2+@d, key3+@d, key4+@d,
54 key5+@d, NULL, key7+@d, key8+@d);
55 set @d=@d*2;
56 dec $i;
57}
58
59let $i=4;
60set @d=6;
61while($i)
62{
63 INSERT INTO t1 VALUES (key1+@d, key2+@d, key3+@d, key4+@d,
64 NULL, key6+@d, key7+@d, key8+@d);
65 set @d=@d*2;
66 dec $i;
67}
68
69--enable_query_log
70
71# To analyze and store the key distribution of the table.
72
73ANALYZE TABLE t1;
74
75
076
=== added file 'mysql-test/include/index_merge_single_col_setup.inc'
--- mysql-test/include/index_merge_single_col_setup.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_single_col_setup.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,72 @@
1#
2# Creating table with single column index setup
3#
4
5--disable_warnings
6DROP TABLE IF EXISTS t1;
7--enable_warnings
8
9CREATE TABLE t1
10(
11 key1 INT NOT NULL,
12 key2 INT NOT NULL,
13 key3 INT NOT NULL,
14 key4 INT NOT NULL,
15 key5 INT,
16 key6 INT,
17 key7 INT NOT NULL,
18 key8 INT NOT NULL,
19 INDEX i1(key1),
20 INDEX i2(key2),
21 INDEX i3(key3),
22 INDEX i4(key4),
23 INDEX i5(key5),
24 INDEX i6(key6)
25);
26
27--disable_query_log
28
29# inserting values
30
31INSERT INTO t1 VALUES ( 1,1,1,1,1,1,1,1),(2,2,2,2,2,2,2,2);
32
33let $i=10;
34set @d=2;
35while($i)
36{
37 INSERT INTO t1 SELECT key1+@d, key2+@d, key3+@d, key4+@d,
38 key5+@d, key6+@d, key7+@d, key8+@d FROM t1;
39 set @d=@d*2;
40 dec $i;
41}
42
43
44# inserting null values.
45
46let $i=5;
47set @d=5;
48while($i)
49{
50 INSERT INTO t1 VALUES (key1+@d, key2+@d, key3+@d, key4+@d,
51 key5+@d, NULL, key7+@d, key8+@d);
52 set @d=@d*2;
53 dec $i;
54}
55
56let $i=4;
57set @d=6;
58while($i)
59{
60 INSERT INTO t1 VALUES (key1+@d, key2+@d, key3+@d, key4+@d,
61 NULL, key6+@d, key7+@d, key8+@d);
62 set @d=@d*2;
63 dec $i;
64}
65
66--enable_query_log
67
68# The following statement analyzes and
69# stores the key distribution for a table.
70
71ANALYZE TABLE t1;
72
073
=== added file 'mysql-test/include/index_merge_update.inc'
--- mysql-test/include/index_merge_update.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/index_merge_update.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,130 @@
1#
2# UPDATE statements using index_merge optimization
3#
4
5# The include file works as intended only when index_merge_single_col_setup.inc
6# or index_merge_multi_col_setup.inc is used. The table t1 set-up is done in
7# these two include files.
8
9--disable_warnings
10DROP TABLE IF EXISTS t2;
11--enable_warnings
12
13CREATE TABLE t2 LIKE t1;
14INSERT INTO t2 SELECT * FROM t1;
15ANALYZE TABLE t2;
16
17#1. UPDATE statements with various combinations of comparison operators
18
19# intersect optimization technique test cases for non-selects
20# are in a separate file(index_merge_intersect_dml.inc)
21# due to different table requirements.
22
23# union and sort_union
24
25--let $query = WHERE key1=80 OR key4=49
26--replace_column 9 #
27--eval EXPLAIN UPDATE t1 SET key6=7 $query
28--eval SELECT COUNT(*), SUM(key6) FROM t1 $query
29--eval UPDATE t1 SET key6=7 $query
30--eval SELECT COUNT(*), SUM(key6) FROM t1 $query
31
32--let $query = WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL)
33--replace_column 9 #
34--eval EXPLAIN UPDATE t1 SET key1=18 $query
35--eval SELECT COUNT(*), SUM(key1) FROM t1 $query
36--eval UPDATE t1 SET key1=18 $query
37--eval SELECT COUNT(*), SUM(key1) FROM t1 $query
38
39--let $query = WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50
40--replace_column 9 #
41--eval EXPLAIN UPDATE t1 SET key3=18 $query
42--eval SELECT COUNT(*), SUM(key3) FROM t1 $query
43--eval UPDATE t1 SET key3=18 $query
44--eval SELECT COUNT(*), SUM(key3) FROM t1 $query
45
46--let $query = WHERE key2=80 OR key3=1025 OR key4 <=> NULL
47--replace_column 9 #
48--eval EXPLAIN UPDATE t1 SET key8=64 $query
49--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
50--eval UPDATE t1 SET key8=64 $query
51--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
52
53--let $query = WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2)
54--replace_column 9 #
55--eval EXPLAIN UPDATE t1 SET key8=18 $query
56--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
57--eval UPDATE t1 SET key8=18 $query
58--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
59
60--let $query = WHERE key1 between 25 AND 40 OR key2 between 15 AND 49
61--replace_column 9 #
62--eval EXPLAIN UPDATE t1 SET key3=32 $query
63--eval SELECT COUNT(*), SUM(key3) FROM t1 $query
64--eval UPDATE t1 SET key3=32 $query
65--eval SELECT COUNT(*), SUM(key3) FROM t1 $query
66
67--let $query = WHERE key1 IN (15,70) OR key2 IN (15,70)
68--replace_column 9 #
69--eval EXPLAIN UPDATE t1 SET key7=25 $query
70--eval SELECT COUNT(*), SUM(key7) FROM t1 $query
71--eval UPDATE t1 SET key7=25 $query
72--eval SELECT COUNT(*), SUM(key7) FROM t1 $query
73
74#2. Statement with ORDER BY
75
76--let $query = WHERE key5<5 OR key8<10 ORDER BY key1
77--replace_column 9 #
78--eval EXPLAIN UPDATE t1 SET key1=10 $query
79--eval SELECT COUNT(*), SUM(key1) FROM t1 $query
80--eval UPDATE t1 SET key1=10 $query
81--eval SELECT COUNT(*), SUM(key1) FROM t1 $query
82
83#3. Multi table SQL statements
84
85--let $query = t1 left join t2 ON (t2.key1=t2.key1) SET t1.key4=15 WHERE t1.key5=40 OR t1.key4=15
86--replace_column 9 #
87--eval EXPLAIN UPDATE $query
88SELECT COUNT(*), SUM(key4) FROM t1;
89--eval UPDATE $query
90SELECT COUNT(*), SUM(key4) FROM t1;
91
92# Statements with subqueries
93
94--let $query2 = key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3)
95--let $query1 = WHERE (key3=28 OR key4=10)
96--replace_column 9 #
97--eval EXPLAIN UPDATE t2 SET key7=7 $query1 AND $query2
98--eval SELECT COUNT(*), SUM(key7) FROM t2 $query1 AND $query2
99--eval UPDATE t2 SET key7=7 $query1 AND $query2
100--eval SELECT COUNT(*), SUM(key7) FROM t2 $query1 AND $query2
101
102--let $query3 = key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)
103--let $query2 = key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8)
104--let $query1 = WHERE key1=25 OR key4=40
105--replace_column 9 #
106--eval EXPLAIN UPDATE t2 SET key2=2 $query1 AND ($query2 OR $query3)
107--eval SELECT COUNT(*), SUM(key2) FROM t2 $query1 AND ($query2 OR $query3)
108--eval UPDATE t2 SET key2=2 $query1 AND ($query2 OR $query3)
109--eval SELECT COUNT(*), SUM(key2) FROM t2 $query1 AND ($query2 OR $query3)
110
111--let $query = WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10)
112--replace_column 9 #
113--eval EXPLAIN UPDATE t2 SET key3=20 $query
114--eval SELECT COUNT(*), SUM(key3) FROM t2 $query
115--eval UPDATE t2 SET key3=20 $query
116--eval SELECT COUNT(*), SUM(key3) FROM t2 $query
117
118# The following statement doesn't use index_merge optimization technique when
119# the table is created with single column index setup.
120
121--let $query = WHERE key5=80 OR key6=49
122--replace_column 9 #
123--eval EXPLAIN UPDATE t1 SET key8=50 $query
124--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
125--eval UPDATE t1 SET key8=50 $query
126--eval SELECT COUNT(*), SUM(key8) FROM t1 $query
127
128#
129# end of UPDATE statements
130#
0131
=== added file 'mysql-test/include/install_semisync.inc'
--- mysql-test/include/install_semisync.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/install_semisync.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,39 @@
1#
2# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
3#
4--let $include_filename= install_semisync.inc
5--source include/begin_include_file.inc
6
7--source include/not_embedded.inc
8--source include/not_gtid_enabled.inc
9--source include/have_semisync_plugin.inc
10
11--connection master
12
13--disable_query_log
14--let $value = query_get_value(show variables like 'rpl_semi_sync_master_enabled', Value, 1)
15if ($value == No such row)
16{
17 SET sql_log_bin = 0;
18 eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_PLUGIN';
19 SET GLOBAL rpl_semi_sync_master_enabled = 1;
20 SET sql_log_bin = 1;
21}
22--enable_query_log
23
24--connection slave
25--source include/stop_slave_io.inc
26
27--disable_query_log
28--let $value= query_get_value(show variables like 'rpl_semi_sync_slave_enabled', Value, 1)
29if ($value == No such row)
30{
31 SET sql_log_bin = 0;
32 eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_PLUGIN';
33 SET GLOBAL rpl_semi_sync_slave_enabled = 1;
34 SET sql_log_bin = 1;
35}
36--source include/start_slave_io.inc
37--enable_query_log
38
39--source include/end_include_file.inc
040
=== modified file 'mysql-test/include/mtr_warnings.sql'
--- mysql-test/include/mtr_warnings.sql 2012-12-14 10:16:24 +0000
+++ mysql-test/include/mtr_warnings.sql 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1-- Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.1-- Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
2--2--
3-- This program is free software; you can redistribute it and/or modify3-- This program is free software; you can redistribute it and/or modify
4-- it under the terms of the GNU General Public License as published by4-- it under the terms of the GNU General Public License as published by
@@ -241,7 +241,9 @@
241 */241 */
242 ("Slave SQL: Coordinator thread of multi-threaded slave is being stopped in the middle of assigning a group of events.*"),242 ("Slave SQL: Coordinator thread of multi-threaded slave is being stopped in the middle of assigning a group of events.*"),
243 243
244 ("Changed limits: max_open_files: * max_connections: * table_cache: *"),244 ("Changed limits: max_open_files: *"),
245 ("Changed limits: max_connections: *"),
246 ("Changed limits: table_cache: *"),
245 ("Could not increase number of max_open_files to more than *"),247 ("Could not increase number of max_open_files to more than *"),
246248
247 ("THE_LAST_SUPPRESSION")||249 ("THE_LAST_SUPPRESSION")||
248250
=== added file 'mysql-test/include/restart_readonly_mysqld.inc'
--- mysql-test/include/restart_readonly_mysqld.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/restart_readonly_mysqld.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,21 @@
1# Write file to make mysql-test-run.pl expect the "crash", but don't start
2# it until it's told to
3--let $_server_id= `SELECT @@server_id`
4--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
5--exec echo "wait" > $_expect_file_name
6
7# Send shutdown to the connected server and give
8# it 10 seconds to die before zapping it
9shutdown_server 10;
10
11# Write file to make mysql-test-run.pl start up the server again
12--exec echo "restart: --innodb-read-only " > $_expect_file_name
13
14# Turn on reconnect
15--enable_reconnect
16
17# Call script that will poll the server waiting for it to be back online again
18--source include/wait_until_connected_again.inc
19
20# Turn off reconnect again
21--disable_reconnect
022
=== modified file 'mysql-test/include/rpl_stop_server.inc'
--- mysql-test/include/rpl_stop_server.inc 2012-01-16 22:21:16 +0000
+++ mysql-test/include/rpl_stop_server.inc 2013-11-27 10:38:56 +0000
@@ -47,8 +47,8 @@
47--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect47--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
4848
49# Send shutdown to the connected server and give49# Send shutdown to the connected server and give
50# it 10 seconds to die before zapping it50# it 14 seconds to die before zapping it
51shutdown_server 10;51shutdown_server 14;
5252
53--source include/wait_until_disconnected.inc53--source include/wait_until_disconnected.inc
5454
5555
=== modified file 'mysql-test/include/select.inc'
--- mysql-test/include/select.inc 2013-01-29 08:42:47 +0000
+++ mysql-test/include/select.inc 2013-11-27 10:38:56 +0000
@@ -2455,6 +2455,8 @@
24552455
2456create table t1 (s1 int);2456create table t1 (s1 int);
2457insert into t1 values (null),(1);2457insert into t1 values (null),(1);
2458select avg(s1) as x from t1 group by s1 with rollup;
2459--error ER_WRONG_USAGE
2458select distinct avg(s1) as x from t1 group by s1 with rollup;2460select distinct avg(s1) as x from t1 group by s1 with rollup;
2459drop table t1;2461drop table t1;
24602462
24612463
=== modified file 'mysql-test/include/shutdown_mysqld.inc'
--- mysql-test/include/shutdown_mysqld.inc 2012-06-15 15:32:44 +0000
+++ mysql-test/include/shutdown_mysqld.inc 2013-11-27 10:38:56 +0000
@@ -13,6 +13,6 @@
13--exec echo "wait" > $_expect_file_name13--exec echo "wait" > $_expect_file_name
1414
15# Send shutdown to the connected server15# Send shutdown to the connected server
16--shutdown_server 1016--shutdown_server
17--source include/wait_until_disconnected.inc17--source include/wait_until_disconnected.inc
1818
1919
=== modified file 'mysql-test/include/start_slave_sql.inc'
--- mysql-test/include/start_slave_sql.inc 2011-05-05 09:58:48 +0000
+++ mysql-test/include/start_slave_sql.inc 2013-11-27 10:38:56 +0000
@@ -32,7 +32,7 @@
3232
3333
34START SLAVE SQL_THREAD;34START SLAVE SQL_THREAD;
35--source include/wait_for_slave_io_to_start.inc35--source include/wait_for_slave_sql_to_start.inc
3636
3737
38--let $include_filename= start_slave_sql.inc38--let $include_filename= start_slave_sql.inc
3939
=== modified file 'mysql-test/include/subquery.inc'
--- mysql-test/include/subquery.inc 2012-07-10 11:59:40 +0000
+++ mysql-test/include/subquery.inc 2013-11-27 10:38:56 +0000
@@ -4715,6 +4715,10 @@
47154715
4716--error ER_BAD_FIELD_ERROR4716--error ER_BAD_FIELD_ERROR
4717EXPLAIN EXTENDED SELECT DISTINCT 1 FROM t1,4717EXPLAIN EXTENDED SELECT DISTINCT 1 FROM t1,
4718(SELECT a AS away FROM t1 GROUP BY a WITH ROLLUP) AS d1
4719WHERE t1.a = d1.a;
4720--error ER_WRONG_USAGE
4721EXPLAIN EXTENDED SELECT DISTINCT 1 FROM t1,
4718(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) AS d1 4722(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) AS d1
4719WHERE t1.a = d1.a;4723WHERE t1.a = d1.a;
47204724
47214725
=== modified file 'mysql-test/include/test_fieldsize.inc'
--- mysql-test/include/test_fieldsize.inc 2012-03-06 14:29:42 +0000
+++ mysql-test/include/test_fieldsize.inc 2013-11-27 10:38:56 +0000
@@ -22,8 +22,7 @@
22eval $test_insert;22eval $test_insert;
2323
24connection slave;24connection slave;
25--let $slave_sql_errno= 167725--let $slave_sql_errno= convert_error(ER_SLAVE_CONVERSION_FAILED) # 1677
26--let $show_slave_sql_error= 1
27--source include/wait_for_slave_sql_error.inc26--source include/wait_for_slave_sql_error.inc
2827
29# The following should be 028# The following should be 0
3029
=== added file 'mysql-test/include/uninstall_semisync.inc'
--- mysql-test/include/uninstall_semisync.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/include/uninstall_semisync.inc 2013-11-27 10:38:56 +0000
@@ -0,0 +1,23 @@
1#
2# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
3#
4--let $include_filename= uninstall_semisync.inc
5--source include/begin_include_file.inc
6
7--disable_query_log
8--connection slave
9--source include/stop_slave_io.inc
10
11# Uninstall rpl_semi_sync_slave first
12--disable_warnings
13UNINSTALL PLUGIN rpl_semi_sync_slave;
14
15--connection master
16UNINSTALL PLUGIN rpl_semi_sync_master;
17--enable_warnings
18
19--connection slave
20--source include/start_slave_io.inc
21--enable_query_log
22
23--source include/end_include_file.inc
024
=== modified file 'mysql-test/lib/My/CoreDump.pm'
--- mysql-test/lib/My/CoreDump.pm 2012-04-20 05:23:24 +0000
+++ mysql-test/lib/My/CoreDump.pm 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1# -*- cperl -*-1# -*- cperl -*-
2# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
3#3#
4# This program is free software; you can redistribute it and/or modify4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by5# it under the terms of the GNU General Public License as published by
@@ -261,13 +261,17 @@
261261
262262
263sub show {263sub show {
264 my ($class, $core_name, $exe_mysqld)= @_;264 my ($class, $core_name, $exe_mysqld, $parallel)= @_;
265 $hint_mysqld= $exe_mysqld;265 $hint_mysqld= $exe_mysqld;
266266
267 # On Windows, rely on cdb to be there...267 # On Windows, rely on cdb to be there...
268 if (IS_WINDOWS)268 if (IS_WINDOWS)
269 {269 {
270 _cdb($core_name);270 # Starting cdb is unsafe when used with --parallel > 1 option
271 if ( $parallel < 2 )
272 {
273 _cdb($core_name);
274 }
271 return;275 return;
272 }276 }
273 277
274278
=== modified file 'mysql-test/lib/My/SafeProcess/CMakeLists.txt'
--- mysql-test/lib/My/SafeProcess/CMakeLists.txt 2013-02-26 05:45:28 +0000
+++ mysql-test/lib/My/SafeProcess/CMakeLists.txt 2013-11-27 10:38:56 +0000
@@ -1,4 +1,4 @@
1# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
2# 2#
3# This program is free software; you can redistribute it and/or modify3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by4# it under the terms of the GNU General Public License as published by
@@ -13,6 +13,10 @@
13# along with this program; if not, write to the Free Software13# along with this program; if not, write to the Free Software
14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515
16IF (NOT INSTALL_MYSQLTESTDIR)
17 RETURN()
18ENDIF()
19
16SET(INSTALL_ARGS 20SET(INSTALL_ARGS
17 DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" 21 DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess"
18 COMPONENT Test22 COMPONENT Test
@@ -25,8 +29,16 @@
25 MYSQL_ADD_EXECUTABLE(my_safe_process safe_process.cc ${INSTALL_ARGS})29 MYSQL_ADD_EXECUTABLE(my_safe_process safe_process.cc ${INSTALL_ARGS})
26ENDIF()30ENDIF()
2731
28INSTALL(TARGETS my_safe_process DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test)32INSTALL(TARGETS my_safe_process
33 DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test
34)
35
29IF(WIN32)36IF(WIN32)
30 INSTALL(TARGETS my_safe_kill DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test)37 INSTALL(TARGETS my_safe_kill
38 DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test
39 )
31ENDIF()40ENDIF()
32INSTALL(FILES Base.pm DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test)41
42INSTALL(FILES Base.pm
43 DESTINATION "${INSTALL_MYSQLTESTDIR}/lib/My/SafeProcess" COMPONENT Test
44)
3345
=== modified file 'mysql-test/lib/My/SafeProcess/safe_process.cc'
--- mysql-test/lib/My/SafeProcess/safe_process.cc 2013-02-26 05:45:28 +0000
+++ mysql-test/lib/My/SafeProcess/safe_process.cc 2013-11-27 10:38:56 +0000
@@ -11,7 +11,7 @@
1111
12 You should have received a copy of the GNU General Public License12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
1515
1616
17/*17/*
1818
=== modified file 'mysql-test/lib/My/SysInfo.pm'
--- mysql-test/lib/My/SysInfo.pm 2012-03-06 14:29:42 +0000
+++ mysql-test/lib/My/SysInfo.pm 2013-11-27 10:38:56 +0000
@@ -1,5 +1,5 @@
1# -*- cperl -*-1# -*- cperl -*-
2# Copyright (c) 2008 MySQL AB, 2008 Sun Microsystems, Inc.2# Copyright (c) 2013 MySQL AB, 2008 Sun Microsystems, Inc.
3# Use is subject to license terms.3# Use is subject to license terms.
4#4#
5# This program is free software; you can redistribute it and/or modify5# This program is free software; you can redistribute it and/or modify
@@ -60,7 +60,7 @@
60 }60 }
6161
62 # Make sure bogomips is set to some value62 # Make sure bogomips is set to some value
63 $cpuinfo->{bogomips} |= DEFAULT_BOGO_MIPS;63 $cpuinfo->{bogomips} ||= DEFAULT_BOGO_MIPS;
6464
65 # Cpus reported once, but with 'cpu_count' set to the actual number65 # Cpus reported once, but with 'cpu_count' set to the actual number
66 my $cpu_count= $cpuinfo->{cpu_count} || 1;66 my $cpu_count= $cpuinfo->{cpu_count} || 1;
6767
=== modified file 'mysql-test/lib/v1/mysql-test-run.pl'
--- mysql-test/lib/v1/mysql-test-run.pl 2013-02-26 05:45:28 +0000
+++ mysql-test/lib/v1/mysql-test-run.pl 2013-11-27 10:38:56 +0000
@@ -1,7 +1,7 @@
1#!/usr/bin/perl1#!/usr/bin/perl
2# -*- cperl -*-2# -*- cperl -*-
33
4# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.4# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
5# 5#
6# This program is free software; you can redistribute it and/or modify6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by7# it under the terms of the GNU General Public License as published by
@@ -133,7 +133,6 @@
133our $path_snapshot;133our $path_snapshot;
134our $path_mysqltest_log;134our $path_mysqltest_log;
135our $path_current_test_log;135our $path_current_test_log;
136our $path_my_basedir;
137136
138our $opt_vardir; # A path but set directly on cmd line137our $opt_vardir; # A path but set directly on cmd line
139our $path_vardir_trace; # unix formatted opt_vardir for trace files138our $path_vardir_trace; # unix formatted opt_vardir for trace files
@@ -765,8 +764,6 @@
765 $glob_mysql_bench_dir= undef764 $glob_mysql_bench_dir= undef
766 unless -d $glob_mysql_bench_dir;765 unless -d $glob_mysql_bench_dir;
767766
768 $path_my_basedir=
769 $source_dist ? $glob_mysql_test_dir : $glob_basedir;
770767
771 $glob_timers= mtr_init_timers();768 $glob_timers= mtr_init_timers();
772769
@@ -3142,7 +3139,7 @@
3142 mtr_init_args(\$args);3139 mtr_init_args(\$args);
3143 mtr_add_arg($args, "--no-defaults");3140 mtr_add_arg($args, "--no-defaults");
3144 mtr_add_arg($args, "--bootstrap");3141 mtr_add_arg($args, "--bootstrap");
3145 mtr_add_arg($args, "--basedir=%s", $path_my_basedir);3142 mtr_add_arg($args, "--basedir=%s", $glob_basedir);
3146 mtr_add_arg($args, "--datadir=%s", $data_dir);3143 mtr_add_arg($args, "--datadir=%s", $data_dir);
3147 mtr_add_arg($args, "--loose-skip-ndbcluster");3144 mtr_add_arg($args, "--loose-skip-ndbcluster");
3148 mtr_add_arg($args, "--tmpdir=.");3145 mtr_add_arg($args, "--tmpdir=.");
@@ -3292,7 +3289,7 @@
3292log-error = $instance->{path_datadir}/mysqld$server_id.err.log3289log-error = $instance->{path_datadir}/mysqld$server_id.err.log
3293log-slow-queries = $instance->{path_datadir}/mysqld$server_id.slow.log3290log-slow-queries = $instance->{path_datadir}/mysqld$server_id.slow.log
3294character-sets-dir = $path_charsetsdir3291character-sets-dir = $path_charsetsdir
3295basedir = $path_my_basedir3292basedir = $glob_basedir
3296server_id = $server_id3293server_id = $server_id
3297shutdown-delay = 103294shutdown-delay = 10
3298skip-stack-trace3295skip-stack-trace
@@ -3883,7 +3880,7 @@
38833880
3884 mtr_add_arg($args, "%s--no-defaults", $prefix);3881 mtr_add_arg($args, "%s--no-defaults", $prefix);
38853882
3886 mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir);3883 mtr_add_arg($args, "%s--basedir=%s", $prefix, $glob_basedir);
3887 mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);3884 mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
38883885
3889 if ( $mysql_version_id >= 50036)3886 if ( $mysql_version_id >= 50036)
@@ -4075,7 +4072,7 @@
4075 }4072 }
40764073
4077 mtr_add_arg($args, "%s--key_buffer_size=1M", $prefix);4074 mtr_add_arg($args, "%s--key_buffer_size=1M", $prefix);
4078 mtr_add_arg($args, "%s--sort_buffer=256K", $prefix);4075 mtr_add_arg($args, "%s--sort_buffer_size=256K", $prefix);
4079 mtr_add_arg($args, "%s--max_heap_table_size=1M", $prefix);4076 mtr_add_arg($args, "%s--max_heap_table_size=1M", $prefix);
40804077
4081 if ( $opt_ssl_supported )4078 if ( $opt_ssl_supported )
40824079
=== modified file 'mysql-test/mysql-test-run.pl'
--- mysql-test/mysql-test-run.pl 2013-02-20 09:31:47 +0000
+++ mysql-test/mysql-test-run.pl 2013-11-27 10:38:56 +0000
@@ -646,7 +646,7 @@
646 mtr_report(" - found '$core_name'",646 mtr_report(" - found '$core_name'",
647 "($num_saved_cores/$opt_max_save_core)");647 "($num_saved_cores/$opt_max_save_core)");
648648
649 My::CoreDump->show($core_file, $exe_mysqld);649 My::CoreDump->show($core_file, $exe_mysqld, $opt_parallel);
650650
651 if ($num_saved_cores >= $opt_max_save_core) {651 if ($num_saved_cores >= $opt_max_save_core) {
652 mtr_report(" - deleting it, already saved",652 mtr_report(" - deleting it, already saved",
@@ -2059,7 +2059,17 @@
2059 }2059 }
2060 else2060 else
2061 {2061 {
2062 $exe_mysqltest= mtr_exe_exists("$path_client_bindir/mysqltest");2062 if ( defined $ENV{'MYSQL_TEST'} )
2063 {
2064 $exe_mysqltest=$ENV{'MYSQL_TEST'};
2065 print "===========================================================\n";
2066 print "WARNING:The mysqltest binary is fetched from $exe_mysqltest\n";
2067 print "===========================================================\n";
2068 }
2069 else
2070 {
2071 $exe_mysqltest= mtr_exe_exists("$path_client_bindir/mysqltest");
2072 }
2063 }2073 }
20642074
2065}2075}
@@ -2215,7 +2225,7 @@
2215 mtr_error("Lines in $defs_file must have 3 or 4 items") unless $plug_var;2225 mtr_error("Lines in $defs_file must have 3 or 4 items") unless $plug_var;
22162226
2217 # If running debug server, plugins will be in 'debug' subdirectory2227 # If running debug server, plugins will be in 'debug' subdirectory
2218 $plug_file= "debug/$plug_file" if $running_debug;2228 $plug_file= "debug/$plug_file" if $running_debug && !$source_dist;
22192229
2220 my ($plugin)= find_plugin($plug_file, $plug_loc);2230 my ($plugin)= find_plugin($plug_file, $plug_loc);
22212231
22222232
=== modified file 'mysql-test/purify.supp'
--- mysql-test/purify.supp 2010-12-28 18:57:23 +0000
+++ mysql-test/purify.supp 2013-11-27 10:38:56 +0000
@@ -12,8 +12,8 @@
12#12#
13# You should have received a copy of the GNU Library General Public13# You should have received a copy of the GNU Library General Public
14# License along with this library; if not, write to the Free14# License along with this library; if not, write to the Free
15# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,15# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16# MA 02111-1307, USA16# MA 02110-1301, USA
1717
18suppress UMR rw_read_held; mi_open; ha_myisam::open64; handler::ha_open; openfrm18suppress UMR rw_read_held; mi_open; ha_myisam::open64; handler::ha_open; openfrm
19suppress UMR my_end; main19suppress UMR my_end; main
2020
=== modified file 'mysql-test/r/auth_rpl.result'
--- mysql-test/r/auth_rpl.result 2012-03-30 04:28:39 +0000
+++ mysql-test/r/auth_rpl.result 2013-11-27 10:38:56 +0000
@@ -1,7 +1,7 @@
1include/master-slave.inc1include/master-slave.inc
2Warnings:2Warnings:
3Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.3Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.4Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
5[connection master]5[connection master]
6[connection slave]6[connection slave]
7include/stop_slave.inc7include/stop_slave.inc
@@ -16,7 +16,7 @@
16MASTER_RETRY_COUNT= 0;16MASTER_RETRY_COUNT= 0;
17Warnings:17Warnings:
18Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.18Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
19Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.19Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
20include/start_slave.inc20include/start_slave.inc
21# Slave in-sync with master now.21# Slave in-sync with master now.
22SELECT user, plugin, authentication_string FROM mysql.user WHERE user LIKE 'plug_user';22SELECT user, plugin, authentication_string FROM mysql.user WHERE user LIKE 'plug_user';
@@ -27,7 +27,7 @@
27CHANGE MASTER TO MASTER_USER='root';27CHANGE MASTER TO MASTER_USER='root';
28Warnings:28Warnings:
29Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.29Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
30Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.30Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
31DROP USER 'plug_user';31DROP USER 'plug_user';
32# Cleanup (on master).32# Cleanup (on master).
33DROP USER 'plug_user';33DROP USER 'plug_user';
3434
=== modified file 'mysql-test/r/create.result'
--- mysql-test/r/create.result 2012-10-22 08:08:04 +0000
+++ mysql-test/r/create.result 2013-11-27 10:38:56 +0000
@@ -878,9 +878,10 @@
878unlock tables;878unlock tables;
879lock table t1 read, t2 read;879lock table t1 read, t2 read;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: