Merge lp:~laurynas-biveinis/percona-server/merge-5.6.11 into lp:percona-server/5.6

Proposed by Laurynas Biveinis
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 351
Proposed branch: lp:~laurynas-biveinis/percona-server/merge-5.6.11
Merge into: lp:percona-server/5.6
Prerequisite: lp:~laurynas-biveinis/percona-server/5.6-merge-1
Diff against target: 265040 lines (+139468/-89849)
832 files modified
Percona-Server/BUILD-CMAKE (+3/-1)
Percona-Server/BUILD/SETUP.sh (+1/-1)
Percona-Server/BUILD/build_mccge.sh (+1/-1)
Percona-Server/BUILD/compile-pentium (+1/-1)
Percona-Server/Docs/glibc-2.2.5.patch (+0/-137)
Percona-Server/Docs/linuxthreads.txt (+0/-19)
Percona-Server/README (+1/-1)
Percona-Server/VERSION (+1/-1)
Percona-Server/client/completion_hash.h (+2/-1)
Percona-Server/client/echo.c (+2/-1)
Percona-Server/client/mysql.cc (+2/-2)
Percona-Server/client/mysql_config_editor.cc (+57/-8)
Percona-Server/client/mysql_plugin.c (+1/-1)
Percona-Server/client/mysql_upgrade.c (+55/-9)
Percona-Server/client/mysqlbinlog.cc (+26/-7)
Percona-Server/client/mysqlcheck.c (+71/-28)
Percona-Server/client/mysqldump.c (+3/-3)
Percona-Server/client/mysqltest.cc (+11/-13)
Percona-Server/client/sql_string.cc (+2/-2)
Percona-Server/cmake/build_configurations/mysql_release.cmake (+1/-1)
Percona-Server/cmake/configure.pl (+1/-1)
Percona-Server/cmake/cpu_info.cmake (+1/-1)
Percona-Server/cmake/create_initial_db.cmake.in (+2/-2)
Percona-Server/cmake/dtrace.cmake (+18/-19)
Percona-Server/cmake/install_macros.cmake (+1/-1)
Percona-Server/cmake/libevent.cmake (+1/-1)
Percona-Server/cmake/libutils.cmake (+3/-2)
Percona-Server/cmake/maintainer.cmake (+1/-1)
Percona-Server/cmake/make_dist.cmake.in (+1/-1)
Percona-Server/cmake/mysql_version.cmake (+1/-1)
Percona-Server/cmake/os/Darwin.cmake (+1/-1)
Percona-Server/cmake/os/Windows.cmake (+1/-1)
Percona-Server/cmake/package_name.cmake (+1/-1)
Percona-Server/cmake/plugin.cmake (+1/-1)
Percona-Server/cmake/readline.cmake (+1/-2)
Percona-Server/cmake/ssl.cmake (+43/-11)
Percona-Server/cmake/zlib.cmake (+8/-4)
Percona-Server/cmd-line-utils/libedit/CMakeLists.txt (+2/-2)
Percona-Server/cmd-line-utils/libedit/np/unvis.c (+2/-0)
Percona-Server/cmd-line-utils/libedit/np/vis.c (+2/-0)
Percona-Server/config.h.cmake (+2/-2)
Percona-Server/configure.cmake (+16/-2)
Percona-Server/extra/charset2html.c (+2/-1)
Percona-Server/extra/comp_err.c (+1/-1)
Percona-Server/extra/perror.c (+2/-2)
Percona-Server/extra/yassl/CMakeLists.txt (+1/-1)
Percona-Server/extra/yassl/examples/client/client.cpp (+1/-1)
Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp (+1/-1)
Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp (+1/-1)
Percona-Server/extra/yassl/examples/server/server.cpp (+1/-1)
Percona-Server/extra/yassl/include/buffer.hpp (+1/-1)
Percona-Server/extra/yassl/include/cert_wrapper.hpp (+1/-1)
Percona-Server/extra/yassl/include/crypto_wrapper.hpp (+1/-1)
Percona-Server/extra/yassl/include/factory.hpp (+1/-1)
Percona-Server/extra/yassl/include/handshake.hpp (+1/-1)
Percona-Server/extra/yassl/include/lock.hpp (+1/-1)
Percona-Server/extra/yassl/include/log.hpp (+1/-1)
Percona-Server/extra/yassl/include/openssl/prefix_ssl.h (+1/-1)
Percona-Server/extra/yassl/include/openssl/ssl.h (+1/-1)
Percona-Server/extra/yassl/include/socket_wrapper.hpp (+1/-1)
Percona-Server/extra/yassl/include/timer.hpp (+1/-1)
Percona-Server/extra/yassl/include/yassl.hpp (+1/-1)
Percona-Server/extra/yassl/include/yassl_error.hpp (+3/-3)
Percona-Server/extra/yassl/include/yassl_imp.hpp (+1/-2)
Percona-Server/extra/yassl/include/yassl_int.hpp (+1/-1)
Percona-Server/extra/yassl/include/yassl_types.hpp (+6/-3)
Percona-Server/extra/yassl/src/buffer.cpp (+1/-2)
Percona-Server/extra/yassl/src/cert_wrapper.cpp (+1/-1)
Percona-Server/extra/yassl/src/crypto_wrapper.cpp (+1/-1)
Percona-Server/extra/yassl/src/handshake.cpp (+36/-1)
Percona-Server/extra/yassl/src/lock.cpp (+1/-1)
Percona-Server/extra/yassl/src/log.cpp (+1/-1)
Percona-Server/extra/yassl/src/make.bat (+1/-1)
Percona-Server/extra/yassl/src/socket_wrapper.cpp (+1/-1)
Percona-Server/extra/yassl/src/ssl.cpp (+1/-1)
Percona-Server/extra/yassl/src/template_instnt.cpp (+1/-1)
Percona-Server/extra/yassl/src/timer.cpp (+1/-1)
Percona-Server/extra/yassl/src/yassl.cpp (+1/-1)
Percona-Server/extra/yassl/src/yassl_error.cpp (+5/-1)
Percona-Server/extra/yassl/src/yassl_imp.cpp (+173/-27)
Percona-Server/extra/yassl/src/yassl_int.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/benchmark/make.bat (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/aes.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/algebra.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/arc4.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/asn.hpp (+7/-4)
Percona-Server/extra/yassl/taocrypt/include/block.hpp (+1/-2)
Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/coding.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/des.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/dh.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/dsa.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/error.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/file.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/hash.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/hc128.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/hmac.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/integer.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/md2.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/md4.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/md5.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/misc.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/modarith.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/modes.hpp (+1/-2)
Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/random.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/ripemd.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/rsa.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/runtime.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/sha.hpp (+7/-1)
Percona-Server/extra/yassl/taocrypt/include/twofish.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/type_traits.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/include/types.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/algorithm.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/helpers.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/list.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/memory.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/memory_array.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/pair.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/aes.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/aestables.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/algebra.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/arc4.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/asn.cpp (+41/-3)
Percona-Server/extra/yassl/taocrypt/src/bftables.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/coding.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/des.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/dh.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/dsa.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/file.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/hash.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/hc128.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/integer.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/make.bat (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/md2.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/md4.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/md5.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/misc.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/random.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/rsa.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/sha.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/tftables.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/src/twofish.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/test/make.bat (+1/-1)
Percona-Server/extra/yassl/taocrypt/test/memory.cpp (+1/-1)
Percona-Server/extra/yassl/taocrypt/test/test.cpp (+1/-1)
Percona-Server/extra/yassl/testsuite/make.bat (+1/-1)
Percona-Server/extra/yassl/testsuite/test.hpp (+1/-1)
Percona-Server/extra/yassl/testsuite/testsuite.cpp (+1/-1)
Percona-Server/include/errmsg.h (+1/-1)
Percona-Server/include/ft_global.h (+1/-1)
Percona-Server/include/m_ctype.h (+1/-1)
Percona-Server/include/m_string.h (+1/-1)
Percona-Server/include/my_atomic.h (+1/-1)
Percona-Server/include/my_base.h (+3/-2)
Percona-Server/include/my_dbug.h (+1/-1)
Percona-Server/include/my_pthread.h (+1/-1)
Percona-Server/include/my_sys.h (+3/-1)
Percona-Server/include/my_time.h (+1/-1)
Percona-Server/include/my_user.h (+2/-1)
Percona-Server/include/my_xml.h (+1/-1)
Percona-Server/include/mysql.h (+1/-1)
Percona-Server/include/mysql/plugin.h (+2/-1)
Percona-Server/include/mysql/plugin_audit.h.pp (+1/-0)
Percona-Server/include/mysql/plugin_auth.h.pp (+1/-0)
Percona-Server/include/mysql/plugin_auth_common.h (+1/-1)
Percona-Server/include/mysql/plugin_ftparser.h.pp (+1/-0)
Percona-Server/include/mysql/psi/mysql_file.h (+1/-1)
Percona-Server/include/mysql/psi/mysql_idle.h (+1/-1)
Percona-Server/include/mysql/psi/mysql_stage.h (+1/-1)
Percona-Server/include/mysql/psi/psi.h (+2/-2)
Percona-Server/include/mysql/psi/psi_abi_v1.h.pp (+1/-1)
Percona-Server/include/mysql/service_my_snprintf.h (+2/-1)
Percona-Server/include/mysql/services.h (+1/-1)
Percona-Server/include/mysql_version.h.in (+2/-1)
Percona-Server/include/password.h (+1/-1)
Percona-Server/include/service_versions.h (+1/-1)
Percona-Server/include/sha1.h (+1/-2)
Percona-Server/include/sslopt-longopts.h (+1/-1)
Percona-Server/include/violite.h (+47/-33)
Percona-Server/include/welcome_copyright_notice.h (+1/-1)
Percona-Server/libmysql/CMakeLists.txt (+5/-2)
Percona-Server/libmysql/libmysql.c (+8/-1)
Percona-Server/libmysqld/lib_sql.cc (+1/-1)
Percona-Server/mysql-test/collections/default.daily (+3/-0)
Percona-Server/mysql-test/collections/default.experimental (+2/-6)
Percona-Server/mysql-test/collections/default.push (+1/-1)
Percona-Server/mysql-test/collections/default.release.in (+1/-1)
Percona-Server/mysql-test/collections/default.weekly (+2/-2)
Percona-Server/mysql-test/collections/disabled-gtid-on.list (+5/-169)
Percona-Server/mysql-test/extra/binlog_tests/binlog_implicit_commit.inc (+60/-0)
Percona-Server/mysql-test/extra/binlog_tests/binlog_innodb.inc (+171/-0)
Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_row.inc (+484/-0)
Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_start_stop.inc (+91/-0)
Percona-Server/mysql-test/extra/binlog_tests/blackhole.test (+1/-1)
Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc (+4/-0)
Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc (+1/-1)
Percona-Server/mysql-test/extra/rpl_tests/delayed_slave_wait_on_query.inc (+4/-4)
Percona-Server/mysql-test/extra/rpl_tests/rpl_deadlock.test (+6/-4)
Percona-Server/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc (+5/-0)
Percona-Server/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test (+12/-3)
Percona-Server/mysql-test/include/assert.inc (+1/-1)
Percona-Server/mysql-test/include/filter_file.inc (+6/-2)
Percona-Server/mysql-test/include/function_defaults.inc (+15/-8)
Percona-Server/mysql-test/include/get_relay_log_pos.inc (+1/-1)
Percona-Server/mysql-test/include/have_log_bin.inc (+1/-0)
Percona-Server/mysql-test/include/mysqld--help.inc (+2/-0)
Percona-Server/mysql-test/include/not_gtid_enabled.inc (+1/-1)
Percona-Server/mysql-test/include/not_ssl.inc (+4/-0)
Percona-Server/mysql-test/include/rpl_assert.inc (+0/-130)
Percona-Server/mysql-test/include/rpl_init.inc (+0/-3)
Percona-Server/mysql-test/include/rpl_sync.inc (+2/-0)
Percona-Server/mysql-test/include/select.inc (+1/-1)
Percona-Server/mysql-test/include/show_rpl_debug_info.inc (+4/-0)
Percona-Server/mysql-test/include/sync_slave_io.inc (+3/-3)
Percona-Server/mysql-test/mysql-test-run.pl (+39/-21)
Percona-Server/mysql-test/r/bench_count_distinct.result (+1/-1)
Percona-Server/mysql-test/r/change_user.result (+1/-1)
Percona-Server/mysql-test/r/connect.result (+7/-2)
Percona-Server/mysql-test/r/disabled_replication.result (+1/-1)
Percona-Server/mysql-test/r/disconnect_on_expired_password_default.result (+2/-2)
Percona-Server/mysql-test/r/distinct.result (+14/-14)
Percona-Server/mysql-test/r/explain.result (+1/-1)
Percona-Server/mysql-test/r/explain_json_all.result (+6/-0)
Percona-Server/mysql-test/r/explain_json_none.result (+6/-0)
Percona-Server/mysql-test/r/func_compress.result (+2/-2)
Percona-Server/mysql-test/r/func_group_innodb_16k.result (+1/-1)
Percona-Server/mysql-test/r/func_math.result (+4/-4)
Percona-Server/mysql-test/r/function_defaults.result (+153/-105)
Percona-Server/mysql-test/r/group_by.result (+20/-20)
Percona-Server/mysql-test/r/group_min_max.result (+151/-151)
Percona-Server/mysql-test/r/group_min_max_innodb.result (+4/-4)
Percona-Server/mysql-test/r/implicit_char_to_num_conversion.result (+4/-0)
Percona-Server/mysql-test/r/innodb_explain_json_non_select_all.result (+44/-101)
Percona-Server/mysql-test/r/innodb_explain_json_non_select_none.result (+44/-101)
Percona-Server/mysql-test/r/innodb_explain_non_select_all.result (+42/-42)
Percona-Server/mysql-test/r/innodb_explain_non_select_none.result (+42/-42)
Percona-Server/mysql-test/r/join.result (+1/-1)
Percona-Server/mysql-test/r/join_cache_bka.result (+4/-4)
Percona-Server/mysql-test/r/join_cache_bka_nixbnl.result (+4/-4)
Percona-Server/mysql-test/r/join_cache_bkaunique.result (+4/-4)
Percona-Server/mysql-test/r/join_cache_bnl.result (+4/-4)
Percona-Server/mysql-test/r/join_cache_nojb.result (+4/-4)
Percona-Server/mysql-test/r/key.result (+4/-4)
Percona-Server/mysql-test/r/log_tables_upgrade.result (+4/-2)
Percona-Server/mysql-test/r/myisam_explain_json_non_select_all.result (+44/-101)
Percona-Server/mysql-test/r/myisam_explain_json_non_select_none.result (+44/-101)
Percona-Server/mysql-test/r/myisam_explain_non_select_all.result (+42/-42)
Percona-Server/mysql-test/r/myisam_explain_non_select_none.result (+42/-42)
Percona-Server/mysql-test/r/mysql_config_editor.result (+39/-2)
Percona-Server/mysql-test/r/mysql_upgrade.result (+36/-20)
Percona-Server/mysql-test/r/mysql_upgrade_ssl.result (+4/-2)
Percona-Server/mysql-test/r/mysqld--help-notwin.result (+8/-2)
Percona-Server/mysql-test/r/mysqld--help-win.result (+12/-1)
Percona-Server/mysql-test/r/mysqlshow.result (+16/-18)
Percona-Server/mysql-test/r/not_ssl.require (+2/-0)
Percona-Server/mysql-test/r/order_by_all.result (+2/-2)
Percona-Server/mysql-test/r/order_by_icp_mrr.result (+2/-2)
Percona-Server/mysql-test/r/order_by_none.result (+2/-2)
Percona-Server/mysql-test/r/partition.result (+2/-2)
Percona-Server/mysql-test/r/partition_explicit_prune.result (+3/-3)
Percona-Server/mysql-test/r/partition_locking.result (+48/-48)
Percona-Server/mysql-test/r/percona_innodb_version.result (+1/-1)
Percona-Server/mysql-test/r/plugin_auth.result (+10/-4)
Percona-Server/mysql-test/r/plugin_auth_qa.result (+2/-0)
Percona-Server/mysql-test/r/plugin_auth_qa_1.result (+1/-0)
Percona-Server/mysql-test/r/rewrite_general_log.result (+1/-1)
Percona-Server/mysql-test/r/select_all.result (+3/-3)
Percona-Server/mysql-test/r/select_all_bka.result (+3/-3)
Percona-Server/mysql-test/r/select_all_bka_nixbnl.result (+3/-3)
Percona-Server/mysql-test/r/select_found.result (+1/-1)
Percona-Server/mysql-test/r/select_icp_mrr.result (+3/-3)
Percona-Server/mysql-test/r/select_icp_mrr_bka.result (+3/-3)
Percona-Server/mysql-test/r/select_icp_mrr_bka_nixbnl.result (+3/-3)
Percona-Server/mysql-test/r/select_none.result (+3/-3)
Percona-Server/mysql-test/r/select_none_bka.result (+3/-3)
Percona-Server/mysql-test/r/select_none_bka_nixbnl.result (+3/-3)
Percona-Server/mysql-test/r/show_check.result (+9/-9)
Percona-Server/mysql-test/r/ssl-sha512.result (+13/-0)
Percona-Server/mysql-test/r/subquery_all.result (+3/-3)
Percona-Server/mysql-test/r/subquery_all_bka.result (+3/-3)
Percona-Server/mysql-test/r/subquery_all_bka_nixbnl.result (+3/-3)
Percona-Server/mysql-test/r/subquery_mat.result (+8/-8)
Percona-Server/mysql-test/r/subquery_mat_all.result (+8/-8)
Percona-Server/mysql-test/r/subquery_mat_none.result (+8/-8)
Percona-Server/mysql-test/r/subquery_nomat_nosj.result (+3/-3)
Percona-Server/mysql-test/r/subquery_nomat_nosj_bka.result (+3/-3)
Percona-Server/mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result (+3/-3)
Percona-Server/mysql-test/r/subquery_none.result (+2/-2)
Percona-Server/mysql-test/r/subquery_none_bka.result (+2/-2)
Percona-Server/mysql-test/r/subquery_none_bka_nixbnl.result (+2/-2)
Percona-Server/mysql-test/r/subquery_sj_loosescan.result (+4/-4)
Percona-Server/mysql-test/r/subquery_sj_loosescan_bka.result (+4/-4)
Percona-Server/mysql-test/r/subquery_sj_loosescan_bkaunique.result (+4/-4)
Percona-Server/mysql-test/r/type_bit.result (+1/-1)
Percona-Server/mysql-test/r/type_float.result (+1/-1)
Percona-Server/mysql-test/r/type_ranges.result (+1/-1)
Percona-Server/mysql-test/r/type_temporal_fractional.result (+1/-1)
Percona-Server/mysql-test/r/type_timestamp.result (+0/-51)
Percona-Server/mysql-test/r/type_timestamp_explicit.result (+790/-0)
Percona-Server/mysql-test/r/user_var.result (+3/-3)
Percona-Server/mysql-test/r/variables.result (+29/-1)
Percona-Server/mysql-test/r/wl6219-upgrade.result (+5/-3)
Percona-Server/mysql-test/r/wl6443_deprecation.result (+12/-6)
Percona-Server/mysql-test/std_data/ca-sha512.pem (+20/-0)
Percona-Server/mysql-test/std_data/server-cert-sha512.pem (+20/-0)
Percona-Server/mysql-test/std_data/server-key-sha512.pem (+27/-0)
Percona-Server/mysql-test/suite/auth_sec/include/have_openssl.inc (+4/-0)
Percona-Server/mysql-test/suite/auth_sec/include/have_sha256_rsa_auth.inc (+5/-0)
Percona-Server/mysql-test/suite/auth_sec/include/have_ssl.inc (+4/-0)
Percona-Server/mysql-test/suite/auth_sec/include/have_ssl_communication.inc (+4/-0)
Percona-Server/mysql-test/suite/auth_sec/include/mysql_upgrade_preparation.inc (+30/-0)
Percona-Server/mysql-test/suite/auth_sec/include/not_embedded.inc (+5/-0)
Percona-Server/mysql-test/suite/auth_sec/include/not_openssl.inc (+4/-0)
Percona-Server/mysql-test/suite/auth_sec/include/not_sha256_rsa_auth.inc (+5/-0)
Percona-Server/mysql-test/suite/auth_sec/include/not_ssl.inc (+4/-0)
Percona-Server/mysql-test/suite/auth_sec/r/access_credential_control.result (+672/-0)
Percona-Server/mysql-test/suite/auth_sec/r/have_mysql_upgrade.result (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/have_ssl.require (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/key_value_auth.result (+439/-0)
Percona-Server/mysql-test/suite/auth_sec/r/mysql_native_plugin.result (+229/-0)
Percona-Server/mysql-test/suite/auth_sec/r/mysql_old_passwords.result (+650/-0)
Percona-Server/mysql-test/suite/auth_sec/r/mysql_old_plugin.result (+249/-0)
Percona-Server/mysql-test/suite/auth_sec/r/mysql_sha256_plugin.result (+230/-0)
Percona-Server/mysql-test/suite/auth_sec/r/not_embedded.require (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/not_openssl.require (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/not_ssl.require (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/openssl.require (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/r/password_expired.result (+813/-0)
Percona-Server/mysql-test/suite/auth_sec/r/server_withoutssl_client_withoutssl.result (+408/-0)
Percona-Server/mysql-test/suite/auth_sec/r/server_withoutssl_client_withssl.result (+218/-0)
Percona-Server/mysql-test/suite/auth_sec/r/server_withssl_client_withoutssl.result (+560/-0)
Percona-Server/mysql-test/suite/auth_sec/r/server_withssl_client_withssl.result (+544/-0)
Percona-Server/mysql-test/suite/auth_sec/t/access_credential_control-master.opt (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/t/access_credential_control.test (+1266/-0)
Percona-Server/mysql-test/suite/auth_sec/t/key_value_auth-master.opt (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/t/key_value_auth.test (+1145/-0)
Percona-Server/mysql-test/suite/auth_sec/t/key_value_auth.test_old (+1197/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_native_plugin.test (+1029/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_old_passwords-master.opt (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_old_passwords.test (+1028/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_old_plugin.test (+1017/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_old_plugin.test_old (+997/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_sha256_plugin-master.opt (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/t/mysql_sha256_plugin.test (+1013/-0)
Percona-Server/mysql-test/suite/auth_sec/t/password_expired-master.opt (+2/-0)
Percona-Server/mysql-test/suite/auth_sec/t/password_expired.test (+1419/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withoutssl_client_withoutssl.test (+718/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withoutssl_client_withssl.test (+762/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withssl_client_withoutssl-master.opt (+7/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withssl_client_withoutssl.test (+751/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withssl_client_withssl-master.opt (+7/-0)
Percona-Server/mysql-test/suite/auth_sec/t/server_withssl_client_withssl.test (+762/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_enforce_gtid_consistency.result (+10/-10)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_errors.result (+4/-4)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_implicit_commit.result (+345/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_innodb.result (+173/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row.result (+5402/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row_innodb.result (+4964/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row_myisam.result (+5004/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_start_stop.result (+1971/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_row_ctype_ucs.result (+39/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_gtid_stm_ctype_ucs.result (+44/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result (+27/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result (+27/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_server_id.result (+11/-28)
Percona-Server/mysql-test/suite/binlog/r/binlog_spurious_ddl_errors.result (+1/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_sql_mode.result (+1/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_start_comment.result (+1/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_stm_blackhole.result (+14/-14)
Percona-Server/mysql-test/suite/binlog/t/binlog_enforce_gtid_consistency.test (+13/-1)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_implicit_commit.test (+4/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_innodb.test (+5/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_row.test (+6/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_row_innodb.test (+27/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_row_myisam.test (+24/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_start_stop.test (+15/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_row_ctype_ucs.test (+7/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_gtid_stm_ctype_ucs.test (+7/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_implicit_commit.test (+3/-59)
Percona-Server/mysql-test/suite/binlog/t/binlog_innodb.test (+3/-173)
Percona-Server/mysql-test/suite/binlog/t/binlog_killed.test (+33/-6)
Percona-Server/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test (+3/-485)
Percona-Server/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test (+2/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam.test (+1/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test (+4/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_mysqlbinlog_start_stop.test (+4/-81)
Percona-Server/mysql-test/suite/binlog/t/binlog_row_ctype_ucs.test (+1/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_row_query_log_events.test (+9/-1)
Percona-Server/mysql-test/suite/binlog/t/binlog_server_id.test (+23/-13)
Percona-Server/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test (+3/-1)
Percona-Server/mysql-test/suite/binlog/t/binlog_sql_mode.test (+4/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_start_comment.test (+3/-0)
Percona-Server/mysql-test/suite/binlog/t/binlog_stm_ctype_ucs.test (+1/-0)
Percona-Server/mysql-test/suite/binlog/t/disabled.def (+0/-1)
Percona-Server/mysql-test/suite/innodb/include/innodb_stats_comp_index.inc (+5/-5)
Percona-Server/mysql-test/suite/innodb/r/innodb-autoinc-44030.result (+4/-3)
Percona-Server/mysql-test/suite/innodb/r/innodb-index-online-fk.result (+2/-17)
Percona-Server/mysql-test/suite/innodb/r/innodb-index.result (+2/-6)
Percona-Server/mysql-test/suite/innodb/r/innodb-wl5980-alter.result (+100/-172)
Percona-Server/mysql-test/suite/innodb/r/innodb.result (+0/-8)
Percona-Server/mysql-test/suite/innodb/r/innodb_bug11766634.result (+6/-0)
Percona-Server/mysql-test/suite/innodb/r/innodb_bug12661768.result (+1/-1)
Percona-Server/mysql-test/suite/innodb/r/innodb_bug13867871.result (+1/-0)
Percona-Server/mysql-test/suite/innodb/r/innodb_bug14147491.result (+15/-4)
Percona-Server/mysql-test/suite/innodb/r/innodb_cmp_per_index.result (+4/-4)
Percona-Server/mysql-test/suite/innodb/r/innodb_mysql.result (+7/-7)
Percona-Server/mysql-test/suite/innodb/r/innodb_wl6347_comp_indx_stat.result (+387/-443)
Percona-Server/mysql-test/suite/innodb/r/percona_bug_1133926.result (+0/-4)
Percona-Server/mysql-test/suite/innodb/r/percona_skip_innodb_i_s.result (+0/-1)
Percona-Server/mysql-test/suite/innodb/t/innodb-autoinc-44030.test (+5/-6)
Percona-Server/mysql-test/suite/innodb/t/innodb-index-online-fk.test (+3/-30)
Percona-Server/mysql-test/suite/innodb/t/innodb-index.test (+2/-3)
Percona-Server/mysql-test/suite/innodb/t/innodb-log-file-size-1.test (+2/-1)
Percona-Server/mysql-test/suite/innodb/t/innodb-log-file-size.test (+2/-1)
Percona-Server/mysql-test/suite/innodb/t/innodb-wl6445-1.test (+2/-1)
Percona-Server/mysql-test/suite/innodb/t/innodb-wl6445-2.test (+2/-0)
Percona-Server/mysql-test/suite/innodb/t/innodb-wl6445.test (+3/-0)
Percona-Server/mysql-test/suite/innodb/t/innodb_bug11766634.test (+5/-0)
Percona-Server/mysql-test/suite/innodb/t/innodb_bug12400341.test (+4/-0)
Percona-Server/mysql-test/suite/innodb/t/innodb_bug12661768.test (+1/-1)
Percona-Server/mysql-test/suite/innodb/t/innodb_bug13867871.test (+1/-2)
Percona-Server/mysql-test/suite/innodb/t/innodb_bug14147491.test (+45/-9)
Percona-Server/mysql-test/suite/innodb/t/innodb_cmp_per_index.test (+11/-0)
Percona-Server/mysql-test/suite/innodb/t/innodb_wl6347_comp_indx_stat.test (+167/-234)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_1133926.test (+0/-19)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_999147-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_999147.test (+29/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/fulltext.result (+1/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/fulltext2.result (+1/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/innodb-fts-basic.result (+18/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result (+108/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result (+2/-0)
Percona-Server/mysql-test/suite/innodb_fts/r/innodb_fts_opt.result (+77/-71)
Percona-Server/mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result (+321/-0)
Percona-Server/mysql-test/suite/innodb_fts/t/innodb-fts-basic.test (+10/-0)
Percona-Server/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test (+100/-0)
Percona-Server/mysql-test/suite/innodb_fts/t/innodb_fts_opt.test (+71/-71)
Percona-Server/mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test (+423/-0)
Percona-Server/mysql-test/suite/opt_trace/r/general2_no_prot.result (+20/-153)
Percona-Server/mysql-test/suite/opt_trace/r/general2_ps_prot.result (+20/-153)
Percona-Server/mysql-test/suite/opt_trace/r/range_no_prot.result (+2/-2)
Percona-Server/mysql-test/suite/opt_trace/r/range_ps_prot.result (+2/-2)
Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result (+11605/-11605)
Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_innodb.result (+32/-32)
Percona-Server/mysql-test/suite/parts/r/partition_alter1_2_innodb.result (+21002/-21002)
Percona-Server/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result (+40/-40)
Percona-Server/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result (+40/-40)
Percona-Server/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result (+11354/-11354)
Percona-Server/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result (+40/-40)
Percona-Server/mysql-test/suite/parts/r/partition_alter4_innodb.result (+208/-208)
Percona-Server/mysql-test/suite/parts/r/partition_basic_innodb.result (+23710/-23710)
Percona-Server/mysql-test/suite/parts/r/partition_engine_innodb.result (+11/-11)
Percona-Server/mysql-test/suite/perfschema/r/sizing_default.result (+3/-3)
Percona-Server/mysql-test/suite/perfschema/r/sizing_high.result (+3/-3)
Percona-Server/mysql-test/suite/perfschema/r/sizing_low.result (+3/-3)
Percona-Server/mysql-test/suite/perfschema/r/sizing_med.result (+3/-3)
Percona-Server/mysql-test/suite/perfschema/t/disabled.def (+0/-3)
Percona-Server/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result (+12/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result (+19/-5)
Percona-Server/mysql-test/suite/rpl/r/rpl_delayed_slave.result (+42/-42)
Percona-Server/mysql-test/suite/rpl/r/rpl_gtid_mode.result (+8/-8)
Percona-Server/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result (+9/-20)
Percona-Server/mysql-test/suite/rpl/r/rpl_init_slave_errors.result (+1/-1)
Percona-Server/mysql-test/suite/rpl/r/rpl_parallel_switch_sequential.result (+1/-1)
Percona-Server/mysql-test/suite/rpl/r/rpl_rewrt_db.result (+14/-21)
Percona-Server/mysql-test/suite/rpl/r/rpl_rotate_logs.result (+11/-11)
Percona-Server/mysql-test/suite/rpl/r/rpl_row_mts_crash_safe.result (+2737/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_row_mts_rec_crash_safe.result (+2737/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_row_until.result (+12/-10)
Percona-Server/mysql-test/suite/rpl/r/rpl_server_id2.result (+0/-2)
Percona-Server/mysql-test/suite/rpl/r/rpl_slow_query_log.result (+11/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_000001.result (+1/-1)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mixed_mts_crash_safe.result (+2737/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe.result (+2737/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe_checksum.result (+2737/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mixed_mts_rec_crash_safe_small.result (+2060/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mts_crash_safe.result (+0/-5363)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_mts_rec_crash_safe.result (+0/-5363)
Percona-Server/mysql-test/suite/rpl/r/rpl_stm_until.result (+7/-11)
Percona-Server/mysql-test/suite/rpl/t/disabled.def (+0/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test (+12/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_delayed_slave.test (+28/-28)
Percona-Server/mysql-test/suite/rpl/t/rpl_gtid_mode.test (+3/-3)
Percona-Server/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test (+19/-35)
Percona-Server/mysql-test/suite/rpl/t/rpl_init_slave_errors.test (+1/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_parallel_switch_sequential.test (+8/-4)
Percona-Server/mysql-test/suite/rpl/t/rpl_rewrt_db.test (+34/-22)
Percona-Server/mysql-test/suite/rpl/t/rpl_rotate_logs.test (+20/-20)
Percona-Server/mysql-test/suite/rpl/t/rpl_row_until.test (+53/-25)
Percona-Server/mysql-test/suite/rpl/t/rpl_server_id2.test (+0/-4)
Percona-Server/mysql-test/suite/rpl/t/rpl_slow_query_log.test (+44/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_000001.test (+1/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mixed_mts_rec_crash_safe_checksum.test (+1/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mixed_mts_rec_crash_safe_small-slave.opt (+1/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mixed_mts_rec_crash_safe_small.test (+16/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mts_crash_safe-slave.opt (+0/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mts_crash_safe.test (+0/-14)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mts_rec_crash_safe-slave.opt (+0/-1)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_mts_rec_crash_safe.test (+0/-13)
Percona-Server/mysql-test/suite/rpl/t/rpl_stm_until.test (+6/-35)
Percona-Server/mysql-test/suite/sys_vars/r/gtid_next_list_basic.result (+0/-26)
Percona-Server/mysql-test/suite/sys_vars/r/gtid_purged_basic.result (+1/-1)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result (+7/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result (+69/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result (+18/-67)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_admin_statements_basic.result (+76/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_admin_statements_func.result (+34/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_slave_statements_basic.result (+76/-0)
Percona-Server/mysql-test/suite/sys_vars/t/gtid_next_list_basic.test (+0/-30)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test (+10/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_corrupt_table_action_basic.test (+0/-47)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test (+88/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test (+15/-55)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_admin_statements_basic.test (+110/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test (+41/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_slave_statements_basic.test (+110/-0)
Percona-Server/mysql-test/suite/sys_vars/t/old_passwords_func.test (+2/-2)
Percona-Server/mysql-test/suite/sys_vars/t/secure_auth_func.test (+2/-2)
Percona-Server/mysql-test/t/change_user.test (+6/-2)
Percona-Server/mysql-test/t/connect.test (+24/-14)
Percona-Server/mysql-test/t/disabled.def (+1/-2)
Percona-Server/mysql-test/t/disabled_replication.test (+1/-0)
Percona-Server/mysql-test/t/function_defaults.test (+6/-2)
Percona-Server/mysql-test/t/mysql_config_editor.test (+8/-0)
Percona-Server/mysql-test/t/mysql_plugin.test (+16/-50)
Percona-Server/mysql-test/t/percona_innodb_version.test (+1/-1)
Percona-Server/mysql-test/t/percona_mysqldump_innodb_optimize_keys.test (+227/-0)
Percona-Server/mysql-test/t/perror-win.test (+26/-0)
Percona-Server/mysql-test/t/plugin_auth_qa_1.test (+1/-0)
Percona-Server/mysql-test/t/ssl-sha512-master.opt (+3/-0)
Percona-Server/mysql-test/t/ssl-sha512.test (+10/-0)
Percona-Server/mysql-test/t/type_timestamp-master.opt (+1/-1)
Percona-Server/mysql-test/t/type_timestamp.test (+15/-44)
Percona-Server/mysql-test/t/type_timestamp_explicit-master.opt (+1/-0)
Percona-Server/mysql-test/t/type_timestamp_explicit.test (+55/-0)
Percona-Server/mysql-test/t/variables.test (+25/-0)
Percona-Server/mysql-test/valgrind.supp (+18/-2)
Percona-Server/mysys/errors.c (+19/-9)
Percona-Server/mysys/mf_iocache2.c (+15/-2)
Percona-Server/mysys/mf_keycache.c (+2/-1)
Percona-Server/mysys/my_error.c (+22/-0)
Percona-Server/mysys/my_handler_errors.h (+3/-2)
Percona-Server/mysys/my_lib.c (+3/-2)
Percona-Server/mysys/my_lockmem.c (+1/-1)
Percona-Server/mysys/my_malloc.c (+9/-2)
Percona-Server/mysys/my_once.c (+1/-1)
Percona-Server/mysys/my_write.c (+5/-1)
Percona-Server/mysys/psi_noop.c (+2/-2)
Percona-Server/mysys/thr_alarm.c (+8/-14)
Percona-Server/mysys/thr_rwlock.c (+1/-1)
Percona-Server/mysys_ssl/CMakeLists.txt (+1/-1)
Percona-Server/packaging/WiX/custom_ui.wxs (+2/-2)
Percona-Server/packaging/WiX/mysql_server.wxs.in (+5/-2)
Percona-Server/plugin/innodb_memcached/innodb_memcache/src/innodb_api.c (+1/-1)
Percona-Server/plugin/innodb_memcached/innodb_memcache/src/innodb_config.c (+12/-0)
Percona-Server/plugin/innodb_memcached/innodb_memcache/src/innodb_engine.c (+22/-3)
Percona-Server/scripts/mysql_install_db.pl.in (+27/-11)
Percona-Server/scripts/mysql_system_tables_data.sql (+9/-5)
Percona-Server/sql-common/client.c (+20/-3)
Percona-Server/sql/CMakeLists.txt (+3/-9)
Percona-Server/sql/abstract_query_plan.cc (+27/-60)
Percona-Server/sql/binlog.cc (+133/-21)
Percona-Server/sql/binlog.h (+15/-1)
Percona-Server/sql/db.opt (+2/-0)
Percona-Server/sql/derror.cc (+7/-2)
Percona-Server/sql/field.cc (+43/-28)
Percona-Server/sql/field_conv.cc (+6/-2)
Percona-Server/sql/filesort.cc (+1/-0)
Percona-Server/sql/filesort.h (+4/-1)
Percona-Server/sql/ha_ndb_index_stat.cc (+1/-1)
Percona-Server/sql/ha_ndbcluster.cc (+30/-61)
Percona-Server/sql/ha_ndbcluster_cond.cc (+4/-4)
Percona-Server/sql/ha_ndbcluster_push.cc (+5/-5)
Percona-Server/sql/ha_partition.cc (+639/-145)
Percona-Server/sql/ha_partition.h (+12/-2)
Percona-Server/sql/handler.cc (+52/-7)
Percona-Server/sql/handler.h (+27/-4)
Percona-Server/sql/item.cc (+4/-6)
Percona-Server/sql/item.h (+13/-2)
Percona-Server/sql/item_cmpfunc.cc (+21/-13)
Percona-Server/sql/item_create.cc (+1/-7)
Percona-Server/sql/item_func.cc (+2/-4)
Percona-Server/sql/item_func.h (+1/-3)
Percona-Server/sql/item_inetfunc.cc (+5/-8)
Percona-Server/sql/item_inetfunc.h (+1/-1)
Percona-Server/sql/item_strfunc.cc (+1/-3)
Percona-Server/sql/item_strfunc.h (+1/-3)
Percona-Server/sql/item_subselect.cc (+74/-16)
Percona-Server/sql/item_subselect.h (+4/-1)
Percona-Server/sql/item_sum.cc (+67/-8)
Percona-Server/sql/item_sum.h (+5/-4)
Percona-Server/sql/item_timefunc.cc (+5/-1)
Percona-Server/sql/item_timefunc.h (+0/-5)
Percona-Server/sql/key.cc (+71/-43)
Percona-Server/sql/key.h (+3/-1)
Percona-Server/sql/log_event.cc (+53/-81)
Percona-Server/sql/log_event.h (+47/-13)
Percona-Server/sql/log_event_old.cc (+16/-25)
Percona-Server/sql/log_event_old.h (+5/-6)
Percona-Server/sql/mysqld.cc (+66/-20)
Percona-Server/sql/opt_explain.cc (+3/-3)
Percona-Server/sql/opt_range.cc (+252/-55)
Percona-Server/sql/opt_range.h (+11/-12)
Percona-Server/sql/partition_element.h (+3/-4)
Percona-Server/sql/partition_info.cc (+285/-2)
Percona-Server/sql/partition_info.h (+16/-1)
Percona-Server/sql/rpl_gtid.h (+6/-1)
Percona-Server/sql/rpl_gtid_execution.cc (+6/-4)
Percona-Server/sql/rpl_gtid_set.cc (+14/-4)
Percona-Server/sql/rpl_gtid_state.cc (+9/-9)
Percona-Server/sql/rpl_master.cc (+44/-63)
Percona-Server/sql/rpl_rli.cc (+1/-1)
Percona-Server/sql/rpl_rli.h (+0/-8)
Percona-Server/sql/rpl_slave.cc (+50/-23)
Percona-Server/sql/rpl_tblmap.cc (+11/-11)
Percona-Server/sql/rpl_tblmap.h (+6/-6)
Percona-Server/sql/rpl_utility.cc (+2/-4)
Percona-Server/sql/rpl_utility.h (+0/-2)
Percona-Server/sql/set_var.cc (+14/-11)
Percona-Server/sql/set_var.h (+23/-7)
Percona-Server/sql/share/errmsg-utf8.txt (+28/-20)
Percona-Server/sql/sp.cc (+7/-7)
Percona-Server/sql/sp_head.h (+1/-0)
Percona-Server/sql/sql_acl.cc (+369/-202)
Percona-Server/sql/sql_acl.h (+3/-0)
Percona-Server/sql/sql_admin.cc (+3/-2)
Percona-Server/sql/sql_admin.h (+3/-1)
Percona-Server/sql/sql_base.cc (+13/-17)
Percona-Server/sql/sql_binlog.cc (+1/-1)
Percona-Server/sql/sql_bitmap.h (+2/-0)
Percona-Server/sql/sql_cache.cc (+8/-9)
Percona-Server/sql/sql_class.cc (+68/-26)
Percona-Server/sql/sql_class.h (+31/-33)
Percona-Server/sql/sql_connect.cc (+9/-1)
Percona-Server/sql/sql_data_change.cc (+19/-2)
Percona-Server/sql/sql_data_change.h (+21/-11)
Percona-Server/sql/sql_delete.cc (+2/-1)
Percona-Server/sql/sql_executor.cc (+73/-40)
Percona-Server/sql/sql_executor.h (+1/-2)
Percona-Server/sql/sql_handler.cc (+10/-5)
Percona-Server/sql/sql_insert.cc (+17/-21)
Percona-Server/sql/sql_join_buffer.cc (+24/-2)
Percona-Server/sql/sql_join_buffer.h (+11/-2)
Percona-Server/sql/sql_lex.cc (+8/-3)
Percona-Server/sql/sql_lex.h (+10/-3)
Percona-Server/sql/sql_load.cc (+3/-3)
Percona-Server/sql/sql_optimizer.cc (+65/-22)
Percona-Server/sql/sql_optimizer.h (+5/-4)
Percona-Server/sql/sql_parse.cc (+23/-5)
Percona-Server/sql/sql_partition.cc (+131/-20)
Percona-Server/sql/sql_partition.h (+3/-2)
Percona-Server/sql/sql_partition_admin.cc (+3/-1)
Percona-Server/sql/sql_planner.cc (+12/-4)
Percona-Server/sql/sql_plugin.cc (+37/-0)
Percona-Server/sql/sql_plugin.h (+5/-0)
Percona-Server/sql/sql_prepare.cc (+6/-4)
Percona-Server/sql/sql_resolver.cc (+98/-62)
Percona-Server/sql/sql_select.cc (+51/-41)
Percona-Server/sql/sql_select.h (+5/-5)
Percona-Server/sql/sql_show.cc (+23/-15)
Percona-Server/sql/sql_string.cc (+1/-1)
Percona-Server/sql/sql_table.cc (+49/-18)
Percona-Server/sql/sql_tmp_table.cc (+42/-26)
Percona-Server/sql/sql_union.cc (+14/-10)
Percona-Server/sql/sql_update.cc (+2/-1)
Percona-Server/sql/sql_view.cc (+46/-5)
Percona-Server/sql/sql_yacc.yy (+28/-6)
Percona-Server/sql/strfunc.cc (+1/-1)
Percona-Server/sql/sys_vars.cc (+36/-23)
Percona-Server/sql/sys_vars.h (+7/-4)
Percona-Server/sql/table.cc (+4/-3)
Percona-Server/sql/table.h (+30/-9)
Percona-Server/sql/table_id.h (+61/-0)
Percona-Server/sql/tztime.cc (+3/-18)
Percona-Server/storage/archive/ha_archive.cc (+7/-6)
Percona-Server/storage/innobase/btr/btr0btr.cc (+138/-75)
Percona-Server/storage/innobase/btr/btr0cur.cc (+362/-274)
Percona-Server/storage/innobase/btr/btr0pcur.cc (+2/-2)
Percona-Server/storage/innobase/buf/buf0buddy.cc (+312/-155)
Percona-Server/storage/innobase/buf/buf0buf.cc (+25/-13)
Percona-Server/storage/innobase/buf/buf0flu.cc (+7/-7)
Percona-Server/storage/innobase/buf/buf0lru.cc (+46/-58)
Percona-Server/storage/innobase/buf/buf0rea.cc (+5/-5)
Percona-Server/storage/innobase/dict/dict0boot.cc (+0/-1)
Percona-Server/storage/innobase/dict/dict0crea.cc (+30/-43)
Percona-Server/storage/innobase/dict/dict0dict.cc (+132/-111)
Percona-Server/storage/innobase/dict/dict0load.cc (+23/-16)
Percona-Server/storage/innobase/dict/dict0stats.cc (+15/-62)
Percona-Server/storage/innobase/dict/dict0stats_bg.cc (+18/-43)
Percona-Server/storage/innobase/dyn/dyn0dyn.cc (+2/-2)
Percona-Server/storage/innobase/fil/fil0fil.cc (+36/-18)
Percona-Server/storage/innobase/fts/fts0ast.cc (+84/-20)
Percona-Server/storage/innobase/fts/fts0fts.cc (+77/-45)
Percona-Server/storage/innobase/fts/fts0pars.cc (+0/-12)
Percona-Server/storage/innobase/fts/fts0que.cc (+49/-14)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+188/-56)
Percona-Server/storage/innobase/handler/ha_innodb.h (+4/-4)
Percona-Server/storage/innobase/handler/handler0alter.cc (+1892/-1362)
Percona-Server/storage/innobase/handler/i_s.cc (+9/-155)
Percona-Server/storage/innobase/handler/i_s.h (+1/-2)
Percona-Server/storage/innobase/ibuf/ibuf0ibuf.cc (+37/-18)
Percona-Server/storage/innobase/include/btr0btr.h (+41/-11)
Percona-Server/storage/innobase/include/btr0cur.h (+77/-41)
Percona-Server/storage/innobase/include/buf0buf.h (+23/-6)
Percona-Server/storage/innobase/include/buf0buf.ic (+7/-9)
Percona-Server/storage/innobase/include/buf0lru.h (+7/-7)
Percona-Server/storage/innobase/include/db0err.h (+1/-0)
Percona-Server/storage/innobase/include/dict0crea.h (+19/-15)
Percona-Server/storage/innobase/include/dict0crea.ic (+37/-1)
Percona-Server/storage/innobase/include/dict0dict.h (+22/-11)
Percona-Server/storage/innobase/include/dict0load.h (+5/-3)
Percona-Server/storage/innobase/include/dict0mem.h (+4/-2)
Percona-Server/storage/innobase/include/dict0stats.ic (+4/-18)
Percona-Server/storage/innobase/include/dict0stats_bg.h (+37/-26)
Percona-Server/storage/innobase/include/dict0stats_bg.ic (+45/-0)
Percona-Server/storage/innobase/include/dyn0dyn.h (+48/-36)
Percona-Server/storage/innobase/include/dyn0dyn.ic (+40/-99)
Percona-Server/storage/innobase/include/fil0fil.h (+3/-1)
Percona-Server/storage/innobase/include/fts0ast.h (+4/-1)
Percona-Server/storage/innobase/include/fts0fts.h (+11/-9)
Percona-Server/storage/innobase/include/fts0types.h (+5/-5)
Percona-Server/storage/innobase/include/ha_prototypes.h (+14/-3)
Percona-Server/storage/innobase/include/ibuf0ibuf.h (+3/-3)
Percona-Server/storage/innobase/include/ibuf0ibuf.ic (+12/-4)
Percona-Server/storage/innobase/include/lock0lock.h (+1/-1)
Percona-Server/storage/innobase/include/mach0data.ic (+2/-0)
Percona-Server/storage/innobase/include/mtr0mtr.h (+6/-4)
Percona-Server/storage/innobase/include/os0file.h (+71/-7)
Percona-Server/storage/innobase/include/os0file.ic (+60/-0)
Percona-Server/storage/innobase/include/page0cur.h (+30/-7)
Percona-Server/storage/innobase/include/page0cur.ic (+17/-5)
Percona-Server/storage/innobase/include/page0page.h (+68/-10)
Percona-Server/storage/innobase/include/page0page.ic (+29/-5)
Percona-Server/storage/innobase/include/page0types.h (+2/-4)
Percona-Server/storage/innobase/include/page0zip.h (+5/-5)
Percona-Server/storage/innobase/include/page0zip.ic (+9/-19)
Percona-Server/storage/innobase/include/rem0rec.ic (+5/-5)
Percona-Server/storage/innobase/include/row0log.h (+20/-23)
Percona-Server/storage/innobase/include/row0merge.h (+5/-5)
Percona-Server/storage/innobase/include/srv0start.h (+0/-9)
Percona-Server/storage/innobase/include/trx0trx.h (+14/-3)
Percona-Server/storage/innobase/include/univ.i (+8/-3)
Percona-Server/storage/innobase/include/ut0dbg.h (+0/-40)
Percona-Server/storage/innobase/lock/lock0lock.cc (+86/-111)
Percona-Server/storage/innobase/lock/lock0wait.cc (+25/-1)
Percona-Server/storage/innobase/log/log0online.cc (+8/-2)
Percona-Server/storage/innobase/mtr/mtr0mtr.cc (+75/-77)
Percona-Server/storage/innobase/os/os0file.cc (+7/-7)
Percona-Server/storage/innobase/page/page0cur.cc (+183/-97)
Percona-Server/storage/innobase/page/page0page.cc (+105/-18)
Percona-Server/storage/innobase/page/page0zip.cc (+20/-22)
Percona-Server/storage/innobase/rem/rem0rec.cc (+8/-1)
Percona-Server/storage/innobase/row/row0import.cc (+2/-2)
Percona-Server/storage/innobase/row/row0ins.cc (+15/-9)
Percona-Server/storage/innobase/row/row0log.cc (+354/-182)
Percona-Server/storage/innobase/row/row0merge.cc (+86/-183)
Percona-Server/storage/innobase/row/row0mysql.cc (+15/-9)
Percona-Server/storage/innobase/row/row0purge.cc (+23/-78)
Percona-Server/storage/innobase/row/row0quiesce.cc (+1/-1)
Percona-Server/storage/innobase/row/row0sel.cc (+6/-2)
Percona-Server/storage/innobase/row/row0uins.cc (+7/-18)
Percona-Server/storage/innobase/row/row0umod.cc (+2/-10)
Percona-Server/storage/innobase/srv/srv0srv.cc (+34/-12)
Percona-Server/storage/innobase/srv/srv0start.cc (+5/-5)
Percona-Server/storage/innobase/sync/sync0arr.cc (+6/-6)
Percona-Server/storage/innobase/trx/trx0purge.cc (+1/-1)
Percona-Server/storage/innobase/trx/trx0roll.cc (+3/-3)
Percona-Server/storage/innobase/trx/trx0sys.cc (+1/-1)
Percona-Server/storage/innobase/trx/trx0trx.cc (+122/-91)
Percona-Server/storage/innobase/ut/ut0crc32.cc (+1/-1)
Percona-Server/storage/innobase/ut/ut0dbg.cc (+1/-33)
Percona-Server/storage/innobase/ut/ut0ut.cc (+2/-0)
Percona-Server/storage/myisam/mi_write.c (+8/-5)
Percona-Server/storage/myisam/myisampack.c (+2/-1)
Percona-Server/storage/myisammrg/ha_myisammrg.cc (+4/-4)
Percona-Server/storage/myisammrg/ha_myisammrg.h (+5/-5)
Percona-Server/storage/perfschema/pfs.cc (+19/-7)
Percona-Server/storage/perfschema/pfs_digest.cc (+40/-34)
Percona-Server/storage/perfschema/pfs_engine_table.cc (+4/-4)
Percona-Server/storage/perfschema/pfs_global.cc (+2/-2)
Percona-Server/storage/perfschema/pfs_global.h (+2/-2)
Percona-Server/storage/perfschema/pfs_instr.cc (+4/-3)
Percona-Server/storage/perfschema/pfs_instr.h (+6/-4)
Percona-Server/storage/perfschema/table_threads.cc (+23/-11)
Percona-Server/storage/perfschema/unittest/CMakeLists.txt (+1/-1)
Percona-Server/strings/decimal.c (+6/-2)
Percona-Server/strings/my_vsnprintf.c (+2/-0)
Percona-Server/support-files/mysql.spec.sh (+126/-45)
Percona-Server/unittest/gunit/CMakeLists.txt (+14/-1)
Percona-Server/unittest/gunit/copy_info-t.cc (+8/-3)
Percona-Server/unittest/gunit/decimal-t.cc (+37/-0)
Percona-Server/unittest/gunit/fake_table.h (+11/-1)
Percona-Server/unittest/gunit/field-t.cc (+4/-4)
Percona-Server/unittest/gunit/item_timefunc-t.cc (+184/-0)
Percona-Server/unittest/gunit/mysys_my_vsnprintf-t.cc (+3/-1)
Percona-Server/unittest/gunit/test_utils.cc (+2/-1)
Percona-Server/vio/vio.c (+7/-23)
Percona-Server/vio/vio_priv.h (+4/-8)
Percona-Server/vio/viopipe.c (+3/-3)
Percona-Server/vio/vioshm.c (+58/-49)
Percona-Server/vio/viosocket.c (+10/-17)
Percona-Server/vio/viossl.c (+8/-5)
Percona-Server/vio/viosslfactories.c (+2/-2)
doc/make.bat (+170/-0)
doc/source/conf.py (+270/-0)
doc/source/diagnostics/innodb_deadlock_count.rst (+57/-0)
doc/source/diagnostics/innodb_show_lock_names.rst (+24/-0)
doc/source/diagnostics/innodb_show_status.rst (+475/-0)
doc/source/diagnostics/misc_info_schema_tables.rst (+48/-0)
doc/source/diagnostics/mysql_syslog.rst (+43/-0)
doc/source/diagnostics/process_list.rst (+53/-0)
doc/source/diagnostics/show_engines.rst (+40/-0)
doc/source/diagnostics/slow_extended_55.rst (+377/-0)
doc/source/diagnostics/thread_based_profiling.rst (+17/-0)
doc/source/diagnostics/user_stats.rst (+242/-0)
doc/source/flexibility/mysqldump_ignore_create_error.rst (+22/-0)
doc/source/release-notes/Percona-Server-5.6.5-60.0.rst (+26/-0)
doc/source/release-notes/Percona-Server-5.6.6-60.1.rst (+18/-0)
doc/source/release-notes/release-notes_index.rst (+0/-11)
subunit2junitxml (+0/-65)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/merge-5.6.11
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Approve
Review via email: mp+163419@code.launchpad.net

This proposal supersedes a proposal from 2013-05-09.

Description of the change

http://jenkins.percona.com/job/percona-server-5.6-param/94/

Merge MySQL 5.6.11. Non-automerge bits:

- Removing our log_slow_admin_statements and log_slow_sp_statements
  variables due to upstream implementation.

- Trivial XtraDB adjustments around fake changes code.

- Removing our RETURN_IF_INNODB_NOT_STARTED calls now that upstream
  added them.

- Merge our threadpool implementation, featuring vio->shutdown
  function pointer with the upstream changes that introduce
  vio->vioshutdown function pointer. Both implementations are very
  similar, except that the upstream passes SHUT_RDWR unconditionally
  and the threadpool passes SHUT_RD for handling KILLs. Resolve by
  adding "how" arg to vio->vioshutdown and moving the relevant bits
  from vio_socket_shutdown() to vio_shutdown(). Then threadpool's
  vio->shutdown pointer and all supporting code is removed. At the
  same time fix bug 1177780 (Unused declarations
  vio_shutdown_shared_memory(Vio*, int) and vio_shutdown_pipe(Vio*,
  int)).

- Revert our fix for bug 1042946 due to the upstream fix.

To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote :

Looks good, but setting to WiP as it is unclear whether the dependent branch will be resubmitted.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/BUILD-CMAKE'
2--- Percona-Server/BUILD-CMAKE 2011-06-30 15:50:45 +0000
3+++ Percona-Server/BUILD-CMAKE 2013-05-12 06:41:27 +0000
4@@ -1,2 +1,4 @@
5 The latest information about building MySQL with CMake is located on
6-http://forge.mysql.com/wiki/CMake
7\ No newline at end of file
8+http://dev.mysql.com/doc/internals/en/cmake.html
9+
10+See also BUILD/README
11
12=== modified file 'Percona-Server/BUILD/SETUP.sh'
13--- Percona-Server/BUILD/SETUP.sh 2012-05-09 16:47:39 +0000
14+++ Percona-Server/BUILD/SETUP.sh 2013-05-12 06:41:27 +0000
15@@ -1,6 +1,6 @@
16 #!/bin/sh
17
18-# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
19+# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
20 #
21 # This program is free software; you can redistribute it and/or
22 # modify it under the terms of the GNU Library General Public
23
24=== modified file 'Percona-Server/BUILD/build_mccge.sh'
25--- Percona-Server/BUILD/build_mccge.sh 2012-05-09 16:47:39 +0000
26+++ Percona-Server/BUILD/build_mccge.sh 2013-05-12 06:41:27 +0000
27@@ -1,6 +1,6 @@
28 #!/bin/sh
29
30-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
31+# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
32 #
33 # This program is free software; you can redistribute it and/or
34 # modify it under the terms of the GNU Library General Public
35
36=== modified file 'Percona-Server/BUILD/compile-pentium'
37--- Percona-Server/BUILD/compile-pentium 2012-08-22 01:40:20 +0000
38+++ Percona-Server/BUILD/compile-pentium 2013-05-12 06:41:27 +0000
39@@ -1,6 +1,6 @@
40 #! /bin/sh
41
42-# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
43+# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
44 #
45 # This program is free software; you can redistribute it and/or modify
46 # it under the terms of the GNU General Public License as published by
47
48=== removed file 'Percona-Server/Docs/glibc-2.2.5.patch'
49--- Percona-Server/Docs/glibc-2.2.5.patch 2002-05-26 13:11:29 +0000
50+++ Percona-Server/Docs/glibc-2.2.5.patch 1970-01-01 00:00:00 +0000
51@@ -1,137 +0,0 @@
52-diff -r -c --exclude='*.info*' glibc-2.2.5.org/linuxthreads/internals.h glibc-2.2.5/linuxthreads/internals.h
53-*** glibc-2.2.5.org/linuxthreads/internals.h Thu Nov 29 08:44:16 2001
54---- glibc-2.2.5/linuxthreads/internals.h Tue May 21 10:51:53 2002
55-***************
56-*** 343,349 ****
57- THREAD_SELF implementation is used, this must be a power of two and
58- a multiple of PAGE_SIZE. */
59- #ifndef STACK_SIZE
60-! #define STACK_SIZE (2 * 1024 * 1024)
61- #endif
62-
63- /* The initial size of the thread stack. Must be a multiple of PAGE_SIZE. */
64---- 343,349 ----
65- THREAD_SELF implementation is used, this must be a power of two and
66- a multiple of PAGE_SIZE. */
67- #ifndef STACK_SIZE
68-! #define STACK_SIZE (128 * 1024)
69- #endif
70-
71- /* The initial size of the thread stack. Must be a multiple of PAGE_SIZE. */
72-diff -r -c --exclude='*.info*' glibc-2.2.5.org/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h
73-*** glibc-2.2.5.org/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Thu Jun 8 21:49:49 2000
74---- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Tue May 21 10:52:58 2002
75-***************
76-*** 64,70 ****
77- /* The number of threads per process. */
78- #define _POSIX_THREAD_THREADS_MAX 64
79- /* This is the value this implementation supports. */
80-! #define PTHREAD_THREADS_MAX 1024
81-
82- /* Maximum amount by which a process can descrease its asynchronous I/O
83- priority level. */
84---- 64,70 ----
85- /* The number of threads per process. */
86- #define _POSIX_THREAD_THREADS_MAX 64
87- /* This is the value this implementation supports. */
88-! #define PTHREAD_THREADS_MAX 4096
89-
90- /* Maximum amount by which a process can descrease its asynchronous I/O
91- priority level. */
92-diff -r -c --exclude='*.info*' glibc-2.2.5.org/nss/nsswitch.c glibc-2.2.5/nss/nsswitch.c
93-*** glibc-2.2.5.org/nss/nsswitch.c Tue Jul 17 10:21:36 2001
94---- glibc-2.2.5/nss/nsswitch.c Tue May 21 10:59:55 2002
95-***************
96-*** 496,501 ****
97---- 496,502 ----
98- {
99- service_user *new_service;
100- const char *name;
101-+ int name_alloc_len;
102-
103- while (isspace (line[0]))
104- ++line;
105-***************
106-*** 510,522 ****
107- if (name == line)
108- return result;
109-
110-
111- new_service = (service_user *) malloc (sizeof (service_user)
112-! + (line - name + 1));
113- if (new_service == NULL)
114- return result;
115-
116-! *((char *) __mempcpy (new_service->name, name, line - name)) = '\0';
117-
118- /* Set default actions. */
119- new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE;
120---- 511,534 ----
121- if (name == line)
122- return result;
123-
124-+ name_alloc_len = line - name + 1;
125-+
126-+ #ifdef DO_STATIC_NSS
127-+ if (!((name_alloc_len == 6 && strncmp(name,"files",5) == 0) ||
128-+ (name_alloc_len == 4 && strncmp(name,"dns",3) == 0)))
129-+ {
130-+ name = (char*) "files";
131-+ name_alloc_len = 6;
132-+ }
133-+ #endif
134-
135- new_service = (service_user *) malloc (sizeof (service_user)
136-! + name_alloc_len);
137- if (new_service == NULL)
138- return result;
139-
140-! *((char *) __mempcpy (new_service->name, name, name_alloc_len-1)) = '\0';
141-!
142-
143- /* Set default actions. */
144- new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE;
145-diff -r -c --exclude='*.info*' glibc-2.2.5.org/time/Makefile glibc-2.2.5/time/Makefile
146-*** glibc-2.2.5.org/time/Makefile Fri Aug 10 01:59:41 2001
147---- glibc-2.2.5/time/Makefile Tue May 21 11:01:11 2002
148-***************
149-*** 37,44 ****
150-
151- include ../Rules
152-
153-! tz-cflags = -DTZDIR='"$(zonedir)"' \
154-! -DTZDEFAULT='"$(localtime-file)"' \
155- -DTZDEFRULES='"$(posixrules-file)"'
156-
157- CFLAGS-tzfile.c = $(tz-cflags)
158---- 37,44 ----
159-
160- include ../Rules
161-
162-! tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
163-! -DTZDEFAULT='"/etc/localtime"' \
164- -DTZDEFRULES='"$(posixrules-file)"'
165-
166- CFLAGS-tzfile.c = $(tz-cflags)
167-diff -r -c --exclude='*.info*' glibc-2.2.5.org/timezone/Makefile glibc-2.2.5/timezone/Makefile
168-*** glibc-2.2.5.org/timezone/Makefile Thu Aug 30 00:45:25 2001
169---- glibc-2.2.5/timezone/Makefile Tue May 21 11:01:57 2002
170-***************
171-*** 159,166 ****
172-
173- $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
174-
175-! tz-cflags = -DTZDIR='"$(zonedir)"' \
176-! -DTZDEFAULT='"$(localtime-file)"' \
177- -DTZDEFRULES='"$(posixrules-file)"' \
178- -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
179-
180---- 159,166 ----
181-
182- $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
183-
184-! tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
185-! -DTZDEFAULT='"/etc/localtime"' \
186- -DTZDEFRULES='"$(posixrules-file)"' \
187- -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
188-
189
190=== removed file 'Percona-Server/Docs/linuxthreads.txt'
191--- Percona-Server/Docs/linuxthreads.txt 2007-03-22 18:38:56 +0000
192+++ Percona-Server/Docs/linuxthreads.txt 1970-01-01 00:00:00 +0000
193@@ -1,19 +0,0 @@
194-[Note this information is obsolete]
195-
196-Notes on compiling glibc for the standard MySQL binary:
197-
198- - make sure you have gcc 2.95 and gmake 3.79 or newer
199- - wget ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.2.5.tar.gz
200- - wget ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-2.2.5.tar.gz
201- - tar zxvf glibc-2.2.5.tar.gz ; cd glibc-2.2.5 ;
202- tar zxvf ../glibc-linuxthreads-2.2.5.tar.gz
203- - patch -p1 < ~/bk/mysql/Docs/glibc-2.2.5.patch
204- - ./configure --prefix=/usr/local/mysql-glibc --enable-static-nss \
205- --disable-shared --enable-add-ons=linuxthreads --target=i386 \
206- --host=i386-pc-linux-gnu
207- - make
208- - possible problems - if compiler is not properly installed, one can get
209- "cpp: too many input" files error - easiest way to solve - SUSE RPM for gcc
210- 2.95
211- - surun make install
212- - To build the binaries, run Build-tools/Do-linux-build
213
214=== modified file 'Percona-Server/README'
215--- Percona-Server/README 2012-04-11 11:45:07 +0000
216+++ Percona-Server/README 2013-05-12 06:41:27 +0000
217@@ -5,7 +5,7 @@
218 is released under the version 2 of the GNU General Public License.
219 MySQL is brought to you by Oracle.
220
221-Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
222+Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
223
224 License information can be found in the COPYING file.
225
226
227=== modified file 'Percona-Server/VERSION'
228--- Percona-Server/VERSION 2013-03-05 12:46:43 +0000
229+++ Percona-Server/VERSION 2013-05-12 06:41:27 +0000
230@@ -1,4 +1,4 @@
231 MYSQL_VERSION_MAJOR=5
232 MYSQL_VERSION_MINOR=6
233-MYSQL_VERSION_PATCH=10
234+MYSQL_VERSION_PATCH=11
235 MYSQL_VERSION_EXTRA=
236
237=== modified file 'Percona-Server/client/completion_hash.h'
238--- Percona-Server/client/completion_hash.h 2011-04-14 15:40:04 +0000
239+++ Percona-Server/client/completion_hash.h 2013-05-12 06:41:27 +0000
240@@ -1,4 +1,5 @@
241-/* Copyright (C) 2000-2002 MySQL AB
242+/* Copyright (c) 2000-2002, 2006 MySQL AB
243+ Use is subject to license terms
244
245 This program is free software; you can redistribute it and/or
246 modify it under the terms of the GNU Library General Public
247
248=== modified file 'Percona-Server/client/echo.c'
249--- Percona-Server/client/echo.c 2010-10-27 11:32:32 +0000
250+++ Percona-Server/client/echo.c 2013-05-12 06:41:27 +0000
251@@ -1,4 +1,5 @@
252-/* Copyright (C) 2000 MySQL AB
253+/* Copyright (c) 2000, 2007 MySQL AB
254+ Use is subject to license terms
255
256 This program is free software; you can redistribute it and/or modify
257 it under the terms of the GNU General Public License as published by
258
259=== modified file 'Percona-Server/client/mysql.cc'
260--- Percona-Server/client/mysql.cc 2013-05-12 06:39:35 +0000
261+++ Percona-Server/client/mysql.cc 2013-05-12 06:41:27 +0000
262@@ -1,5 +1,5 @@
263 /*
264- Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
265+ Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
266
267 This program is free software; you can redistribute it and/or modify
268 it under the terms of the GNU General Public License as published by
269@@ -2951,7 +2951,7 @@
270 mysql_free_result(fields);
271 break;
272 }
273- field_names[i][num_fields*2]= '\0';
274+ field_names[i][num_fields*2]= NULL;
275 j=0;
276 while ((sql_field=mysql_fetch_field(fields)))
277 {
278
279=== modified file 'Percona-Server/client/mysql_config_editor.cc'
280--- Percona-Server/client/mysql_config_editor.cc 2012-10-28 03:26:15 +0000
281+++ Percona-Server/client/mysql_config_editor.cc 2013-05-12 06:41:27 +0000
282@@ -1,5 +1,5 @@
283 /*
284- Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
285+ Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
286
287 This program is free software; you can redistribute it and/or modify
288 it under the terms of the GNU General Public License as published by
289@@ -50,14 +50,14 @@
290 */
291 static size_t file_size;
292 static char *opt_user= NULL, *opt_password= NULL, *opt_host=NULL,
293- *opt_login_path= NULL;
294+ *opt_login_path= NULL, *opt_socket= NULL, *opt_port= NULL;
295
296 static char my_login_file[FN_REFLEN];
297 static char my_key[LOGIN_KEY_LEN];
298
299 static my_bool opt_verbose, opt_all, tty_password= 0, opt_warn,
300 opt_remove_host, opt_remove_pass, opt_remove_user,
301- login_path_specified= FALSE;
302+ opt_remove_socket, opt_remove_port, login_path_specified= FALSE;
303
304 static int execute_commands(int command);
305 static int set_command(void);
306@@ -141,6 +141,10 @@
307 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
308 {"user", 'u', "User name to be entered into the login file.", &opt_user,
309 &opt_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
310+ {"socket", 'S', "Socket path to be entered into login file.", &opt_socket,
311+ &opt_socket, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
312+ {"port", 'P', "Port number to be entered into login file.", &opt_port,
313+ &opt_port, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
314 {"warn", 'w', "Warn and ask for confirmation if set command attempts to "
315 "overwrite an existing login path (enabled by default).",
316 &opt_warn, &opt_warn, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
317@@ -157,8 +161,9 @@
318 0, 0, 0},
319 {"login-path", 'G', "Name of the login path from which options to "
320 "be removed (entire path would be removed if none of user, password, "
321- "or host options are specified). (Default : client)", &opt_login_path,
322- &opt_login_path, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
323+ "host, socket, or port options are specified). (Default : client)",
324+ &opt_login_path, &opt_login_path, 0, GET_STR, REQUIRED_ARG,
325+ 0, 0, 0, 0, 0, 0},
326 {"password", 'p', "Remove password from the login path.",
327 &opt_remove_pass, &opt_remove_pass, 0, GET_BOOL, NO_ARG, 0, 0, 0,
328 0, 0, 0},
329@@ -168,6 +173,10 @@
330 "to remove the default login path (client) if no login path is specified "
331 "(enabled by default).", &opt_warn, &opt_warn, 0, GET_BOOL, NO_ARG, 1,
332 0, 0, 0, 0, 0},
333+ {"socket", 'S', "Remove socket path from the login path.", &opt_remove_socket,
334+ &opt_remove_socket, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
335+ {"port", 'P', "Remove port number from the login path.", &opt_remove_port,
336+ &opt_remove_port, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
337 {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
338 };
339
340@@ -229,6 +238,13 @@
341 tty_password= 1;
342 break;
343 case 'G':
344+ if (login_path_specified)
345+ {
346+ /* Error, we do not support multiple login paths. */
347+ my_perror("Error: Use of multiple login paths is not supported. "
348+ "Exiting..");
349+ return 1;
350+ }
351 login_path_specified= TRUE;
352 break;
353 case '?':
354@@ -246,6 +262,13 @@
355 {
356 switch(optid) {
357 case 'G':
358+ if (login_path_specified)
359+ {
360+ /* Error, we do not support multiple login paths. */
361+ my_perror("Error: Use of multiple login paths is not supported. "
362+ "Exiting..");
363+ return 1;
364+ }
365 login_path_specified= TRUE;
366 break;
367 case '?':
368@@ -263,6 +286,13 @@
369 {
370 switch(optid) {
371 case 'G':
372+ if (login_path_specified)
373+ {
374+ /* Error, we do not support multiple login paths. */
375+ my_perror("Error: Use of multiple login paths is not supported. "
376+ "Exiting..");
377+ return 1;
378+ }
379 login_path_specified= TRUE;
380 break;
381 case '?':
382@@ -537,6 +567,18 @@
383 dynstr_append(&path_buf, opt_host);
384 }
385
386+ if (opt_socket)
387+ {
388+ dynstr_append(&path_buf, "\nsocket = ");
389+ dynstr_append(&path_buf, opt_socket);
390+ }
391+
392+ if (opt_port)
393+ {
394+ dynstr_append(&path_buf, "\nport = ");
395+ dynstr_append(&path_buf, opt_port);
396+ }
397+
398 dynstr_append(&path_buf, "\n");
399
400 /* Warn if login path already exists */
401@@ -901,7 +943,8 @@
402 static void remove_options(DYNAMIC_STRING *file_buf, const char *path_name)
403 {
404 /* If nope of the options are specified remove the entire path. */
405- if (!opt_remove_host && !opt_remove_pass && !opt_remove_user)
406+ if (!opt_remove_host && !opt_remove_pass && !opt_remove_user
407+ && !opt_remove_socket && !opt_remove_port)
408 {
409 remove_login_path(file_buf, path_name);
410 return;
411@@ -915,6 +958,12 @@
412
413 if (opt_remove_host)
414 remove_option(file_buf, path_name, "host");
415+
416+ if (opt_remove_socket)
417+ remove_option(file_buf, path_name, "socket");
418+
419+ if (opt_remove_port)
420+ remove_option(file_buf, path_name, "port");
421 }
422
423
424@@ -1423,8 +1472,8 @@
425 my_print_help(my_program_long_options);
426 my_print_variables(my_program_long_options);
427 puts("\nWhere command can be any one of the following :\n\
428- set [command options] Sets user name/password/host name for a\n\
429- given login path (section).\n\
430+ set [command options] Sets user name/password/host name/socket/port\n\
431+ for a given login path (section).\n\
432 remove [command options] Remove a login path from the login file.\n\
433 print [command options] Print all the options for a specified\n\
434 login path.\n\
435
436=== modified file 'Percona-Server/client/mysql_plugin.c'
437--- Percona-Server/client/mysql_plugin.c 2012-12-11 05:32:21 +0000
438+++ Percona-Server/client/mysql_plugin.c 2013-05-12 06:41:27 +0000
439@@ -1,5 +1,5 @@
440 /*
441- Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
442+ Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
443
444 This program is free software; you can redistribute it and/or modify
445 it under the terms of the GNU General Public License as published by
446
447=== modified file 'Percona-Server/client/mysql_upgrade.c'
448--- Percona-Server/client/mysql_upgrade.c 2013-02-12 07:47:19 +0000
449+++ Percona-Server/client/mysql_upgrade.c 2013-05-12 06:41:27 +0000
450@@ -329,6 +329,11 @@
451 FILE *res_file;
452 int error;
453
454+ if (! ds_res)
455+ {
456+ fflush(stdout);
457+ fflush(stderr);
458+ }
459 if (!(res_file= popen(cmd, "r")))
460 die("popen(\"%s\", \"r\") failed", cmd);
461
462@@ -348,7 +353,10 @@
463 }
464
465 if (! ds_res)
466+ {
467 fflush(stdout);
468+ fflush(stderr);
469+ }
470
471 error= pclose(res_file);
472 return WEXITSTATUS(error);
473@@ -704,6 +712,7 @@
474 ds_args.str,
475 "--check-upgrade",
476 "--all-databases",
477+ "--skip-database=mysql",
478 "--auto-repair",
479 opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
480 NULL);
481@@ -718,13 +727,45 @@
482 "--no-defaults",
483 ds_args.str,
484 "--all-databases",
485- "--fix-db-names",
486- "--fix-table-names",
487- opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
488- NULL);
489-}
490-
491-
492+ "--skip-database=mysql",
493+ "--fix-db-names",
494+ "--fix-table-names",
495+ opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
496+ NULL);
497+}
498+
499+/** performs the same operation as mysqlcheck_upgrade, but on the mysql db */
500+static int run_mysqlcheck_mysql_db_upgrade(void)
501+{
502+ print_conn_args("mysqlcheck");
503+ return run_tool(mysqlcheck_path,
504+ NULL, /* Send output from mysqlcheck directly to screen */
505+ "--no-defaults",
506+ ds_args.str,
507+ "--check-upgrade",
508+ "--databases",
509+ "--auto-repair",
510+ opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
511+ "mysql",
512+ NULL);
513+}
514+
515+
516+/** performs the same operation as mysqlcheck_upgrade, but on the mysql db */
517+static int run_mysqlcheck_mysql_db_fixnames(void)
518+{
519+ print_conn_args("mysqlcheck");
520+ return run_tool(mysqlcheck_path,
521+ NULL, /* Send output from mysqlcheck directly to screen */
522+ "--no-defaults",
523+ ds_args.str,
524+ "--databases",
525+ "--fix-db-names",
526+ "--fix-table-names",
527+ opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
528+ "mysql",
529+ NULL);
530+}
531 static const char *expected_errors[]=
532 {
533 "ERROR 1060", /* Duplicate column name */
534@@ -918,10 +959,15 @@
535
536 /*
537 Run "mysqlcheck" and "mysql_fix_privilege_tables.sql"
538+ First run mysqlcheck on the system database.
539+ Then do the upgrade.
540+ And then run mysqlcheck on all tables.
541 */
542 if ((!opt_systables_only &&
543- (run_mysqlcheck_fixnames() || run_mysqlcheck_upgrade())) ||
544- run_sql_fix_privilege_tables())
545+ (run_mysqlcheck_mysql_db_fixnames() || run_mysqlcheck_mysql_db_upgrade())) ||
546+ run_sql_fix_privilege_tables() ||
547+ (!opt_systables_only &&
548+ (run_mysqlcheck_fixnames() || run_mysqlcheck_upgrade())))
549 {
550 /*
551 The upgrade failed to complete in some way or another,
552
553=== modified file 'Percona-Server/client/mysqlbinlog.cc'
554--- Percona-Server/client/mysqlbinlog.cc 2013-03-05 12:46:43 +0000
555+++ Percona-Server/client/mysqlbinlog.cc 2013-05-12 06:41:27 +0000
556@@ -1,5 +1,5 @@
557 /*
558- Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
559+ Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
560
561 This program is free software; you can redistribute it and/or modify
562 it under the terms of the GNU General Public License as published by
563@@ -1134,8 +1134,10 @@
564 event was not skipped).
565 */
566 if (skip_event)
567- if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache, result_file) ||
568- copy_event_cache_to_file_and_reinit(&print_event_info->body_cache, result_file)))
569+ if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache,
570+ result_file, stop_never /* flush result_file */) ||
571+ copy_event_cache_to_file_and_reinit(&print_event_info->body_cache,
572+ result_file, stop_never /* flush result_file */)))
573 goto err;
574 }
575
576@@ -1177,8 +1179,10 @@
577 if (stmt_end)
578 {
579 print_event_info->have_unflushed_events= FALSE;
580- if (copy_event_cache_to_file_and_reinit(&print_event_info->head_cache, result_file) ||
581- copy_event_cache_to_file_and_reinit(&print_event_info->body_cache, result_file))
582+ if (copy_event_cache_to_file_and_reinit(&print_event_info->head_cache,
583+ result_file, stop_never /* flush result file */) ||
584+ copy_event_cache_to_file_and_reinit(&print_event_info->body_cache,
585+ result_file, stop_never /* flush result file */))
586 goto err;
587 goto end;
588 }
589@@ -1218,7 +1222,7 @@
590 }
591 /* Flush head cache to result_file for every event */
592 if (copy_event_cache_to_file_and_reinit(&print_event_info->head_cache,
593- result_file))
594+ result_file, stop_never /* flush result_file */))
595 goto err;
596 }
597
598@@ -1551,7 +1555,7 @@
599
600 static void print_version()
601 {
602- printf("%s Ver 3.3 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
603+ printf("%s Ver 3.4 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
604 }
605
606
607@@ -2049,6 +2053,21 @@
608 */
609
610 type= (Log_event_type) net->read_pos[1 + EVENT_TYPE_OFFSET];
611+
612+ /*
613+ Ignore HEARBEAT events. They can show up if mysqlbinlog is
614+ running with:
615+
616+ --read-from-remote-server
617+ --read-from-remote-master=BINLOG-DUMP-GTIDS'
618+ --stop-never
619+ --stop-never-slave-server-id
620+
621+ i.e., acting as a fake slave.
622+ */
623+ if (type == HEARTBEAT_LOG_EVENT)
624+ continue;
625+
626 if (!raw_mode || (type == ROTATE_EVENT) || (type == FORMAT_DESCRIPTION_EVENT))
627 {
628 if (!(ev= Log_event::read_log_event((const char*) net->read_pos + 1 ,
629
630=== modified file 'Percona-Server/client/mysqlcheck.c'
631--- Percona-Server/client/mysqlcheck.c 2013-02-12 07:47:19 +0000
632+++ Percona-Server/client/mysqlcheck.c 2013-05-12 06:41:27 +0000
633@@ -1,5 +1,5 @@
634 /*
635- Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
636+ Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
637
638 This program is free software; you can redistribute it and/or modify
639 it under the terms of the GNU General Public License as published by
640@@ -15,7 +15,7 @@
641 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
642 */
643
644-#define CHECK_VERSION "2.5.0"
645+#define CHECK_VERSION "2.5.1"
646
647 #include "client_priv.h"
648 #include "my_default.h"
649@@ -30,6 +30,10 @@
650 #define EX_USAGE 1
651 #define EX_MYSQLERR 2
652
653+/* ALTER instead of repair. */
654+#define MAX_ALTER_STR_SIZE 128 * 1024
655+#define KEY_PARTITIONING_CHANGED_STR "KEY () partitioning changed"
656+
657 static MYSQL mysql_connection, *sock = 0;
658 static my_bool opt_alldbs = 0, opt_check_only_changed = 0, opt_extended = 0,
659 opt_compress = 0, opt_databases = 0, opt_fast = 0,
660@@ -45,7 +49,8 @@
661 *default_charset= 0, *current_host= 0;
662 static char *opt_plugin_dir= 0, *opt_default_auth= 0;
663 static int first_error = 0;
664-DYNAMIC_ARRAY tables4repair, tables4rebuild;
665+static char *opt_skip_database;
666+DYNAMIC_ARRAY tables4repair, tables4rebuild, alter_table_cmds;
667 #ifdef HAVE_SMEM
668 static char *shared_memory_base_name=0;
669 #endif
670@@ -175,6 +180,9 @@
671 #endif
672 {"silent", 's', "Print only error messages.", &opt_silent,
673 &opt_silent, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
674+ {"skip_database", 0, "Don't process the database specified as argument",
675+ &opt_skip_database, &opt_skip_database, 0, GET_STR, REQUIRED_ARG,
676+ 0, 0, 0, 0, 0, 0},
677 {"socket", 'S', "The socket file to use for connection.",
678 &opt_mysql_unix_port, &opt_mysql_unix_port, 0, GET_STR,
679 REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
680@@ -399,6 +407,7 @@
681 my_progname);
682 return 1;
683 }
684+
685 if (*argc < 1 && !opt_alldbs)
686 {
687 printf("You forgot to give the arguments! Please see %s --help\n",
688@@ -598,6 +607,17 @@
689 } /* process_all_tables_in_db */
690
691
692+static int run_query(const char *query)
693+{
694+ if (mysql_query(sock, query))
695+ {
696+ fprintf(stderr, "Failed to %s\n", query);
697+ fprintf(stderr, "Error: %s\n", mysql_error(sock));
698+ return 1;
699+ }
700+ return 0;
701+}
702+
703
704 static int fix_table_storage_name(const char *name)
705 {
706@@ -606,12 +626,7 @@
707 if (strncmp(name, "#mysql50#", 9))
708 return 1;
709 sprintf(qbuf, "RENAME TABLE `%s` TO `%s`", name, name + 9);
710- if (mysql_query(sock, qbuf))
711- {
712- fprintf(stderr, "Failed to %s\n", qbuf);
713- fprintf(stderr, "Error: %s\n", mysql_error(sock));
714- rc= 1;
715- }
716+ rc= run_query(qbuf);
717 if (verbose)
718 printf("%-50s %s\n", name, rc ? "FAILED" : "OK");
719 return rc;
720@@ -624,12 +639,7 @@
721 if (strncmp(name, "#mysql50#", 9))
722 return 1;
723 sprintf(qbuf, "ALTER DATABASE `%s` UPGRADE DATA DIRECTORY NAME", name);
724- if (mysql_query(sock, qbuf))
725- {
726- fprintf(stderr, "Failed to %s\n", qbuf);
727- fprintf(stderr, "Error: %s\n", mysql_error(sock));
728- rc= 1;
729- }
730+ rc= run_query(qbuf);
731 if (verbose)
732 printf("%-50s %s\n", name, rc ? "FAILED" : "OK");
733 return rc;
734@@ -658,6 +668,10 @@
735
736 static int process_one_db(char *database)
737 {
738+ if (opt_skip_database && opt_alldbs &&
739+ !strcmp(database, opt_skip_database))
740+ return 0;
741+
742 if (what_to_do == DO_UPGRADE)
743 {
744 int rc= 0;
745@@ -692,13 +706,7 @@
746 static int disable_binlog()
747 {
748 const char *stmt= "SET SQL_LOG_BIN=0";
749- if (mysql_query(sock, stmt))
750- {
751- fprintf(stderr, "Failed to %s\n", stmt);
752- fprintf(stderr, "Error: %s\n", mysql_error(sock));
753- return 1;
754- }
755- return 0;
756+ return run_query(stmt);
757 }
758
759 static int handle_request_for_tables(char *tables, uint length)
760@@ -768,12 +776,14 @@
761 MYSQL_RES *res;
762 MYSQL_ROW row;
763 char prev[NAME_LEN*2+2];
764+ char prev_alter[MAX_ALTER_STR_SIZE];
765 uint i;
766 my_bool found_error=0, table_rebuild=0;
767
768 res = mysql_use_result(sock);
769
770 prev[0] = '\0';
771+ prev_alter[0]= 0;
772 for (i = 0; (row = mysql_fetch_row(res)); i++)
773 {
774 int changed = strcmp(prev, row[0]);
775@@ -790,12 +800,18 @@
776 strcmp(row[3],"OK"))
777 {
778 if (table_rebuild)
779- insert_dynamic(&tables4rebuild, prev);
780+ {
781+ if (prev_alter[0])
782+ insert_dynamic(&alter_table_cmds, (uchar*) prev_alter);
783+ else
784+ insert_dynamic(&tables4rebuild, (uchar*) prev);
785+ }
786 else
787 insert_dynamic(&tables4repair, prev);
788 }
789 found_error=0;
790 table_rebuild=0;
791+ prev_alter[0]= 0;
792 if (opt_silent)
793 continue;
794 }
795@@ -804,11 +820,30 @@
796 else if (!status && changed)
797 {
798 printf("%s\n%-9s: %s", row[0], row[2], row[3]);
799- if (strcmp(row[2],"note"))
800+ if (opt_auto_repair && strcmp(row[2],"note"))
801 {
802- found_error=1;
803- if (opt_auto_repair && strstr(row[3], "ALTER TABLE") != NULL)
804+ const char *alter_txt= strstr(row[3], "ALTER TABLE");
805+ found_error=1;
806+ if (alter_txt)
807+ {
808 table_rebuild=1;
809+ if (!strncmp(row[3], KEY_PARTITIONING_CHANGED_STR,
810+ strlen(KEY_PARTITIONING_CHANGED_STR)) &&
811+ strstr(alter_txt, "PARTITION BY"))
812+ {
813+ if (strlen(alter_txt) >= MAX_ALTER_STR_SIZE)
814+ {
815+ printf("Error: Alter command too long (>= %d),"
816+ " please do \"%s\" or dump/reload to fix it!\n",
817+ MAX_ALTER_STR_SIZE,
818+ alter_txt);
819+ table_rebuild= 0;
820+ prev_alter[0]= 0;
821+ }
822+ else
823+ strcpy(prev_alter, alter_txt);
824+ }
825+ }
826 }
827 }
828 else
829@@ -820,7 +855,12 @@
830 if (found_error && opt_auto_repair && what_to_do != DO_REPAIR)
831 {
832 if (table_rebuild)
833- insert_dynamic(&tables4rebuild, prev);
834+ {
835+ if (prev_alter[0])
836+ insert_dynamic(&alter_table_cmds, (uchar*) prev_alter);
837+ else
838+ insert_dynamic(&tables4rebuild, (uchar*) prev);
839+ }
840 else
841 insert_dynamic(&tables4repair, prev);
842 }
843@@ -931,7 +971,8 @@
844
845 if (opt_auto_repair &&
846 (my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,64) ||
847- my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,64)))
848+ my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,64) ||
849+ my_init_dynamic_array(&alter_table_cmds, MAX_ALTER_STR_SIZE, 0, 1)))
850 {
851 first_error = 1;
852 goto end;
853@@ -959,6 +1000,8 @@
854 }
855 for (i = 0; i < tables4rebuild.elements ; i++)
856 rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i));
857+ for (i = 0; i < alter_table_cmds.elements ; i++)
858+ run_query((char*) dynamic_array_ptr(&alter_table_cmds, i));
859 }
860 end:
861 dbDisconnect(current_host);
862
863=== modified file 'Percona-Server/client/mysqldump.c'
864--- Percona-Server/client/mysqldump.c 2013-05-12 06:39:35 +0000
865+++ Percona-Server/client/mysqldump.c 2013-05-12 06:41:27 +0000
866@@ -1,5 +1,5 @@
867 /*
868- Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
869+ Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
870
871 This program is free software; you can redistribute it and/or modify
872 it under the terms of the GNU General Public License as published by
873@@ -2392,10 +2392,10 @@
874 {
875 if (opt_xml)
876 {
877- if (i) /* Procedures. */
878+ if (i) // Procedures.
879 print_xml_row(sql_file, "routine", routine_res, &row,
880 "Create Procedure");
881- else /* Functions. */
882+ else // Functions.
883 print_xml_row(sql_file, "routine", routine_res, &row,
884 "Create Function");
885 continue;
886
887=== modified file 'Percona-Server/client/mysqltest.cc'
888--- Percona-Server/client/mysqltest.cc 2013-03-05 12:46:43 +0000
889+++ Percona-Server/client/mysqltest.cc 2013-05-12 06:41:27 +0000
890@@ -1,4 +1,4 @@
891-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
892+/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
893
894 This program is free software; you can redistribute it and/or modify
895 it under the terms of the GNU General Public License as published by
896@@ -1336,7 +1336,7 @@
897 void free_used_memory()
898 {
899 uint i;
900- DBUG_ENTER("free_used_memory");
901+ // Do not use DBUG_ENTER("free_used_memory"); here, see below.
902
903 if (connections)
904 close_connections();
905@@ -2024,18 +2024,9 @@
906 size_t reject_length;
907 dirname_part(reject_file, result_file_name, &reject_length);
908
909- if (access(reject_file, W_OK) == 0)
910- {
911- /* Result file directory is writable, save reject file there */
912- fn_format(reject_file, result_file_name, NULL,
913- ".reject", MY_REPLACE_EXT);
914- }
915- else
916- {
917- /* Put reject file in opt_logdir */
918- fn_format(reject_file, result_file_name, opt_logdir,
919+ /* Put reject file in opt_logdir */
920+ fn_format(reject_file, result_file_name, opt_logdir,
921 ".reject", MY_REPLACE_DIR | MY_REPLACE_EXT);
922- }
923
924 if (my_copy(log_file.file_name(), reject_file, MYF(0)) != 0)
925 die("Failed to copy '%s' to '%s', errno: %d",
926@@ -5503,6 +5494,7 @@
927 char *con_options;
928 my_bool con_ssl= 0, con_compress= 0;
929 my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0;
930+ my_bool con_secure_auth= 1;
931 struct st_connection* con_slot;
932
933 static DYNAMIC_STRING ds_connection_name;
934@@ -5594,6 +5586,8 @@
935 con_shm= 1;
936 else if (!strncmp(con_options, "CLEARTEXT", 9))
937 con_cleartext_enable= 1;
938+ else if (!strncmp(con_options, "SKIPSECUREAUTH",14))
939+ con_secure_auth= 0;
940 else
941 die("Illegal option to connect: %.*s",
942 (int) (end - con_options), con_options);
943@@ -5705,6 +5699,10 @@
944 mysql_options(&con_slot->mysql, MYSQL_ENABLE_CLEARTEXT_PLUGIN,
945 (char*) &con_cleartext_enable);
946
947+ if (!con_secure_auth)
948+ mysql_options(&con_slot->mysql, MYSQL_SECURE_AUTH,
949+ (char*) &con_secure_auth);
950+
951 /* Special database to allow one to connect without a database name */
952 if (ds_database.length && !strcmp(ds_database.str,"*NO-ONE*"))
953 dynstr_set(&ds_database, "");
954
955=== modified file 'Percona-Server/client/sql_string.cc'
956--- Percona-Server/client/sql_string.cc 2013-05-12 06:39:35 +0000
957+++ Percona-Server/client/sql_string.cc 2013-05-12 06:41:27 +0000
958@@ -1,5 +1,5 @@
959 /*
960- Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
961+ Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
962
963 This program is free software; you can redistribute it and/or modify
964 it under the terms of the GNU General Public License as published by
965@@ -736,7 +736,7 @@
966 {
967 if (from->Alloced_length >= from_length)
968 return from;
969- if (from->alloced || !to || from == to)
970+ if ((from->alloced && (from->Alloced_length != 0)) || !to || from == to)
971 {
972 (void) from->realloc(from_length);
973 return from;
974
975=== modified file 'Percona-Server/cmake/build_configurations/mysql_release.cmake'
976--- Percona-Server/cmake/build_configurations/mysql_release.cmake 2012-08-22 01:40:20 +0000
977+++ Percona-Server/cmake/build_configurations/mysql_release.cmake 2013-05-12 06:41:27 +0000
978@@ -1,4 +1,4 @@
979-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
980+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
981 #
982 # This program is free software; you can redistribute it and/or modify
983 # it under the terms of the GNU General Public License as published by
984
985=== modified file 'Percona-Server/cmake/configure.pl'
986--- Percona-Server/cmake/configure.pl 2012-12-04 08:24:59 +0000
987+++ Percona-Server/cmake/configure.pl 2013-05-12 06:41:27 +0000
988@@ -1,6 +1,6 @@
989 #!/usr/bin/perl
990
991-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
992+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
993 #
994 # This program is free software; you can redistribute it and/or modify
995 # it under the terms of the GNU General Public License as published by
996
997=== modified file 'Percona-Server/cmake/cpu_info.cmake'
998--- Percona-Server/cmake/cpu_info.cmake 2012-05-30 07:57:41 +0000
999+++ Percona-Server/cmake/cpu_info.cmake 2013-05-12 06:41:27 +0000
1000@@ -1,4 +1,4 @@
1001-# Copyright (c) 2009, 2011, 2012 Oracle and/or its affiliates. All rights reserved.
1002+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1003 #
1004 # This program is free software; you can redistribute it and/or modify
1005 # it under the terms of the GNU General Public License as published by
1006
1007=== modified file 'Percona-Server/cmake/create_initial_db.cmake.in'
1008--- Percona-Server/cmake/create_initial_db.cmake.in 2012-10-03 14:07:49 +0000
1009+++ Percona-Server/cmake/create_initial_db.cmake.in 2013-05-12 06:41:27 +0000
1010@@ -1,4 +1,4 @@
1011-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
1012+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1013 #
1014 # This program is free software; you can redistribute it and/or modify
1015 # it under the terms of the GNU General Public License as published by
1016@@ -21,7 +21,7 @@
1017
1018 SET(WITH_SSL_PATH "@WITH_SSL_PATH@")
1019 SET(CRYPTO_LIBRARY "@CRYPTO_LIBRARY@")
1020-SET(OPENSSL_LIBRARY "@OPENSSL_LIBRARIES@")
1021+SET(OPENSSL_LIBRARY "@OPENSSL_LIBRARY@")
1022
1023 SET(WIN32 "@WIN32@")
1024
1025
1026=== modified file 'Percona-Server/cmake/dtrace.cmake'
1027--- Percona-Server/cmake/dtrace.cmake 2013-05-12 06:39:35 +0000
1028+++ Percona-Server/cmake/dtrace.cmake 2013-05-12 06:41:27 +0000
1029@@ -74,13 +74,6 @@
1030 ${CMAKE_BINARY_DIR}/include/probes_mysql_dtrace.h
1031 ${CMAKE_BINARY_DIR}/include/probes_mysql_nodtrace.h
1032 )
1033- IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1034- # Systemtap object
1035- EXECUTE_PROCESS(
1036- COMMAND ${DTRACE} -G -s ${CMAKE_SOURCE_DIR}/include/probes_mysql.d.base
1037- -o ${CMAKE_BINARY_DIR}/probes_mysql.o
1038- )
1039- ENDIF()
1040 ADD_CUSTOM_TARGET(gen_dtrace_header
1041 DEPENDS
1042 ${CMAKE_BINARY_DIR}/include/probes_mysql.d
1043@@ -99,12 +92,7 @@
1044 IF(ENABLE_DTRACE)
1045 ADD_DEPENDENCIES(${target} gen_dtrace_header)
1046
1047- IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1048- TARGET_LINK_LIBRARIES(${target} ${CMAKE_BINARY_DIR}/probes_mysql.o)
1049- ENDIF()
1050-
1051- # On Solaris, invoke dtrace -G to generate object file and
1052- # link it together with target.
1053+ # Invoke dtrace to generate object file and link it together with target.
1054 IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1055 SET(objdir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${target}.dir)
1056 SET(outfile ${objdir}/${target}_dtrace.o)
1057@@ -121,6 +109,17 @@
1058 -P ${CMAKE_SOURCE_DIR}/cmake/dtrace_prelink.cmake
1059 WORKING_DIRECTORY ${objdir}
1060 )
1061+ ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1062+ SET(outfile "${CMAKE_BINARY_DIR}/probes_mysql.o")
1063+ # Systemtap object
1064+ EXECUTE_PROCESS(
1065+ COMMAND ${DTRACE} -G -s ${CMAKE_SOURCE_DIR}/include/probes_mysql.d.base
1066+ -o ${outfile}
1067+ )
1068+ ENDIF()
1069+
1070+ # Do not try to extend the library if we have not built the .o file
1071+ IF(outfile)
1072 # Add full object path to linker flags
1073 GET_TARGET_PROPERTY(target_type ${target} TYPE)
1074 IF(NOT target_type MATCHES "STATIC")
1075@@ -132,12 +131,12 @@
1076 # but maybe one day this will be fixed.
1077 GET_TARGET_PROPERTY(target_location ${target} LOCATION)
1078 ADD_CUSTOM_COMMAND(
1079- TARGET ${target} POST_BUILD
1080- COMMAND ${CMAKE_AR} r ${target_location} ${outfile}
1081- COMMAND ${CMAKE_RANLIB} ${target_location}
1082- )
1083- # Used in DTRACE_INSTRUMENT_WITH_STATIC_LIBS
1084- SET(TARGET_OBJECT_DIRECTORY_${target} ${objdir} CACHE INTERNAL "")
1085+ TARGET ${target} POST_BUILD
1086+ COMMAND ${CMAKE_AR} r ${target_location} ${outfile}
1087+ COMMAND ${CMAKE_RANLIB} ${target_location}
1088+ )
1089+ # Used in DTRACE_INSTRUMENT_WITH_STATIC_LIBS
1090+ SET(TARGET_OBJECT_DIRECTORY_${target} ${objdir} CACHE INTERNAL "")
1091 ENDIF()
1092 ENDIF()
1093 ENDIF()
1094
1095=== modified file 'Percona-Server/cmake/install_macros.cmake'
1096--- Percona-Server/cmake/install_macros.cmake 2012-02-16 09:51:14 +0000
1097+++ Percona-Server/cmake/install_macros.cmake 2013-05-12 06:41:27 +0000
1098@@ -1,4 +1,4 @@
1099-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
1100+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
1101 #
1102 # This program is free software; you can redistribute it and/or modify
1103 # it under the terms of the GNU General Public License as published by
1104
1105=== modified file 'Percona-Server/cmake/libevent.cmake'
1106--- Percona-Server/cmake/libevent.cmake 2012-02-28 13:00:44 +0000
1107+++ Percona-Server/cmake/libevent.cmake 2013-05-12 06:41:27 +0000
1108@@ -1,4 +1,4 @@
1109-# Copyright (C) 2011 Oracle and/or its affiliates. All Rights Reserved.
1110+# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
1111 #
1112 # This program is free software; you can redistribute it and/or modify
1113 # it under the terms of the GNU General Public License as published by
1114
1115=== modified file 'Percona-Server/cmake/libutils.cmake'
1116--- Percona-Server/cmake/libutils.cmake 2012-10-16 06:21:51 +0000
1117+++ Percona-Server/cmake/libutils.cmake 2013-05-12 06:41:27 +0000
1118@@ -1,4 +1,4 @@
1119-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
1120+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1121 #
1122 # This program is free software; you can redistribute it and/or modify
1123 # it under the terms of the GNU General Public License as published by
1124@@ -126,7 +126,7 @@
1125
1126 MACRO(MERGE_STATIC_LIBS TARGET OUTPUT_NAME LIBS_TO_MERGE)
1127 # To produce a library we need at least one source file.
1128- # It is created by ADD_CUSTOM_COMMAND below and will helps
1129+ # It is created by ADD_CUSTOM_COMMAND below and will
1130 # also help to track dependencies.
1131 SET(SOURCE_FILE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_depends.c)
1132 ADD_LIBRARY(${TARGET} STATIC ${SOURCE_FILE})
1133@@ -158,6 +158,7 @@
1134 IF(OSLIBS)
1135 LIST(REMOVE_DUPLICATES OSLIBS)
1136 TARGET_LINK_LIBRARIES(${TARGET} ${OSLIBS})
1137+ MESSAGE(STATUS "Library ${TARGET} depends on OSLIBS ${OSLIBS}")
1138 ENDIF()
1139
1140 # Make the generated dummy source file depended on all static input
1141
1142=== modified file 'Percona-Server/cmake/maintainer.cmake'
1143--- Percona-Server/cmake/maintainer.cmake 2012-08-22 01:40:20 +0000
1144+++ Percona-Server/cmake/maintainer.cmake 2013-05-12 06:41:27 +0000
1145@@ -1,4 +1,4 @@
1146-# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
1147+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
1148 #
1149 # This program is free software; you can redistribute it and/or modify
1150 # it under the terms of the GNU General Public License as published by
1151
1152=== modified file 'Percona-Server/cmake/make_dist.cmake.in'
1153--- Percona-Server/cmake/make_dist.cmake.in 2012-08-22 01:40:20 +0000
1154+++ Percona-Server/cmake/make_dist.cmake.in 2013-05-12 06:41:27 +0000
1155@@ -1,4 +1,4 @@
1156-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
1157+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1158 #
1159 # This program is free software; you can redistribute it and/or modify
1160 # it under the terms of the GNU General Public License as published by
1161
1162=== modified file 'Percona-Server/cmake/mysql_version.cmake'
1163--- Percona-Server/cmake/mysql_version.cmake 2013-01-18 04:53:12 +0000
1164+++ Percona-Server/cmake/mysql_version.cmake 2013-05-12 06:41:27 +0000
1165@@ -1,4 +1,4 @@
1166-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
1167+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1168 #
1169 # This program is free software; you can redistribute it and/or modify
1170 # it under the terms of the GNU General Public License as published by
1171
1172=== modified file 'Percona-Server/cmake/os/Darwin.cmake'
1173--- Percona-Server/cmake/os/Darwin.cmake 2012-10-08 08:16:12 +0000
1174+++ Percona-Server/cmake/os/Darwin.cmake 2013-05-12 06:41:27 +0000
1175@@ -1,4 +1,4 @@
1176-# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
1177+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
1178 #
1179 # This program is free software; you can redistribute it and/or modify
1180 # it under the terms of the GNU General Public License as published by
1181
1182=== modified file 'Percona-Server/cmake/os/Windows.cmake'
1183--- Percona-Server/cmake/os/Windows.cmake 2012-08-22 01:40:20 +0000
1184+++ Percona-Server/cmake/os/Windows.cmake 2013-05-12 06:41:27 +0000
1185@@ -1,4 +1,4 @@
1186-# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
1187+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
1188 #
1189 # This program is free software; you can redistribute it and/or modify
1190 # it under the terms of the GNU General Public License as published by
1191
1192=== modified file 'Percona-Server/cmake/package_name.cmake'
1193--- Percona-Server/cmake/package_name.cmake 2013-01-18 04:53:12 +0000
1194+++ Percona-Server/cmake/package_name.cmake 2013-05-12 06:41:27 +0000
1195@@ -1,4 +1,4 @@
1196-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
1197+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
1198 #
1199 # This program is free software; you can redistribute it and/or modify
1200 # it under the terms of the GNU General Public License as published by
1201
1202=== modified file 'Percona-Server/cmake/plugin.cmake'
1203--- Percona-Server/cmake/plugin.cmake 2012-10-24 16:08:19 +0000
1204+++ Percona-Server/cmake/plugin.cmake 2013-05-12 06:41:27 +0000
1205@@ -1,4 +1,4 @@
1206-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
1207+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1208 #
1209 # This program is free software; you can redistribute it and/or modify
1210 # it under the terms of the GNU General Public License as published by
1211
1212=== modified file 'Percona-Server/cmake/readline.cmake'
1213--- Percona-Server/cmake/readline.cmake 2012-03-01 12:32:57 +0000
1214+++ Percona-Server/cmake/readline.cmake 2013-05-12 06:41:27 +0000
1215@@ -1,5 +1,4 @@
1216-# Copyright (c) 2009, 2010 Sun Microsystems, Inc.
1217-# Use is subject to license terms.
1218+# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
1219 #
1220 # This program is free software; you can redistribute it and/or modify
1221 # it under the terms of the GNU General Public License as published by
1222
1223=== modified file 'Percona-Server/cmake/ssl.cmake'
1224--- Percona-Server/cmake/ssl.cmake 2012-12-04 08:24:59 +0000
1225+++ Percona-Server/cmake/ssl.cmake 2013-05-12 06:41:27 +0000
1226@@ -105,9 +105,13 @@
1227 UNSET(OPENSSL_APPLINK_C)
1228 UNSET(OPENSSL_APPLINK_C CACHE)
1229 ENDIF()
1230- IF (OPENSSL_LIBRARIES)
1231- UNSET(OPENSSL_LIBRARIES)
1232- UNSET(OPENSSL_LIBRARIES CACHE)
1233+ IF (OPENSSL_LIBRARY)
1234+ UNSET(OPENSSL_LIBRARY)
1235+ UNSET(OPENSSL_LIBRARY CACHE)
1236+ ENDIF()
1237+ IF (CRYPTO_LIBRARY)
1238+ UNSET(CRYPTO_LIBRARY)
1239+ UNSET(CRYPTO_LIBRARY CACHE)
1240 ENDIF()
1241 ELSEIF(WITH_SSL STREQUAL "system" OR
1242 WITH_SSL STREQUAL "yes" OR
1243@@ -140,15 +144,19 @@
1244
1245 # On mac this list is <.dylib;.so;.a>
1246 # We prefer static libraries, so we revert it here.
1247- LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
1248- MESSAGE(STATUS "suffixes <${CMAKE_FIND_LIBRARY_SUFFIXES}>")
1249- FIND_LIBRARY(OPENSSL_LIBRARIES
1250+ IF (WITH_SSL_PATH)
1251+ LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
1252+ MESSAGE(STATUS "suffixes <${CMAKE_FIND_LIBRARY_SUFFIXES}>")
1253+ ENDIF()
1254+ FIND_LIBRARY(OPENSSL_LIBRARY
1255 NAMES ssl ssleay32 ssleay32MD
1256 HINTS ${OPENSSL_ROOT_DIR}/lib)
1257 FIND_LIBRARY(CRYPTO_LIBRARY
1258 NAMES crypto libeay32
1259 HINTS ${OPENSSL_ROOT_DIR}/lib)
1260- LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
1261+ IF (WITH_SSL_PATH)
1262+ LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
1263+ ENDIF()
1264
1265 # Verify version number. Version information looks like:
1266 # #define OPENSSL_VERSION_NUMBER 0x1000103fL
1267@@ -163,7 +171,7 @@
1268 )
1269
1270 IF(OPENSSL_INCLUDE_DIR AND
1271- OPENSSL_LIBRARIES AND
1272+ OPENSSL_LIBRARY AND
1273 CRYPTO_LIBRARY AND
1274 OPENSSL_MAJOR_VERSION STREQUAL "1"
1275 )
1276@@ -172,8 +180,32 @@
1277 SET(OPENSSL_FOUND FALSE)
1278 ENDIF()
1279
1280+ # If we are invoked with -DWITH_SSL=/path/to/custom/openssl
1281+ # and we have found static libraries, then link them statically
1282+ # into our executables and libraries.
1283+ # Adding IMPORTED_LOCATION allows MERGE_STATIC_LIBS
1284+ # to get LOCATION and do correct dependency analysis.
1285+ SET(MY_CRYPTO_LIBRARY "${CRYPTO_LIBRARY}")
1286+ SET(MY_OPENSSL_LIBRARY "${OPENSSL_LIBRARY}")
1287+ IF (WITH_SSL_PATH)
1288+ GET_FILENAME_COMPONENT(CRYPTO_EXT "${CRYPTO_LIBRARY}" EXT)
1289+ GET_FILENAME_COMPONENT(OPENSSL_EXT "${OPENSSL_LIBRARY}" EXT)
1290+ IF (CRYPTO_EXT STREQUAL ".a")
1291+ SET(MY_CRYPTO_LIBRARY imported_crypto)
1292+ ADD_LIBRARY(imported_crypto STATIC IMPORTED)
1293+ SET_TARGET_PROPERTIES(imported_crypto
1294+ PROPERTIES IMPORTED_LOCATION "${CRYPTO_LIBRARY}")
1295+ ENDIF()
1296+ IF (OPENSSL_EXT STREQUAL ".a")
1297+ SET(MY_OPENSSL_LIBRARY imported_openssl)
1298+ ADD_LIBRARY(imported_openssl STATIC IMPORTED)
1299+ SET_TARGET_PROPERTIES(imported_openssl
1300+ PROPERTIES IMPORTED_LOCATION "${OPENSSL_LIBRARY}")
1301+ ENDIF()
1302+ ENDIF()
1303+
1304 MESSAGE(STATUS "OPENSSL_INCLUDE_DIR = ${OPENSSL_INCLUDE_DIR}")
1305- MESSAGE(STATUS "OPENSSL_LIBRARIES = ${OPENSSL_LIBRARIES}")
1306+ MESSAGE(STATUS "OPENSSL_LIBRARY = ${OPENSSL_LIBRARY}")
1307 MESSAGE(STATUS "CRYPTO_LIBRARY = ${CRYPTO_LIBRARY}")
1308 MESSAGE(STATUS "OPENSSL_MAJOR_VERSION = ${OPENSSL_MAJOR_VERSION}")
1309
1310@@ -183,7 +215,7 @@
1311 HAVE_SHA512_DIGEST_LENGTH)
1312 IF(OPENSSL_FOUND AND HAVE_SHA512_DIGEST_LENGTH)
1313 SET(SSL_SOURCES "")
1314- SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES} ${CRYPTO_LIBRARY})
1315+ SET(SSL_LIBRARIES ${MY_OPENSSL_LIBRARY} ${MY_CRYPTO_LIBRARY})
1316 IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1317 SET(SSL_LIBRARIES ${SSL_LIBRARIES} ${LIBSOCKET})
1318 ENDIF()
1319@@ -216,7 +248,7 @@
1320 MACRO (COPY_OPENSSL_DLLS target_name)
1321 IF (WIN32 AND WITH_SSL_PATH)
1322 GET_FILENAME_COMPONENT(CRYPTO_NAME "${CRYPTO_LIBRARY}" NAME_WE)
1323- GET_FILENAME_COMPONENT(OPENSSL_NAME "${OPENSSL_LIBRARIES}" NAME_WE)
1324+ GET_FILENAME_COMPONENT(OPENSSL_NAME "${OPENSSL_LIBRARY}" NAME_WE)
1325 FILE(GLOB HAVE_CRYPTO_DLL "${WITH_SSL_PATH}/bin/${CRYPTO_NAME}.dll")
1326 FILE(GLOB HAVE_OPENSSL_DLL "${WITH_SSL_PATH}/bin/${OPENSSL_NAME}.dll")
1327 IF (HAVE_CRYPTO_DLL AND HAVE_OPENSSL_DLL)
1328
1329=== modified file 'Percona-Server/cmake/zlib.cmake'
1330--- Percona-Server/cmake/zlib.cmake 2011-06-30 15:46:53 +0000
1331+++ Percona-Server/cmake/zlib.cmake 2013-05-12 06:41:27 +0000
1332@@ -15,7 +15,7 @@
1333 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1334
1335 MACRO (MYSQL_USE_BUNDLED_ZLIB)
1336- SET(ZLIB_LIBRARY zlib)
1337+ SET(ZLIB_LIBRARY zlib CACHE INTERNAL "Bundled zlib library")
1338 SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/zlib)
1339 SET(ZLIB_FOUND TRUE)
1340 SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib")
1341@@ -57,13 +57,17 @@
1342 INCLUDE(CheckFunctionExists)
1343 SET(CMAKE_REQUIRED_LIBRARIES z)
1344 CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
1345+ CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
1346+ CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
1347 SET(CMAKE_REQUIRED_LIBRARIES)
1348- IF(HAVE_CRC32)
1349- SET(ZLIB_LIBRARY z CACHE INTERNAL "System zlib library")
1350- SET(WITH_ZLIB "system" CACHE STRING "Which zlib to use (possible values are 'bundled' or 'system')")
1351+ IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
1352+ SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES} CACHE INTERNAL "System zlib library")
1353+ SET(WITH_ZLIB "system" CACHE STRING
1354+ "Which zlib to use (possible values are 'bundled' or 'system')")
1355 SET(ZLIB_SOURCES "")
1356 ELSE()
1357 SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
1358+ MESSAGE(STATUS "system zlib found but not usable")
1359 ENDIF()
1360 ENDIF()
1361 IF(NOT ZLIB_FOUND)
1362
1363=== modified file 'Percona-Server/cmd-line-utils/libedit/CMakeLists.txt'
1364--- Percona-Server/cmd-line-utils/libedit/CMakeLists.txt 2011-10-21 12:44:35 +0000
1365+++ Percona-Server/cmd-line-utils/libedit/CMakeLists.txt 2013-05-12 06:41:27 +0000
1366@@ -1,4 +1,4 @@
1367-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
1368+# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
1369 #
1370 # This program is free software; you can redistribute it and/or modify
1371 # it under the terms of the GNU General Public License as published by
1372@@ -186,6 +186,6 @@
1373 ${AHDR}
1374 ${LIBEDIT_EXTRA_SOURCES}
1375 )
1376-ADD_LIBRARY(edit ${LIBEDIT_SOURCES})
1377+ADD_CONVENIENCE_LIBRARY(edit ${LIBEDIT_SOURCES})
1378 TARGET_LINK_LIBRARIES(edit ${CURSES_LIBRARY})
1379
1380
1381=== modified file 'Percona-Server/cmd-line-utils/libedit/np/unvis.c'
1382--- Percona-Server/cmd-line-utils/libedit/np/unvis.c 2011-10-29 18:08:40 +0000
1383+++ Percona-Server/cmd-line-utils/libedit/np/unvis.c 2013-05-12 06:41:27 +0000
1384@@ -87,7 +87,9 @@
1385 #define S_NUMBER 13 /* collecting number */
1386 #define S_STRING 14 /* collecting string */
1387
1388+#ifndef isoctal
1389 #define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7')
1390+#endif
1391 #define xtod(c) (isdigit(c) ? (c - '0') : ((tolower(c) - 'a') + 10))
1392 #define XTOD(c) (isdigit(c) ? (c - '0') : ((c - 'A') + 10))
1393
1394
1395=== modified file 'Percona-Server/cmd-line-utils/libedit/np/vis.c'
1396--- Percona-Server/cmd-line-utils/libedit/np/vis.c 2011-10-28 14:40:46 +0000
1397+++ Percona-Server/cmd-line-utils/libedit/np/vis.c 2013-05-12 06:41:27 +0000
1398@@ -91,7 +91,9 @@
1399 #undef BELL
1400 #define BELL '\a'
1401
1402+#ifndef isoctal
1403 #define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7')
1404+#endif
1405 #define iswhite(c) (c == ' ' || c == '\t' || c == '\n')
1406 #define issafe(c) (c == '\b' || c == BELL || c == '\r')
1407 #define xtoa(c) "0123456789abcdef"[c]
1408
1409=== modified file 'Percona-Server/config.h.cmake'
1410--- Percona-Server/config.h.cmake 2013-05-12 06:39:35 +0000
1411+++ Percona-Server/config.h.cmake 2013-05-12 06:41:27 +0000
1412@@ -1,4 +1,4 @@
1413-/* Copyright (c) 2009, 2011, 2012 Oracle and/or its affiliates. All rights reserved.
1414+/* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
1415
1416 This program is free software; you can redistribute it and/or modify
1417 it under the terms of the GNU General Public License as published by
1418@@ -495,7 +495,7 @@
1419 #define MACHINE_TYPE "@MYSQL_MACHINE_TYPE@"
1420 #cmakedefine HAVE_DTRACE 1
1421
1422-#cmakedefine SIGNAL_WITH_VIO_CLOSE 1
1423+#cmakedefine SIGNAL_WITH_VIO_SHUTDOWN 1
1424
1425 /* Windows stuff, mostly functions, that have Posix analogs but named differently */
1426 #cmakedefine S_IROTH @S_IROTH@
1427
1428=== modified file 'Percona-Server/configure.cmake'
1429--- Percona-Server/configure.cmake 2013-03-05 12:46:43 +0000
1430+++ Percona-Server/configure.cmake 2013-05-12 06:41:27 +0000
1431@@ -1,4 +1,4 @@
1432-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
1433+# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
1434 #
1435 # This program is free software; you can redistribute it and/or modify
1436 # it under the terms of the GNU General Public License as published by
1437@@ -55,7 +55,7 @@
1438 # As a consequence of ALARMs no longer being used, thread
1439 # notification for KILL must close the socket to wake up
1440 # other threads.
1441-SET(SIGNAL_WITH_VIO_CLOSE 1)
1442+SET(SIGNAL_WITH_VIO_SHUTDOWN 1)
1443
1444 # Always enable -Wall for gnu C/C++
1445 IF(CMAKE_COMPILER_IS_GNUCXX)
1446@@ -65,6 +65,15 @@
1447 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
1448 ENDIF()
1449
1450+IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
1451+ SET(CMAKE_CXX_FLAGS
1452+ "${CMAKE_CXX_FLAGS} -Wall -Wno-null-conversion -Wno-unused-private-field")
1453+ENDIF()
1454+IF(CMAKE_C_COMPILER_ID MATCHES "Clang")
1455+ SET(CMAKE_C_FLAGS
1456+ "${CMAKE_C_FLAGS} -Wall -Wno-null-conversion -Wno-unused-private-field")
1457+ENDIF()
1458+
1459 # The default C++ library for SunPro is really old, and not standards compliant.
1460 # http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html
1461 # Use stlport rather than Rogue Wave.
1462@@ -217,6 +226,11 @@
1463 IF(HAVE_LIBWRAP)
1464 SET(MYSYS_LIBWRAP_SOURCE ${CMAKE_SOURCE_DIR}/mysys/my_libwrap.c)
1465 SET(LIBWRAP "wrap")
1466+ ELSE()
1467+ MESSAGE(FATAL_ERROR
1468+ "WITH_LIBWRAP is defined, but can not find a working libwrap. "
1469+ "Make sure both the header files (tcpd.h) "
1470+ "and the library (libwrap) are installed.")
1471 ENDIF()
1472 ENDIF()
1473 ENDIF()
1474
1475=== modified file 'Percona-Server/extra/charset2html.c'
1476--- Percona-Server/extra/charset2html.c 2010-10-27 11:32:32 +0000
1477+++ Percona-Server/extra/charset2html.c 2013-05-12 06:41:27 +0000
1478@@ -1,4 +1,5 @@
1479-/* Copyright (C) 2000 MySQL AB
1480+/* Copyright (c) 2000, 2002-2004, 2007, 2008 MySQL AB
1481+ Use is subject to license terms
1482
1483 This program is free software; you can redistribute it and/or modify
1484 it under the terms of the GNU General Public License as published by
1485
1486=== modified file 'Percona-Server/extra/comp_err.c'
1487--- Percona-Server/extra/comp_err.c 2013-05-12 06:39:35 +0000
1488+++ Percona-Server/extra/comp_err.c 2013-05-12 06:41:27 +0000
1489@@ -1,5 +1,5 @@
1490 /*
1491- Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
1492+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1493
1494 This program is free software; you can redistribute it and/or modify
1495 it under the terms of the GNU General Public License as published by
1496
1497=== modified file 'Percona-Server/extra/perror.c'
1498--- Percona-Server/extra/perror.c 2012-08-07 13:56:51 +0000
1499+++ Percona-Server/extra/perror.c 2013-05-12 06:41:27 +0000
1500@@ -1,5 +1,5 @@
1501 /*
1502- Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1503+ Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
1504
1505 This program is free software; you can redistribute it and/or modify
1506 it under the terms of the GNU General Public License as published by
1507@@ -136,7 +136,7 @@
1508 /*
1509 If you got compilation error here about compile_time_assert array, check
1510 that every HA_ERR_xxx constant has a corresponding error message in
1511- handler_error_messages[] list (check mysys/ma_handler_errors.h and
1512+ handler_error_messages[] list (check mysys/my_handler_errors.h and
1513 include/my_base.h).
1514 */
1515 compile_time_assert(HA_ERR_FIRST + array_elements(handler_error_messages) ==
1516
1517=== modified file 'Percona-Server/extra/yassl/CMakeLists.txt'
1518--- Percona-Server/extra/yassl/CMakeLists.txt 2012-03-21 15:59:46 +0000
1519+++ Percona-Server/extra/yassl/CMakeLists.txt 2013-05-12 06:41:27 +0000
1520@@ -1,4 +1,4 @@
1521-# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
1522+# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1523 #
1524 # This program is free software; you can redistribute it and/or modify
1525 # it under the terms of the GNU General Public License as published by
1526
1527=== modified file 'Percona-Server/extra/yassl/examples/client/client.cpp'
1528--- Percona-Server/extra/yassl/examples/client/client.cpp 2012-08-22 01:40:20 +0000
1529+++ Percona-Server/extra/yassl/examples/client/client.cpp 2013-05-12 06:41:27 +0000
1530@@ -1,5 +1,5 @@
1531 /*
1532- Copyright (C) 2006 MySQL AB
1533+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1534
1535 This program is free software; you can redistribute it and/or modify
1536 it under the terms of the GNU General Public License as published by
1537
1538=== modified file 'Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp'
1539--- Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp 2012-08-22 01:40:20 +0000
1540+++ Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp 2013-05-12 06:41:27 +0000
1541@@ -1,5 +1,5 @@
1542 /*
1543- Copyright (C) 2006 MySQL AB
1544+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1545
1546 This program is free software; you can redistribute it and/or modify
1547 it under the terms of the GNU General Public License as published by
1548
1549=== modified file 'Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp'
1550--- Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp 2012-08-22 01:40:20 +0000
1551+++ Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp 2013-05-12 06:41:27 +0000
1552@@ -1,5 +1,5 @@
1553 /*
1554- Copyright (C) 2006 MySQL AB
1555+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1556
1557 This program is free software; you can redistribute it and/or modify
1558 it under the terms of the GNU General Public License as published by
1559
1560=== modified file 'Percona-Server/extra/yassl/examples/server/server.cpp'
1561--- Percona-Server/extra/yassl/examples/server/server.cpp 2012-08-22 01:40:20 +0000
1562+++ Percona-Server/extra/yassl/examples/server/server.cpp 2013-05-12 06:41:27 +0000
1563@@ -1,5 +1,5 @@
1564 /*
1565- Copyright (C) 2006 MySQL AB
1566+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1567
1568 This program is free software; you can redistribute it and/or modify
1569 it under the terms of the GNU General Public License as published by
1570
1571=== modified file 'Percona-Server/extra/yassl/include/buffer.hpp'
1572--- Percona-Server/extra/yassl/include/buffer.hpp 2012-10-16 06:21:51 +0000
1573+++ Percona-Server/extra/yassl/include/buffer.hpp 2013-05-12 06:41:27 +0000
1574@@ -1,5 +1,5 @@
1575 /*
1576- Copyright (C) 2000-2007 MySQL AB
1577+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1578
1579 This program is free software; you can redistribute it and/or modify
1580 it under the terms of the GNU General Public License as published by
1581
1582=== modified file 'Percona-Server/extra/yassl/include/cert_wrapper.hpp'
1583--- Percona-Server/extra/yassl/include/cert_wrapper.hpp 2012-08-22 01:40:20 +0000
1584+++ Percona-Server/extra/yassl/include/cert_wrapper.hpp 2013-05-12 06:41:27 +0000
1585@@ -1,5 +1,5 @@
1586 /*
1587- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1588+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1589
1590 This program is free software; you can redistribute it and/or modify
1591 it under the terms of the GNU General Public License as published by
1592
1593=== modified file 'Percona-Server/extra/yassl/include/crypto_wrapper.hpp'
1594--- Percona-Server/extra/yassl/include/crypto_wrapper.hpp 2012-10-16 06:21:51 +0000
1595+++ Percona-Server/extra/yassl/include/crypto_wrapper.hpp 2013-05-12 06:41:27 +0000
1596@@ -1,5 +1,5 @@
1597 /*
1598- Copyright (C) 2000-2007 MySQL AB
1599+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1600
1601 This program is free software; you can redistribute it and/or modify
1602 it under the terms of the GNU General Public License as published by
1603
1604=== modified file 'Percona-Server/extra/yassl/include/factory.hpp'
1605--- Percona-Server/extra/yassl/include/factory.hpp 2012-10-16 06:21:51 +0000
1606+++ Percona-Server/extra/yassl/include/factory.hpp 2013-05-12 06:41:27 +0000
1607@@ -1,5 +1,5 @@
1608 /*
1609- Copyright (C) 2000-2007 MySQL AB
1610+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1611
1612 This program is free software; you can redistribute it and/or modify
1613 it under the terms of the GNU General Public License as published by
1614
1615=== modified file 'Percona-Server/extra/yassl/include/handshake.hpp'
1616--- Percona-Server/extra/yassl/include/handshake.hpp 2012-10-16 06:21:51 +0000
1617+++ Percona-Server/extra/yassl/include/handshake.hpp 2013-05-12 06:41:27 +0000
1618@@ -1,5 +1,5 @@
1619 /*
1620- Copyright (C) 2000-2007 MySQL AB
1621+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1622
1623 This program is free software; you can redistribute it and/or modify
1624 it under the terms of the GNU General Public License as published by
1625
1626=== modified file 'Percona-Server/extra/yassl/include/lock.hpp'
1627--- Percona-Server/extra/yassl/include/lock.hpp 2013-02-12 07:47:19 +0000
1628+++ Percona-Server/extra/yassl/include/lock.hpp 2013-05-12 06:41:27 +0000
1629@@ -1,5 +1,5 @@
1630 /*
1631- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
1632+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1633
1634 This program is free software; you can redistribute it and/or modify
1635 it under the terms of the GNU General Public License as published by
1636
1637=== modified file 'Percona-Server/extra/yassl/include/log.hpp'
1638--- Percona-Server/extra/yassl/include/log.hpp 2012-10-16 06:21:51 +0000
1639+++ Percona-Server/extra/yassl/include/log.hpp 2013-05-12 06:41:27 +0000
1640@@ -1,5 +1,5 @@
1641 /*
1642- Copyright (C) 2000-2007 MySQL AB
1643+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1644
1645 This program is free software; you can redistribute it and/or modify
1646 it under the terms of the GNU General Public License as published by
1647
1648=== modified file 'Percona-Server/extra/yassl/include/openssl/prefix_ssl.h'
1649--- Percona-Server/extra/yassl/include/openssl/prefix_ssl.h 2012-03-21 15:59:46 +0000
1650+++ Percona-Server/extra/yassl/include/openssl/prefix_ssl.h 2013-05-12 06:41:27 +0000
1651@@ -1,5 +1,5 @@
1652 /*
1653- Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
1654+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1655
1656 This program is free software; you can redistribute it and/or modify
1657 it under the terms of the GNU General Public License as published by
1658
1659=== modified file 'Percona-Server/extra/yassl/include/openssl/ssl.h'
1660--- Percona-Server/extra/yassl/include/openssl/ssl.h 2013-02-12 07:47:19 +0000
1661+++ Percona-Server/extra/yassl/include/openssl/ssl.h 2013-05-12 06:41:27 +0000
1662@@ -1,5 +1,5 @@
1663 /*
1664- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1665+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1666
1667 This program is free software; you can redistribute it and/or modify
1668 it under the terms of the GNU General Public License as published by
1669
1670=== modified file 'Percona-Server/extra/yassl/include/socket_wrapper.hpp'
1671--- Percona-Server/extra/yassl/include/socket_wrapper.hpp 2012-08-22 01:40:20 +0000
1672+++ Percona-Server/extra/yassl/include/socket_wrapper.hpp 2013-05-12 06:41:27 +0000
1673@@ -1,5 +1,5 @@
1674 /*
1675- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1676+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1677
1678 This program is free software; you can redistribute it and/or modify
1679 it under the terms of the GNU General Public License as published by
1680
1681=== modified file 'Percona-Server/extra/yassl/include/timer.hpp'
1682--- Percona-Server/extra/yassl/include/timer.hpp 2012-10-16 06:21:51 +0000
1683+++ Percona-Server/extra/yassl/include/timer.hpp 2013-05-12 06:41:27 +0000
1684@@ -1,5 +1,5 @@
1685 /*
1686- Copyright (C) 2000-2007 MySQL AB
1687+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1688
1689 This program is free software; you can redistribute it and/or modify
1690 it under the terms of the GNU General Public License as published by
1691
1692=== modified file 'Percona-Server/extra/yassl/include/yassl.hpp'
1693--- Percona-Server/extra/yassl/include/yassl.hpp 2012-10-16 06:21:51 +0000
1694+++ Percona-Server/extra/yassl/include/yassl.hpp 2013-05-12 06:41:27 +0000
1695@@ -1,5 +1,5 @@
1696 /*
1697- Copyright (C) 2000-2007 MySQL AB
1698+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1699
1700 This program is free software; you can redistribute it and/or modify
1701 it under the terms of the GNU General Public License as published by
1702
1703=== modified file 'Percona-Server/extra/yassl/include/yassl_error.hpp'
1704--- Percona-Server/extra/yassl/include/yassl_error.hpp 2013-02-12 07:47:19 +0000
1705+++ Percona-Server/extra/yassl/include/yassl_error.hpp 2013-05-12 06:41:27 +0000
1706@@ -1,6 +1,5 @@
1707 /*
1708- Copyright (c) 2005-2007 MySQL AB, 2010 Sun Microsystems, Inc.
1709- Use is subject to license terms.
1710+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1711
1712 This program is free software; you can redistribute it and/or modify
1713 it under the terms of the GNU General Public License as published by
1714@@ -53,7 +52,8 @@
1715 badVersion_error = 117,
1716 compress_error = 118,
1717 decompress_error = 119,
1718- pms_version_error = 120
1719+ pms_version_error = 120,
1720+ sanityCipher_error = 121
1721
1722 // !!!! add error message to .cpp !!!!
1723
1724
1725=== modified file 'Percona-Server/extra/yassl/include/yassl_imp.hpp'
1726--- Percona-Server/extra/yassl/include/yassl_imp.hpp 2012-10-16 06:21:51 +0000
1727+++ Percona-Server/extra/yassl/include/yassl_imp.hpp 2013-05-12 06:41:27 +0000
1728@@ -1,6 +1,5 @@
1729 /*
1730- Copyright (c) 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc.
1731- Use is subject to license terms.
1732+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1733
1734 This program is free software; you can redistribute it and/or modify
1735 it under the terms of the GNU General Public License as published by
1736
1737=== modified file 'Percona-Server/extra/yassl/include/yassl_int.hpp'
1738--- Percona-Server/extra/yassl/include/yassl_int.hpp 2013-01-18 04:53:12 +0000
1739+++ Percona-Server/extra/yassl/include/yassl_int.hpp 2013-05-12 06:41:27 +0000
1740@@ -1,5 +1,5 @@
1741 /*
1742- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1743+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1744
1745 This program is free software; you can redistribute it and/or modify
1746 it under the terms of the GNU General Public License as published by
1747
1748=== modified file 'Percona-Server/extra/yassl/include/yassl_types.hpp'
1749--- Percona-Server/extra/yassl/include/yassl_types.hpp 2012-10-16 06:21:51 +0000
1750+++ Percona-Server/extra/yassl/include/yassl_types.hpp 2013-05-12 06:41:27 +0000
1751@@ -1,6 +1,5 @@
1752 /*
1753- Copyright (c) 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc.
1754- Use is subject to license terms.
1755+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1756
1757 This program is free software; you can redistribute it and/or modify
1758 it under the terms of the GNU General Public License as published by
1759@@ -220,7 +219,11 @@
1760 const int MAX_RECORD_SIZE = 16384; // 2^14, max size by standard
1761 const int COMPRESS_EXTRA = 1024; // extra compression possible addition
1762 const int SESSION_FLUSH_COUNT = 256; // when to flush session cache
1763-
1764+const int MAX_PAD_SIZE = 256; // max TLS padding size
1765+const int COMPRESS_CONSTANT = 13; // compression calculation constant
1766+const int COMPRESS_UPPER = 55; // compression calculation numerator
1767+const int COMPRESS_LOWER = 64; // compression calculation denominator
1768+const int COMPRESS_DUMMY_SIZE = 64; // compression dummy round size
1769
1770 typedef uint8 Cipher; // first byte is always 0x00 for SSLv3 & TLS
1771
1772
1773=== modified file 'Percona-Server/extra/yassl/src/buffer.cpp'
1774--- Percona-Server/extra/yassl/src/buffer.cpp 2013-01-18 04:53:12 +0000
1775+++ Percona-Server/extra/yassl/src/buffer.cpp 2013-05-12 06:41:27 +0000
1776@@ -1,6 +1,5 @@
1777 /*
1778- Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc.
1779- Use is subject to license terms.
1780+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1781
1782 This program is free software; you can redistribute it and/or modify
1783 it under the terms of the GNU General Public License as published by
1784
1785=== modified file 'Percona-Server/extra/yassl/src/cert_wrapper.cpp'
1786--- Percona-Server/extra/yassl/src/cert_wrapper.cpp 2013-02-12 07:47:19 +0000
1787+++ Percona-Server/extra/yassl/src/cert_wrapper.cpp 2013-05-12 06:41:27 +0000
1788@@ -1,5 +1,5 @@
1789 /*
1790- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1791+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1792
1793 This program is free software; you can redistribute it and/or modify
1794 it under the terms of the GNU General Public License as published by
1795
1796=== modified file 'Percona-Server/extra/yassl/src/crypto_wrapper.cpp'
1797--- Percona-Server/extra/yassl/src/crypto_wrapper.cpp 2012-10-16 06:21:51 +0000
1798+++ Percona-Server/extra/yassl/src/crypto_wrapper.cpp 2013-05-12 06:41:27 +0000
1799@@ -1,4 +1,4 @@
1800-/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1801+/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1802
1803 This program is free software; you can redistribute it and/or modify
1804 it under the terms of the GNU General Public License as published by
1805
1806=== modified file 'Percona-Server/extra/yassl/src/handshake.cpp'
1807--- Percona-Server/extra/yassl/src/handshake.cpp 2013-02-12 07:47:19 +0000
1808+++ Percona-Server/extra/yassl/src/handshake.cpp 2013-05-12 06:41:27 +0000
1809@@ -1,5 +1,5 @@
1810 /*
1811- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1812+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1813
1814 This program is free software; you can redistribute it and/or modify
1815 it under the terms of the GNU General Public License as published by
1816@@ -220,12 +220,45 @@
1817 }
1818
1819
1820+// sanity checks on encrypted message size
1821+static int sanity_check_message(SSL& ssl, uint msgSz)
1822+{
1823+ uint minSz = 0;
1824+
1825+ if (ssl.getSecurity().get_parms().cipher_type_ == block) {
1826+ uint blockSz = ssl.getCrypto().get_cipher().get_blockSize();
1827+ if (msgSz % blockSz)
1828+ return -1;
1829+
1830+ minSz = ssl.getSecurity().get_parms().hash_size_ + 1; // pad byte too
1831+ if (blockSz > minSz)
1832+ minSz = blockSz;
1833+
1834+ if (ssl.isTLSv1_1())
1835+ minSz += blockSz; // explicit IV
1836+ }
1837+ else { // stream
1838+ minSz = ssl.getSecurity().get_parms().hash_size_;
1839+ }
1840+
1841+ if (msgSz < minSz)
1842+ return -1;
1843+
1844+ return 0;
1845+}
1846+
1847+
1848 // decrypt input message in place, store size in case needed later
1849 void decrypt_message(SSL& ssl, input_buffer& input, uint sz)
1850 {
1851 input_buffer plain(sz);
1852 opaque* cipher = input.get_buffer() + input.get_current();
1853
1854+ if (sanity_check_message(ssl, sz) != 0) {
1855+ ssl.SetError(sanityCipher_error);
1856+ return;
1857+ }
1858+
1859 ssl.useCrypto().use_cipher().decrypt(plain.get_buffer(), cipher, sz);
1860 memcpy(cipher, plain.get_buffer(), sz);
1861 ssl.useSecurity().use_parms().encrypt_size_ = sz;
1862@@ -769,6 +802,8 @@
1863 return 0;
1864 }
1865 decrypt_message(ssl, buffer, hdr.length_);
1866+ if (ssl.GetError())
1867+ return 0;
1868 }
1869
1870 mySTL::auto_ptr<Message> msg(mf.CreateObject(hdr.type_));
1871
1872=== modified file 'Percona-Server/extra/yassl/src/lock.cpp'
1873--- Percona-Server/extra/yassl/src/lock.cpp 2013-02-12 07:47:19 +0000
1874+++ Percona-Server/extra/yassl/src/lock.cpp 2013-05-12 06:41:27 +0000
1875@@ -1,5 +1,5 @@
1876 /*
1877- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
1878+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1879
1880 This program is free software; you can redistribute it and/or modify
1881 it under the terms of the GNU General Public License as published by
1882
1883=== modified file 'Percona-Server/extra/yassl/src/log.cpp'
1884--- Percona-Server/extra/yassl/src/log.cpp 2012-10-16 06:21:51 +0000
1885+++ Percona-Server/extra/yassl/src/log.cpp 2013-05-12 06:41:27 +0000
1886@@ -1,5 +1,5 @@
1887 /*
1888- Copyright (C) 2000-2007 MySQL AB
1889+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1890
1891 This program is free software; you can redistribute it and/or modify
1892 it under the terms of the GNU General Public License as published by
1893
1894=== modified file 'Percona-Server/extra/yassl/src/make.bat'
1895--- Percona-Server/extra/yassl/src/make.bat 2012-03-21 14:27:34 +0000
1896+++ Percona-Server/extra/yassl/src/make.bat 2013-05-12 06:41:27 +0000
1897@@ -1,4 +1,4 @@
1898-REM Copyright (C) 2006, 2007 MySQL AB
1899+REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
1900 REM
1901 REM This program is free software; you can redistribute it and/or modify
1902 REM it under the terms of the GNU General Public License as published by
1903
1904=== modified file 'Percona-Server/extra/yassl/src/socket_wrapper.cpp'
1905--- Percona-Server/extra/yassl/src/socket_wrapper.cpp 2012-10-16 06:21:51 +0000
1906+++ Percona-Server/extra/yassl/src/socket_wrapper.cpp 2013-05-12 06:41:27 +0000
1907@@ -1,5 +1,5 @@
1908 /*
1909- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1910+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1911
1912 This program is free software; you can redistribute it and/or modify
1913 it under the terms of the GNU General Public License as published by
1914
1915=== modified file 'Percona-Server/extra/yassl/src/ssl.cpp'
1916--- Percona-Server/extra/yassl/src/ssl.cpp 2013-02-12 07:47:19 +0000
1917+++ Percona-Server/extra/yassl/src/ssl.cpp 2013-05-12 06:41:27 +0000
1918@@ -1,5 +1,5 @@
1919 /*
1920- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1921+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1922
1923 This program is free software; you can redistribute it and/or modify
1924 it under the terms of the GNU General Public License as published by
1925
1926=== modified file 'Percona-Server/extra/yassl/src/template_instnt.cpp'
1927--- Percona-Server/extra/yassl/src/template_instnt.cpp 2012-07-24 13:24:00 +0000
1928+++ Percona-Server/extra/yassl/src/template_instnt.cpp 2013-05-12 06:41:27 +0000
1929@@ -1,5 +1,5 @@
1930 /*
1931- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1932+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1933
1934 This program is free software; you can redistribute it and/or modify
1935 it under the terms of the GNU General Public License as published by
1936
1937=== modified file 'Percona-Server/extra/yassl/src/timer.cpp'
1938--- Percona-Server/extra/yassl/src/timer.cpp 2012-10-16 06:21:51 +0000
1939+++ Percona-Server/extra/yassl/src/timer.cpp 2013-05-12 06:41:27 +0000
1940@@ -1,5 +1,5 @@
1941 /*
1942- Copyright (C) 2000-2007 MySQL AB
1943+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1944
1945 This program is free software; you can redistribute it and/or modify
1946 it under the terms of the GNU General Public License as published by
1947
1948=== modified file 'Percona-Server/extra/yassl/src/yassl.cpp'
1949--- Percona-Server/extra/yassl/src/yassl.cpp 2012-10-16 06:21:51 +0000
1950+++ Percona-Server/extra/yassl/src/yassl.cpp 2013-05-12 06:41:27 +0000
1951@@ -1,5 +1,5 @@
1952 /*
1953- Copyright (C) 2000-2007 MySQL AB
1954+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1955
1956 This program is free software; you can redistribute it and/or modify
1957 it under the terms of the GNU General Public License as published by
1958
1959=== modified file 'Percona-Server/extra/yassl/src/yassl_error.cpp'
1960--- Percona-Server/extra/yassl/src/yassl_error.cpp 2013-02-12 07:47:19 +0000
1961+++ Percona-Server/extra/yassl/src/yassl_error.cpp 2013-05-12 06:41:27 +0000
1962@@ -1,5 +1,5 @@
1963 /*
1964- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
1965+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1966
1967 This program is free software; you can redistribute it and/or modify
1968 it under the terms of the GNU General Public License as published by
1969@@ -144,6 +144,10 @@
1970 strncpy(buffer, "bad PreMasterSecret version error", max);
1971 break;
1972
1973+ case sanityCipher_error :
1974+ strncpy(buffer, "sanity check on cipher text size error", max);
1975+ break;
1976+
1977 // openssl errors
1978 case SSL_ERROR_WANT_READ :
1979 strncpy(buffer, "the read operation would block", max);
1980
1981=== modified file 'Percona-Server/extra/yassl/src/yassl_imp.cpp'
1982--- Percona-Server/extra/yassl/src/yassl_imp.cpp 2012-10-16 06:21:51 +0000
1983+++ Percona-Server/extra/yassl/src/yassl_imp.cpp 2013-05-12 06:41:27 +0000
1984@@ -1,5 +1,5 @@
1985 /*
1986- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
1987+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1988
1989 This program is free software; you can redistribute it and/or modify
1990 it under the terms of the GNU General Public License as published by
1991@@ -972,30 +972,193 @@
1992 }
1993
1994
1995+// check all bytes for equality
1996+static int constant_compare(const byte* a, const byte* b, int len)
1997+{
1998+ int good = 0;
1999+ int bad = 0;
2000+
2001+ for (int i = 0; i < len; i++) {
2002+ if (a[i] == b[i])
2003+ good++;
2004+ else
2005+ bad++;
2006+ }
2007+
2008+ if (good == len)
2009+ return 0;
2010+ else
2011+ return 0 - bad; // failure
2012+}
2013+
2014+
2015+// check bytes for pad value
2016+static int pad_check(const byte* input, byte pad, int len)
2017+{
2018+ int good = 0;
2019+ int bad = 0;
2020+
2021+ for (int i = 0; i < len; i++) {
2022+ if (input[i] == pad)
2023+ good++;
2024+ else
2025+ bad++;
2026+ }
2027+
2028+ if (good == len)
2029+ return 0;
2030+ else
2031+ return 0 - bad; // failure
2032+}
2033+
2034+
2035+// get number of compression rounds
2036+static inline int get_rounds(int pLen, int padLen, int t)
2037+{
2038+ int roundL1 = 1; // round ups
2039+ int roundL2 = 1;
2040+
2041+ int L1 = COMPRESS_CONSTANT + pLen - t;
2042+ int L2 = COMPRESS_CONSTANT + pLen - padLen - 1 - t;
2043+
2044+ L1 -= COMPRESS_UPPER;
2045+ L2 -= COMPRESS_UPPER;
2046+
2047+ if ( (L1 % COMPRESS_LOWER) == 0)
2048+ roundL1 = 0;
2049+ if ( (L2 % COMPRESS_LOWER) == 0)
2050+ roundL2 = 0;
2051+
2052+ L1 /= COMPRESS_LOWER;
2053+ L2 /= COMPRESS_LOWER;
2054+
2055+ L1 += roundL1;
2056+ L2 += roundL2;
2057+
2058+ return L1 - L2;
2059+}
2060+
2061+
2062+// do compression rounds on dummy data
2063+static inline void compress_rounds(SSL& ssl, int rounds, const byte* dummy)
2064+{
2065+ if (rounds) {
2066+ Digest* digest = NULL;
2067+
2068+ MACAlgorithm ma = ssl.getSecurity().get_parms().mac_algorithm_;
2069+ if (ma == sha)
2070+ digest = NEW_YS SHA;
2071+ else if (ma == md5)
2072+ digest = NEW_YS MD5;
2073+ else if (ma == rmd)
2074+ digest = NEW_YS RMD;
2075+ else
2076+ return;
2077+
2078+ for (int i = 0; i < rounds; i++)
2079+ digest->update(dummy, COMPRESS_LOWER);
2080+
2081+ ysDelete(digest);
2082+ }
2083+}
2084+
2085+
2086+// timing resistant pad verification
2087+static int timing_verify(SSL& ssl, const byte* input, int padLen, int t,
2088+ int pLen)
2089+{
2090+ byte verify[SHA_LEN];
2091+ byte dummy[MAX_PAD_SIZE];
2092+
2093+ memset(dummy, 1, sizeof(dummy));
2094+
2095+ if ( (t + padLen + 1) > pLen) {
2096+ pad_check(dummy, (byte)padLen, MAX_PAD_SIZE);
2097+ if (ssl.isTLS())
2098+ TLS_hmac(ssl, verify, input, pLen - t, application_data, 1);
2099+ else
2100+ hmac(ssl, verify, input, pLen - t, application_data, 1);
2101+ constant_compare(verify, input + pLen - t, t);
2102+
2103+ return -1;
2104+ }
2105+
2106+ if (pad_check(input + pLen - (padLen + 1), (byte)padLen, padLen + 1) != 0) {
2107+ pad_check(dummy, (byte)padLen, MAX_PAD_SIZE - padLen - 1);
2108+ if (ssl.isTLS())
2109+ TLS_hmac(ssl, verify, input, pLen - t, application_data, 1);
2110+ else
2111+ hmac(ssl, verify, input, pLen - t, application_data, 1);
2112+ constant_compare(verify, input + pLen - t, t);
2113+
2114+ return -1;
2115+ }
2116+
2117+ pad_check(dummy, (byte)padLen, MAX_PAD_SIZE - padLen - 1);
2118+ if (ssl.isTLS())
2119+ TLS_hmac(ssl, verify, input, pLen - padLen - 1 - t, application_data,1);
2120+ else
2121+ hmac(ssl, verify, input, pLen - padLen - 1 - t, application_data, 1);
2122+
2123+ compress_rounds(ssl, get_rounds(pLen, padLen, t), dummy);
2124+
2125+ if (constant_compare(verify, input + (pLen - padLen - 1 - t), t) != 0)
2126+ return -1;
2127+
2128+ return 0;
2129+}
2130+
2131+
2132 // Process handler for Data
2133 void Data::Process(input_buffer& input, SSL& ssl)
2134 {
2135 int msgSz = ssl.getSecurity().get_parms().encrypt_size_;
2136 int pad = 0, padSz = 0;
2137 int ivExtra = 0;
2138+ int digestSz = ssl.getCrypto().get_digest().get_digestSize();
2139+ const byte* rawData = input.get_buffer() + input.get_current();
2140+ opaque verify[SHA_LEN];
2141
2142 if (ssl.getSecurity().get_parms().cipher_type_ == block) {
2143 if (ssl.isTLSv1_1()) // IV
2144 ivExtra = ssl.getCrypto().get_cipher().get_blockSize();
2145 pad = *(input.get_buffer() + input.get_current() + msgSz -ivExtra - 1);
2146 padSz = 1;
2147- }
2148- int digestSz = ssl.getCrypto().get_digest().get_digestSize();
2149+
2150+ if (ssl.isTLS()) {
2151+ if (timing_verify(ssl, rawData, pad,digestSz, msgSz-ivExtra) != 0) {
2152+ ssl.SetError(verify_error);
2153+ return;
2154+ }
2155+ }
2156+ else { // SSLv3, some don't do this padding right
2157+ int sz3 = msgSz - digestSz - pad - 1;
2158+ hmac(ssl, verify, rawData, sz3, application_data, true);
2159+ if (constant_compare(verify, rawData + sz3, digestSz) != 0) {
2160+ ssl.SetError(verify_error);
2161+ return;
2162+ }
2163+ }
2164+ }
2165+ else { // stream
2166+ int streamSz = msgSz - digestSz;
2167+ if (ssl.isTLS())
2168+ TLS_hmac(ssl, verify, rawData, streamSz, application_data, true);
2169+ else
2170+ hmac(ssl, verify, rawData, streamSz, application_data, true);
2171+ if (constant_compare(verify, rawData + streamSz, digestSz) != 0) {
2172+ ssl.SetError(verify_error);
2173+ return;
2174+ }
2175+ }
2176+
2177 int dataSz = msgSz - ivExtra - digestSz - pad - padSz;
2178- opaque verify[SHA_LEN];
2179
2180 if (dataSz < 0) {
2181 ssl.SetError(bad_input);
2182 return;
2183 }
2184
2185- const byte* rawData = input.get_buffer() + input.get_current();
2186-
2187 // read data
2188 if (dataSz) { // could be compressed
2189 if (ssl.CompressionOn()) {
2190@@ -1013,27 +1176,10 @@
2191 input.read(data->get_buffer(), dataSz);
2192 data->add_size(dataSz);
2193 }
2194-
2195- if (ssl.isTLS())
2196- TLS_hmac(ssl, verify, rawData, dataSz, application_data, true);
2197- else
2198- hmac(ssl, verify, rawData, dataSz, application_data, true);
2199- }
2200-
2201- // read mac and skip fill
2202- opaque mac[SHA_LEN];
2203- input.read(mac, digestSz);
2204- input.set_current(input.get_current() + pad + padSz);
2205-
2206- // verify
2207- if (dataSz) {
2208- if (memcmp(mac, verify, digestSz)) {
2209- ssl.SetError(verify_error);
2210- return;
2211- }
2212- }
2213- else
2214- ssl.get_SEQIncrement(true); // even though no data, increment verify
2215+ }
2216+
2217+ // advance past mac and fill
2218+ input.set_current(input.get_current() + digestSz + pad + padSz);
2219 }
2220
2221
2222
2223=== modified file 'Percona-Server/extra/yassl/src/yassl_int.cpp'
2224--- Percona-Server/extra/yassl/src/yassl_int.cpp 2013-01-18 04:53:12 +0000
2225+++ Percona-Server/extra/yassl/src/yassl_int.cpp 2013-05-12 06:41:27 +0000
2226@@ -1,4 +1,4 @@
2227-/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2228+/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2229
2230 This program is free software; you can redistribute it and/or modify
2231 it under the terms of the GNU General Public License as published by
2232
2233=== modified file 'Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp'
2234--- Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp 2012-08-22 01:40:20 +0000
2235+++ Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp 2013-05-12 06:41:27 +0000
2236@@ -1,5 +1,5 @@
2237 /*
2238- Copyright (C) 2006, 2007 MySQL AB
2239+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2240
2241 This program is free software; you can redistribute it and/or modify
2242 it under the terms of the GNU General Public License as published by
2243
2244=== modified file 'Percona-Server/extra/yassl/taocrypt/benchmark/make.bat'
2245--- Percona-Server/extra/yassl/taocrypt/benchmark/make.bat 2012-03-21 14:27:34 +0000
2246+++ Percona-Server/extra/yassl/taocrypt/benchmark/make.bat 2013-05-12 06:41:27 +0000
2247@@ -1,4 +1,4 @@
2248-REM Copyright (C) 2006, 2007 MySQL AB
2249+REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2250 REM
2251 REM This program is free software; you can redistribute it and/or modify
2252 REM it under the terms of the GNU General Public License as published by
2253
2254=== modified file 'Percona-Server/extra/yassl/taocrypt/include/aes.hpp'
2255--- Percona-Server/extra/yassl/taocrypt/include/aes.hpp 2013-02-12 07:47:19 +0000
2256+++ Percona-Server/extra/yassl/taocrypt/include/aes.hpp 2013-05-12 06:41:27 +0000
2257@@ -1,5 +1,5 @@
2258 /*
2259- Copyright (C) 2000-2007 MySQL AB
2260+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2261
2262 This program is free software; you can redistribute it and/or modify
2263 it under the terms of the GNU General Public License as published by
2264
2265=== modified file 'Percona-Server/extra/yassl/taocrypt/include/algebra.hpp'
2266--- Percona-Server/extra/yassl/taocrypt/include/algebra.hpp 2012-10-16 06:21:51 +0000
2267+++ Percona-Server/extra/yassl/taocrypt/include/algebra.hpp 2013-05-12 06:41:27 +0000
2268@@ -1,5 +1,5 @@
2269 /*
2270- Copyright (C) 2000-2007 MySQL AB
2271+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2272
2273 This program is free software; you can redistribute it and/or modify
2274 it under the terms of the GNU General Public License as published by
2275
2276=== modified file 'Percona-Server/extra/yassl/taocrypt/include/arc4.hpp'
2277--- Percona-Server/extra/yassl/taocrypt/include/arc4.hpp 2012-10-16 06:21:51 +0000
2278+++ Percona-Server/extra/yassl/taocrypt/include/arc4.hpp 2013-05-12 06:41:27 +0000
2279@@ -1,5 +1,5 @@
2280 /*
2281- Copyright (C) 2000-2007 MySQL AB
2282+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2283
2284 This program is free software; you can redistribute it and/or modify
2285 it under the terms of the GNU General Public License as published by
2286
2287=== modified file 'Percona-Server/extra/yassl/taocrypt/include/asn.hpp'
2288--- Percona-Server/extra/yassl/taocrypt/include/asn.hpp 2012-10-16 06:21:51 +0000
2289+++ Percona-Server/extra/yassl/taocrypt/include/asn.hpp 2013-05-12 06:41:27 +0000
2290@@ -1,5 +1,5 @@
2291 /*
2292- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2293+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2294
2295 This program is free software; you can redistribute it and/or modify
2296 it under the terms of the GNU General Public License as published by
2297@@ -112,7 +112,7 @@
2298 MAX_LENGTH_SZ = 5,
2299 MAX_SEQ_SZ = 5, // enum(seq|con) + length(4)
2300 MAX_ALGO_SIZE = 9,
2301- MAX_DIGEST_SZ = 25, // SHA + enum(Bit or Octet) + length(4)
2302+ MAX_DIGEST_SZ = 69, // SHA512 + enum(Bit or Octet) + length(4)
2303 DSA_SIG_SZ = 40,
2304 ASN_NAME_MAX = 512 // max total of all included names
2305 };
2306@@ -258,8 +258,11 @@
2307
2308
2309 enum ContentType { HUH = 651 };
2310-enum SigType { SHAwDSA = 517, MD2wRSA = 646, MD5wRSA = 648, SHAwRSA =649};
2311-enum HashType { MD2h = 646, MD5h = 649, SHAh = 88 };
2312+enum SigType { SHAwDSA = 517, MD2wRSA = 646, MD5wRSA = 648, SHAwRSA = 649,
2313+ SHA256wRSA = 655, SHA384wRSA = 656, SHA512wRSA = 657,
2314+ SHA256wDSA = 416 };
2315+enum HashType { MD2h = 646, MD5h = 649, SHAh = 88, SHA256h = 414,
2316+ SHA384h = 415, SHA512h = 416 };
2317 enum KeyType { DSAk = 515, RSAk = 645 }; // sums of algo OID
2318
2319
2320
2321=== modified file 'Percona-Server/extra/yassl/taocrypt/include/block.hpp'
2322--- Percona-Server/extra/yassl/taocrypt/include/block.hpp 2012-10-16 06:21:51 +0000
2323+++ Percona-Server/extra/yassl/taocrypt/include/block.hpp 2013-05-12 06:41:27 +0000
2324@@ -1,6 +1,5 @@
2325 /*
2326- Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc.
2327- Use is subject to license terms.
2328+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2329
2330 This program is free software; you can redistribute it and/or modify
2331 it under the terms of the GNU General Public License as published by
2332
2333=== modified file 'Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp'
2334--- Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp 2012-10-16 06:21:51 +0000
2335+++ Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp 2013-05-12 06:41:27 +0000
2336@@ -1,5 +1,5 @@
2337 /*
2338- Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
2339+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2340
2341 This program is free software; you can redistribute it and/or modify
2342 it under the terms of the GNU General Public License as published by
2343
2344=== modified file 'Percona-Server/extra/yassl/taocrypt/include/coding.hpp'
2345--- Percona-Server/extra/yassl/taocrypt/include/coding.hpp 2012-10-16 06:21:51 +0000
2346+++ Percona-Server/extra/yassl/taocrypt/include/coding.hpp 2013-05-12 06:41:27 +0000
2347@@ -1,5 +1,5 @@
2348 /*
2349- Copyright (C) 2000-2007 MySQL AB
2350+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2351
2352 This program is free software; you can redistribute it and/or modify
2353 it under the terms of the GNU General Public License as published by
2354
2355=== modified file 'Percona-Server/extra/yassl/taocrypt/include/des.hpp'
2356--- Percona-Server/extra/yassl/taocrypt/include/des.hpp 2012-10-16 06:21:51 +0000
2357+++ Percona-Server/extra/yassl/taocrypt/include/des.hpp 2013-05-12 06:41:27 +0000
2358@@ -1,5 +1,5 @@
2359 /*
2360- Copyright (C) 2000-2007 MySQL AB
2361+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2362
2363 This program is free software; you can redistribute it and/or modify
2364 it under the terms of the GNU General Public License as published by
2365
2366=== modified file 'Percona-Server/extra/yassl/taocrypt/include/dh.hpp'
2367--- Percona-Server/extra/yassl/taocrypt/include/dh.hpp 2012-10-16 06:21:51 +0000
2368+++ Percona-Server/extra/yassl/taocrypt/include/dh.hpp 2013-05-12 06:41:27 +0000
2369@@ -1,5 +1,5 @@
2370 /*
2371- Copyright (C) 2000-2007 MySQL AB
2372+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2373
2374 This program is free software; you can redistribute it and/or modify
2375 it under the terms of the GNU General Public License as published by
2376
2377=== modified file 'Percona-Server/extra/yassl/taocrypt/include/dsa.hpp'
2378--- Percona-Server/extra/yassl/taocrypt/include/dsa.hpp 2012-10-16 06:21:51 +0000
2379+++ Percona-Server/extra/yassl/taocrypt/include/dsa.hpp 2013-05-12 06:41:27 +0000
2380@@ -1,5 +1,5 @@
2381 /*
2382- Copyright (C) 2000-2007 MySQL AB
2383+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2384
2385 This program is free software; you can redistribute it and/or modify
2386 it under the terms of the GNU General Public License as published by
2387
2388=== modified file 'Percona-Server/extra/yassl/taocrypt/include/error.hpp'
2389--- Percona-Server/extra/yassl/taocrypt/include/error.hpp 2012-10-16 06:21:51 +0000
2390+++ Percona-Server/extra/yassl/taocrypt/include/error.hpp 2013-05-12 06:41:27 +0000
2391@@ -1,5 +1,5 @@
2392 /*
2393- Copyright (C) 2000-2007 MySQL AB
2394+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2395
2396 This program is free software; you can redistribute it and/or modify
2397 it under the terms of the GNU General Public License as published by
2398
2399=== modified file 'Percona-Server/extra/yassl/taocrypt/include/file.hpp'
2400--- Percona-Server/extra/yassl/taocrypt/include/file.hpp 2012-10-16 06:21:51 +0000
2401+++ Percona-Server/extra/yassl/taocrypt/include/file.hpp 2013-05-12 06:41:27 +0000
2402@@ -1,5 +1,5 @@
2403 /*
2404- Copyright (C) 2000-2007 MySQL AB
2405+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2406
2407 This program is free software; you can redistribute it and/or modify
2408 it under the terms of the GNU General Public License as published by
2409
2410=== modified file 'Percona-Server/extra/yassl/taocrypt/include/hash.hpp'
2411--- Percona-Server/extra/yassl/taocrypt/include/hash.hpp 2012-10-16 06:21:51 +0000
2412+++ Percona-Server/extra/yassl/taocrypt/include/hash.hpp 2013-05-12 06:41:27 +0000
2413@@ -1,5 +1,5 @@
2414 /*
2415- Copyright (C) 2000-2007 MySQL AB
2416+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2417
2418 This program is free software; you can redistribute it and/or modify
2419 it under the terms of the GNU General Public License as published by
2420
2421=== modified file 'Percona-Server/extra/yassl/taocrypt/include/hc128.hpp'
2422--- Percona-Server/extra/yassl/taocrypt/include/hc128.hpp 2012-05-17 12:10:48 +0000
2423+++ Percona-Server/extra/yassl/taocrypt/include/hc128.hpp 2013-05-12 06:41:27 +0000
2424@@ -1,5 +1,5 @@
2425 /*
2426- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2427+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2428
2429 This program is free software; you can redistribute it and/or modify
2430 it under the terms of the GNU General Public License as published by
2431
2432=== modified file 'Percona-Server/extra/yassl/taocrypt/include/hmac.hpp'
2433--- Percona-Server/extra/yassl/taocrypt/include/hmac.hpp 2012-10-16 06:21:51 +0000
2434+++ Percona-Server/extra/yassl/taocrypt/include/hmac.hpp 2013-05-12 06:41:27 +0000
2435@@ -1,5 +1,5 @@
2436 /*
2437- Copyright (C) 2000-2007 MySQL AB
2438+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2439
2440 This program is free software; you can redistribute it and/or modify
2441 it under the terms of the GNU General Public License as published by
2442
2443=== modified file 'Percona-Server/extra/yassl/taocrypt/include/integer.hpp'
2444--- Percona-Server/extra/yassl/taocrypt/include/integer.hpp 2012-10-16 06:21:51 +0000
2445+++ Percona-Server/extra/yassl/taocrypt/include/integer.hpp 2013-05-12 06:41:27 +0000
2446@@ -1,5 +1,5 @@
2447 /*
2448- Copyright (C) 2000-2007 MySQL AB
2449+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2450
2451 This program is free software; you can redistribute it and/or modify
2452 it under the terms of the GNU General Public License as published by
2453
2454=== modified file 'Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp'
2455--- Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp 2012-10-16 06:21:51 +0000
2456+++ Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp 2013-05-12 06:41:27 +0000
2457@@ -1,5 +1,5 @@
2458 /*
2459- Copyright (C) 2000-2007 MySQL AB
2460+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2461
2462 This program is free software; you can redistribute it and/or modify
2463 it under the terms of the GNU General Public License as published by
2464
2465=== modified file 'Percona-Server/extra/yassl/taocrypt/include/md2.hpp'
2466--- Percona-Server/extra/yassl/taocrypt/include/md2.hpp 2012-10-16 06:21:51 +0000
2467+++ Percona-Server/extra/yassl/taocrypt/include/md2.hpp 2013-05-12 06:41:27 +0000
2468@@ -1,5 +1,5 @@
2469 /*
2470- Copyright (C) 2000-2007 MySQL AB
2471+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2472
2473 This program is free software; you can redistribute it and/or modify
2474 it under the terms of the GNU General Public License as published by
2475
2476=== modified file 'Percona-Server/extra/yassl/taocrypt/include/md4.hpp'
2477--- Percona-Server/extra/yassl/taocrypt/include/md4.hpp 2012-10-16 06:21:51 +0000
2478+++ Percona-Server/extra/yassl/taocrypt/include/md4.hpp 2013-05-12 06:41:27 +0000
2479@@ -1,5 +1,5 @@
2480 /*
2481- Copyright (C) 2000-2007 MySQL AB
2482+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2483
2484 This program is free software; you can redistribute it and/or modify
2485 it under the terms of the GNU General Public License as published by
2486
2487=== modified file 'Percona-Server/extra/yassl/taocrypt/include/md5.hpp'
2488--- Percona-Server/extra/yassl/taocrypt/include/md5.hpp 2012-10-16 06:21:51 +0000
2489+++ Percona-Server/extra/yassl/taocrypt/include/md5.hpp 2013-05-12 06:41:27 +0000
2490@@ -1,5 +1,5 @@
2491 /*
2492- Copyright (C) 2000-2007 MySQL AB
2493+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2494
2495 This program is free software; you can redistribute it and/or modify
2496 it under the terms of the GNU General Public License as published by
2497
2498=== modified file 'Percona-Server/extra/yassl/taocrypt/include/misc.hpp'
2499--- Percona-Server/extra/yassl/taocrypt/include/misc.hpp 2012-10-16 06:21:51 +0000
2500+++ Percona-Server/extra/yassl/taocrypt/include/misc.hpp 2013-05-12 06:41:27 +0000
2501@@ -1,5 +1,5 @@
2502 /*
2503- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2504+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2505
2506 This program is free software; you can redistribute it and/or modify
2507 it under the terms of the GNU General Public License as published by
2508
2509=== modified file 'Percona-Server/extra/yassl/taocrypt/include/modarith.hpp'
2510--- Percona-Server/extra/yassl/taocrypt/include/modarith.hpp 2012-10-16 06:21:51 +0000
2511+++ Percona-Server/extra/yassl/taocrypt/include/modarith.hpp 2013-05-12 06:41:27 +0000
2512@@ -1,5 +1,5 @@
2513 /*
2514- Copyright (C) 2000-2007 MySQL AB
2515+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2516
2517 This program is free software; you can redistribute it and/or modify
2518 it under the terms of the GNU General Public License as published by
2519
2520=== modified file 'Percona-Server/extra/yassl/taocrypt/include/modes.hpp'
2521--- Percona-Server/extra/yassl/taocrypt/include/modes.hpp 2012-10-16 06:21:51 +0000
2522+++ Percona-Server/extra/yassl/taocrypt/include/modes.hpp 2013-05-12 06:41:27 +0000
2523@@ -1,6 +1,5 @@
2524 /*
2525- Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc.
2526- Use is subject to license terms.
2527+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2528
2529 This program is free software; you can redistribute it and/or modify
2530 it under the terms of the GNU General Public License as published by
2531
2532=== modified file 'Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp'
2533--- Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp 2013-02-12 07:47:19 +0000
2534+++ Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp 2013-05-12 06:41:27 +0000
2535@@ -1,5 +1,5 @@
2536 /*
2537- Copyright (C) 2000-2007 MySQL AB
2538+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2539
2540 This program is free software; you can redistribute it and/or modify
2541 it under the terms of the GNU General Public License as published by
2542
2543=== modified file 'Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp'
2544--- Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp 2012-05-17 12:10:48 +0000
2545+++ Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp 2013-05-12 06:41:27 +0000
2546@@ -1,5 +1,5 @@
2547 /*
2548- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2549+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2550
2551 This program is free software; you can redistribute it and/or modify
2552 it under the terms of the GNU General Public License as published by
2553
2554=== modified file 'Percona-Server/extra/yassl/taocrypt/include/random.hpp'
2555--- Percona-Server/extra/yassl/taocrypt/include/random.hpp 2012-10-16 06:21:51 +0000
2556+++ Percona-Server/extra/yassl/taocrypt/include/random.hpp 2013-05-12 06:41:27 +0000
2557@@ -1,5 +1,5 @@
2558 /*
2559- Copyright (C) 2000-2007 MySQL AB
2560+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2561
2562 This program is free software; you can redistribute it and/or modify
2563 it under the terms of the GNU General Public License as published by
2564
2565=== modified file 'Percona-Server/extra/yassl/taocrypt/include/ripemd.hpp'
2566--- Percona-Server/extra/yassl/taocrypt/include/ripemd.hpp 2012-10-16 06:21:51 +0000
2567+++ Percona-Server/extra/yassl/taocrypt/include/ripemd.hpp 2013-05-12 06:41:27 +0000
2568@@ -1,5 +1,5 @@
2569 /*
2570- Copyright (C) 2000-2007 MySQL AB
2571+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2572
2573 This program is free software; you can redistribute it and/or modify
2574 it under the terms of the GNU General Public License as published by
2575
2576=== modified file 'Percona-Server/extra/yassl/taocrypt/include/rsa.hpp'
2577--- Percona-Server/extra/yassl/taocrypt/include/rsa.hpp 2012-10-16 06:21:51 +0000
2578+++ Percona-Server/extra/yassl/taocrypt/include/rsa.hpp 2013-05-12 06:41:27 +0000
2579@@ -1,5 +1,5 @@
2580 /*
2581- Copyright (C) 2000-2007 MySQL AB
2582+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2583
2584 This program is free software; you can redistribute it and/or modify
2585 it under the terms of the GNU General Public License as published by
2586
2587=== modified file 'Percona-Server/extra/yassl/taocrypt/include/runtime.hpp'
2588--- Percona-Server/extra/yassl/taocrypt/include/runtime.hpp 2012-10-16 06:21:51 +0000
2589+++ Percona-Server/extra/yassl/taocrypt/include/runtime.hpp 2013-05-12 06:41:27 +0000
2590@@ -1,5 +1,5 @@
2591 /*
2592- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2593+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2594
2595 This program is free software; you can redistribute it and/or modify
2596 it under the terms of the GNU General Public License as published by
2597
2598=== modified file 'Percona-Server/extra/yassl/taocrypt/include/sha.hpp'
2599--- Percona-Server/extra/yassl/taocrypt/include/sha.hpp 2012-10-16 06:21:51 +0000
2600+++ Percona-Server/extra/yassl/taocrypt/include/sha.hpp 2013-05-12 06:41:27 +0000
2601@@ -1,5 +1,5 @@
2602 /*
2603- Copyright (C) 2000-2007 MySQL AB
2604+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2605
2606 This program is free software; you can redistribute it and/or modify
2607 it under the terms of the GNU General Public License as published by
2608@@ -158,6 +158,12 @@
2609 void Transform();
2610 };
2611
2612+enum { MAX_SHA2_DIGEST_SIZE = 64 }; // SHA512
2613+
2614+#else
2615+
2616+enum { MAX_SHA2_DIGEST_SIZE = 32 }; // SHA256
2617+
2618 #endif // WORD64_AVAILABLE
2619
2620
2621
2622=== modified file 'Percona-Server/extra/yassl/taocrypt/include/twofish.hpp'
2623--- Percona-Server/extra/yassl/taocrypt/include/twofish.hpp 2012-10-16 06:21:51 +0000
2624+++ Percona-Server/extra/yassl/taocrypt/include/twofish.hpp 2013-05-12 06:41:27 +0000
2625@@ -1,5 +1,5 @@
2626 /*
2627- Copyright (C) 2000-2007 MySQL AB
2628+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2629
2630 This program is free software; you can redistribute it and/or modify
2631 it under the terms of the GNU General Public License as published by
2632
2633=== modified file 'Percona-Server/extra/yassl/taocrypt/include/type_traits.hpp'
2634--- Percona-Server/extra/yassl/taocrypt/include/type_traits.hpp 2012-10-16 06:21:51 +0000
2635+++ Percona-Server/extra/yassl/taocrypt/include/type_traits.hpp 2013-05-12 06:41:27 +0000
2636@@ -1,5 +1,5 @@
2637 /*
2638- Copyright (C) 2000-2007 MySQL AB
2639+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2640
2641 This program is free software; you can redistribute it and/or modify
2642 it under the terms of the GNU General Public License as published by
2643
2644=== modified file 'Percona-Server/extra/yassl/taocrypt/include/types.hpp'
2645--- Percona-Server/extra/yassl/taocrypt/include/types.hpp 2012-10-16 06:21:51 +0000
2646+++ Percona-Server/extra/yassl/taocrypt/include/types.hpp 2013-05-12 06:41:27 +0000
2647@@ -1,5 +1,5 @@
2648 /*
2649- Copyright (C) 2000-2007 MySQL AB
2650+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2651
2652 This program is free software; you can redistribute it and/or modify
2653 it under the terms of the GNU General Public License as published by
2654
2655=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/algorithm.hpp'
2656--- Percona-Server/extra/yassl/taocrypt/mySTL/algorithm.hpp 2012-10-16 06:21:51 +0000
2657+++ Percona-Server/extra/yassl/taocrypt/mySTL/algorithm.hpp 2013-05-12 06:41:27 +0000
2658@@ -1,5 +1,5 @@
2659 /*
2660- Copyright (C) 2000-2007 MySQL AB
2661+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2662
2663 This program is free software; you can redistribute it and/or modify
2664 it under the terms of the GNU General Public License as published by
2665
2666=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/helpers.hpp'
2667--- Percona-Server/extra/yassl/taocrypt/mySTL/helpers.hpp 2012-10-16 06:21:51 +0000
2668+++ Percona-Server/extra/yassl/taocrypt/mySTL/helpers.hpp 2013-05-12 06:41:27 +0000
2669@@ -1,5 +1,5 @@
2670 /*
2671- Copyright (C) 2000-2007 MySQL AB
2672+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2673
2674 This program is free software; you can redistribute it and/or modify
2675 it under the terms of the GNU General Public License as published by
2676
2677=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/list.hpp'
2678--- Percona-Server/extra/yassl/taocrypt/mySTL/list.hpp 2012-10-16 06:21:51 +0000
2679+++ Percona-Server/extra/yassl/taocrypt/mySTL/list.hpp 2013-05-12 06:41:27 +0000
2680@@ -1,5 +1,5 @@
2681 /*
2682- Copyright (C) 2000-2007 MySQL AB
2683+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2684
2685 This program is free software; you can redistribute it and/or modify
2686 it under the terms of the GNU General Public License as published by
2687
2688=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/memory.hpp'
2689--- Percona-Server/extra/yassl/taocrypt/mySTL/memory.hpp 2012-10-16 06:21:51 +0000
2690+++ Percona-Server/extra/yassl/taocrypt/mySTL/memory.hpp 2013-05-12 06:41:27 +0000
2691@@ -1,5 +1,5 @@
2692 /*
2693- Copyright (C) 2000-2007 MySQL AB
2694+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2695
2696 This program is free software; you can redistribute it and/or modify
2697 it under the terms of the GNU General Public License as published by
2698
2699=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/memory_array.hpp'
2700--- Percona-Server/extra/yassl/taocrypt/mySTL/memory_array.hpp 2012-10-16 06:21:51 +0000
2701+++ Percona-Server/extra/yassl/taocrypt/mySTL/memory_array.hpp 2013-05-12 06:41:27 +0000
2702@@ -1,5 +1,5 @@
2703 /*
2704- Copyright (C) 2000-2007 MySQL AB
2705+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2706
2707 This program is free software; you can redistribute it and/or modify
2708 it under the terms of the GNU General Public License as published by
2709
2710=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/pair.hpp'
2711--- Percona-Server/extra/yassl/taocrypt/mySTL/pair.hpp 2012-10-16 06:21:51 +0000
2712+++ Percona-Server/extra/yassl/taocrypt/mySTL/pair.hpp 2013-05-12 06:41:27 +0000
2713@@ -1,5 +1,5 @@
2714 /*
2715- Copyright (C) 2000-2007 MySQL AB
2716+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2717
2718 This program is free software; you can redistribute it and/or modify
2719 it under the terms of the GNU General Public License as published by
2720
2721=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp'
2722--- Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp 2012-10-16 06:21:51 +0000
2723+++ Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp 2013-05-12 06:41:27 +0000
2724@@ -1,5 +1,5 @@
2725 /*
2726- Copyright (C) 2000-2007 MySQL AB
2727+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2728
2729 This program is free software; you can redistribute it and/or modify
2730 it under the terms of the GNU General Public License as published by
2731
2732=== modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp'
2733--- Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp 2012-10-16 06:21:51 +0000
2734+++ Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp 2013-05-12 06:41:27 +0000
2735@@ -1,5 +1,5 @@
2736 /*
2737- Copyright (C) 2000-2007 MySQL AB
2738+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2739
2740 This program is free software; you can redistribute it and/or modify
2741 it under the terms of the GNU General Public License as published by
2742
2743=== modified file 'Percona-Server/extra/yassl/taocrypt/src/aes.cpp'
2744--- Percona-Server/extra/yassl/taocrypt/src/aes.cpp 2012-10-16 06:21:51 +0000
2745+++ Percona-Server/extra/yassl/taocrypt/src/aes.cpp 2013-05-12 06:41:27 +0000
2746@@ -1,5 +1,5 @@
2747 /*
2748- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2749+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2750
2751 This program is free software; you can redistribute it and/or modify
2752 it under the terms of the GNU General Public License as published by
2753
2754=== modified file 'Percona-Server/extra/yassl/taocrypt/src/aestables.cpp'
2755--- Percona-Server/extra/yassl/taocrypt/src/aestables.cpp 2012-10-16 06:21:51 +0000
2756+++ Percona-Server/extra/yassl/taocrypt/src/aestables.cpp 2013-05-12 06:41:27 +0000
2757@@ -1,5 +1,5 @@
2758 /*
2759- Copyright (C) 2000-2007 MySQL AB
2760+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2761
2762 This program is free software; you can redistribute it and/or modify
2763 it under the terms of the GNU General Public License as published by
2764
2765=== modified file 'Percona-Server/extra/yassl/taocrypt/src/algebra.cpp'
2766--- Percona-Server/extra/yassl/taocrypt/src/algebra.cpp 2012-10-16 06:21:51 +0000
2767+++ Percona-Server/extra/yassl/taocrypt/src/algebra.cpp 2013-05-12 06:41:27 +0000
2768@@ -1,4 +1,4 @@
2769-/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2770+/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2771
2772 This program is free software; you can redistribute it and/or modify
2773 it under the terms of the GNU General Public License as published by
2774
2775=== modified file 'Percona-Server/extra/yassl/taocrypt/src/arc4.cpp'
2776--- Percona-Server/extra/yassl/taocrypt/src/arc4.cpp 2012-10-16 06:21:51 +0000
2777+++ Percona-Server/extra/yassl/taocrypt/src/arc4.cpp 2013-05-12 06:41:27 +0000
2778@@ -1,5 +1,5 @@
2779 /*
2780- Copyright (C) 2000-2007 MySQL AB
2781+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2782
2783 This program is free software; you can redistribute it and/or modify
2784 it under the terms of the GNU General Public License as published by
2785
2786=== modified file 'Percona-Server/extra/yassl/taocrypt/src/asn.cpp'
2787--- Percona-Server/extra/yassl/taocrypt/src/asn.cpp 2013-03-05 12:46:43 +0000
2788+++ Percona-Server/extra/yassl/taocrypt/src/asn.cpp 2013-05-12 06:41:27 +0000
2789@@ -1,5 +1,5 @@
2790 /*
2791- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2792+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2793
2794 This program is free software; you can redistribute it and/or modify
2795 it under the terms of the GNU General Public License as published by
2796@@ -986,12 +986,26 @@
2797 hasher.reset(NEW_TC SHA);
2798 ht = SHAh;
2799 }
2800+ else if (signatureOID_ == SHA256wRSA || signatureOID_ == SHA256wDSA) {
2801+ hasher.reset(NEW_TC SHA256);
2802+ ht = SHA256h;
2803+ }
2804+#ifdef WORD64_AVAILABLE
2805+ else if (signatureOID_ == SHA384wRSA) {
2806+ hasher.reset(NEW_TC SHA384);
2807+ ht = SHA384h;
2808+ }
2809+ else if (signatureOID_ == SHA512wRSA) {
2810+ hasher.reset(NEW_TC SHA512);
2811+ ht = SHA512h;
2812+ }
2813+#endif
2814 else {
2815 source_.SetError(UNKOWN_SIG_E);
2816 return false;
2817 }
2818
2819- byte digest[SHA::DIGEST_SIZE]; // largest size
2820+ byte digest[MAX_SHA2_DIGEST_SIZE]; // largest size
2821
2822 hasher->Update(source_.get_buffer() + certBegin_, sigIndex_ - certBegin_);
2823 hasher->Final(digest);
2824@@ -1064,7 +1078,14 @@
2825 0x02, 0x05, 0x05, 0x00 };
2826 static const byte md2AlgoID[] = { 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
2827 0x02, 0x02, 0x05, 0x00};
2828-
2829+ static const byte sha256AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
2830+ 0x04, 0x02, 0x01, 0x05, 0x00 };
2831+#ifdef WORD64_AVAILABLE
2832+ static const byte sha384AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
2833+ 0x04, 0x02, 0x02, 0x05, 0x00 };
2834+ static const byte sha512AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
2835+ 0x04, 0x02, 0x03, 0x05, 0x00 };
2836+#endif
2837 int algoSz = 0;
2838 const byte* algoName = 0;
2839
2840@@ -1074,6 +1095,23 @@
2841 algoName = shaAlgoID;
2842 break;
2843
2844+ case SHA256h:
2845+ algoSz = sizeof(sha256AlgoID);
2846+ algoName = sha256AlgoID;
2847+ break;
2848+
2849+#ifdef WORD64_AVAILABLE
2850+ case SHA384h:
2851+ algoSz = sizeof(sha384AlgoID);
2852+ algoName = sha384AlgoID;
2853+ break;
2854+
2855+ case SHA512h:
2856+ algoSz = sizeof(sha512AlgoID);
2857+ algoName = sha512AlgoID;
2858+ break;
2859+#endif
2860+
2861 case MD2h:
2862 algoSz = sizeof(md2AlgoID);
2863 algoName = md2AlgoID;
2864
2865=== modified file 'Percona-Server/extra/yassl/taocrypt/src/bftables.cpp'
2866--- Percona-Server/extra/yassl/taocrypt/src/bftables.cpp 2012-10-16 06:21:51 +0000
2867+++ Percona-Server/extra/yassl/taocrypt/src/bftables.cpp 2013-05-12 06:41:27 +0000
2868@@ -1,5 +1,5 @@
2869 /*
2870- Copyright (C) 2000-2007 MySQL AB
2871+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2872
2873 This program is free software; you can redistribute it and/or modify
2874 it under the terms of the GNU General Public License as published by
2875
2876=== modified file 'Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp'
2877--- Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp 2012-10-16 06:21:51 +0000
2878+++ Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp 2013-05-12 06:41:27 +0000
2879@@ -1,5 +1,5 @@
2880 /*
2881- Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
2882+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2883
2884 This program is free software; you can redistribute it and/or modify
2885 it under the terms of the GNU General Public License as published by
2886
2887=== modified file 'Percona-Server/extra/yassl/taocrypt/src/coding.cpp'
2888--- Percona-Server/extra/yassl/taocrypt/src/coding.cpp 2013-02-12 07:47:19 +0000
2889+++ Percona-Server/extra/yassl/taocrypt/src/coding.cpp 2013-05-12 06:41:27 +0000
2890@@ -1,5 +1,5 @@
2891 /*
2892- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2893+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2894
2895 This program is free software; you can redistribute it and/or modify
2896 it under the terms of the GNU General Public License as published by
2897
2898=== modified file 'Percona-Server/extra/yassl/taocrypt/src/des.cpp'
2899--- Percona-Server/extra/yassl/taocrypt/src/des.cpp 2012-10-16 06:21:51 +0000
2900+++ Percona-Server/extra/yassl/taocrypt/src/des.cpp 2013-05-12 06:41:27 +0000
2901@@ -1,5 +1,5 @@
2902 /*
2903- Copyright (C) 2000-2007 MySQL AB
2904+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2905
2906 This program is free software; you can redistribute it and/or modify
2907 it under the terms of the GNU General Public License as published by
2908
2909=== modified file 'Percona-Server/extra/yassl/taocrypt/src/dh.cpp'
2910--- Percona-Server/extra/yassl/taocrypt/src/dh.cpp 2012-10-16 06:21:51 +0000
2911+++ Percona-Server/extra/yassl/taocrypt/src/dh.cpp 2013-05-12 06:41:27 +0000
2912@@ -1,5 +1,5 @@
2913 /*
2914- Copyright (C) 2000-2007 MySQL AB
2915+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2916
2917 This program is free software; you can redistribute it and/or modify
2918 it under the terms of the GNU General Public License as published by
2919
2920=== modified file 'Percona-Server/extra/yassl/taocrypt/src/dsa.cpp'
2921--- Percona-Server/extra/yassl/taocrypt/src/dsa.cpp 2012-10-16 06:21:51 +0000
2922+++ Percona-Server/extra/yassl/taocrypt/src/dsa.cpp 2013-05-12 06:41:27 +0000
2923@@ -1,5 +1,5 @@
2924 /*
2925- Copyright (C) 2000-2007 MySQL AB
2926+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2927
2928 This program is free software; you can redistribute it and/or modify
2929 it under the terms of the GNU General Public License as published by
2930
2931=== modified file 'Percona-Server/extra/yassl/taocrypt/src/file.cpp'
2932--- Percona-Server/extra/yassl/taocrypt/src/file.cpp 2012-10-16 06:21:51 +0000
2933+++ Percona-Server/extra/yassl/taocrypt/src/file.cpp 2013-05-12 06:41:27 +0000
2934@@ -1,5 +1,5 @@
2935 /*
2936- Copyright (C) 2000-2007 MySQL AB
2937+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2938
2939 This program is free software; you can redistribute it and/or modify
2940 it under the terms of the GNU General Public License as published by
2941
2942=== modified file 'Percona-Server/extra/yassl/taocrypt/src/hash.cpp'
2943--- Percona-Server/extra/yassl/taocrypt/src/hash.cpp 2012-10-16 06:21:51 +0000
2944+++ Percona-Server/extra/yassl/taocrypt/src/hash.cpp 2013-05-12 06:41:27 +0000
2945@@ -1,5 +1,5 @@
2946 /*
2947- Copyright (C) 2000-2007 MySQL AB
2948+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2949
2950 This program is free software; you can redistribute it and/or modify
2951 it under the terms of the GNU General Public License as published by
2952
2953=== modified file 'Percona-Server/extra/yassl/taocrypt/src/hc128.cpp'
2954--- Percona-Server/extra/yassl/taocrypt/src/hc128.cpp 2012-05-17 12:10:48 +0000
2955+++ Percona-Server/extra/yassl/taocrypt/src/hc128.cpp 2013-05-12 06:41:27 +0000
2956@@ -1,5 +1,5 @@
2957 /*
2958- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2959+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2960
2961 This program is free software; you can redistribute it and/or modify
2962 it under the terms of the GNU General Public License as published by
2963
2964=== modified file 'Percona-Server/extra/yassl/taocrypt/src/integer.cpp'
2965--- Percona-Server/extra/yassl/taocrypt/src/integer.cpp 2012-10-16 06:21:51 +0000
2966+++ Percona-Server/extra/yassl/taocrypt/src/integer.cpp 2013-05-12 06:41:27 +0000
2967@@ -1,4 +1,4 @@
2968-/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
2969+/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2970
2971 This program is free software; you can redistribute it and/or modify
2972 it under the terms of the GNU General Public License as published by
2973
2974=== modified file 'Percona-Server/extra/yassl/taocrypt/src/make.bat'
2975--- Percona-Server/extra/yassl/taocrypt/src/make.bat 2012-03-21 14:27:34 +0000
2976+++ Percona-Server/extra/yassl/taocrypt/src/make.bat 2013-05-12 06:41:27 +0000
2977@@ -1,4 +1,4 @@
2978-REM Copyright (C) 2006, 2007 MySQL AB
2979+REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2980 REM
2981 REM This program is free software; you can redistribute it and/or modify
2982 REM it under the terms of the GNU General Public License as published by
2983
2984=== modified file 'Percona-Server/extra/yassl/taocrypt/src/md2.cpp'
2985--- Percona-Server/extra/yassl/taocrypt/src/md2.cpp 2012-10-16 06:21:51 +0000
2986+++ Percona-Server/extra/yassl/taocrypt/src/md2.cpp 2013-05-12 06:41:27 +0000
2987@@ -1,5 +1,5 @@
2988 /*
2989- Copyright (C) 2000-2007 MySQL AB
2990+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
2991
2992 This program is free software; you can redistribute it and/or modify
2993 it under the terms of the GNU General Public License as published by
2994
2995=== modified file 'Percona-Server/extra/yassl/taocrypt/src/md4.cpp'
2996--- Percona-Server/extra/yassl/taocrypt/src/md4.cpp 2012-10-16 06:21:51 +0000
2997+++ Percona-Server/extra/yassl/taocrypt/src/md4.cpp 2013-05-12 06:41:27 +0000
2998@@ -1,5 +1,5 @@
2999 /*
3000- Copyright (C) 2000-2007 MySQL AB
3001+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3002
3003 This program is free software; you can redistribute it and/or modify
3004 it under the terms of the GNU General Public License as published by
3005
3006=== modified file 'Percona-Server/extra/yassl/taocrypt/src/md5.cpp'
3007--- Percona-Server/extra/yassl/taocrypt/src/md5.cpp 2012-10-16 06:21:51 +0000
3008+++ Percona-Server/extra/yassl/taocrypt/src/md5.cpp 2013-05-12 06:41:27 +0000
3009@@ -1,5 +1,5 @@
3010 /*
3011- Copyright (C) 2000-2007 MySQL AB
3012+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3013
3014 This program is free software; you can redistribute it and/or modify
3015 it under the terms of the GNU General Public License as published by
3016
3017=== modified file 'Percona-Server/extra/yassl/taocrypt/src/misc.cpp'
3018--- Percona-Server/extra/yassl/taocrypt/src/misc.cpp 2012-10-16 06:21:51 +0000
3019+++ Percona-Server/extra/yassl/taocrypt/src/misc.cpp 2013-05-12 06:41:27 +0000
3020@@ -1,5 +1,5 @@
3021 /*
3022- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
3023+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3024
3025 This program is free software; you can redistribute it and/or modify
3026 it under the terms of the GNU General Public License as published by
3027
3028=== modified file 'Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp'
3029--- Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp 2012-05-17 12:10:48 +0000
3030+++ Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp 2013-05-12 06:41:27 +0000
3031@@ -1,5 +1,5 @@
3032 /*
3033- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
3034+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3035
3036 This program is free software; you can redistribute it and/or modify
3037 it under the terms of the GNU General Public License as published by
3038
3039=== modified file 'Percona-Server/extra/yassl/taocrypt/src/random.cpp'
3040--- Percona-Server/extra/yassl/taocrypt/src/random.cpp 2012-10-16 06:21:51 +0000
3041+++ Percona-Server/extra/yassl/taocrypt/src/random.cpp 2013-05-12 06:41:27 +0000
3042@@ -1,5 +1,5 @@
3043 /*
3044- Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
3045+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3046
3047 This program is free software; you can redistribute it and/or modify
3048 it under the terms of the GNU General Public License as published by
3049
3050=== modified file 'Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp'
3051--- Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp 2012-10-16 06:21:51 +0000
3052+++ Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp 2013-05-12 06:41:27 +0000
3053@@ -1,5 +1,5 @@
3054 /*
3055- Copyright (C) 2000-2007 MySQL AB
3056+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3057
3058 This program is free software; you can redistribute it and/or modify
3059 it under the terms of the GNU General Public License as published by
3060
3061=== modified file 'Percona-Server/extra/yassl/taocrypt/src/rsa.cpp'
3062--- Percona-Server/extra/yassl/taocrypt/src/rsa.cpp 2012-10-16 06:21:51 +0000
3063+++ Percona-Server/extra/yassl/taocrypt/src/rsa.cpp 2013-05-12 06:41:27 +0000
3064@@ -1,5 +1,5 @@
3065 /*
3066- Copyright (C) 2000-2007 MySQL AB
3067+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3068
3069 This program is free software; you can redistribute it and/or modify
3070 it under the terms of the GNU General Public License as published by
3071
3072=== modified file 'Percona-Server/extra/yassl/taocrypt/src/sha.cpp'
3073--- Percona-Server/extra/yassl/taocrypt/src/sha.cpp 2012-10-16 06:21:51 +0000
3074+++ Percona-Server/extra/yassl/taocrypt/src/sha.cpp 2013-05-12 06:41:27 +0000
3075@@ -1,5 +1,5 @@
3076 /*
3077- Copyright (C) 2000-2007 MySQL AB
3078+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3079
3080 This program is free software; you can redistribute it and/or modify
3081 it under the terms of the GNU General Public License as published by
3082
3083=== modified file 'Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp'
3084--- Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp 2012-05-17 12:10:48 +0000
3085+++ Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp 2013-05-12 06:41:27 +0000
3086@@ -1,5 +1,5 @@
3087 /*
3088- Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
3089+ Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3090
3091 This program is free software; you can redistribute it and/or modify
3092 it under the terms of the GNU General Public License as published by
3093
3094=== modified file 'Percona-Server/extra/yassl/taocrypt/src/tftables.cpp'
3095--- Percona-Server/extra/yassl/taocrypt/src/tftables.cpp 2012-10-16 06:21:51 +0000
3096+++ Percona-Server/extra/yassl/taocrypt/src/tftables.cpp 2013-05-12 06:41:27 +0000
3097@@ -1,5 +1,5 @@
3098 /*
3099- Copyright (C) 2000-2007 MySQL AB
3100+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3101
3102 This program is free software; you can redistribute it and/or modify
3103 it under the terms of the GNU General Public License as published by
3104
3105=== modified file 'Percona-Server/extra/yassl/taocrypt/src/twofish.cpp'
3106--- Percona-Server/extra/yassl/taocrypt/src/twofish.cpp 2012-10-16 06:21:51 +0000
3107+++ Percona-Server/extra/yassl/taocrypt/src/twofish.cpp 2013-05-12 06:41:27 +0000
3108@@ -1,5 +1,5 @@
3109 /*
3110- Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
3111+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3112
3113 This program is free software; you can redistribute it and/or modify
3114 it under the terms of the GNU General Public License as published by
3115
3116=== modified file 'Percona-Server/extra/yassl/taocrypt/test/make.bat'
3117--- Percona-Server/extra/yassl/taocrypt/test/make.bat 2012-03-21 14:27:34 +0000
3118+++ Percona-Server/extra/yassl/taocrypt/test/make.bat 2013-05-12 06:41:27 +0000
3119@@ -1,4 +1,4 @@
3120-REM Copyright (C) 2006, 2007 MySQL AB
3121+REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3122 REM
3123 REM This program is free software; you can redistribute it and/or modify
3124 REM it under the terms of the GNU General Public License as published by
3125
3126=== modified file 'Percona-Server/extra/yassl/taocrypt/test/memory.cpp'
3127--- Percona-Server/extra/yassl/taocrypt/test/memory.cpp 2013-02-12 07:47:19 +0000
3128+++ Percona-Server/extra/yassl/taocrypt/test/memory.cpp 2013-05-12 06:41:27 +0000
3129@@ -1,5 +1,5 @@
3130 /*
3131- Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
3132+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3133
3134 This program is free software; you can redistribute it and/or modify
3135 it under the terms of the GNU General Public License as published by
3136
3137=== modified file 'Percona-Server/extra/yassl/taocrypt/test/test.cpp'
3138--- Percona-Server/extra/yassl/taocrypt/test/test.cpp 2012-08-22 01:40:20 +0000
3139+++ Percona-Server/extra/yassl/taocrypt/test/test.cpp 2013-05-12 06:41:27 +0000
3140@@ -1,5 +1,5 @@
3141 /*
3142- Copyright (C) 2006, 2007 MySQL AB
3143+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3144
3145 This program is free software; you can redistribute it and/or modify
3146 it under the terms of the GNU General Public License as published by
3147
3148=== modified file 'Percona-Server/extra/yassl/testsuite/make.bat'
3149--- Percona-Server/extra/yassl/testsuite/make.bat 2012-03-21 14:27:34 +0000
3150+++ Percona-Server/extra/yassl/testsuite/make.bat 2013-05-12 06:41:27 +0000
3151@@ -1,4 +1,4 @@
3152-REM Copyright (C) 2006, 2007 MySQL AB
3153+REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3154 REM
3155 REM This program is free software; you can redistribute it and/or modify
3156 REM it under the terms of the GNU General Public License as published by
3157
3158=== modified file 'Percona-Server/extra/yassl/testsuite/test.hpp'
3159--- Percona-Server/extra/yassl/testsuite/test.hpp 2012-10-16 06:21:51 +0000
3160+++ Percona-Server/extra/yassl/testsuite/test.hpp 2013-05-12 06:41:27 +0000
3161@@ -1,5 +1,5 @@
3162 /*
3163- Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
3164+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3165
3166 This program is free software; you can redistribute it and/or modify
3167 it under the terms of the GNU General Public License as published by
3168
3169=== modified file 'Percona-Server/extra/yassl/testsuite/testsuite.cpp'
3170--- Percona-Server/extra/yassl/testsuite/testsuite.cpp 2012-08-22 01:40:20 +0000
3171+++ Percona-Server/extra/yassl/testsuite/testsuite.cpp 2013-05-12 06:41:27 +0000
3172@@ -1,5 +1,5 @@
3173 /*
3174- Copyright (C) 2006, 2007 MySQL AB
3175+ Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3176
3177 This program is free software; you can redistribute it and/or modify
3178 it under the terms of the GNU General Public License as published by
3179
3180=== modified file 'Percona-Server/include/errmsg.h'
3181--- Percona-Server/include/errmsg.h 2013-04-15 07:19:08 +0000
3182+++ Percona-Server/include/errmsg.h 2013-05-12 06:41:27 +0000
3183@@ -1,7 +1,7 @@
3184 #ifndef ERRMSG_INCLUDED
3185 #define ERRMSG_INCLUDED
3186
3187-/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
3188+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3189
3190 This program is free software; you can redistribute it and/or modify
3191 it under the terms of the GNU General Public License as published by
3192
3193=== modified file 'Percona-Server/include/ft_global.h'
3194--- Percona-Server/include/ft_global.h 2012-08-22 01:40:20 +0000
3195+++ Percona-Server/include/ft_global.h 2013-05-12 06:41:27 +0000
3196@@ -1,4 +1,4 @@
3197-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3198+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3199
3200 This program is free software; you can redistribute it and/or modify
3201 it under the terms of the GNU General Public License as published by
3202
3203=== modified file 'Percona-Server/include/m_ctype.h'
3204--- Percona-Server/include/m_ctype.h 2013-01-18 04:53:12 +0000
3205+++ Percona-Server/include/m_ctype.h 2013-05-12 06:41:27 +0000
3206@@ -1,4 +1,4 @@
3207-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3208+/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3209
3210 This program is free software; you can redistribute it and/or modify
3211 it under the terms of the GNU General Public License as published by
3212
3213=== modified file 'Percona-Server/include/m_string.h'
3214--- Percona-Server/include/m_string.h 2013-05-12 06:39:35 +0000
3215+++ Percona-Server/include/m_string.h 2013-05-12 06:41:27 +0000
3216@@ -1,5 +1,5 @@
3217 /*
3218- Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3219+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3220
3221 This program is free software; you can redistribute it and/or modify
3222 it under the terms of the GNU General Public License as published by
3223
3224=== modified file 'Percona-Server/include/my_atomic.h'
3225--- Percona-Server/include/my_atomic.h 2012-12-07 12:43:40 +0000
3226+++ Percona-Server/include/my_atomic.h 2013-05-12 06:41:27 +0000
3227@@ -1,7 +1,7 @@
3228 #ifndef MY_ATOMIC_INCLUDED
3229 #define MY_ATOMIC_INCLUDED
3230
3231-/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
3232+/* Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
3233
3234 This program is free software; you can redistribute it and/or modify
3235 it under the terms of the GNU General Public License as published by
3236
3237=== modified file 'Percona-Server/include/my_base.h'
3238--- Percona-Server/include/my_base.h 2013-01-18 04:53:12 +0000
3239+++ Percona-Server/include/my_base.h 2013-05-12 06:41:27 +0000
3240@@ -1,4 +1,4 @@
3241-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3242+/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3243
3244 This program is free software; you can redistribute it and/or modify
3245 it under the terms of the GNU General Public License as published by
3246@@ -478,7 +478,8 @@
3247 #define HA_ERR_TABLE_IN_FK_CHECK 183 /* Table being used in foreign key check */
3248 #define HA_ERR_TABLESPACE_EXISTS 184 /* The tablespace existed in storage engine */
3249 #define HA_ERR_TOO_MANY_FIELDS 185 /* Table has too many columns */
3250-#define HA_ERR_LAST 185 /* Copy of last error nr */
3251+#define HA_ERR_ROW_IN_WRONG_PARTITION 186 /* Row in wrong partition */
3252+#define HA_ERR_LAST 186 /* Copy of last error nr */
3253
3254 /* Number of different errors */
3255 #define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
3256
3257=== modified file 'Percona-Server/include/my_dbug.h'
3258--- Percona-Server/include/my_dbug.h 2012-09-26 13:52:56 +0000
3259+++ Percona-Server/include/my_dbug.h 2013-05-12 06:41:27 +0000
3260@@ -1,4 +1,4 @@
3261-/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
3262+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3263
3264 This program is free software; you can redistribute it and/or modify
3265 it under the terms of the GNU General Public License as published by
3266
3267=== modified file 'Percona-Server/include/my_pthread.h'
3268--- Percona-Server/include/my_pthread.h 2013-01-18 04:53:12 +0000
3269+++ Percona-Server/include/my_pthread.h 2013-05-12 06:41:27 +0000
3270@@ -1,4 +1,4 @@
3271-/* Copyright (c) 2000, 2011, 2012 Oracle and/or its affiliates. All rights reserved.
3272+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3273
3274 This program is free software; you can redistribute it and/or modify
3275 it under the terms of the GNU General Public License as published by
3276
3277=== modified file 'Percona-Server/include/my_sys.h'
3278--- Percona-Server/include/my_sys.h 2013-05-12 06:39:35 +0000
3279+++ Percona-Server/include/my_sys.h 2013-05-12 06:41:27 +0000
3280@@ -1,4 +1,4 @@
3281-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3282+/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3283
3284 This program is free software; you can redistribute it and/or modify
3285 it under the terms of the GNU General Public License as published by
3286@@ -247,6 +247,7 @@
3287 extern void (*error_handler_hook)(uint my_err, const char *str,myf MyFlags);
3288 extern void (*fatal_error_handler_hook)(uint my_err, const char *str,
3289 myf MyFlags);
3290+extern void(*sql_print_warning_hook)(const char *format,...);
3291 extern uint my_file_limit;
3292 extern ulong my_thread_stack_size;
3293
3294@@ -676,6 +677,7 @@
3295 va_list ap);
3296 extern int my_error_register(const char** (*get_errmsgs) (),
3297 int first, int last);
3298+extern void my_printf_warning (const char * format, ...);
3299 extern const char **my_error_unregister(int first, int last);
3300 extern void my_message(uint my_err, const char *str,myf MyFlags);
3301 extern void my_message_stderr(uint my_err, const char *str, myf MyFlags);
3302
3303=== modified file 'Percona-Server/include/my_time.h'
3304--- Percona-Server/include/my_time.h 2012-08-22 01:40:20 +0000
3305+++ Percona-Server/include/my_time.h 2013-05-12 06:41:27 +0000
3306@@ -1,4 +1,4 @@
3307-/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
3308+/* Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
3309
3310 This program is free software; you can redistribute it and/or modify
3311 it under the terms of the GNU General Public License as published by
3312
3313=== modified file 'Percona-Server/include/my_user.h'
3314--- Percona-Server/include/my_user.h 2010-10-27 11:32:32 +0000
3315+++ Percona-Server/include/my_user.h 2013-05-12 06:41:27 +0000
3316@@ -1,4 +1,5 @@
3317-/* Copyright (C) 2005 MySQL AB
3318+/* Copyright (c) 2005-2007 MySQL AB
3319+ Use is subject to license terms
3320
3321 This program is free software; you can redistribute it and/or modify
3322 it under the terms of the GNU General Public License as published by
3323
3324=== modified file 'Percona-Server/include/my_xml.h'
3325--- Percona-Server/include/my_xml.h 2012-07-04 09:28:24 +0000
3326+++ Percona-Server/include/my_xml.h 2013-05-12 06:41:27 +0000
3327@@ -1,4 +1,4 @@
3328-/* Copyright (C) 2000 MySQL AB
3329+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3330
3331 This program is free software; you can redistribute it and/or modify
3332 it under the terms of the GNU General Public License as published by
3333
3334=== modified file 'Percona-Server/include/mysql.h'
3335--- Percona-Server/include/mysql.h 2013-02-12 07:47:19 +0000
3336+++ Percona-Server/include/mysql.h 2013-05-12 06:41:27 +0000
3337@@ -1,4 +1,4 @@
3338-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3339+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3340
3341 This program is free software; you can redistribute it and/or modify
3342 it under the terms of the GNU General Public License as published by
3343
3344=== modified file 'Percona-Server/include/mysql/plugin.h'
3345--- Percona-Server/include/mysql/plugin.h 2013-05-12 06:39:35 +0000
3346+++ Percona-Server/include/mysql/plugin.h 2013-05-12 06:41:27 +0000
3347@@ -1,4 +1,4 @@
3348-/* Copyright (c) 2005, 2011, 2012 Oracle and/or its affiliates. All rights reserved.
3349+/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3350
3351 This program is free software; you can redistribute it and/or modify
3352 it under the terms of the GNU General Public License as published by
3353@@ -551,6 +551,7 @@
3354 unsigned int max_query_len);
3355 /* Increments the row counter, see THD::row_count */
3356 void thd_inc_row_count(MYSQL_THD thd);
3357+int thd_allow_batch(MYSQL_THD thd);
3358
3359 void increment_thd_innodb_stats(MYSQL_THD thd,
3360 unsigned long long trx_id,
3361
3362=== modified file 'Percona-Server/include/mysql/plugin_audit.h.pp'
3363--- Percona-Server/include/mysql/plugin_audit.h.pp 2013-05-12 06:39:35 +0000
3364+++ Percona-Server/include/mysql/plugin_audit.h.pp 2013-05-12 06:41:27 +0000
3365@@ -233,6 +233,7 @@
3366 char *thd_security_context(void* thd, char *buffer, unsigned int length,
3367 unsigned int max_query_len);
3368 void thd_inc_row_count(void* thd);
3369+int thd_allow_batch(void* thd);
3370 void increment_thd_innodb_stats(void* thd,
3371 unsigned long long trx_id,
3372 long io_reads,
3373
3374=== modified file 'Percona-Server/include/mysql/plugin_auth.h.pp'
3375--- Percona-Server/include/mysql/plugin_auth.h.pp 2013-05-12 06:39:35 +0000
3376+++ Percona-Server/include/mysql/plugin_auth.h.pp 2013-05-12 06:41:27 +0000
3377@@ -233,6 +233,7 @@
3378 char *thd_security_context(void* thd, char *buffer, unsigned int length,
3379 unsigned int max_query_len);
3380 void thd_inc_row_count(void* thd);
3381+int thd_allow_batch(void* thd);
3382 void increment_thd_innodb_stats(void* thd,
3383 unsigned long long trx_id,
3384 long io_reads,
3385
3386=== modified file 'Percona-Server/include/mysql/plugin_auth_common.h'
3387--- Percona-Server/include/mysql/plugin_auth_common.h 2012-02-07 14:35:13 +0000
3388+++ Percona-Server/include/mysql/plugin_auth_common.h 2013-05-12 06:41:27 +0000
3389@@ -1,5 +1,5 @@
3390 #ifndef MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
3391-/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
3392+/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
3393
3394 This program is free software; you can redistribute it and/or modify
3395 it under the terms of the GNU General Public License as published by
3396
3397=== modified file 'Percona-Server/include/mysql/plugin_ftparser.h.pp'
3398--- Percona-Server/include/mysql/plugin_ftparser.h.pp 2013-05-12 06:39:35 +0000
3399+++ Percona-Server/include/mysql/plugin_ftparser.h.pp 2013-05-12 06:41:27 +0000
3400@@ -186,6 +186,7 @@
3401 char *thd_security_context(void* thd, char *buffer, unsigned int length,
3402 unsigned int max_query_len);
3403 void thd_inc_row_count(void* thd);
3404+int thd_allow_batch(void* thd);
3405 void increment_thd_innodb_stats(void* thd,
3406 unsigned long long trx_id,
3407 long io_reads,
3408
3409=== modified file 'Percona-Server/include/mysql/psi/mysql_file.h'
3410--- Percona-Server/include/mysql/psi/mysql_file.h 2012-10-16 06:21:51 +0000
3411+++ Percona-Server/include/mysql/psi/mysql_file.h 2013-05-12 06:41:27 +0000
3412@@ -1,4 +1,4 @@
3413-/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
3414+/* Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
3415
3416 This program is free software; you can redistribute it and/or modify
3417 it under the terms of the GNU General Public License as published by
3418
3419=== modified file 'Percona-Server/include/mysql/psi/mysql_idle.h'
3420--- Percona-Server/include/mysql/psi/mysql_idle.h 2012-08-22 01:40:20 +0000
3421+++ Percona-Server/include/mysql/psi/mysql_idle.h 2013-05-12 06:41:27 +0000
3422@@ -1,4 +1,4 @@
3423-/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3424+/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
3425
3426 This program is free software; you can redistribute it and/or modify
3427 it under the terms of the GNU General Public License as published by
3428
3429=== modified file 'Percona-Server/include/mysql/psi/mysql_stage.h'
3430--- Percona-Server/include/mysql/psi/mysql_stage.h 2012-08-22 01:40:20 +0000
3431+++ Percona-Server/include/mysql/psi/mysql_stage.h 2013-05-12 06:41:27 +0000
3432@@ -1,4 +1,4 @@
3433-/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
3434+/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
3435
3436 This program is free software; you can redistribute it and/or modify
3437 it under the terms of the GNU General Public License as published by
3438
3439=== modified file 'Percona-Server/include/mysql/psi/psi.h'
3440--- Percona-Server/include/mysql/psi/psi.h 2013-01-18 04:53:12 +0000
3441+++ Percona-Server/include/mysql/psi/psi.h 2013-05-12 06:41:27 +0000
3442@@ -1,4 +1,4 @@
3443-/* Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
3444+/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
3445
3446 This program is free software; you can redistribute it and/or modify
3447 it under the terms of the GNU General Public License as published by
3448@@ -1372,7 +1372,7 @@
3449 @param info the process into string
3450 @param info_len the process into string length
3451 */
3452-typedef void (*set_thread_info_v1_t)(const char* info, int info_len);
3453+typedef void (*set_thread_info_v1_t)(const char* info, uint info_len);
3454
3455 /**
3456 Attach a thread instrumentation to the running thread.
3457
3458=== modified file 'Percona-Server/include/mysql/psi/psi_abi_v1.h.pp'
3459--- Percona-Server/include/mysql/psi/psi_abi_v1.h.pp 2013-01-18 04:53:12 +0000
3460+++ Percona-Server/include/mysql/psi/psi_abi_v1.h.pp 2013-05-12 06:41:27 +0000
3461@@ -357,7 +357,7 @@
3462 typedef void (*set_thread_command_v1_t)(int command);
3463 typedef void (*set_thread_start_time_v1_t)(time_t start_time);
3464 typedef void (*set_thread_state_v1_t)(const char* state);
3465-typedef void (*set_thread_info_v1_t)(const char* info, int info_len);
3466+typedef void (*set_thread_info_v1_t)(const char* info, uint info_len);
3467 typedef void (*set_thread_v1_t)(struct PSI_thread *thread);
3468 typedef void (*delete_current_thread_v1_t)(void);
3469 typedef void (*delete_thread_v1_t)(struct PSI_thread *thread);
3470
3471=== modified file 'Percona-Server/include/mysql/service_my_snprintf.h'
3472--- Percona-Server/include/mysql/service_my_snprintf.h 2011-06-30 15:46:53 +0000
3473+++ Percona-Server/include/mysql/service_my_snprintf.h 2013-05-12 06:41:27 +0000
3474@@ -1,5 +1,5 @@
3475 #ifndef MYSQL_SERVICE_MY_SNPRINTF_INCLUDED
3476-/* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
3477+/* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
3478
3479 This program is free software; you can redistribute it and/or modify
3480 it under the terms of the GNU General Public License as published by
3481@@ -49,6 +49,7 @@
3482 string will be quoted according to MySQL identifier quoting rules.
3483
3484 Both <width> and <precision> can be specified as numbers or '*'.
3485+ If an asterisk is used, an argument of type int is consumed.
3486
3487 <length modifier> can be 'l', 'll', or 'z'.
3488
3489
3490=== modified file 'Percona-Server/include/mysql/services.h'
3491--- Percona-Server/include/mysql/services.h 2012-08-22 01:40:20 +0000
3492+++ Percona-Server/include/mysql/services.h 2013-05-12 06:41:27 +0000
3493@@ -1,5 +1,5 @@
3494 #ifndef MYSQL_SERVICES_INCLUDED
3495-/* Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
3496+/* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
3497
3498 This program is free software; you can redistribute it and/or modify
3499 it under the terms of the GNU General Public License as published by
3500
3501=== modified file 'Percona-Server/include/mysql_version.h.in'
3502--- Percona-Server/include/mysql_version.h.in 2007-09-13 14:19:46 +0000
3503+++ Percona-Server/include/mysql_version.h.in 2013-05-12 06:41:27 +0000
3504@@ -1,4 +1,5 @@
3505-/* Copyright Abandoned 1996, 1999, 2001 MySQL AB
3506+/* Copyright (c) 1996, 1999-2004, 2007 MySQL AB
3507+ Use is subject to license terms
3508 This file is public domain and comes with NO WARRANTY of any kind */
3509
3510 /* Version numbers for protocol & mysqld */
3511
3512=== modified file 'Percona-Server/include/password.h'
3513--- Percona-Server/include/password.h 2012-08-22 01:40:20 +0000
3514+++ Percona-Server/include/password.h 2013-05-12 06:41:27 +0000
3515@@ -1,4 +1,4 @@
3516-/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
3517+/* Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
3518
3519 This program is free software; you can redistribute it and/or modify
3520 it under the terms of the GNU General Public License as published by
3521
3522=== modified file 'Percona-Server/include/service_versions.h'
3523--- Percona-Server/include/service_versions.h 2012-08-22 01:40:20 +0000
3524+++ Percona-Server/include/service_versions.h 2013-05-12 06:41:27 +0000
3525@@ -1,4 +1,4 @@
3526-/* Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
3527+/* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
3528
3529 This program is free software; you can redistribute it and/or modify
3530 it under the terms of the GNU General Public License as published by
3531
3532=== modified file 'Percona-Server/include/sha1.h'
3533--- Percona-Server/include/sha1.h 2012-08-22 01:40:20 +0000
3534+++ Percona-Server/include/sha1.h 2013-05-12 06:41:27 +0000
3535@@ -1,8 +1,7 @@
3536 #ifndef SHA1_INCLUDED
3537 #define SHA1_INCLUDED
3538
3539-/* Copyright (c) 2002, 2006 MySQL AB, 2009 Sun Microsystems, Inc.
3540- Use is subject to license terms.
3541+/* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
3542
3543 This program is free software; you can redistribute it and/or modify
3544 it under the terms of the GNU General Public License as published by
3545
3546=== modified file 'Percona-Server/include/sslopt-longopts.h'
3547--- Percona-Server/include/sslopt-longopts.h 2012-08-16 15:00:09 +0000
3548+++ Percona-Server/include/sslopt-longopts.h 2013-05-12 06:41:27 +0000
3549@@ -1,7 +1,7 @@
3550 #ifndef SSLOPT_LONGOPTS_INCLUDED
3551 #define SSLOPT_LONGOPTS_INCLUDED
3552
3553-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3554+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3555
3556 This program is free software; you can redistribute it and/or modify
3557 it under the terms of the GNU General Public License as published by
3558
3559=== modified file 'Percona-Server/include/violite.h'
3560--- Percona-Server/include/violite.h 2013-05-12 06:39:35 +0000
3561+++ Percona-Server/include/violite.h 2013-05-12 06:41:27 +0000
3562@@ -1,4 +1,4 @@
3563-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3564+/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3565
3566 This program is free software; you can redistribute it and/or modify
3567 it under the terms of the GNU General Public License as published by
3568@@ -37,8 +37,8 @@
3569
3570 enum enum_vio_type
3571 {
3572- VIO_CLOSED, VIO_TYPE_TCPIP, VIO_TYPE_SOCKET, VIO_TYPE_NAMEDPIPE,
3573- VIO_TYPE_SSL, VIO_TYPE_SHARED_MEMORY
3574+ VIO_TYPE_TCPIP, VIO_TYPE_SOCKET, VIO_TYPE_NAMEDPIPE, VIO_TYPE_SSL,
3575+ VIO_TYPE_SHARED_MEMORY
3576 };
3577
3578 /**
3579@@ -71,19 +71,19 @@
3580 #define HANDLE void *
3581 #endif /* __WIN__ */
3582
3583-void vio_delete(Vio* vio);
3584-int vio_close(Vio* vio);
3585+void vio_delete(Vio* vio);
3586+int vio_shutdown(Vio* vio, int how);
3587 my_bool vio_reset(Vio* vio, enum enum_vio_type type,
3588 my_socket sd, void *ssl, uint flags);
3589-size_t vio_read(Vio *vio, uchar * buf, size_t size);
3590+size_t vio_read(Vio *vio, uchar * buf, size_t size);
3591 size_t vio_read_buff(Vio *vio, uchar * buf, size_t size);
3592-size_t vio_write(Vio *vio, const uchar * buf, size_t size);
3593+size_t vio_write(Vio *vio, const uchar * buf, size_t size);
3594 /* setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible */
3595-int vio_fastsend(Vio *vio);
3596+int vio_fastsend(Vio *vio);
3597 /* setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible */
3598-int vio_keepalive(Vio *vio, my_bool onoff);
3599+int vio_keepalive(Vio *vio, my_bool onoff);
3600 /* Whenever we should retry the last read/write operation. */
3601-my_bool vio_should_retry(Vio *vio);
3602+my_bool vio_should_retry(Vio *vio);
3603 /* Check that operation was timed out */
3604 my_bool vio_was_timeout(Vio *vio);
3605 /* Short text description of the socket for those, who are curious.. */
3606@@ -161,36 +161,36 @@
3607
3608 struct st_VioSSLFd
3609 *new_VioSSLConnectorFd(const char *key_file, const char *cert_file,
3610- const char *ca_file, const char *ca_path,
3611- const char *cipher, enum enum_ssl_init_error *error,
3612+ const char *ca_file, const char *ca_path,
3613+ const char *cipher, enum enum_ssl_init_error *error,
3614 const char *crl_file, const char *crl_path);
3615 struct st_VioSSLFd
3616 *new_VioSSLAcceptorFd(const char *key_file, const char *cert_file,
3617- const char *ca_file,const char *ca_path,
3618- const char *cipher, enum enum_ssl_init_error *error,
3619+ const char *ca_file,const char *ca_path,
3620+ const char *cipher, enum enum_ssl_init_error *error,
3621 const char *crl_file, const char *crl_path);
3622 void free_vio_ssl_acceptor_fd(struct st_VioSSLFd *fd);
3623 #endif /* ! EMBEDDED_LIBRARY */
3624 #endif /* HAVE_OPENSSL */
3625
3626+void ssl_start(void);
3627 void vio_end(void);
3628
3629-#ifdef __cplusplus
3630+#ifdef __cplusplus
3631 }
3632 #endif
3633
3634 #if !defined(DONT_MAP_VIO)
3635-#define vio_delete(vio) (vio)->viodelete(vio)
3636-#define vio_errno(vio) (vio)->vioerrno(vio)
3637+#define vio_delete(vio) (vio)->viodelete(vio)
3638+#define vio_errno(vio) (vio)->vioerrno(vio)
3639 #define vio_read(vio, buf, size) ((vio)->read)(vio,buf,size)
3640 #define vio_write(vio, buf, size) ((vio)->write)(vio, buf, size)
3641-#define vio_fastsend(vio) (vio)->fastsend(vio)
3642-#define vio_keepalive(vio, set_keep_alive) (vio)->viokeepalive(vio, set_keep_alive)
3643-#define vio_should_retry(vio) (vio)->should_retry(vio)
3644+#define vio_fastsend(vio) (vio)->fastsend(vio)
3645+#define vio_keepalive(vio, set_keep_alive) (vio)->viokeepalive(vio, set_keep_alive)
3646+#define vio_should_retry(vio) (vio)->should_retry(vio)
3647 #define vio_was_timeout(vio) (vio)->was_timeout(vio)
3648-#define vio_close(vio) ((vio)->vioclose)(vio)
3649-#define vio_shutdown(vio,how) ((vio)->shutdown)(vio,how)
3650-#define vio_peer_addr(vio, buf, prt, buflen) (vio)->peer_addr(vio, buf, prt, buflen)
3651+#define vio_shutdown(vio,how) ((vio)->vioshutdown)(vio,how)
3652+#define vio_peer_addr(vio, buf, prt, buflen) (vio)->peer_addr(vio, buf, prt, buflen)
3653 #define vio_io_wait(vio, event, timeout) (vio)->io_wait(vio, event, timeout)
3654 #define vio_is_connected(vio) (vio)->is_connected(vio)
3655 #endif /* !defined(DONT_MAP_VIO) */
3656@@ -221,13 +221,14 @@
3657 /* This structure is for every connection on both sides */
3658 struct st_vio
3659 {
3660- MYSQL_SOCKET mysql_socket; /* Instrumented socket */
3661- my_bool localhost; /* Are we from localhost? */
3662- struct sockaddr_storage local; /* Local internet address */
3663- struct sockaddr_storage remote; /* Remote internet address */
3664+ MYSQL_SOCKET mysql_socket; /* Instrumented socket */
3665+ my_bool localhost; /* Are we from localhost? */
3666+ struct sockaddr_storage local; /* Local internet address */
3667+ struct sockaddr_storage remote; /* Remote internet address */
3668 int addrLen; /* Length of remote address */
3669- enum enum_vio_type type; /* Type of connection */
3670- char desc[VIO_DESCRIPTION_SIZE]; /* Description string. This
3671+ enum enum_vio_type type; /* Type of connection */
3672+ my_bool inactive; /* Connection inactive (has been shutdown) */
3673+ char desc[VIO_DESCRIPTION_SIZE]; /* Description string. This
3674 member MUST NOT be
3675 used directly, but only
3676 via function
3677@@ -238,7 +239,16 @@
3678 char *read_end; /* end of unfetched data */
3679 int read_timeout; /* Timeout value (ms) for read ops. */
3680 int write_timeout; /* Timeout value (ms) for write ops. */
3681- /* function pointers. They are similar for socket/SSL/whatever */
3682+
3683+ /*
3684+ VIO vtable interface to be implemented by VIO's like SSL, Socket,
3685+ Named Pipe, etc.
3686+ */
3687+
3688+ /*
3689+ viodelete is responsible for cleaning up the VIO object by freeing
3690+ internal buffers, closing descriptors, handles.
3691+ */
3692 void (*viodelete)(Vio*);
3693 int (*vioerrno)(Vio*);
3694 size_t (*read)(Vio*, uchar *, size_t);
3695@@ -250,9 +260,13 @@
3696 void (*in_addr)(Vio*, struct sockaddr_storage*);
3697 my_bool (*should_retry)(Vio*);
3698 my_bool (*was_timeout)(Vio*);
3699- int (*vioclose)(Vio*);
3700+ /*
3701+ vioshutdown is resposnible to shutdown/close the channel, so that no
3702+ further communications can take place, however any related buffers,
3703+ descriptors, handles can remain valid after a shutdown.
3704+ */
3705+ int (*vioshutdown)(Vio*, int);
3706 my_bool (*is_connected)(Vio*);
3707- int (*shutdown)(Vio *, int);
3708 my_bool (*has_data) (Vio*);
3709 int (*io_wait)(Vio*, enum enum_vio_io_event, int);
3710 my_bool (*connect)(Vio*, struct sockaddr *, socklen_t, int);
3711@@ -262,7 +276,7 @@
3712 HANDLE hPipe;
3713 #endif
3714 #ifdef HAVE_OPENSSL
3715- void *ssl_arg;
3716+ void *ssl_arg;
3717 #endif
3718 #ifdef HAVE_SMEM
3719 HANDLE handle_file_map;
3720
3721=== modified file 'Percona-Server/include/welcome_copyright_notice.h'
3722--- Percona-Server/include/welcome_copyright_notice.h 2012-12-20 11:34:11 +0000
3723+++ Percona-Server/include/welcome_copyright_notice.h 2013-05-12 06:41:27 +0000
3724@@ -1,4 +1,4 @@
3725-/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
3726+/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
3727
3728 This program is free software; you can redistribute it and/or modify
3729 it under the terms of the GNU General Public License as published by
3730
3731=== modified file 'Percona-Server/libmysql/CMakeLists.txt'
3732--- Percona-Server/libmysql/CMakeLists.txt 2013-04-15 07:19:08 +0000
3733+++ Percona-Server/libmysql/CMakeLists.txt 2013-05-12 06:41:27 +0000
3734@@ -173,7 +173,6 @@
3735 ENDIF()
3736
3737 # Merge several convenience libraries into one big mysqlclient
3738-# and link them together into shared library.
3739 MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development)
3740
3741 # Visual Studio users need debug static library for debug projects
3742@@ -197,7 +196,11 @@
3743 ENDIF()
3744
3745 IF(NOT DISABLE_SHARED)
3746- MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS} COMPONENT SharedLibraries)
3747+ # Merge several convenience libraries into one big mysqlclient
3748+ # and link them together into shared library.
3749+ MERGE_LIBRARIES(libmysql SHARED ${LIBS}
3750+ EXPORTS ${CLIENT_API_FUNCTIONS}
3751+ COMPONENT SharedLibraries)
3752 IF(UNIX)
3753 # libtool compatability
3754 IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
3755
3756=== modified file 'Percona-Server/libmysql/libmysql.c'
3757--- Percona-Server/libmysql/libmysql.c 2013-03-05 12:46:43 +0000
3758+++ Percona-Server/libmysql/libmysql.c 2013-05-12 06:41:27 +0000
3759@@ -2119,7 +2119,14 @@
3760 DBUG_RETURN(1);
3761 }
3762
3763- net_clear(net, 1); /* Sets net->write_pos */
3764+ if (net->vio)
3765+ net_clear(net, 1); /* Sets net->write_pos */
3766+ else
3767+ {
3768+ set_stmt_errmsg(stmt, net);
3769+ DBUG_RETURN(1);
3770+ }
3771+
3772 /* Reserve place for null-marker bytes */
3773 null_count= (stmt->param_count+7) /8;
3774 if (my_realloc_str(net, null_count + 1))
3775
3776=== modified file 'Percona-Server/libmysqld/lib_sql.cc'
3777--- Percona-Server/libmysqld/lib_sql.cc 2013-03-05 12:46:43 +0000
3778+++ Percona-Server/libmysqld/lib_sql.cc 2013-05-12 06:41:27 +0000
3779@@ -659,7 +659,7 @@
3780 /* Signal successful initialization */
3781 mysql_mutex_lock(&LOCK_server_started);
3782 mysqld_server_started= 1;
3783- mysql_cond_signal(&COND_server_started);
3784+ mysql_cond_broadcast(&COND_server_started);
3785 mysql_mutex_unlock(&LOCK_server_started);
3786
3787 #ifdef WITH_NDBCLUSTER_STORAGE_ENGINE
3788
3789=== modified file 'Percona-Server/mysql-test/collections/default.daily'
3790--- Percona-Server/mysql-test/collections/default.daily 2013-02-12 07:47:19 +0000
3791+++ Percona-Server/mysql-test/collections/default.daily 2013-05-12 06:41:27 +0000
3792@@ -18,6 +18,9 @@
3793 # Additional modes for rpl. Multi-Threaded Slave
3794 perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=rpl_MTS-debug --vardir=var-mts-rpl-debug --experimental=collections/default.experimental --mysqld=--slave-parallel-workers=4 --mysqld=--slave-transaction-retries=0 --suite=rpl
3795
3796+# Additional GTID coverage (binlog suite with gtid_mode=ON)
3797+perl 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
3798+
3799 # Additional runs for innodb-page-size=4k and 8k
3800 perl 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_builtin
3801 perl 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_builtin
3802
3803=== modified file 'Percona-Server/mysql-test/collections/default.experimental'
3804--- Percona-Server/mysql-test/collections/default.experimental 2013-02-12 07:47:19 +0000
3805+++ Percona-Server/mysql-test/collections/default.experimental 2013-05-12 06:41:27 +0000
3806@@ -9,18 +9,14 @@
3807 main.mysqlslap @windows # Bug#11761520 2010-08-10 alik mysqlslap fails sporadically starting from Dahlia
3808
3809 main.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
3810-main.kill @freebsd # Bug#12619719 2011-08-04 Occasional failure in PB2
3811-main.kill @darwin # Bug#12619719 2012-07-12 Occasional failure in PB2
3812
3813 innodb.innodb_monitor # Bug#12320827 2011-08-04 Occasional failure in PB2
3814
3815 rpl.rpl_delayed_slave # BUG#11764654 rpl_delayed_slave fails sporadically in pb
3816 rpl.rpl_innodb_bug28430 # Bug#11754425
3817 rpl.rpl_show_slave_running # BUG#12346048 2011-04-11 sven fails sporadically on pb2
3818-rpl.rpl_parallel_switch_sequential # BUG#13626976 2012-02-07 dlenev Fails sporadically on pb2
3819+rpl.rpl_gtid_logs_without_rotate_or_stop_event @windows # Bug#16207800 2013-02-09 anitha Fails very frequently on windows
3820
3821 sys_vars.rpl_init_slave_func # Bug#12535301 2011-05-09 andrei sys_vars.rpl_init_slave_func mismatches in daily-5.5
3822
3823-rpl.rpl_mixed_mts_rec_crash_safe @solaris # Bug#12902514 2011-08-19 andrei mts recovery tests are slow
3824-rpl.rpl_mixed_mts_rec_crash_safe_checksum @solaris # Bug#12902514 2011-08-19 andrei same as rpl_mixed_mts_rec_crash_safe
3825-rpl.rpl_mixed_mts_crash_safe @solaris # Bug#12902514 2011-08-19 andrei same as rpl_mixed_mts_rec_crash_safe
3826+
3827
3828=== modified file 'Percona-Server/mysql-test/collections/default.push'
3829--- Percona-Server/mysql-test/collections/default.push 2013-02-12 07:47:19 +0000
3830+++ Percona-Server/mysql-test/collections/default.push 2013-05-12 06:41:27 +0000
3831@@ -1,5 +1,5 @@
3832 perl 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
3833-perl mysql-test-run.pl --timer --debug-server --force --parallel=auto --comment=main_ps_row-debug --vardir=var-main-ps_row --suite=main --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-test-list=collections/disabled-per-push.list
3834+perl 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
3835 perl 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
3836 perl 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
3837 perl 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
3838
3839=== modified file 'Percona-Server/mysql-test/collections/default.release.in'
3840--- Percona-Server/mysql-test/collections/default.release.in 2013-02-12 07:47:19 +0000
3841+++ Percona-Server/mysql-test/collections/default.release.in 2013-05-12 06:41:27 +0000
3842@@ -5,7 +5,7 @@
3843 # include default.weekly
3844
3845 perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=debug --vardir=var-debug --skip-rpl --report-features --debug-server
3846-perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --report-features
3847+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --report-features --unit-tests
3848 perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --ps-protocol
3849 perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs1+ps --vardir=var-funcs_1_ps --suite=funcs_1 --ps-protocol
3850 perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs2 --vardir=var-funcs2 --suite=funcs_2
3851
3852=== modified file 'Percona-Server/mysql-test/collections/default.weekly'
3853--- Percona-Server/mysql-test/collections/default.weekly 2013-03-05 12:46:43 +0000
3854+++ Percona-Server/mysql-test/collections/default.weekly 2013-05-12 06:41:27 +0000
3855@@ -52,12 +52,12 @@
3856
3857 # Run with 4K page size
3858 perl 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_builtin
3859-perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=main_ps_row_4k_size --vardir=var-main-ps_row --suite=main --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_builtin
3860+perl 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_builtin
3861 perl 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_builtin
3862
3863 # Run with 8K page size
3864 perl 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
3865-perl mysql-test-run.pl --debug-server --timer --force --parallel=auto --comment=main_ps_row_8k_size --vardir=var-main-ps_row --suite=main --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
3866+perl 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
3867 perl 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
3868
3869
3870
3871=== modified file 'Percona-Server/mysql-test/collections/disabled-gtid-on.list'
3872--- Percona-Server/mysql-test/collections/disabled-gtid-on.list 2012-10-24 08:43:19 +0000
3873+++ Percona-Server/mysql-test/collections/disabled-gtid-on.list 2013-05-12 06:41:27 +0000
3874@@ -1,169 +1,5 @@
3875-rpl_loaddata_s : Skipped and the reason requires further analysis.
3876-rpl_server_id2 : Skipped and the reason requires furhter analysis.
3877-rpl_server_id_ignore : Skipped and the reason requires further analysis.
3878-rpl_insert : Skipped and the reason requires furhter analysis.
3879-rpl_mix_insert_delayed : Skipped and the reason requires furhter analysis.
3880-rpl_row_mysqlbinlog : Skipped and the reason requires furhter analysis.
3881-rpl_typeconv : Skipped and the reason requires furhter analysis.
3882-rpl_slave_start: Skipped and the reason requires furhter analysis.
3883-rpl_change_master_crash_safe : Skipped and the reason requires furhter analysis.
3884-rpl_change_master : Skipped and the reason requires furhter analysis.
3885-rpl_extra_col_slave_innodb : Skipped and the reason requires furhter analysis..
3886-rpl_extra_col_slave_myisam : Skipped and the reason requires furhter analysis.
3887-rpl_seconds_behind_master : Skipped and the reason requires furhter analysis.
3888-rpl_loaddata_fatal : Skipped and the reason requires furhter analysis.
3889-rpl_row_delayed_ins : Skipped and the reason requires furhter analysis.
3890-rpl_row_max_relay_size : Skipped and the reason requires furhter analysis.
3891-rpl_stm_000001 : Skipped and the reason requires furhter analysis.
3892-rpl_filter_tables_not_exist : Skipped and the reason requires furhter analysis.
3893-rpl_ssl1 : Skipped and the reason requires furhter analysis.
3894-rpl_circular_for_4_hosts : Skipped and the reason requires furhter analysis.
3895-rpl_loaddata : Skipped and the reason requires furhter analysis.
3896-rpl_heartbeat_2slaves : Skipped and the reason requires furhter analysis.
3897-mysql_client_test : Skipped and the reason requires furhter analysis.
3898-binlog_base64_flag : Skipped and the reason requires furhter analysis.
3899-binlog_old_versions : Skipped and the reason requires furhter analysis.
3900-rpl_row_img_eng_full : Skipped and the reason requires furhter analysis.
3901-skip_log_bin : Skipped and the reason requires furhter analysis.
3902-flush2 : Skipped and the reason requires furhter analysis.
3903-mysqldump-no-binlog : Skipped and the reason requires furhter analysis.
3904-delayed: Skipped and the reason requires further analysis.
3905-no_binlog: Skipped and the reason requires further analysis.
3906-openssl_1: Skipped and the reason requires further analysis.
3907-innodb-replace: Skipped and the reason requires further analysis.
3908-read_only_innodb: Skipped and the reason requires further analysis.
3909-sys_vars.delayed_insert_limit_func: Skipped and the reason requires further analysis.
3910-sp-lock: Skipped and the reason requires further analysis.
3911-lock_sync: Skipped and the reason requires further analysis.
3912-
3913-
3914-
3915-rpl_gtid_mode : Skipped due to problems in the test.
3916-binlog_gtid_errors : Skipped due to problems in the test.
3917-binlog_enforce_gtid_consistency : Skipped due to problems in the test.
3918-rpl_gtid_execution : Skipped due to problems in the test.
3919-
3920-
3921-
3922-rpl_get_master_version_and_clock : Skipped due to clashes in debug.
3923-rpl_init_slave_errors : Skipped due to clashes in debug.
3924-rpl_corruption : Skipped due to clashes in debug.
3925-rpl_show_slave_running : Skipped due to clashes in debug.
3926-rpl_mysqlbinlog_gtid_on : Skipped due to clashes in debug.
3927-rpl_mts_debug : Skipped due to clashes in debug.
3928-rpl_row_4_bytes : Skipped due to clashes in debug.
3929-rpl_row_find_row_debug : Skipped due to clashes in debug.
3930-rpl_known_bugs_detection : Skipped due to clashes in debug.
3931-rpl_slave_load_remove_tmpfile : Skipped due to clashes in debug.
3932-binlog_index : Skipped due to clashes in debug.
3933-binlog_write_error : Skipped due to clashes in debug.
3934-rpl_show_errors : Skipped due to clashes in debug.
3935-rpl_bug33931 : Skipped due to clashes in debug.
3936-rpl_checksum : Skipped due to clashes in debug.
3937-rpl_checksum_cache: Skipped due to clashes in debug.
3938-
3939-
3940-
3941-rpl_row_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3942-rpl_stm_mixed_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3943-flush_block_commit_notembedded : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3944-multi_update : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3945-mysqlbinlog_start_stop : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3946-partition_binlog : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3947-user_var-binlog : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3948-binlog_checksum : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3949-binlog_crash_safe_master_checksum : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3950-binlog_database : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3951-binlog_delete_and_flush_index : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3952-binlog_drop_if_exists : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3953-binlog_implicit_commit : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3954-binlog_innodb : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3955-binlog_innodb_row : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3956-binlog_killed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3957-binlog_mixed_load_data : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3958-binlog_mysqlbinlog_filter : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3959-binlog_rewrite : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3960-binlog_row_ctype_ucs : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3961-binlog_row_drop_tbl : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3962-binlog_row_drop_tmp_tbl : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3963-binlog_server_id : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3964-binlog_statement_insert_delayed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3965-binlog_stm_blackhole : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3966-binlog_stm_ctype_ucs : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3967-binlog_stm_do_db : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3968-binlog_stm_drop_tbl : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3969-binlog_stm_drop_tmp_tbl : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3970-binlog_stm_ps : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3971-binlog_stm_row : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3972-binlog_stm_user_variables : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3973-binlog_mix : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3974-binlog_row : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3975-binlog_stm : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3976-relaylog : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3977-rpl_auto_increment_update_failure : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3978-rpl_conditional_comments : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3979-rpl_do_db_filter : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3980-rpl_do_grant : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3981-rpl_do_table_filter_insensitive : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3982-rpl_do_table_filter_sensitive : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3983-rpl_drop_temp : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3984-rpl_ignore_db_filter : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3985-rpl_ignore_table_filter_insensitive : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3986-rpl_ignore_table_filter_sensitive : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3987-rpl_innodb_mixed_ddl : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3988-rpl_innodb_mixed_dml : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3989-rpl_loaddata_map : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3990-rpl_mixed_mts_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3991-rpl_row_mts_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3992-rpl_stm_mts_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3993-rpl_mixed_mts_rec_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3994-rpl_row_mts_rec_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3995-rpl_stm_mts_rec_crash_safe : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3996-rpl_mixed_mts_rec_crash_safe_checksum : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3997-rpl_rbr_to_sbr : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3998-rpl_rewrt_db : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
3999-rpl_rewrite_db_filter : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4000-rpl_row_drop : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4001-rpl_row_event_max_size : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4002-rpl_row_flsh_tbls : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4003-rpl_stm_flsh_tbls : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4004-rpl_slave_skip : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4005-rpl_stm_auto_increment_bug33029 : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4006-rpl_stm_loaddata_concurrent : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4007-rpl_stm_multi_query : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4008-rpl_stm_user_variables : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4009-rpl_user : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4010-rpl_row_basic_11bugs : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4011-rpl_crash_safe_master : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4012-binlog_truncate_myisam : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs.
4013-
4014-
4015-
4016-rpl_stm_insert_delayed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check extra/rpl_tests/rpl_insert_delayed.test.
4017-rpl_row_insert_delayed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check extra/rpl_tests/rpl_insert_delayed.test.
4018-rpl_mixed_insert_delayed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check extra/rpl_tests/rpl_insert_delayed.test.
4019-
4020-
4021-
4022-rpl_insert_ignore : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check mysql-test/extra/rpl_tests/rpl_insert_ignore.test.
4023-
4024-
4025-
4026-rpl_row_log : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check mysql-test/extra/rpl_tests/rpl_log.test.
4027-rpl_stm_log : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check mysql-test/extra/rpl_tests/rpl_log.test.
4028-rpl_row_log_innodb : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions. Check mysql-test/extra/rpl_tests/rpl_log.test.
4029-
4030-
4031-
4032-binlog_killed : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4033-binlog_killed_simulate : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4034-rpl_binlog_errors : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4035-rpl_dual_pos_advance : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4036-rpl_grant_plugin : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4037-rpl_stm_mix_show_relaylog_events : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4038-rpl_row_show_relaylog_events : Skipped because SHOW BINLOG/RELAY EVENTS produce different outputs and positions.
4039-
4040-
4041-
4042-rpl_cross_version : Disabled because the not_gtid_enabled.inc does not work.
4043-rpl_server_uuid : Disabled because the not_gtid_enabled.inc does not work.
4044+binlog.binlog_variables_relay_log_index : No need to test. Binary log off.
4045+binlog.binlog_variables_relay_log : No need to test. Binary log off.
4046+binlog.binlog_base64_flag : No need to test. Binary log off.
4047+binlog.binlog_hexdump : No need to test. Binary log off.
4048+binlog.binlog_old_versions : No need to test. Binary log off.
4049
4050=== added file 'Percona-Server/mysql-test/extra/binlog_tests/binlog_implicit_commit.inc'
4051--- Percona-Server/mysql-test/extra/binlog_tests/binlog_implicit_commit.inc 1970-01-01 00:00:00 +0000
4052+++ Percona-Server/mysql-test/extra/binlog_tests/binlog_implicit_commit.inc 2013-05-12 06:41:27 +0000
4053@@ -0,0 +1,60 @@
4054+# The purpose of this test is to test that setting autocommit does a
4055+# commit of outstanding transactions and nothing is left pending in
4056+# the transaction cache.
4057+
4058+# We need a transactional engine, so let's use InnoDB
4059+CREATE TABLE t1 (id INT) ENGINE = InnoDB;
4060+
4061+# Testing SET AUTOCOMMIT
4062+SET BINLOG_FORMAT = STATEMENT;
4063+
4064+let $cleanup = COMMIT;
4065+
4066+let $prepare = SET AUTOCOMMIT = 0;
4067+let $statement = SET AUTOCOMMIT = 1;
4068+source extra/binlog_tests/implicit.test;
4069+
4070+let $prepare = SET AUTOCOMMIT = 1;
4071+let $statement = SET AUTOCOMMIT = 1;
4072+source extra/binlog_tests/implicit.test;
4073+
4074+let $prepare = SET AUTOCOMMIT = 0;
4075+let $statement = SET AUTOCOMMIT = 0;
4076+source extra/binlog_tests/implicit.test;
4077+
4078+let $prepare = SET AUTOCOMMIT = 1;
4079+let $statement = SET AUTOCOMMIT = 0;
4080+source extra/binlog_tests/implicit.test;
4081+
4082+SET BINLOG_FORMAT = ROW;
4083+let $prepare = SET AUTOCOMMIT = 0;
4084+let $statement = SET AUTOCOMMIT = 1;
4085+source extra/binlog_tests/implicit.test;
4086+
4087+let $prepare = SET AUTOCOMMIT = 1;
4088+let $statement = SET AUTOCOMMIT = 1;
4089+source extra/binlog_tests/implicit.test;
4090+
4091+let $prepare = SET AUTOCOMMIT = 0;
4092+let $statement = SET AUTOCOMMIT = 0;
4093+source extra/binlog_tests/implicit.test;
4094+
4095+let $prepare = SET AUTOCOMMIT = 1;
4096+let $statement = SET AUTOCOMMIT = 0;
4097+source extra/binlog_tests/implicit.test;
4098+
4099+RESET MASTER;
4100+SET AUTOCOMMIT = 0;
4101+INSERT INTO t1 VALUES (1);
4102+source include/show_binlog_events.inc;
4103+LOCK TABLES t1 WRITE;
4104+source include/show_binlog_events.inc;
4105+INSERT INTO t1 VALUES (2);
4106+source include/show_binlog_events.inc;
4107+UNLOCK TABLES;
4108+source include/show_binlog_events.inc;
4109+COMMIT;
4110+source include/show_binlog_events.inc;
4111+
4112+# Cleaning up
4113+DROP TABLE t1;
4114
4115=== added file 'Percona-Server/mysql-test/extra/binlog_tests/binlog_innodb.inc'
4116--- Percona-Server/mysql-test/extra/binlog_tests/binlog_innodb.inc 1970-01-01 00:00:00 +0000
4117+++ Percona-Server/mysql-test/extra/binlog_tests/binlog_innodb.inc 2013-05-12 06:41:27 +0000
4118@@ -0,0 +1,171 @@
4119+
4120+SET BINLOG_FORMAT=MIXED;
4121+
4122+RESET MASTER;
4123+
4124+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB;
4125+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
4126+
4127+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
4128+BEGIN;
4129+# Should be logged as statement
4130+UPDATE t1 SET b = 2*a WHERE a > 1;
4131+COMMIT;
4132+
4133+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
4134+BEGIN;
4135+# Should be logged as rows
4136+UPDATE t1 SET b = a * a WHERE a > 3;
4137+COMMIT;
4138+
4139+# Check that errors are generated when trying to use READ COMMITTED
4140+# transaction isolation level in STATEMENT binlog mode.
4141+
4142+SET BINLOG_FORMAT=STATEMENT;
4143+
4144+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
4145+BEGIN;
4146+error ER_BINLOG_STMT_MODE_AND_ROW_ENGINE;
4147+UPDATE t1 SET b = 1*a WHERE a > 1;
4148+COMMIT;
4149+
4150+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
4151+BEGIN;
4152+error ER_BINLOG_STMT_MODE_AND_ROW_ENGINE;
4153+UPDATE t1 SET b = 2*a WHERE a > 2;
4154+COMMIT;
4155+
4156+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
4157+BEGIN;
4158+UPDATE t1 SET b = 3*a WHERE a > 3;
4159+COMMIT;
4160+
4161+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
4162+BEGIN;
4163+UPDATE t1 SET b = 4*a WHERE a > 4;
4164+COMMIT;
4165+
4166+SET BINLOG_FORMAT=MIXED;
4167+
4168+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
4169+BEGIN;
4170+UPDATE t1 SET b = 1*a WHERE a > 1;
4171+COMMIT;
4172+
4173+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
4174+BEGIN;
4175+UPDATE t1 SET b = 2*a WHERE a > 2;
4176+COMMIT;
4177+
4178+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
4179+BEGIN;
4180+UPDATE t1 SET b = 3*a WHERE a > 3;
4181+COMMIT;
4182+
4183+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
4184+BEGIN;
4185+UPDATE t1 SET b = 4*a WHERE a > 4;
4186+COMMIT;
4187+
4188+SET BINLOG_FORMAT=ROW;
4189+
4190+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
4191+BEGIN;
4192+UPDATE t1 SET b = 1*a WHERE a > 1;
4193+COMMIT;
4194+
4195+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
4196+BEGIN;
4197+UPDATE t1 SET b = 2*a WHERE a > 2;
4198+COMMIT;
4199+
4200+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
4201+BEGIN;
4202+UPDATE t1 SET b = 3*a WHERE a > 3;
4203+COMMIT;
4204+
4205+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
4206+BEGIN;
4207+UPDATE t1 SET b = 4*a WHERE a > 4;
4208+COMMIT;
4209+
4210+source include/show_binlog_events.inc;
4211+
4212+DROP TABLE t1;
4213+
4214+
4215+#
4216+# Let us test binlog_cache_use and binlog_cache_disk_use status vars.
4217+# Actually this test has nothing to do with innodb per se, it just requires
4218+# transactional table.
4219+#
4220+flush status;
4221+show status like "binlog_cache_use";
4222+show status like "binlog_cache_disk_use";
4223+
4224+create table t1 (a int) engine=innodb;
4225+
4226+# Now we are going to create transaction which is long enough so its
4227+# transaction binlog will be flushed to disk...
4228+let $1=2000;
4229+disable_query_log;
4230+begin;
4231+while ($1)
4232+{
4233+ eval insert into t1 values( $1 );
4234+ dec $1;
4235+}
4236+commit;
4237+enable_query_log;
4238+show status like "binlog_cache_use";
4239+show status like "binlog_cache_disk_use";
4240+
4241+# Transaction which should not be flushed to disk and so should not
4242+# increase binlog_cache_disk_use.
4243+begin;
4244+delete from t1;
4245+commit;
4246+show status like "binlog_cache_use";
4247+show status like "binlog_cache_disk_use";
4248+drop table t1;
4249+
4250+#
4251+# Bug#27716 multi-update did partially and has not binlogged
4252+#
4253+
4254+CREATE TABLE `t1` (
4255+ `a` int(11) NOT NULL auto_increment,
4256+ `b` int(11) default NULL,
4257+ PRIMARY KEY (`a`)
4258+) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
4259+
4260+CREATE TABLE `t2` (
4261+ `a` int(11) NOT NULL auto_increment,
4262+ `b` int(11) default NULL,
4263+ PRIMARY KEY (`a`)
4264+) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
4265+
4266+# A. testing multi_update::send_eof() execution branch
4267+insert into t1 values (1,1),(2,2);
4268+insert into t2 values (1,1),(4,4);
4269+reset master;
4270+--error ER_DUP_ENTRY
4271+UPDATE t2,t1 SET t2.a=t1.a+2;
4272+# check
4273+select * from t2 /* must be (3,1), (4,4) */;
4274+--echo # There must no UPDATE in binlog;
4275+source include/show_binlog_events.inc;
4276+
4277+# B. testing multi_update::send_error() execution branch
4278+delete from t1;
4279+delete from t2;
4280+insert into t1 values (1,2),(3,4),(4,4);
4281+insert into t2 values (1,2),(3,4),(4,4);
4282+reset master;
4283+--error ER_DUP_ENTRY
4284+UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
4285+--echo # There must be no UPDATE query event;
4286+source include/show_binlog_events.inc;
4287+
4288+# cleanup bug#27716
4289+drop table t1, t2;
4290
4291=== added file 'Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_row.inc'
4292--- Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_row.inc 1970-01-01 00:00:00 +0000
4293+++ Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_row.inc 2013-05-12 06:41:27 +0000
4294@@ -0,0 +1,484 @@
4295+--echo #
4296+--echo # Preparatory cleanup.
4297+--echo #
4298+--disable_warnings
4299+DROP TABLE IF EXISTS t1;
4300+--enable_warnings
4301+
4302+--echo #
4303+--echo # We need a fixed timestamp to avoid varying results.
4304+--echo #
4305+SET timestamp=1000000000;
4306+
4307+--echo #
4308+--echo # Delete all existing binary logs.
4309+--echo #
4310+RESET MASTER;
4311+
4312+
4313+CREATE TABLE t1 (c01 BIT);
4314+INSERT INTO t1 VALUES (0);
4315+INSERT INTO t1 VALUES (1);
4316+DROP TABLE t1;
4317+
4318+CREATE TABLE t1 (c01 BIT(7));
4319+INSERT INTO t1 VALUES (1);
4320+INSERT INTO t1 VALUES (2);
4321+INSERT INTO t1 VALUES (4);
4322+INSERT INTO t1 VALUES (8);
4323+INSERT INTO t1 VALUES (16);
4324+INSERT INTO t1 VALUES (32);
4325+INSERT INTO t1 VALUES (64);
4326+INSERT INTO t1 VALUES (127);
4327+DELETE FROM t1 WHERE c01=127;
4328+UPDATE t1 SET c01=15 WHERE c01=16;
4329+DROP TABLE t1;
4330+
4331+CREATE TABLE t1 (a BIT(20), b CHAR(2));
4332+INSERT INTO t1 VALUES (b'00010010010010001001', 'ab');
4333+DROP TABLE t1;
4334+
4335+CREATE TABLE t1 (c02 BIT(64));
4336+INSERT INTO t1 VALUES (1);
4337+INSERT INTO t1 VALUES (2);
4338+INSERT INTO t1 VALUES (128);
4339+INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111');
4340+DROP TABLE t1;
4341+
4342+
4343+CREATE TABLE t1 (c03 TINYINT);
4344+INSERT INTO t1 VALUES (1),(2),(3);
4345+INSERT INTO t1 VALUES (-128);
4346+UPDATE t1 SET c03=2 WHERE c03=1;
4347+DELETE FROM t1 WHERE c03=-128;
4348+DROP TABLE t1;
4349+
4350+CREATE TABLE t1 (c04 TINYINT UNSIGNED);
4351+INSERT INTO t1 VALUES (128), (255);
4352+UPDATE t1 SET c04=2 WHERE c04=1;
4353+DELETE FROM t1 WHERE c04=255;
4354+DROP TABLE t1;
4355+
4356+CREATE TABLE t1 (c06 BOOL);
4357+INSERT INTO t1 VALUES (TRUE);
4358+DELETE FROM t1 WHERE c06=TRUE;
4359+DROP TABLE t1;
4360+
4361+CREATE TABLE t1 (c07 SMALLINT);
4362+INSERT INTO t1 VALUES (1234);
4363+DELETE FROM t1 WHERE c07=1234;
4364+DROP TABLE t1;
4365+
4366+CREATE TABLE t1 (c08 SMALLINT UNSIGNED);
4367+INSERT INTO t1 VALUES (32768), (65535);
4368+UPDATE t1 SET c08=2 WHERE c08=32768;
4369+DELETE FROM t1 WHERE c08=65535;
4370+DROP TABLE t1;
4371+
4372+CREATE TABLE t1 (c10 MEDIUMINT);
4373+INSERT INTO t1 VALUES (12345);
4374+DELETE FROM t1 WHERE c10=12345;
4375+DROP TABLE t1;
4376+
4377+CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED);
4378+INSERT INTO t1 VALUES (8388608), (16777215);
4379+UPDATE t1 SET c11=2 WHERE c11=8388608;
4380+DELETE FROM t1 WHERE c11=16777215;
4381+DROP TABLE t1;
4382+
4383+CREATE TABLE t1 (c13 INT);
4384+INSERT INTO t1 VALUES (123456);
4385+DELETE FROM t1 WHERE c13=123456;
4386+DROP TABLE t1;
4387+
4388+CREATE TABLE t1 (c14 INT UNSIGNED);
4389+INSERT INTO t1 VALUES (2147483648), (4294967295);
4390+UPDATE t1 SET c14=2 WHERE c14=2147483648;
4391+DELETE FROM t1 WHERE c14=4294967295;
4392+DROP TABLE t1;
4393+
4394+CREATE TABLE t1 (c16 BIGINT);
4395+INSERT INTO t1 VALUES (1234567890);
4396+DELETE FROM t1 WHERE c16=1234567890;
4397+DROP TABLE t1;
4398+
4399+CREATE TABLE t1 (c17 BIGINT UNSIGNED);
4400+INSERT INTO t1 VALUES (9223372036854775808), (18446744073709551615);
4401+UPDATE t1 SET c17=2 WHERE c17=9223372036854775808;
4402+DELETE FROM t1 WHERE c17=18446744073709551615;
4403+DROP TABLE t1;
4404+
4405+CREATE TABLE t1 (c19 FLOAT);
4406+INSERT INTO t1 VALUES (123.2234);
4407+DELETE FROM t1 WHERE c19>123;
4408+DROP TABLE t1;
4409+
4410+CREATE TABLE t1 (c22 DOUBLE);
4411+INSERT INTO t1 VALUES (123434.22344545);
4412+DELETE FROM t1 WHERE c22>123434;
4413+DROP TABLE t1;
4414+
4415+#
4416+
4417+CREATE TABLE t1 (c25 DECIMAL(10,5));
4418+INSERT INTO t1 VALUES (124.45);
4419+INSERT INTO t1 VALUES (-543.21);
4420+DELETE FROM t1 WHERE c25=124.45;
4421+DROP TABLE t1;
4422+
4423+#
4424+
4425+CREATE TABLE t1 (c28 DATE);
4426+INSERT INTO t1 VALUES ('2001-02-03');
4427+DELETE FROM t1 WHERE c28='2001-02-03';
4428+DROP TABLE t1;
4429+
4430+CREATE TABLE t1 (c29 DATETIME);
4431+INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
4432+DELETE FROM t1 WHERE c29='2001-02-03 10:20:30';
4433+DROP TABLE t1;
4434+
4435+CREATE TABLE t1 (c30 TIMESTAMP);
4436+INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
4437+DELETE FROM t1 WHERE c30='2001-02-03 10:20:30';
4438+DROP TABLE t1;
4439+
4440+CREATE TABLE t1 (c31 TIME);
4441+INSERT INTO t1 VALUES ('11:22:33');
4442+DELETE FROM t1 WHERE c31='11:22:33';
4443+DROP TABLE t1;
4444+
4445+CREATE TABLE t1 (c32 YEAR);
4446+INSERT INTO t1 VALUES ('2001');
4447+DELETE FROM t1 WHERE c32=2001;
4448+DROP TABLE t1;
4449+
4450+#
4451+
4452+CREATE TABLE t1 (c33 CHAR);
4453+INSERT INTO t1 VALUES ('a');
4454+DELETE FROM t1 WHERE c33='a';
4455+DROP TABLE t1;
4456+
4457+CREATE TABLE t1 (c34 CHAR(0));
4458+INSERT INTO t1 VALUES ('');
4459+DELETE FROM t1 WHERE c34='';
4460+DROP TABLE t1;
4461+
4462+CREATE TABLE t1 (c35 CHAR(1));
4463+INSERT INTO t1 VALUES ('b');
4464+DELETE FROM t1 WHERE c35='b';
4465+DROP TABLE t1;
4466+
4467+CREATE TABLE t1 (c36 CHAR(255));
4468+INSERT INTO t1 VALUES (repeat('c',255));
4469+DELETE FROM t1 WHERE c36>'c';
4470+DROP TABLE t1;
4471+
4472+#
4473+
4474+CREATE TABLE t1 (c37 NATIONAL CHAR);
4475+INSERT INTO t1 VALUES ('a');
4476+DELETE FROM t1 WHERE c37='a';
4477+DROP TABLE t1;
4478+
4479+CREATE TABLE t1 (c38 NATIONAL CHAR(0));
4480+INSERT INTO t1 VALUES ('');
4481+DELETE FROM t1 WHERE c38='';
4482+DROP TABLE t1;
4483+
4484+CREATE TABLE t1 (c39 NATIONAL CHAR(1));
4485+INSERT INTO t1 VALUES ('a');
4486+DELETE FROM t1 WHERE c39='a';
4487+DROP TABLE t1;
4488+
4489+CREATE TABLE t1 (c40 NATIONAL CHAR(255));
4490+INSERT INTO t1 VALUES (repeat('a', 255));
4491+INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255));
4492+DELETE FROM t1 WHERE c40>'a';
4493+DROP TABLE t1;
4494+
4495+#
4496+
4497+CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2);
4498+INSERT INTO t1 VALUES ('a');
4499+DELETE FROM t1 WHERE c41='a';
4500+DROP TABLE t1;
4501+
4502+CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2);
4503+INSERT INTO t1 VALUES ('');
4504+DELETE FROM t1 WHERE c42='';
4505+DROP TABLE t1;
4506+
4507+CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2);
4508+INSERT INTO t1 VALUES ('a');
4509+DELETE FROM t1 WHERE c43='a';
4510+DROP TABLE t1;
4511+
4512+CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2);
4513+INSERT INTO t1 VALUES (repeat('a', 255));
4514+INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255));
4515+DELETE FROM t1 WHERE c44>'a';
4516+DROP TABLE t1;
4517+
4518+#
4519+
4520+CREATE TABLE t1 (c45 VARCHAR(0));
4521+INSERT INTO t1 VALUES ('');
4522+DELETE FROM t1 WHERE c45='';
4523+DROP TABLE t1;
4524+
4525+CREATE TABLE t1 (c46 VARCHAR(1));
4526+INSERT INTO t1 VALUES ('a');
4527+DELETE FROM t1 WHERE c46='a';
4528+DROP TABLE t1;
4529+
4530+CREATE TABLE t1 (c47 VARCHAR(255));
4531+INSERT INTO t1 VALUES (repeat('a',255));
4532+DELETE FROM t1 WHERE c47>'a';
4533+DROP TABLE t1;
4534+
4535+CREATE TABLE t1 (c48 VARCHAR(261));
4536+INSERT INTO t1 VALUES (repeat('a',261));
4537+DELETE FROM t1 WHERE c48>'a';
4538+DROP TABLE t1;
4539+
4540+#
4541+
4542+CREATE TABLE t1 (c49 NATIONAL VARCHAR(0));
4543+INSERT INTO t1 VALUES ('');
4544+DELETE FROM t1 WHERE c49='';
4545+DROP TABLE t1;
4546+
4547+CREATE TABLE t1 (c50 NATIONAL VARCHAR(1));
4548+INSERT INTO t1 VALUES ('a');
4549+DELETE FROM t1 WHERE c50='a';
4550+DROP TABLE t1;
4551+
4552+CREATE TABLE t1 (c51 NATIONAL VARCHAR(255));
4553+INSERT INTO t1 VALUES (repeat('a',255));
4554+INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255));
4555+DELETE FROM t1 WHERE c51>'a';
4556+DROP TABLE t1;
4557+
4558+CREATE TABLE t1 (c52 NATIONAL VARCHAR(261));
4559+INSERT INTO t1 VALUES (repeat('a',261));
4560+INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 261));
4561+DELETE FROM t1 WHERE c52>'a';
4562+DROP TABLE t1;
4563+
4564+#
4565+
4566+CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2);
4567+INSERT INTO t1 VALUES ('');
4568+DELETE FROM t1 WHERE c53='';
4569+DROP TABLE t1;
4570+
4571+CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2);
4572+INSERT INTO t1 VALUES ('a');
4573+DELETE FROM t1 WHERE c54='a';
4574+DROP TABLE t1;
4575+
4576+CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2);
4577+INSERT INTO t1 VALUES (repeat('ab', 127));
4578+DELETE FROM t1 WHERE c55>'a';
4579+DROP TABLE t1;
4580+
4581+CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2);
4582+INSERT INTO t1 VALUES (repeat('ab', 130));
4583+DELETE FROM t1 WHERE c56>'a';
4584+DROP TABLE t1;
4585+
4586+#
4587+
4588+CREATE TABLE t1 (c57 BINARY);
4589+INSERT INTO t1 VALUES (0x00);
4590+INSERT INTO t1 VALUES (0x02);
4591+INSERT INTO t1 VALUES ('a');
4592+DELETE FROM t1 WHERE c57='a';
4593+DROP TABLE t1;
4594+
4595+CREATE TABLE t1 (c58 BINARY(0));
4596+INSERT INTO t1 VALUES ('');
4597+DELETE FROM t1 WHERE c58='';
4598+DROP TABLE t1;
4599+
4600+CREATE TABLE t1 (c59 BINARY(1));
4601+INSERT INTO t1 VALUES (0x00);
4602+INSERT INTO t1 VALUES (0x02);
4603+INSERT INTO t1 VALUES ('a');
4604+DELETE FROM t1 WHERE c59='a';
4605+DROP TABLE t1;
4606+
4607+CREATE TABLE t1 (c60 BINARY(255));
4608+INSERT INTO t1 VALUES (0x00);
4609+INSERT INTO t1 VALUES (0x02);
4610+INSERT INTO t1 VALUES (repeat('a\0',120));
4611+DELETE FROM t1 WHERE c60<0x02;
4612+DROP TABLE t1;
4613+
4614+#
4615+
4616+CREATE TABLE t1 (c61 VARBINARY(0));
4617+INSERT INTO t1 VALUES ('');
4618+DELETE FROM t1 WHERE c61='';
4619+DROP TABLE t1;
4620+
4621+CREATE TABLE t1 (c62 VARBINARY(1));
4622+INSERT INTO t1 VALUES (0x00);
4623+INSERT INTO t1 VALUES (0x02);
4624+INSERT INTO t1 VALUES ('a');
4625+DELETE FROM t1 WHERE c62=0x02;
4626+DROP TABLE t1;
4627+
4628+CREATE TABLE t1 (c63 VARBINARY(255));
4629+INSERT INTO t1 VALUES (0x00);
4630+INSERT INTO t1 VALUES (0x02);
4631+INSERT INTO t1 VALUES (repeat('a\0',120));
4632+DELETE FROM t1 WHERE c63=0x02;
4633+DROP TABLE t1;
4634+
4635+#
4636+
4637+CREATE TABLE t1 (c65 TINYBLOB);
4638+INSERT INTO t1 VALUES ('tinyblob1');
4639+DELETE FROM t1 WHERE c65='tinyblob1';
4640+DROP TABLE t1;
4641+
4642+CREATE TABLE t1 (c68 BLOB);
4643+INSERT INTO t1 VALUES ('blob1');
4644+DELETE FROM t1 WHERE c68='blob1';
4645+DROP TABLE t1;
4646+
4647+CREATE TABLE t1 (c71 MEDIUMBLOB);
4648+INSERT INTO t1 VALUES ('mediumblob1');
4649+DELETE FROM t1 WHERE c71='mediumblob1';
4650+DROP TABLE t1;
4651+
4652+CREATE TABLE t1 (c74 LONGBLOB);
4653+INSERT INTO t1 VALUES ('longblob1');
4654+DELETE FROM t1 WHERE c74='longblob1';
4655+DROP TABLE t1;
4656+
4657+CREATE TABLE t1 (c66 TINYTEXT);
4658+INSERT INTO t1 VALUES ('tinytext1');
4659+DELETE FROM t1 WHERE c66='tinytext1';
4660+DROP TABLE t1;
4661+
4662+CREATE TABLE t1 (c69 TEXT);
4663+INSERT INTO t1 VALUES ('text1');
4664+DELETE FROM t1 WHERE c69='text1';
4665+DROP TABLE t1;
4666+
4667+CREATE TABLE t1 (c72 MEDIUMTEXT);
4668+INSERT INTO t1 VALUES ('mediumtext1');
4669+DELETE FROM t1 WHERE c72='mediumtext1';
4670+DROP TABLE t1;
4671+
4672+CREATE TABLE t1 (c75 LONGTEXT);
4673+INSERT INTO t1 VALUES ('longtext1');
4674+DELETE FROM t1 WHERE c75='longtext1';
4675+DROP TABLE t1;
4676+
4677+#
4678+
4679+CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2);
4680+INSERT INTO t1 VALUES ('tinytext1');
4681+DELETE FROM t1 WHERE c67='tinytext1';
4682+DROP TABLE t1;
4683+
4684+CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2);
4685+INSERT INTO t1 VALUES ('text1');
4686+DELETE FROM t1 WHERE c70='text1';
4687+DROP TABLE t1;
4688+
4689+CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2);
4690+INSERT INTO t1 VALUES ('mediumtext1');
4691+DELETE FROM t1 WHERE c73='mediumtext1';
4692+DROP TABLE t1;
4693+
4694+CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2);
4695+INSERT INTO t1 VALUES ('longtext1');
4696+DELETE FROM t1 WHERE c76='longtext1';
4697+DROP TABLE t1;
4698+
4699+#
4700+
4701+CREATE TABLE t1 (c77 ENUM('a','b','c'));
4702+INSERT INTO t1 VALUES ('b');
4703+DELETE FROM t1 WHERE c77='b';
4704+DROP TABLE t1;
4705+
4706+#
4707+
4708+CREATE TABLE t1 (c78 SET('a','b','c','d','e','f'));
4709+INSERT INTO t1 VALUES ('a,b');
4710+INSERT INTO t1 VALUES ('a,c');
4711+INSERT INTO t1 VALUES ('b,c');
4712+INSERT INTO t1 VALUES ('a,b,c');
4713+INSERT INTO t1 VALUES ('a,b,c,d');
4714+INSERT INTO t1 VALUES ('a,b,c,d,e');
4715+INSERT INTO t1 VALUES ('a,b,c,d,e,f');
4716+DELETE FROM t1 WHERE c78='a,b';
4717+DROP TABLE t1;
4718+
4719+#
4720+# Start of FSP-enabled data types
4721+#
4722+SET time_zone='+00:00';
4723+SET timestamp=UNIX_TIMESTAMP('2002-02-02 20:20:20') + 0.123456;
4724+SET @t='00:00:01.123456';
4725+CREATE TABLE t1 (
4726+ c79 TIME(6), c80 TIME(5), c81 TIME(4),
4727+ c82 TIME(3), c83 TIME(2), c84 TIME(1)
4728+);
4729+INSERT INTO t1 VALUES (@t, @t, @t, @t, @t, @t);
4730+INSERT INTO t1 VALUES (NOW(), NOW(), NOW(), NOW(), NOW(), NOW());
4731+INSERT INTO t1 VALUES (NOW(6), NOW(6), NOW(6), NOW(6), NOW(6), NOW(6));
4732+DROP TABLE t1;
4733+
4734+SET @ts='2001-01-01 00:00:00.123456';
4735+CREATE TABLE t1 (
4736+ c85 DATETIME(6), c86 DATETIME(5), c87 DATETIME(4),
4737+ c88 DATETIME(3), c89 DATETIME(2), c90 DATETIME(1)
4738+);
4739+INSERT INTO t1 VALUES (@ts, @ts, @ts, @ts, @ts, @ts);
4740+INSERT INTO t1 VALUES (NOW(), NOW(), NOW(), NOW(), NOW(), NOW());
4741+INSERT INTO t1 VALUES (NOW(6), NOW(6), NOW(6), NOW(6), NOW(6), NOW(6));
4742+DROP TABLE t1;
4743+
4744+SET @ts='2001-01-01 00:00:00.123456';
4745+CREATE TABLE t1 (
4746+ c85 TIMESTAMP(6), c86 TIMESTAMP(5), c87 TIMESTAMP(4),
4747+ c88 TIMESTAMP(3), c89 TIMESTAMP(2), c90 TIMESTAMP(1)
4748+);
4749+INSERT INTO t1 VALUES (@ts, @ts, @ts, @ts, @ts, @ts);
4750+INSERT INTO t1 VALUES (NOW(), NOW(), NOW(), NOW(), NOW(), NOW());
4751+INSERT INTO t1 VALUES (NOW(6), NOW(6), NOW(6), NOW(6), NOW(6), NOW(6));
4752+DROP TABLE t1;
4753+
4754+SET timestamp=1000000000;
4755+SET time_zone=default;
4756+#
4757+# End of FSP-enabled data types
4758+#
4759+
4760+
4761+#
4762+# Check multi-table update
4763+#
4764+CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0);
4765+CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0);
4766+INSERT INTO t1 SET a=1;
4767+INSERT INTO t1 SET b=1;
4768+INSERT INTO t2 SET a=1;
4769+INSERT INTO t2 SET b=1;
4770+UPDATE t1, t2 SET t1.a=10, t2.a=20;
4771+DROP TABLE t1,t2;
4772+
4773+flush logs;
4774+
4775+let $MYSQLD_DATADIR= `select @@datadir`;
4776+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
4777+--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 #/ /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 #/
4778+--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
4779
4780=== added file 'Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_start_stop.inc'
4781--- Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_start_stop.inc 1970-01-01 00:00:00 +0000
4782+++ Percona-Server/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_start_stop.inc 2013-05-12 06:41:27 +0000
4783@@ -0,0 +1,91 @@
4784+# ==== Purpose ====
4785+#
4786+# Test the --[start|stop]-[position|datetime] options to mysqlbinlog,
4787+# with/without --read-from-remote-server, with one or two binary logs
4788+# as input.
4789+#
4790+# ==== Implementation ====
4791+
4792+# TODO: Need to look at making row based version once new binlog client is complete.
4793+
4794+CREATE TABLE t1 (a INT);
4795+RESET MASTER;
4796+
4797+# We need to set fixed timestamps in this test.
4798+# Use a date in the future to keep a growing timestamp along the
4799+# binlog (including the Start_log_event). This test will work
4800+# unchanged everywhere, because mysql-test-run has fixed TZ, which it
4801+# exports (so mysqlbinlog has same fixed TZ).
4802+--let $datetime_1= 2031-01-01 12:00:00
4803+eval SET TIMESTAMP= UNIX_TIMESTAMP("$datetime_1");
4804+INSERT INTO t1 VALUES(1);
4805+--let $pos_1= query_get_value(SHOW MASTER STATUS, Position, 1)
4806+
4807+--let $datetime_2= 2032-01-01 12:00:00
4808+eval SET TIMESTAMP= UNIX_TIMESTAMP("$datetime_2");
4809+INSERT INTO t1 VALUES(2);
4810+--let $pos_2= query_get_value(SHOW MASTER STATUS, Position, 1)
4811+
4812+eval SET TIMESTAMP= UNIX_TIMESTAMP("2033-01-01 12:00:00");
4813+INSERT INTO t1 VALUES(3);
4814+
4815+--let $file_1= query_get_value(SHOW MASTER STATUS, File, 1)
4816+FLUSH LOGS;
4817+
4818+SET TIMESTAMP= UNIX_TIMESTAMP("2034-01-01 12:00:00");
4819+INSERT INTO t1 VALUES(4);
4820+--let $pos_3= query_get_value(SHOW MASTER STATUS, Position, 1)
4821+--let $datetime_3= 2035-01-01 12:00:00
4822+eval SET TIMESTAMP= UNIX_TIMESTAMP("$datetime_3");
4823+INSERT INTO t1 VALUES(5);
4824+
4825+--let $file_2= query_get_value(SHOW MASTER STATUS, File, 1)
4826+FLUSH LOGS;
4827+
4828+--let $MYSQLD_DATADIR= `select @@datadir`
4829+
4830+--echo
4831+--echo ==== Local ====
4832+
4833+--let $start_position= $pos_1
4834+--let $start_datetime= $datetime_1
4835+
4836+--let $stop_position= $pos_2
4837+--let $stop_datetime= $datetime_2
4838+--let $extra_options= $MYSQLD_DATADIR/$file_1
4839+--source extra/binlog_tests/mysqlbinlog_start_stop_1.inc
4840+
4841+--echo
4842+--echo ==== Local with 2 binlogs on command line ====
4843+# This is to verify that some options apply only to first, or last binlog
4844+
4845+--let $stop_position= $pos_3
4846+--let $stop_datetime= $datetime_3
4847+--let $extra_options= $MYSQLD_DATADIR/$file_1 $MYSQLD_DATADIR/$file_2
4848+--source extra/binlog_tests/mysqlbinlog_start_stop_1.inc
4849+
4850+--echo
4851+--echo ==== Remote ====
4852+
4853+--let $stop_position= $pos_2
4854+--let $stop_datetime= $datetime_2
4855+--let $extra_options= --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT $file_1
4856+--source extra/binlog_tests/mysqlbinlog_start_stop_1.inc
4857+
4858+--echo
4859+--echo ==== Remote with 2 binlogs on command line ====
4860+
4861+--let $stop_position= $pos_3
4862+--let $stop_datetime= $datetime_3
4863+--let $extra_options= --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT $file_1 $file_2
4864+--source extra/binlog_tests/mysqlbinlog_start_stop_1.inc
4865+
4866+# ==== to-last-log ====
4867+
4868+--let $extra_options= --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT $file_1
4869+--let $option= --to-last-log
4870+--source extra/binlog_tests/mysqlbinlog_start_stop_2.inc
4871+
4872+--echo
4873+--echo ==== clean up ====
4874+DROP TABLE t1;
4875
4876=== modified file 'Percona-Server/mysql-test/extra/binlog_tests/blackhole.test'
4877--- Percona-Server/mysql-test/extra/binlog_tests/blackhole.test 2010-11-17 10:16:13 +0000
4878+++ Percona-Server/mysql-test/extra/binlog_tests/blackhole.test 2013-05-12 06:41:27 +0000
4879@@ -199,7 +199,7 @@
4880 insert into t1 values (NULL), (33), (NULL);
4881 set insert_id= 5;
4882 insert into t1 values (55), (NULL);
4883-source include/show_binlog_events2.inc;
4884+source include/show_binlog_events.inc;
4885
4886 # cleanup
4887 drop table t1;
4888
4889=== modified file 'Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc'
4890--- Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc 2013-01-18 04:53:12 +0000
4891+++ Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc 2013-05-12 06:41:27 +0000
4892@@ -1809,6 +1809,10 @@
4893 ('2008-03-08','VARCHAR-03-08',38),
4894 ('2008-03-09','VARCHAR-03-09',39);
4895
4896+ANALYZE TABLE t1;
4897+ANALYZE TABLE t2;
4898+ANALYZE TABLE t3;
4899+
4900 --echo #
4901 --echo # Multi-table update.
4902 --echo #
4903
4904=== modified file 'Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc'
4905--- Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc 2012-01-06 20:00:48 +0000
4906+++ Percona-Server/mysql-test/extra/binlog_tests/mysqlbinlog_start_stop_2.inc 2013-05-12 06:41:27 +0000
4907@@ -30,5 +30,5 @@
4908 --echo ---- $option_text ----
4909
4910 # Print output
4911---replace_regex /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-F\-]{36})\:[0-9]+\-[0-9]+/UUID:#-#/
4912+--replace_regex /SET @@SESSION.GTID_NEXT= '.*'/SET @@SESSION.GTID_NEXT= 'GTID';/ /([0-9A-Fa-f\-]{36})\:[0-9]+\-[0-9]+/UUID:#-#/
4913 --exec $MYSQL_BINLOG --short-form $option $extra_options
4914
4915=== modified file 'Percona-Server/mysql-test/extra/rpl_tests/delayed_slave_wait_on_query.inc'
4916--- Percona-Server/mysql-test/extra/rpl_tests/delayed_slave_wait_on_query.inc 2012-02-17 19:46:49 +0000
4917+++ Percona-Server/mysql-test/extra/rpl_tests/delayed_slave_wait_on_query.inc 2013-05-12 06:41:27 +0000
4918@@ -31,11 +31,11 @@
4919
4920 --let $assert_text= Query $query_number should not be executed
4921 --let $assert_cond= MAX(b) < $query_number FROM t1
4922---source include/rpl_assert.inc
4923+--source include/assert.inc
4924
4925 --let $assert_text= Status should be 'Waiting until MASTER_DELAY...'
4926 --let $assert_cond= "[SHOW SLAVE STATUS, Slave_SQL_Running_State, 1]" LIKE "Waiting until MASTER_DELAY%"
4927---source include/rpl_assert.inc
4928+--source include/assert.inc
4929
4930 --echo # sleep 1*T
4931 --sleep $time1
4932@@ -45,11 +45,11 @@
4933
4934 --let $assert_text= Query $query_number should be executed
4935 --let $assert_cond= MAX(b) = $query_number FROM t1
4936---source include/rpl_assert.inc
4937+--source include/assert.inc
4938
4939 --let $assert_text= Status should be 'Has read all relay log...'
4940 --let $assert_cond= "[SHOW SLAVE STATUS, Slave_SQL_Running_State, 1]" LIKE "Slave has read all relay log%"
4941---source include/rpl_assert.inc
4942+--source include/assert.inc
4943
4944
4945 --source include/check_slave_is_running.inc
4946
4947=== modified file 'Percona-Server/mysql-test/extra/rpl_tests/rpl_deadlock.test'
4948--- Percona-Server/mysql-test/extra/rpl_tests/rpl_deadlock.test 2012-07-26 16:05:43 +0000
4949+++ Percona-Server/mysql-test/extra/rpl_tests/rpl_deadlock.test 2013-05-12 06:41:27 +0000
4950@@ -25,7 +25,8 @@
4951 SHOW CREATE TABLE t1;
4952 SHOW CREATE TABLE t2;
4953 SHOW CREATE TABLE t3;
4954-SHOW VARIABLES LIKE 'slave_transaction_retries';
4955+SELECT @@GLOBAL.slave_transaction_retries;
4956+SELECT @@GLOBAL.innodb_lock_wait_timeout;
4957 --source include/stop_slave.inc
4958
4959 connection master;
4960@@ -50,7 +51,7 @@
4961 # Save variable 'Slave_retried_transactions' before deadlock
4962 let $slave_retried_transactions= query_get_value(SHOW GLOBAL STATUS LIKE 'Slave_retried_transactions', Value, 1);
4963 --connection slave2
4964-START SLAVE;
4965+--source include/start_slave.inc
4966 --connection slave
4967 # Wait until SQL thread blocked: variable 'Slave_retried_transactions' will incremented
4968 let $status_var= Slave_retried_transactions;
4969@@ -60,13 +61,12 @@
4970 --source include/wait_for_status_var.inc
4971 SELECT COUNT(*) FROM t2;
4972 COMMIT;
4973+source include/check_slave_is_running.inc;
4974 sync_with_master;
4975
4976 # Check the data
4977 SELECT * FROM t1;
4978 SELECT * FROM t3;
4979-# Check that no error is reported
4980-source include/check_slave_is_running.inc;
4981 --echo
4982
4983 # 2) Test lock wait timeout
4984@@ -181,7 +181,9 @@
4985
4986 let $slave_sql_errno= 1205; # ER_LOCK_TIMEOUT
4987 let $show_slave_sql_error= 0;
4988+let $rpl_debug= 1;
4989 source include/wait_for_slave_sql_error.inc;
4990+let $rpl_debug= 0;
4991
4992 rollback;
4993
4994
4995=== modified file 'Percona-Server/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc'
4996--- Percona-Server/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc 2013-01-18 04:53:12 +0000
4997+++ Percona-Server/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc 2013-05-12 06:41:27 +0000
4998@@ -118,7 +118,10 @@
4999 --echo ** fixing gaps **
5000 --let $rpl_server_number= 2
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches