Merge lp:~vkolesnikov/pbxt/pbxt-mysql-5.5 into lp:pbxt

Proposed by Vladimir Kolesnikov
Status: Work in progress
Proposed branch: lp:~vkolesnikov/pbxt/pbxt-mysql-5.5
Merge into: lp:pbxt
Diff against target: 541219 lines (+532934/-124)
1538 files modified
CMakeLists.txt (+154/-83)
config.h.in (+3/-0)
get_mysql_var.sh (+21/-0)
src/backup_xt.cc (+6/-0)
src/datadic_xt.cc (+4/-0)
src/datalog_xt.cc (+6/-0)
src/discover_xt.cc (+483/-1)
src/discover_xt.h (+3/-0)
src/ha_pbxt.cc (+50/-9)
src/ha_pbxt.h (+10/-1)
src/ha_xtsys.h (+5/-0)
src/index_xt.cc (+7/-0)
src/myxt_xt.cc (+25/-1)
src/pbms_enabled.cc (+8/-3)
src/pbms_enabled.h (+6/-0)
src/restart_xt.cc (+0/-4)
src/systab_xt.cc (+5/-0)
src/table_xt.cc (+12/-6)
src/thread_xt.cc (+16/-0)
src/xactlog_xt.cc (+1/-1)
src/xt_config.h (+7/-1)
test/mysql-test/pbxt-test-run.pl (+64/-14)
test/mysql-test/test_data/505/extra/binlog_tests/binlog.test (+75/-0)
test/mysql-test/test_data/505/extra/binlog_tests/blackhole.test (+151/-0)
test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932.test (+415/-0)
test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932_binlog.test (+37/-0)
test/mysql-test/test_data/505/extra/binlog_tests/ctype_ucs_binlog.test (+23/-0)
test/mysql-test/test_data/505/extra/binlog_tests/drop_temp_table.test (+32/-0)
test/mysql-test/test_data/505/extra/binlog_tests/innodb_stat.test (+49/-0)
test/mysql-test/test_data/505/extra/binlog_tests/insert_select-binlog.test (+41/-0)
test/mysql-test/test_data/505/extra/binlog_tests/mix_innodb_myisam_binlog.test (+349/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_EE_err.test (+29/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_auto_increment.test (+150/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_commit_after_flush.test (+22/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_ddl.test (+507/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_deadlock.test (+131/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_delete_no_where.test (+19/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_failed_optimize.test (+24/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_flsh_tbls.test (+59/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_foreign_key.test (+34/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id.test (+488/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id_pk.test (+88/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_ignore.test (+71/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_loaddata.test (+159/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_log.test (+151/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_max_relay_size.test (+140/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_query.test (+30/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update.test (+30/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update2.test (+62/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update3.test (+222/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_ndb_2multi_eng.test (+346/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_partition.test (+262/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_relayrotate.test (+75/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_reset_slave.test (+51/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_001.test (+84/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_UUID.test (+83/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_blob.test (+191/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_charset.test (+183/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_delayed_ins.test (+25/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_func003.test (+96/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_sp002.test (+239/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_sp003.test (+75/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_sp006.test (+91/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_sp007.test (+70/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_row_tabledefs.test (+240/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_stm_000001.test (+132/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_stm_EE_err2.test (+30/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_stm_charset.test (+178/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_sv_relay_space.test (+35/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_trig004.test (+53/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_truncate.test (+35/-0)
test/mysql-test/test_data/505/extra/rpl_tests/rpl_truncate_helper.test (+42/-0)
test/mysql-test/test_data/505/include/add_anonymous_users.inc (+7/-0)
test/mysql-test/test_data/505/include/assert.inc (+175/-0)
test/mysql-test/test_data/505/include/begin_include_file.inc (+83/-0)
test/mysql-test/test_data/505/include/big_test.inc (+4/-0)
test/mysql-test/test_data/505/include/check_slave_no_error.inc (+31/-0)
test/mysql-test/test_data/505/include/check_slave_param.inc (+36/-0)
test/mysql-test/test_data/505/include/check_var_limit.inc (+9/-0)
test/mysql-test/test_data/505/include/common-tests.inc (+1835/-0)
test/mysql-test/test_data/505/include/count_sessions.inc (+21/-0)
test/mysql-test/test_data/505/include/ctype_common.inc (+58/-0)
test/mysql-test/test_data/505/include/ctype_filesort.inc (+15/-0)
test/mysql-test/test_data/505/include/ctype_innodb_like.inc (+21/-0)
test/mysql-test/test_data/505/include/ctype_like_escape.inc (+18/-0)
test/mysql-test/test_data/505/include/delete_anonymous_users.inc (+5/-0)
test/mysql-test/test_data/505/include/end_include_file.inc (+79/-0)
test/mysql-test/test_data/505/include/endspace.inc (+7/-0)
test/mysql-test/test_data/505/include/engine_not_pbxt.inc (+4/-0)
test/mysql-test/test_data/505/include/federated.inc (+22/-0)
test/mysql-test/test_data/505/include/federated_cleanup.inc (+11/-0)
test/mysql-test/test_data/505/include/force_restart_if_skipped.inc (+17/-0)
test/mysql-test/test_data/505/include/get_binlog_dump_thread_id.inc (+9/-0)
test/mysql-test/test_data/505/include/gis_generic.inc (+181/-0)
test/mysql-test/test_data/505/include/have_archive.inc (+4/-0)
test/mysql-test/test_data/505/include/have_big5.inc (+4/-0)
test/mysql-test/test_data/505/include/have_binlog_format_mixed.inc (+4/-0)
test/mysql-test/test_data/505/include/have_binlog_format_mixed_or_row.inc (+5/-0)
test/mysql-test/test_data/505/include/have_binlog_format_mixed_or_statement.inc (+5/-0)
test/mysql-test/test_data/505/include/have_binlog_format_row.inc (+4/-0)
test/mysql-test/test_data/505/include/have_binlog_format_statement.inc (+4/-0)
test/mysql-test/test_data/505/include/have_blackhole.inc (+4/-0)
test/mysql-test/test_data/505/include/have_case_sensitive_file_system.inc (+4/-0)
test/mysql-test/test_data/505/include/have_compress.inc (+4/-0)
test/mysql-test/test_data/505/include/have_cp1250_ch.inc (+4/-0)
test/mysql-test/test_data/505/include/have_cp932.inc (+4/-0)
test/mysql-test/test_data/505/include/have_crypt.inc (+4/-0)
test/mysql-test/test_data/505/include/have_csv.inc (+4/-0)
test/mysql-test/test_data/505/include/have_debug.inc (+4/-0)
test/mysql-test/test_data/505/include/have_eucjpms.inc (+4/-0)
test/mysql-test/test_data/505/include/have_euckr.inc (+4/-0)
test/mysql-test/test_data/505/include/have_exampledb.inc (+4/-0)
test/mysql-test/test_data/505/include/have_federated_db.inc (+4/-0)
test/mysql-test/test_data/505/include/have_gb2312.inc (+4/-0)
test/mysql-test/test_data/505/include/have_gbk.inc (+4/-0)
test/mysql-test/test_data/505/include/have_geometry.inc (+4/-0)
test/mysql-test/test_data/505/include/have_innodb.inc (+4/-0)
test/mysql-test/test_data/505/include/have_latin2_ch.inc (+4/-0)
test/mysql-test/test_data/505/include/have_log_bin.inc (+4/-0)
test/mysql-test/test_data/505/include/have_lowercase0.inc (+4/-0)
test/mysql-test/test_data/505/include/have_multi_ndb.inc (+32/-0)
test/mysql-test/test_data/505/include/have_ndb.inc (+9/-0)
test/mysql-test/test_data/505/include/have_ndb_extra.inc (+2/-0)
test/mysql-test/test_data/505/include/have_ndbapi_examples.inc (+4/-0)
test/mysql-test/test_data/505/include/have_openssl.inc (+4/-0)
test/mysql-test/test_data/505/include/have_outfile.inc (+5/-0)
test/mysql-test/test_data/505/include/have_partition.inc (+4/-0)
test/mysql-test/test_data/505/include/have_pbxt.inc (+4/-0)
test/mysql-test/test_data/505/include/have_plugin_auth.inc (+5/-0)
test/mysql-test/test_data/505/include/have_query_cache.inc (+7/-0)
test/mysql-test/test_data/505/include/have_row_based.inc (+4/-0)
test/mysql-test/test_data/505/include/have_sjis.inc (+4/-0)
test/mysql-test/test_data/505/include/have_tis620.inc (+4/-0)
test/mysql-test/test_data/505/include/have_ucs2.inc (+4/-0)
test/mysql-test/test_data/505/include/have_udf.inc (+16/-0)
test/mysql-test/test_data/505/include/have_ujis.inc (+4/-0)
test/mysql-test/test_data/505/include/im_check_env.inc (+26/-0)
test/mysql-test/test_data/505/include/index_merge2.inc (+345/-0)
test/mysql-test/test_data/505/include/index_merge_2sweeps.inc (+65/-0)
test/mysql-test/test_data/505/include/index_merge_ror_cpk.inc (+128/-0)
test/mysql-test/test_data/505/include/innodb_rollback_on_timeout.inc (+37/-0)
test/mysql-test/test_data/505/include/is_debug_build.inc (+4/-0)
test/mysql-test/test_data/505/include/master-slave.inc (+63/-0)
test/mysql-test/test_data/505/include/mix1.inc (+551/-0)
test/mysql-test/test_data/505/include/mysqltest-x.inc (+3/-0)
test/mysql-test/test_data/505/include/mysqltest_while.inc (+137/-0)
test/mysql-test/test_data/505/include/ndb_backup.inc (+24/-0)
test/mysql-test/test_data/505/include/ndb_default_cluster.inc (+4/-0)
test/mysql-test/test_data/505/include/ndb_restore_master.inc (+8/-0)
test/mysql-test/test_data/505/include/ndb_restore_slave_eoption.inc (+11/-0)
test/mysql-test/test_data/505/include/ndb_setup_slave.inc (+27/-0)
test/mysql-test/test_data/505/include/not_as_root.inc (+4/-0)
test/mysql-test/test_data/505/include/not_embedded.inc (+5/-0)
test/mysql-test/test_data/505/include/not_ndb.inc (+7/-0)
test/mysql-test/test_data/505/include/not_ndb_default.inc (+4/-0)
test/mysql-test/test_data/505/include/not_openssl.inc (+4/-0)
test/mysql-test/test_data/505/include/not_row_based.inc (+4/-0)
test/mysql-test/test_data/505/include/not_valgrind.inc (+4/-0)
test/mysql-test/test_data/505/include/not_windows.inc (+4/-0)
test/mysql-test/test_data/505/include/partition_1.inc (+750/-0)
test/mysql-test/test_data/505/include/partition_10.inc (+73/-0)
test/mysql-test/test_data/505/include/partition_11.inc (+34/-0)
test/mysql-test/test_data/505/include/partition_12.inc (+65/-0)
test/mysql-test/test_data/505/include/partition_layout.inc (+13/-0)
test/mysql-test/test_data/505/include/ps_conv.inc (+1220/-0)
test/mysql-test/test_data/505/include/ps_create.inc (+43/-0)
test/mysql-test/test_data/505/include/ps_modify.inc (+356/-0)
test/mysql-test/test_data/505/include/ps_modify1.inc (+105/-0)
test/mysql-test/test_data/505/include/ps_query.inc (+775/-0)
test/mysql-test/test_data/505/include/ps_renew.inc (+35/-0)
test/mysql-test/test_data/505/include/rowid_order.inc (+121/-0)
test/mysql-test/test_data/505/include/rpl_change_topology.inc (+247/-0)
test/mysql-test/test_data/505/include/rpl_connect.inc (+58/-0)
test/mysql-test/test_data/505/include/rpl_connection.inc (+47/-0)
test/mysql-test/test_data/505/include/rpl_connection_master.inc (+2/-0)
test/mysql-test/test_data/505/include/rpl_connection_slave.inc (+2/-0)
test/mysql-test/test_data/505/include/rpl_connection_slave1.inc (+2/-0)
test/mysql-test/test_data/505/include/rpl_diff.inc (+118/-0)
test/mysql-test/test_data/505/include/rpl_end.inc (+103/-0)
test/mysql-test/test_data/505/include/rpl_events.inc (+159/-0)
test/mysql-test/test_data/505/include/rpl_for_each_slave.inc (+39/-0)
test/mysql-test/test_data/505/include/rpl_generate_sync_chain.inc (+122/-0)
test/mysql-test/test_data/505/include/rpl_init.inc (+242/-0)
test/mysql-test/test_data/505/include/rpl_ip_mix.inc (+24/-0)
test/mysql-test/test_data/505/include/rpl_ip_mix2.inc (+24/-0)
test/mysql-test/test_data/505/include/rpl_ipv6.inc (+22/-0)
test/mysql-test/test_data/505/include/rpl_loaddata_charset.inc (+35/-0)
test/mysql-test/test_data/505/include/rpl_multi_engine.inc (+16/-0)
test/mysql-test/test_data/505/include/rpl_multi_engine2.inc (+91/-0)
test/mysql-test/test_data/505/include/rpl_multi_engine3.inc (+61/-0)
test/mysql-test/test_data/505/include/rpl_reconnect.inc (+132/-0)
test/mysql-test/test_data/505/include/rpl_reset.inc (+81/-0)
test/mysql-test/test_data/505/include/rpl_restart_server.inc (+39/-0)
test/mysql-test/test_data/505/include/rpl_start_server.inc (+54/-0)
test/mysql-test/test_data/505/include/rpl_start_slaves.inc (+32/-0)
test/mysql-test/test_data/505/include/rpl_stmt_seq.inc (+207/-0)
test/mysql-test/test_data/505/include/rpl_stmt_seq2.inc (+201/-0)
test/mysql-test/test_data/505/include/rpl_stop_server.inc (+63/-0)
test/mysql-test/test_data/505/include/rpl_stop_slaves.inc (+33/-0)
test/mysql-test/test_data/505/include/rpl_sync.inc (+153/-0)
test/mysql-test/test_data/505/include/rpl_udf.inc (+191/-0)
test/mysql-test/test_data/505/include/save_master_pos.inc (+33/-0)
test/mysql-test/test_data/505/include/show_binlog_events.inc (+21/-0)
test/mysql-test/test_data/505/include/show_events.inc (+38/-0)
test/mysql-test/test_data/505/include/show_msg.inc (+25/-0)
test/mysql-test/test_data/505/include/show_msg80.inc (+118/-0)
test/mysql-test/test_data/505/include/show_rpl_debug_info.inc (+111/-0)
test/mysql-test/test_data/505/include/sourced.inc (+1/-0)
test/mysql-test/test_data/505/include/sourced1.inc (+1/-0)
test/mysql-test/test_data/505/include/sp-vars.inc (+131/-0)
test/mysql-test/test_data/505/include/start_slave.inc (+39/-0)
test/mysql-test/test_data/505/include/sync_slave_io_with_master.inc (+50/-0)
test/mysql-test/test_data/505/include/system_db_struct.inc (+18/-0)
test/mysql-test/test_data/505/include/test_outfile.inc (+1/-0)
test/mysql-test/test_data/505/include/testdb_only.inc (+30/-0)
test/mysql-test/test_data/505/include/varchar.inc (+239/-0)
test/mysql-test/test_data/505/include/wait_condition.inc (+54/-0)
test/mysql-test/test_data/505/include/wait_for_query_to_suceed.inc (+25/-0)
test/mysql-test/test_data/505/include/wait_for_slave_io_to_start.inc (+46/-0)
test/mysql-test/test_data/505/include/wait_for_slave_io_to_stop.inc (+40/-0)
test/mysql-test/test_data/505/include/wait_for_slave_param.inc (+119/-0)
test/mysql-test/test_data/505/include/wait_for_slave_sql_to_start.inc (+37/-0)
test/mysql-test/test_data/505/include/wait_for_slave_sql_to_stop.inc (+40/-0)
test/mysql-test/test_data/505/include/wait_for_slave_to_start.inc (+30/-0)
test/mysql-test/test_data/505/include/wait_for_slave_to_stop.inc (+38/-0)
test/mysql-test/test_data/505/include/wait_slave_status.inc (+158/-0)
test/mysql-test/test_data/505/include/wait_until_connected_again.inc (+20/-0)
test/mysql-test/test_data/505/include/wait_until_count_sessions.inc (+126/-0)
test/mysql-test/test_data/505/include/wait_until_disconnected.inc (+21/-0)
test/mysql-test/test_data/505/include/windows.inc (+4/-0)
test/mysql-test/test_data/505/r/ai_reset_by_truncate.result (+2521/-0)
test/mysql-test/test_data/505/r/alias.result (+75/-0)
test/mysql-test/test_data/505/r/alter_table.result (+913/-0)
test/mysql-test/test_data/505/r/analyse.result (+83/-0)
test/mysql-test/test_data/505/r/analyze.result (+60/-0)
test/mysql-test/test_data/505/r/ansi.result (+48/-0)
test/mysql-test/test_data/505/r/archive.result (+12639/-0)
test/mysql-test/test_data/505/r/archive_bitfield.result (+191/-0)
test/mysql-test/test_data/505/r/archive_gis.result (+462/-0)
test/mysql-test/test_data/505/r/auto_increment.result (+454/-0)
test/mysql-test/test_data/505/r/backup.result (+123/-0)
test/mysql-test/test_data/505/r/bench_count_distinct.result (+11/-0)
test/mysql-test/test_data/505/r/bigint.result (+354/-0)
test/mysql-test/test_data/505/r/binary.result (+162/-0)
test/mysql-test/test_data/505/r/binlog_row_binlog.result (+308/-0)
test/mysql-test/test_data/505/r/binlog_row_blackhole.result (+143/-0)
test/mysql-test/test_data/505/r/binlog_row_ctype_cp932.result (+11355/-0)
test/mysql-test/test_data/505/r/binlog_row_ctype_ucs.result (+19/-0)
test/mysql-test/test_data/505/r/binlog_row_drop_tmp_tbl.result (+18/-0)
test/mysql-test/test_data/505/r/binlog_row_innodb_stat.result (+39/-0)
test/mysql-test/test_data/505/r/binlog_row_insert_select.result (+27/-0)
test/mysql-test/test_data/505/r/binlog_row_mix_innodb_myisam.result (+415/-0)
test/mysql-test/test_data/505/r/binlog_stm_binlog.result (+212/-0)
test/mysql-test/test_data/505/r/binlog_stm_blackhole.result (+143/-0)
test/mysql-test/test_data/505/r/binlog_stm_ctype_cp932.result (+11355/-0)
test/mysql-test/test_data/505/r/binlog_stm_ctype_ucs.result (+35/-0)
test/mysql-test/test_data/505/r/binlog_stm_drop_tmp_tbl.result (+22/-0)
test/mysql-test/test_data/505/r/binlog_stm_innodb_stat.result (+39/-0)
test/mysql-test/test_data/505/r/binlog_stm_insert_select.result (+24/-0)
test/mysql-test/test_data/505/r/binlog_stm_mix_innodb_myisam.result (+370/-0)
test/mysql-test/test_data/505/r/bool.result (+88/-0)
test/mysql-test/test_data/505/r/bulk_replace.result (+11/-0)
test/mysql-test/test_data/505/r/case.result (+202/-0)
test/mysql-test/test_data/505/r/case_sensitive_file_system.require (+2/-0)
test/mysql-test/test_data/505/r/cast.result (+396/-0)
test/mysql-test/test_data/505/r/check.result (+16/-0)
test/mysql-test/test_data/505/r/check_var_limit.require (+2/-0)
test/mysql-test/test_data/505/r/client_xml.result (+74/-0)
test/mysql-test/test_data/505/r/comments.result (+28/-0)
test/mysql-test/test_data/505/r/compare.result (+55/-0)
test/mysql-test/test_data/505/r/compress.result (+2168/-0)
test/mysql-test/test_data/505/r/connect.result (+117/-0)
test/mysql-test/test_data/505/r/consistent_snapshot.result (+15/-0)
test/mysql-test/test_data/505/r/constraints.result (+45/-0)
test/mysql-test/test_data/505/r/contributors.result (+5/-0)
test/mysql-test/test_data/505/r/count_distinct.result (+68/-0)
test/mysql-test/test_data/505/r/count_distinct2.result (+129/-0)
test/mysql-test/test_data/505/r/count_distinct3.result (+8/-0)
test/mysql-test/test_data/505/r/crash_commit_before.result (+13/-0)
test/mysql-test/test_data/505/r/create.result (+2401/-0)
test/mysql-test/test_data/505/r/create_not_windows.result (+31/-0)
test/mysql-test/test_data/505/r/create_select_tmp.result (+20/-0)
test/mysql-test/test_data/505/r/csv.result (+5249/-0)
test/mysql-test/test_data/505/r/ctype_big5.result (+194/-0)
test/mysql-test/test_data/505/r/ctype_collate.result (+597/-0)
test/mysql-test/test_data/505/r/ctype_cp1250_ch.result (+54/-0)
test/mysql-test/test_data/505/r/ctype_cp1251.result (+72/-0)
test/mysql-test/test_data/505/r/ctype_cp932_binlog_row.result (+17/-0)
test/mysql-test/test_data/505/r/ctype_cp932_binlog_stm.result (+57/-0)
test/mysql-test/test_data/505/r/ctype_create.result (+78/-0)
test/mysql-test/test_data/505/r/ctype_eucjpms.result (+9827/-0)
test/mysql-test/test_data/505/r/ctype_euckr.result (+167/-0)
test/mysql-test/test_data/505/r/ctype_filename.result (+13/-0)
test/mysql-test/test_data/505/r/ctype_gb2312.result (+167/-0)
test/mysql-test/test_data/505/r/ctype_gbk.result (+180/-0)
test/mysql-test/test_data/505/r/ctype_latin1.result (+407/-0)
test/mysql-test/test_data/505/r/ctype_latin1_de.result (+346/-0)
test/mysql-test/test_data/505/r/ctype_latin2.result (+383/-0)
test/mysql-test/test_data/505/r/ctype_latin2_ch.result (+31/-0)
test/mysql-test/test_data/505/r/ctype_many.result (+1685/-0)
test/mysql-test/test_data/505/r/ctype_mb.result (+57/-0)
test/mysql-test/test_data/505/r/ctype_recoding.result (+261/-0)
test/mysql-test/test_data/505/r/ctype_sjis.result (+177/-0)
test/mysql-test/test_data/505/r/ctype_tis620.result (+2995/-0)
test/mysql-test/test_data/505/r/ctype_uca.result (+2656/-0)
test/mysql-test/test_data/505/r/ctype_ucs.result (+850/-0)
test/mysql-test/test_data/505/r/ctype_ucs2_def.result (+9/-0)
test/mysql-test/test_data/505/r/ctype_ujis.result (+2345/-0)
test/mysql-test/test_data/505/r/ctype_utf8.result (+1604/-0)
test/mysql-test/test_data/505/r/date_formats.result (+560/-0)
test/mysql-test/test_data/505/r/default.result (+197/-0)
test/mysql-test/test_data/505/r/delayed.result (+261/-0)
test/mysql-test/test_data/505/r/delete.result (+208/-0)
test/mysql-test/test_data/505/r/derived.result (+430/-0)
test/mysql-test/test_data/505/r/dirty_close.result (+9/-0)
test/mysql-test/test_data/505/r/distinct.result (+646/-0)
test/mysql-test/test_data/505/r/drop.result (+171/-0)
test/mysql-test/test_data/505/r/empty_table.result (+10/-0)
test/mysql-test/test_data/505/r/endspace.result (+217/-0)
test/mysql-test/test_data/505/r/errors.result (+30/-0)
test/mysql-test/test_data/505/r/events.result (+403/-0)
test/mysql-test/test_data/505/r/events_bugs.result (+271/-0)
test/mysql-test/test_data/505/r/events_grant.result (+121/-0)
test/mysql-test/test_data/505/r/events_logs_tests.result (+72/-0)
test/mysql-test/test_data/505/r/events_microsec.result (+13/-0)
test/mysql-test/test_data/505/r/events_scheduling.result (+85/-0)
test/mysql-test/test_data/505/r/events_stress.result (+65/-0)
test/mysql-test/test_data/505/r/exampledb.result (+8/-0)
test/mysql-test/test_data/505/r/explain.result (+59/-0)
test/mysql-test/test_data/505/r/federated.result (+1849/-0)
test/mysql-test/test_data/505/r/federated_archive.result (+48/-0)
test/mysql-test/test_data/505/r/federated_bug_13118.result (+39/-0)
test/mysql-test/test_data/505/r/federated_transactions.result (+49/-0)
test/mysql-test/test_data/505/r/flush.result (+418/-0)
test/mysql-test/test_data/505/r/flush_block_commit.result (+39/-0)
test/mysql-test/test_data/505/r/flush_read_lock_kill.result (+12/-0)
test/mysql-test/test_data/505/r/flush_table.result (+130/-0)
test/mysql-test/test_data/505/r/foreign_key.result (+18/-0)
test/mysql-test/test_data/505/r/fulltext.result (+471/-0)
test/mysql-test/test_data/505/r/fulltext2.result (+251/-0)
test/mysql-test/test_data/505/r/fulltext_cache.result (+68/-0)
test/mysql-test/test_data/505/r/fulltext_distinct.result (+45/-0)
test/mysql-test/test_data/505/r/fulltext_left_join.result (+69/-0)
test/mysql-test/test_data/505/r/fulltext_multi.result (+29/-0)
test/mysql-test/test_data/505/r/fulltext_order_by.result (+176/-0)
test/mysql-test/test_data/505/r/fulltext_update.result (+24/-0)
test/mysql-test/test_data/505/r/fulltext_var.result (+38/-0)
test/mysql-test/test_data/505/r/func_compress.result (+118/-0)
test/mysql-test/test_data/505/r/func_concat.result (+84/-0)
test/mysql-test/test_data/505/r/func_crypt.result (+97/-0)
test/mysql-test/test_data/505/r/func_date_add.result (+87/-0)
test/mysql-test/test_data/505/r/func_default.result (+23/-0)
test/mysql-test/test_data/505/r/func_des_encrypt.result (+3/-0)
test/mysql-test/test_data/505/r/func_encrypt.result (+185/-0)
test/mysql-test/test_data/505/r/func_encrypt_nossl.result (+98/-0)
test/mysql-test/test_data/505/r/func_equal.result (+44/-0)
test/mysql-test/test_data/505/r/func_gconcat.result (+744/-0)
test/mysql-test/test_data/505/r/func_group.result (+1315/-0)
test/mysql-test/test_data/505/r/func_group_innodb.result (+147/-0)
test/mysql-test/test_data/505/r/func_if.result (+130/-0)
test/mysql-test/test_data/505/r/func_in.result (+442/-0)
test/mysql-test/test_data/505/r/func_isnull.result (+7/-0)
test/mysql-test/test_data/505/r/func_like.result (+171/-0)
test/mysql-test/test_data/505/r/func_math.result (+287/-0)
test/mysql-test/test_data/505/r/func_misc.result (+144/-0)
test/mysql-test/test_data/505/r/func_op.result (+48/-0)
test/mysql-test/test_data/505/r/func_regexp.result (+100/-0)
test/mysql-test/test_data/505/r/func_sapdb.result (+249/-0)
test/mysql-test/test_data/505/r/func_set.result (+75/-0)
test/mysql-test/test_data/505/r/func_str.result (+2262/-0)
test/mysql-test/test_data/505/r/func_system.result (+97/-0)
test/mysql-test/test_data/505/r/func_test.result (+281/-0)
test/mysql-test/test_data/505/r/func_time.result (+1209/-0)
test/mysql-test/test_data/505/r/func_timestamp.result (+13/-0)
test/mysql-test/test_data/505/r/gcc296.result (+20/-0)
test/mysql-test/test_data/505/r/gis-rtree.result (+894/-0)
test/mysql-test/test_data/505/r/gis.result (+720/-0)
test/mysql-test/test_data/505/r/grant.result (+1045/-0)
test/mysql-test/test_data/505/r/grant2.result (+472/-0)
test/mysql-test/test_data/505/r/grant3.result (+18/-0)
test/mysql-test/test_data/505/r/grant_cache.result (+212/-0)
test/mysql-test/test_data/505/r/greedy_optimizer.result (+659/-0)
test/mysql-test/test_data/505/r/group_by.result (+945/-0)
test/mysql-test/test_data/505/r/group_min_max.result (+2375/-0)
test/mysql-test/test_data/505/r/group_min_max_innodb.result (+72/-0)
test/mysql-test/test_data/505/r/have_big5.require (+2/-0)
test/mysql-test/test_data/505/r/have_binlog_format_mixed.require (+2/-0)
test/mysql-test/test_data/505/r/have_binlog_format_row.require (+2/-0)
test/mysql-test/test_data/505/r/have_binlog_format_statement.require (+2/-0)
test/mysql-test/test_data/505/r/have_compress.require (+2/-0)
test/mysql-test/test_data/505/r/have_cp1250_ch.require (+2/-0)
test/mysql-test/test_data/505/r/have_cp932.require (+2/-0)
test/mysql-test/test_data/505/r/have_crypt.require (+2/-0)
test/mysql-test/test_data/505/r/have_debug.require (+2/-0)
test/mysql-test/test_data/505/r/have_dynamic_loading.require (+2/-0)
test/mysql-test/test_data/505/r/have_eucjpms.require (+2/-0)
test/mysql-test/test_data/505/r/have_euckr.require (+2/-0)
test/mysql-test/test_data/505/r/have_gb2312.require (+2/-0)
test/mysql-test/test_data/505/r/have_gbk.require (+2/-0)
test/mysql-test/test_data/505/r/have_geometry.require (+2/-0)
test/mysql-test/test_data/505/r/have_latin2_ch.require (+2/-0)
test/mysql-test/test_data/505/r/have_log_bin.require (+2/-0)
test/mysql-test/test_data/505/r/have_met_timezone.require (+2/-0)
test/mysql-test/test_data/505/r/have_moscow_leap_timezone.require (+2/-0)
test/mysql-test/test_data/505/r/have_openssl.require (+2/-0)
test/mysql-test/test_data/505/r/have_outfile.require (+3/-0)
test/mysql-test/test_data/505/r/have_partition.require (+2/-0)
test/mysql-test/test_data/505/r/have_perror.require (+2/-0)
test/mysql-test/test_data/505/r/have_query_cache.require (+2/-0)
test/mysql-test/test_data/505/r/have_sjis.require (+2/-0)
test/mysql-test/test_data/505/r/have_symlink.require (+2/-0)
test/mysql-test/test_data/505/r/have_tis620.require (+2/-0)
test/mysql-test/test_data/505/r/have_ucs2.require (+2/-0)
test/mysql-test/test_data/505/r/have_udf_example.require (+2/-0)
test/mysql-test/test_data/505/r/have_ujis.require (+2/-0)
test/mysql-test/test_data/505/r/having.result (+407/-0)
test/mysql-test/test_data/505/r/heap.result (+733/-0)
test/mysql-test/test_data/505/r/heap_auto_increment.result (+41/-0)
test/mysql-test/test_data/505/r/heap_btree.result (+297/-0)
test/mysql-test/test_data/505/r/heap_hash.result (+368/-0)
test/mysql-test/test_data/505/r/help.result (+268/-0)
test/mysql-test/test_data/505/r/im_cmd_line.result (+47/-0)
test/mysql-test/test_data/505/r/im_daemon_life_cycle.result (+26/-0)
test/mysql-test/test_data/505/r/im_instance_conf.result (+226/-0)
test/mysql-test/test_data/505/r/im_life_cycle.result (+73/-0)
test/mysql-test/test_data/505/r/im_options.result (+153/-0)
test/mysql-test/test_data/505/r/im_utils.result (+94/-0)
test/mysql-test/test_data/505/r/index_merge_innodb.result (+583/-0)
test/mysql-test/test_data/505/r/information_schema.result (+1354/-0)
test/mysql-test/test_data/505/r/information_schema_chmod.result (+5/-0)
test/mysql-test/test_data/505/r/information_schema_db.result (+237/-0)
test/mysql-test/test_data/505/r/information_schema_inno.result (+80/-0)
test/mysql-test/test_data/505/r/information_schema_part.result (+147/-0)
test/mysql-test/test_data/505/r/init_connect.result (+138/-0)
test/mysql-test/test_data/505/r/init_file.result (+16/-0)
test/mysql-test/test_data/505/r/innodb-lock.result (+57/-0)
test/mysql-test/test_data/505/r/innodb-replace.result (+13/-0)
test/mysql-test/test_data/505/r/innodb.result (+3466/-0)
test/mysql-test/test_data/505/r/innodb_gis.result (+462/-0)
test/mysql-test/test_data/505/r/innodb_mysql.result (+575/-0)
test/mysql-test/test_data/505/r/innodb_notembedded.result (+22/-0)
test/mysql-test/test_data/505/r/insert.result (+364/-0)
test/mysql-test/test_data/505/r/insert_select.result (+706/-0)
test/mysql-test/test_data/505/r/insert_update.result (+221/-0)
test/mysql-test/test_data/505/r/is_debug_build.require (+2/-0)
test/mysql-test/test_data/505/r/isam.result (+251/-0)
test/mysql-test/test_data/505/r/join.result (+822/-0)
test/mysql-test/test_data/505/r/join_crash.result (+103/-0)
test/mysql-test/test_data/505/r/join_nested.result (+1613/-0)
test/mysql-test/test_data/505/r/join_outer.result (+1200/-0)
test/mysql-test/test_data/505/r/join_outer_innodb.result (+19/-0)
test/mysql-test/test_data/505/r/key.result (+484/-0)
test/mysql-test/test_data/505/r/key_cache.result (+323/-0)
test/mysql-test/test_data/505/r/key_diff.result (+52/-0)
test/mysql-test/test_data/505/r/key_primary.result (+20/-0)
test/mysql-test/test_data/505/r/keywords.result (+34/-0)
test/mysql-test/test_data/505/r/kill.result (+36/-0)
test/mysql-test/test_data/505/r/limit.result (+93/-0)
test/mysql-test/test_data/505/r/loaddata.result (+178/-0)
test/mysql-test/test_data/505/r/lock.result (+472/-0)
test/mysql-test/test_data/505/r/lock_multi.result (+100/-0)
test/mysql-test/test_data/505/r/lock_tables_lost_commit.result (+8/-0)
test/mysql-test/test_data/505/r/log_state.result (+155/-0)
test/mysql-test/test_data/505/r/log_tables.result (+286/-0)
test/mysql-test/test_data/505/r/lowercase0.require (+3/-0)
test/mysql-test/test_data/505/r/lowercase2.require (+2/-0)
test/mysql-test/test_data/505/r/lowercase_fs_off.result (+12/-0)
test/mysql-test/test_data/505/r/lowercase_table.result (+110/-0)
test/mysql-test/test_data/505/r/lowercase_table2.result (+176/-0)
test/mysql-test/test_data/505/r/lowercase_table3.result (+10/-0)
test/mysql-test/test_data/505/r/lowercase_table_grant.result (+23/-0)
test/mysql-test/test_data/505/r/lowercase_table_qcache.result (+24/-0)
test/mysql-test/test_data/505/r/lowercase_view.result (+150/-0)
test/mysql-test/test_data/505/r/merge.result (+806/-0)
test/mysql-test/test_data/505/r/metadata.result (+132/-0)
test/mysql-test/test_data/505/r/multi_statement.result (+51/-0)
test/mysql-test/test_data/505/r/multi_update.result (+615/-0)
test/mysql-test/test_data/505/r/myisam-blob.result (+45/-0)
test/mysql-test/test_data/505/r/myisam.result (+1911/-0)
test/mysql-test/test_data/505/r/mysql.result (+187/-0)
test/mysql-test/test_data/505/r/mysql_client_test.result (+124/-0)
test/mysql-test/test_data/505/r/mysql_protocols.result (+10/-0)
test/mysql-test/test_data/505/r/mysqlbinlog.result (+13010/-0)
test/mysql-test/test_data/505/r/mysqlbinlog2.result (+772/-0)
test/mysql-test/test_data/505/r/mysqlbinlog_base64.result (+90/-0)
test/mysql-test/test_data/505/r/mysqlcheck.result (+61/-0)
test/mysql-test/test_data/505/r/mysqldump-max.result (+243/-0)
test/mysql-test/test_data/505/r/mysqldump.result (+4509/-0)
test/mysql-test/test_data/505/r/mysqlshow.result (+170/-0)
test/mysql-test/test_data/505/r/mysqlslap.result (+171/-0)
test/mysql-test/test_data/505/r/mysqltest.result (+893/-0)
test/mysql-test/test_data/505/r/ndb_alter_table.result (+354/-0)
test/mysql-test/test_data/505/r/ndb_alter_table2.result (+41/-0)
test/mysql-test/test_data/505/r/ndb_autodiscover.result (+397/-0)
test/mysql-test/test_data/505/r/ndb_autodiscover2.result (+13/-0)
test/mysql-test/test_data/505/r/ndb_autodiscover3.result (+53/-0)
test/mysql-test/test_data/505/r/ndb_basic.result (+862/-0)
test/mysql-test/test_data/505/r/ndb_binlog_basic.result (+51/-0)
test/mysql-test/test_data/505/r/ndb_binlog_basic2.result (+12/-0)
test/mysql-test/test_data/505/r/ndb_binlog_ddl_multi.result (+194/-0)
test/mysql-test/test_data/505/r/ndb_binlog_discover.result (+12/-0)
test/mysql-test/test_data/505/r/ndb_binlog_ignore_db.result (+11/-0)
test/mysql-test/test_data/505/r/ndb_binlog_multi.result (+80/-0)
test/mysql-test/test_data/505/r/ndb_bitfield.result (+224/-0)
test/mysql-test/test_data/505/r/ndb_blob.result (+568/-0)
test/mysql-test/test_data/505/r/ndb_blob_partition.result (+104/-0)
test/mysql-test/test_data/505/r/ndb_cache.result (+191/-0)
test/mysql-test/test_data/505/r/ndb_cache2.result (+623/-0)
test/mysql-test/test_data/505/r/ndb_cache_multi.result (+74/-0)
test/mysql-test/test_data/505/r/ndb_cache_multi2.result (+75/-0)
test/mysql-test/test_data/505/r/ndb_charset.result (+320/-0)
test/mysql-test/test_data/505/r/ndb_condition_pushdown.result (+1892/-0)
test/mysql-test/test_data/505/r/ndb_config.result (+14/-0)
test/mysql-test/test_data/505/r/ndb_config2.result (+1/-0)
test/mysql-test/test_data/505/r/ndb_database.result (+13/-0)
test/mysql-test/test_data/505/r/ndb_dd_backuprestore.result (+487/-0)
test/mysql-test/test_data/505/r/ndb_dd_basic.result (+475/-0)
test/mysql-test/test_data/505/r/ndb_dd_ddl.result (+240/-0)
test/mysql-test/test_data/505/r/ndb_dd_disk2memory.result (+505/-0)
test/mysql-test/test_data/505/r/ndb_dd_dump.result (+218/-0)
test/mysql-test/test_data/505/r/ndb_gis.result (+924/-0)
test/mysql-test/test_data/505/r/ndb_grant.result (+444/-0)
test/mysql-test/test_data/505/r/ndb_index.result (+154/-0)
test/mysql-test/test_data/505/r/ndb_index_ordered.result (+854/-0)
test/mysql-test/test_data/505/r/ndb_index_unique.result (+692/-0)
test/mysql-test/test_data/505/r/ndb_insert.result (+651/-0)
test/mysql-test/test_data/505/r/ndb_limit.result (+72/-0)
test/mysql-test/test_data/505/r/ndb_load.result (+80/-0)
test/mysql-test/test_data/505/r/ndb_loaddatalocal.result (+46/-0)
test/mysql-test/test_data/505/r/ndb_lock.result (+200/-0)
test/mysql-test/test_data/505/r/ndb_minmax.result (+120/-0)
test/mysql-test/test_data/505/r/ndb_multi.result (+123/-0)
test/mysql-test/test_data/505/r/ndb_multi_row.result (+67/-0)
test/mysql-test/test_data/505/r/ndb_partition_error.result (+47/-0)
test/mysql-test/test_data/505/r/ndb_partition_key.result (+253/-0)
test/mysql-test/test_data/505/r/ndb_partition_list.result (+51/-0)
test/mysql-test/test_data/505/r/ndb_partition_range.result (+263/-0)
test/mysql-test/test_data/505/r/ndb_read_multi_range.result (+444/-0)
test/mysql-test/test_data/505/r/ndb_rename.result (+24/-0)
test/mysql-test/test_data/505/r/ndb_replace.result (+99/-0)
test/mysql-test/test_data/505/r/ndb_restore.result (+462/-0)
test/mysql-test/test_data/505/r/ndb_restore_compat.result (+104/-0)
test/mysql-test/test_data/505/r/ndb_restore_partition.result (+469/-0)
test/mysql-test/test_data/505/r/ndb_subquery.result (+92/-0)
test/mysql-test/test_data/505/r/ndb_temporary.result (+21/-0)
test/mysql-test/test_data/505/r/ndb_transaction.result (+257/-0)
test/mysql-test/test_data/505/r/ndb_trigger.result (+144/-0)
test/mysql-test/test_data/505/r/ndb_truncate.result (+23/-0)
test/mysql-test/test_data/505/r/ndb_types.result (+76/-0)
test/mysql-test/test_data/505/r/ndb_update.result (+42/-0)
test/mysql-test/test_data/505/r/ndb_view.result (+24/-0)
test/mysql-test/test_data/505/r/ndbapi.result (+22/-0)
test/mysql-test/test_data/505/r/negation_elimination.result (+394/-0)
test/mysql-test/test_data/505/r/not_as_root.require (+2/-0)
test/mysql-test/test_data/505/r/not_embedded.require (+2/-0)
test/mysql-test/test_data/505/r/not_embedded_server.result (+5/-0)
test/mysql-test/test_data/505/r/not_ndb_default.require (+2/-0)
test/mysql-test/test_data/505/r/not_openssl.require (+2/-0)
test/mysql-test/test_data/505/r/not_valgrind.require (+2/-0)
test/mysql-test/test_data/505/r/not_windows.require (+2/-0)
test/mysql-test/test_data/505/r/null.result (+322/-0)
test/mysql-test/test_data/505/r/null_key.result (+432/-0)
test/mysql-test/test_data/505/r/odbc.result (+29/-0)
test/mysql-test/test_data/505/r/olap.result (+647/-0)
test/mysql-test/test_data/505/r/openssl_1.result (+53/-0)
test/mysql-test/test_data/505/r/openssl_2.result (+25/-0)
test/mysql-test/test_data/505/r/order_by.result (+929/-0)
test/mysql-test/test_data/505/r/order_fill_sortbuf.result (+10/-0)
test/mysql-test/test_data/505/r/overflow.result (+2/-0)
test/mysql-test/test_data/505/r/packet.result (+30/-0)
test/mysql-test/test_data/505/r/partition.result (+2352/-0)
test/mysql-test/test_data/505/r/partition_02myisam.result (+1862/-0)
test/mysql-test/test_data/505/r/partition_03ndb.result (+1361/-0)
test/mysql-test/test_data/505/r/partition_charset.result (+18/-0)
test/mysql-test/test_data/505/r/partition_error.result (+1730/-0)
test/mysql-test/test_data/505/r/partition_grant.result (+25/-0)
test/mysql-test/test_data/505/r/partition_hash.result (+200/-0)
test/mysql-test/test_data/505/r/partition_innodb.result (+76/-0)
test/mysql-test/test_data/505/r/partition_list.result (+297/-0)
test/mysql-test/test_data/505/r/partition_mgm.result (+56/-0)
test/mysql-test/test_data/505/r/partition_mgm_err.result (+160/-0)
test/mysql-test/test_data/505/r/partition_mgm_err2.result (+2/-0)
test/mysql-test/test_data/505/r/partition_order.result (+785/-0)
test/mysql-test/test_data/505/r/partition_pruning.result (+916/-0)
test/mysql-test/test_data/505/r/partition_range.result (+741/-0)
test/mysql-test/test_data/505/r/pbxt_assertions.result (+14/-0)
test/mysql-test/test_data/505/r/pbxt_bugs.result (+1864/-0)
test/mysql-test/test_data/505/r/pbxt_locking.result (+88/-0)
test/mysql-test/test_data/505/r/pbxt_my_fail2.result (+48/-0)
test/mysql-test/test_data/505/r/pbxt_ref_int.result (+407/-0)
test/mysql-test/test_data/505/r/pbxt_snapshot.result (+85/-0)
test/mysql-test/test_data/505/r/pbxt_transactions.result (+568/-0)
test/mysql-test/test_data/505/r/pbxt_updates.result (+139/-0)
test/mysql-test/test_data/505/r/perror.result (+1/-0)
test/mysql-test/test_data/505/r/preload.result (+168/-0)
test/mysql-test/test_data/505/r/ps.result (+2704/-0)
test/mysql-test/test_data/505/r/ps_10nestset.result (+76/-0)
test/mysql-test/test_data/505/r/ps_11bugs.result (+165/-0)
test/mysql-test/test_data/505/r/ps_1general.result (+780/-0)
test/mysql-test/test_data/505/r/ps_2myisam.result (+3145/-0)
test/mysql-test/test_data/505/r/ps_3innodb.result (+3121/-0)
test/mysql-test/test_data/505/r/ps_4heap.result (+3122/-0)
test/mysql-test/test_data/505/r/ps_5merge.result (+6088/-0)
test/mysql-test/test_data/505/r/ps_7ndb.result (+3120/-0)
test/mysql-test/test_data/505/r/ps_grant.result (+87/-0)
test/mysql-test/test_data/505/r/query_cache.result (+1661/-0)
test/mysql-test/test_data/505/r/query_cache_merge.result (+20/-0)
test/mysql-test/test_data/505/r/query_cache_notembedded.result (+383/-0)
test/mysql-test/test_data/505/r/raid.result (+208/-0)
test/mysql-test/test_data/505/r/range.result (+967/-0)
test/mysql-test/test_data/505/r/read_only.result (+99/-0)
test/mysql-test/test_data/505/r/rename.result (+69/-0)
test/mysql-test/test_data/505/r/renamedb.result (+12/-0)
test/mysql-test/test_data/505/r/repair.result (+91/-0)
test/mysql-test/test_data/505/r/replace.result (+32/-0)
test/mysql-test/test_data/505/r/rollback.result (+29/-0)
test/mysql-test/test_data/505/r/row.result (+308/-0)
test/mysql-test/test_data/505/r/rowid_order_innodb.result (+187/-0)
test/mysql-test/test_data/505/r/rpl000001.a.result (+3/-0)
test/mysql-test/test_data/505/r/rpl000001.b.result (+2/-0)
test/mysql-test/test_data/505/r/rpl000010.result (+14/-0)
test/mysql-test/test_data/505/r/rpl000011.result (+16/-0)
test/mysql-test/test_data/505/r/rpl000013.result (+28/-0)
test/mysql-test/test_data/505/r/rpl000017.result (+18/-0)
test/mysql-test/test_data/505/r/rpl_000015.result (+35/-0)
test/mysql-test/test_data/505/r/rpl_EE_err.result (+11/-0)
test/mysql-test/test_data/505/r/rpl_LD_INFILE.result (+117/-0)
test/mysql-test/test_data/505/r/rpl_alter.result (+21/-0)
test/mysql-test/test_data/505/r/rpl_alter_db.result (+8/-0)
test/mysql-test/test_data/505/r/rpl_auto_increment.result (+229/-0)
test/mysql-test/test_data/505/r/rpl_auto_increment_11932.result (+47/-0)
test/mysql-test/test_data/505/r/rpl_bit.result (+138/-0)
test/mysql-test/test_data/505/r/rpl_bit_npk.result (+169/-0)
test/mysql-test/test_data/505/r/rpl_change_master.result (+26/-0)
test/mysql-test/test_data/505/r/rpl_commit_after_flush.result (+13/-0)
test/mysql-test/test_data/505/r/rpl_create_database.result (+72/-0)
test/mysql-test/test_data/505/r/rpl_ddl.result (+1688/-0)
test/mysql-test/test_data/505/r/rpl_deadlock_innodb.result (+196/-0)
test/mysql-test/test_data/505/r/rpl_delete_no_where.result (+15/-0)
test/mysql-test/test_data/505/r/rpl_do_grant.result (+91/-0)
test/mysql-test/test_data/505/r/rpl_drop.result (+10/-0)
test/mysql-test/test_data/505/r/rpl_drop_db.result (+38/-0)
test/mysql-test/test_data/505/r/rpl_drop_temp.result (+13/-0)
test/mysql-test/test_data/505/r/rpl_dual_pos_advance.result (+22/-0)
test/mysql-test/test_data/505/r/rpl_empty_master_crash.result (+12/-0)
test/mysql-test/test_data/505/r/rpl_err_ignoredtable.result (+43/-0)
test/mysql-test/test_data/505/r/rpl_failed_optimize.result (+25/-0)
test/mysql-test/test_data/505/r/rpl_flushlog_loop.result (+53/-0)
test/mysql-test/test_data/505/r/rpl_for_pbxt3.result (+13/-0)
test/mysql-test/test_data/505/r/rpl_foreign_key_innodb.result (+42/-0)
test/mysql-test/test_data/505/r/rpl_free_items.result (+10/-0)
test/mysql-test/test_data/505/r/rpl_get_lock.result (+35/-0)
test/mysql-test/test_data/505/r/rpl_ignore_grant.result (+37/-0)
test/mysql-test/test_data/505/r/rpl_ignore_revoke.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_ignore_table.result (+32/-0)
test/mysql-test/test_data/505/r/rpl_ignore_table_update.result (+23/-0)
test/mysql-test/test_data/505/r/rpl_init_slave.result (+27/-0)
test/mysql-test/test_data/505/r/rpl_innodb.result (+37/-0)
test/mysql-test/test_data/505/r/rpl_insert.result (+23/-0)
test/mysql-test/test_data/505/r/rpl_insert_id.result (+480/-0)
test/mysql-test/test_data/505/r/rpl_insert_id_pk.result (+76/-0)
test/mysql-test/test_data/505/r/rpl_insert_ignore.result (+70/-0)
test/mysql-test/test_data/505/r/rpl_insert_select.result (+17/-0)
test/mysql-test/test_data/505/r/rpl_load_from_master.result (+139/-0)
test/mysql-test/test_data/505/r/rpl_load_table_from_master.result (+51/-0)
test/mysql-test/test_data/505/r/rpl_loaddata.result (+88/-0)
test/mysql-test/test_data/505/r/rpl_loaddata2.result (+153/-0)
test/mysql-test/test_data/505/r/rpl_loaddata_m.result (+39/-0)
test/mysql-test/test_data/505/r/rpl_loaddata_s.result (+18/-0)
test/mysql-test/test_data/505/r/rpl_loaddatalocal.result (+31/-0)
test/mysql-test/test_data/505/r/rpl_loadfile.result (+227/-0)
test/mysql-test/test_data/505/r/rpl_log_pos.result (+46/-0)
test/mysql-test/test_data/505/r/rpl_many_optimize.result (+9/-0)
test/mysql-test/test_data/505/r/rpl_master_pos_wait.result (+18/-0)
test/mysql-test/test_data/505/r/rpl_misc_functions.result (+23/-0)
test/mysql-test/test_data/505/r/rpl_mixed_ddl_dml.result (+48/-0)
test/mysql-test/test_data/505/r/rpl_multi_delete.result (+22/-0)
test/mysql-test/test_data/505/r/rpl_multi_delete2.result (+44/-0)
test/mysql-test/test_data/505/r/rpl_multi_engine.result (+366/-0)
test/mysql-test/test_data/505/r/rpl_multi_update.result (+27/-0)
test/mysql-test/test_data/505/r/rpl_multi_update2.result (+55/-0)
test/mysql-test/test_data/505/r/rpl_multi_update3.result (+197/-0)
test/mysql-test/test_data/505/r/rpl_multi_update4.result (+25/-0)
test/mysql-test/test_data/505/r/rpl_ndb_2innodb.result (+855/-0)
test/mysql-test/test_data/505/r/rpl_ndb_2myisam.result (+855/-0)
test/mysql-test/test_data/505/r/rpl_ndb_UUID.result (+40/-0)
test/mysql-test/test_data/505/r/rpl_ndb_auto_inc.result (+170/-0)
test/mysql-test/test_data/505/r/rpl_ndb_bank.result (+120/-0)
test/mysql-test/test_data/505/r/rpl_ndb_basic.result (+164/-0)
test/mysql-test/test_data/505/r/rpl_ndb_blob.result (+135/-0)
test/mysql-test/test_data/505/r/rpl_ndb_blob2.result (+156/-0)
test/mysql-test/test_data/505/r/rpl_ndb_charset.result (+201/-0)
test/mysql-test/test_data/505/r/rpl_ndb_commit_afterflush.result (+13/-0)
test/mysql-test/test_data/505/r/rpl_ndb_dd_advance.result (+417/-0)
test/mysql-test/test_data/505/r/rpl_ndb_dd_basic.result (+72/-0)
test/mysql-test/test_data/505/r/rpl_ndb_dd_partitions.result (+726/-0)
test/mysql-test/test_data/505/r/rpl_ndb_ddl.result (+1688/-0)
test/mysql-test/test_data/505/r/rpl_ndb_delete_nowhere.result (+15/-0)
test/mysql-test/test_data/505/r/rpl_ndb_func003.result (+29/-0)
test/mysql-test/test_data/505/r/rpl_ndb_idempotent.result (+73/-0)
test/mysql-test/test_data/505/r/rpl_ndb_insert_ignore.result (+70/-0)
test/mysql-test/test_data/505/r/rpl_ndb_load.result (+42/-0)
test/mysql-test/test_data/505/r/rpl_ndb_log.result (+150/-0)
test/mysql-test/test_data/505/r/rpl_ndb_multi.result (+55/-0)
test/mysql-test/test_data/505/r/rpl_ndb_multi_update2.result (+55/-0)
test/mysql-test/test_data/505/r/rpl_ndb_multi_update3.result (+197/-0)
test/mysql-test/test_data/505/r/rpl_ndb_relayrotate.result (+16/-0)
test/mysql-test/test_data/505/r/rpl_ndb_row_001.result (+55/-0)
test/mysql-test/test_data/505/r/rpl_ndb_sp003.result (+49/-0)
test/mysql-test/test_data/505/r/rpl_ndb_sp006.result (+46/-0)
test/mysql-test/test_data/505/r/rpl_ndb_sync.result (+96/-0)
test/mysql-test/test_data/505/r/rpl_ndb_trig004.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_ndbapi_multi.result (+8/-0)
test/mysql-test/test_data/505/r/rpl_openssl.result (+31/-0)
test/mysql-test/test_data/505/r/rpl_optimize.result (+27/-0)
test/mysql-test/test_data/505/r/rpl_ps.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_rbr_to_sbr.result (+66/-0)
test/mysql-test/test_data/505/r/rpl_redirect.result (+41/-0)
test/mysql-test/test_data/505/r/rpl_relay_space_innodb.result (+25/-0)
test/mysql-test/test_data/505/r/rpl_relay_space_myisam.result (+25/-0)
test/mysql-test/test_data/505/r/rpl_relayrotate.result (+16/-0)
test/mysql-test/test_data/505/r/rpl_relayspace.result (+19/-0)
test/mysql-test/test_data/505/r/rpl_replicate_do.result (+43/-0)
test/mysql-test/test_data/505/r/rpl_replicate_ignore_db.result (+23/-0)
test/mysql-test/test_data/505/r/rpl_rewrt_db.result (+94/-0)
test/mysql-test/test_data/505/r/rpl_rotate_logs.result (+94/-0)
test/mysql-test/test_data/505/r/rpl_row_001.result (+55/-0)
test/mysql-test/test_data/505/r/rpl_row_4_bytes.result (+27/-0)
test/mysql-test/test_data/505/r/rpl_row_NOW.result (+28/-0)
test/mysql-test/test_data/505/r/rpl_row_USER.result (+36/-0)
test/mysql-test/test_data/505/r/rpl_row_UUID.result (+40/-0)
test/mysql-test/test_data/505/r/rpl_row_basic_11bugs.result (+120/-0)
test/mysql-test/test_data/505/r/rpl_row_basic_2myisam.result (+418/-0)
test/mysql-test/test_data/505/r/rpl_row_basic_3innodb.result (+418/-0)
test/mysql-test/test_data/505/r/rpl_row_basic_7ndb.result (+418/-0)
test/mysql-test/test_data/505/r/rpl_row_basic_8partition.result (+655/-0)
test/mysql-test/test_data/505/r/rpl_row_blob_innodb.result (+156/-0)
test/mysql-test/test_data/505/r/rpl_row_blob_myisam.result (+156/-0)
test/mysql-test/test_data/505/r/rpl_row_charset.result (+201/-0)
test/mysql-test/test_data/505/r/rpl_row_create_table.result (+403/-0)
test/mysql-test/test_data/505/r/rpl_row_delayed_ins.result (+33/-0)
test/mysql-test/test_data/505/r/rpl_row_drop.result (+56/-0)
test/mysql-test/test_data/505/r/rpl_row_err_ignoredtable.result (+44/-0)
test/mysql-test/test_data/505/r/rpl_row_flsh_tbls.result (+33/-0)
test/mysql-test/test_data/505/r/rpl_row_func001.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_row_func002.result (+25/-0)
test/mysql-test/test_data/505/r/rpl_row_func003.result (+29/-0)
test/mysql-test/test_data/505/r/rpl_row_inexist_tbl.result (+54/-0)
test/mysql-test/test_data/505/r/rpl_row_loaddata_m.result (+20/-0)
test/mysql-test/test_data/505/r/rpl_row_log.result (+118/-0)
test/mysql-test/test_data/505/r/rpl_row_log_innodb.result (+126/-0)
test/mysql-test/test_data/505/r/rpl_row_max_relay_size.result (+275/-0)
test/mysql-test/test_data/505/r/rpl_row_multi_query.result (+37/-0)
test/mysql-test/test_data/505/r/rpl_row_mysqlbinlog.result (+276/-0)
test/mysql-test/test_data/505/r/rpl_row_mystery22.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_row_reset_slave.result (+32/-0)
test/mysql-test/test_data/505/r/rpl_row_sp001.result (+85/-0)
test/mysql-test/test_data/505/r/rpl_row_sp002_innodb.result (+239/-0)
test/mysql-test/test_data/505/r/rpl_row_sp003.result (+49/-0)
test/mysql-test/test_data/505/r/rpl_row_sp005.result (+100/-0)
test/mysql-test/test_data/505/r/rpl_row_sp006_InnoDB.result (+46/-0)
test/mysql-test/test_data/505/r/rpl_row_sp007_innodb.result (+50/-0)
test/mysql-test/test_data/505/r/rpl_row_sp008.result (+33/-0)
test/mysql-test/test_data/505/r/rpl_row_sp009.result (+77/-0)
test/mysql-test/test_data/505/r/rpl_row_sp010.result (+56/-0)
test/mysql-test/test_data/505/r/rpl_row_sp011.result (+69/-0)
test/mysql-test/test_data/505/r/rpl_row_sp012.result (+58/-0)
test/mysql-test/test_data/505/r/rpl_row_stop_middle.result (+26/-0)
test/mysql-test/test_data/505/r/rpl_row_stop_middle_update.result (+16/-0)
test/mysql-test/test_data/505/r/rpl_row_trig001.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_row_trig002.result (+69/-0)
test/mysql-test/test_data/505/r/rpl_row_trig003.result (+83/-0)
test/mysql-test/test_data/505/r/rpl_row_trig004.result (+30/-0)
test/mysql-test/test_data/505/r/rpl_row_until.result (+62/-0)
test/mysql-test/test_data/505/r/rpl_row_view01.result (+100/-0)
test/mysql-test/test_data/505/r/rpl_server_id1.result (+19/-0)
test/mysql-test/test_data/505/r/rpl_server_id2.result (+21/-0)
test/mysql-test/test_data/505/r/rpl_session_var.result (+43/-0)
test/mysql-test/test_data/505/r/rpl_set_charset.result (+48/-0)
test/mysql-test/test_data/505/r/rpl_skip_error.result (+16/-0)
test/mysql-test/test_data/505/r/rpl_slave_status.result (+56/-0)
test/mysql-test/test_data/505/r/rpl_sp.result (+533/-0)
test/mysql-test/test_data/505/r/rpl_sp004.result (+93/-0)
test/mysql-test/test_data/505/r/rpl_sp_effects.result (+238/-0)
test/mysql-test/test_data/505/r/rpl_sporadic_master.result (+26/-0)
test/mysql-test/test_data/505/r/rpl_start_stop_slave.result (+12/-0)
test/mysql-test/test_data/505/r/rpl_stm_000001.result (+82/-0)
test/mysql-test/test_data/505/r/rpl_stm_EE_err2.result (+13/-0)
test/mysql-test/test_data/505/r/rpl_stm_charset.result (+270/-0)
test/mysql-test/test_data/505/r/rpl_stm_flsh_tbls.result (+33/-0)
test/mysql-test/test_data/505/r/rpl_stm_log.result (+117/-0)
test/mysql-test/test_data/505/r/rpl_stm_max_relay_size.result (+273/-0)
test/mysql-test/test_data/505/r/rpl_stm_multi_query.result (+32/-0)
test/mysql-test/test_data/505/r/rpl_stm_mystery22.result (+31/-0)
test/mysql-test/test_data/505/r/rpl_stm_no_op.result (+52/-0)
test/mysql-test/test_data/505/r/rpl_stm_reset_slave.result (+32/-0)
test/mysql-test/test_data/505/r/rpl_stm_until.result (+186/-0)
test/mysql-test/test_data/505/r/rpl_switch_stm_row_mixed.result (+980/-0)
test/mysql-test/test_data/505/r/rpl_temp_table.result (+48/-0)
test/mysql-test/test_data/505/r/rpl_temporary.result (+106/-0)
test/mysql-test/test_data/505/r/rpl_timezone.result (+107/-0)
test/mysql-test/test_data/505/r/rpl_trigger.result (+973/-0)
test/mysql-test/test_data/505/r/rpl_trunc_temp.result (+22/-0)
test/mysql-test/test_data/505/r/rpl_truncate_2myisam.result (+202/-0)
test/mysql-test/test_data/505/r/rpl_truncate_3innodb.result (+214/-0)
test/mysql-test/test_data/505/r/rpl_truncate_7ndb.result (+91/-0)
test/mysql-test/test_data/505/r/rpl_truncate_7ndb_2.result (+91/-0)
test/mysql-test/test_data/505/r/rpl_user_variables.result (+83/-0)
test/mysql-test/test_data/505/r/rpl_variables.result (+19/-0)
test/mysql-test/test_data/505/r/rpl_view.result (+98/-0)
test/mysql-test/test_data/505/r/schema.result (+16/-0)
test/mysql-test/test_data/505/r/se_join_cross.result (+5365/-0)
test/mysql-test/test_data/505/r/se_join_default.result (+7591/-0)
test/mysql-test/test_data/505/r/se_join_inner.result (+5365/-0)
test/mysql-test/test_data/505/r/se_join_left.result (+9061/-0)
test/mysql-test/test_data/505/r/se_join_left_outer.result (+6541/-0)
test/mysql-test/test_data/505/r/se_join_natural_left.result (+6541/-0)
test/mysql-test/test_data/505/r/se_join_natural_left_outer.result (+6541/-0)
test/mysql-test/test_data/505/r/se_join_natural_right.result (+4567/-0)
test/mysql-test/test_data/505/r/se_join_natural_right_outer.result (+4567/-0)
test/mysql-test/test_data/505/r/se_join_right.result (+4567/-0)
test/mysql-test/test_data/505/r/se_join_right_outer.result (+4567/-0)
test/mysql-test/test_data/505/r/se_join_straight.result (+4315/-0)
test/mysql-test/test_data/505/r/select.result (+3647/-0)
test/mysql-test/test_data/505/r/select_found.result (+282/-0)
test/mysql-test/test_data/505/r/select_safe.result (+100/-0)
test/mysql-test/test_data/505/r/show_check.result (+727/-0)
test/mysql-test/test_data/505/r/skip_grants.result (+78/-0)
test/mysql-test/test_data/505/r/skip_name_resolve.result (+14/-0)
test/mysql-test/test_data/505/r/slave-running.result (+3/-0)
test/mysql-test/test_data/505/r/slave-stopped.result (+3/-0)
test/mysql-test/test_data/505/r/sp-big.result (+64/-0)
test/mysql-test/test_data/505/r/sp-code.result (+623/-0)
test/mysql-test/test_data/505/r/sp-dynamic.result (+367/-0)
test/mysql-test/test_data/505/r/sp-error.result (+1570/-0)
test/mysql-test/test_data/505/r/sp-prelocking.result (+257/-0)
test/mysql-test/test_data/505/r/sp-security.result (+498/-0)
test/mysql-test/test_data/505/r/sp-threads.result (+91/-0)
test/mysql-test/test_data/505/r/sp-vars.result (+1045/-0)
test/mysql-test/test_data/505/r/sp.result (+5871/-0)
test/mysql-test/test_data/505/r/sp_notembedded.result (+214/-0)
test/mysql-test/test_data/505/r/sp_trans.result (+558/-0)
test/mysql-test/test_data/505/r/sql_mode.result (+482/-0)
test/mysql-test/test_data/505/r/status.result (+121/-0)
test/mysql-test/test_data/505/r/strict.result (+1352/-0)
test/mysql-test/test_data/505/r/subselect.result (+4330/-0)
test/mysql-test/test_data/505/r/subselect2.result (+146/-0)
test/mysql-test/test_data/505/r/subselect_gis.result (+8/-0)
test/mysql-test/test_data/505/r/subselect_innodb.result (+247/-0)
test/mysql-test/test_data/505/r/subselect_notembedded.result (+3/-0)
test/mysql-test/test_data/505/r/sum_distinct-big.result (+107/-0)
test/mysql-test/test_data/505/r/sum_distinct.result (+97/-0)
test/mysql-test/test_data/505/r/symlink.result (+175/-0)
test/mysql-test/test_data/505/r/synchronization.result (+163/-0)
test/mysql-test/test_data/505/r/sysdate_is_now.result (+4/-0)
test/mysql-test/test_data/505/r/system_mysql_db.result (+255/-0)
test/mysql-test/test_data/505/r/system_mysql_db_refs.result (+67/-0)
test/mysql-test/test_data/505/r/tablelock.result (+48/-0)
test/mysql-test/test_data/505/r/temp_table.result (+165/-0)
test/mysql-test/test_data/505/r/testdb_only.require (+2/-0)
test/mysql-test/test_data/505/r/timezone.result (+47/-0)
test/mysql-test/test_data/505/r/timezone2.result (+287/-0)
test/mysql-test/test_data/505/r/timezone3.result (+41/-0)
test/mysql-test/test_data/505/r/timezone_grant.result (+78/-0)
test/mysql-test/test_data/505/r/trigger-compat.result (+45/-0)
test/mysql-test/test_data/505/r/trigger-grant.result (+445/-0)
test/mysql-test/test_data/505/r/trigger-trans.result (+85/-0)
test/mysql-test/test_data/505/r/trigger.result (+1281/-0)
test/mysql-test/test_data/505/r/true.require (+2/-0)
test/mysql-test/test_data/505/r/truncate.result (+55/-0)
test/mysql-test/test_data/505/r/type_binary.result (+148/-0)
test/mysql-test/test_data/505/r/type_bit.result (+623/-0)
test/mysql-test/test_data/505/r/type_bit_innodb.result (+413/-0)
test/mysql-test/test_data/505/r/type_blob.result (+813/-0)
test/mysql-test/test_data/505/r/type_date.result (+112/-0)
test/mysql-test/test_data/505/r/type_datetime.result (+194/-0)
test/mysql-test/test_data/505/r/type_decimal.result (+788/-0)
test/mysql-test/test_data/505/r/type_enum.result (+1789/-0)
test/mysql-test/test_data/505/r/type_float.result (+275/-0)
test/mysql-test/test_data/505/r/type_nchar.result (+50/-0)
test/mysql-test/test_data/505/r/type_newdecimal-big.result (+26/-0)
test/mysql-test/test_data/505/r/type_newdecimal.result (+1445/-0)
test/mysql-test/test_data/505/r/type_ranges.result (+343/-0)
test/mysql-test/test_data/505/r/type_set.result (+68/-0)
test/mysql-test/test_data/505/r/type_time.result (+87/-0)
test/mysql-test/test_data/505/r/type_timestamp.result (+486/-0)
test/mysql-test/test_data/505/r/type_uint.result (+16/-0)
test/mysql-test/test_data/505/r/type_varchar.result (+492/-0)
test/mysql-test/test_data/505/r/type_year.result (+36/-0)
test/mysql-test/test_data/505/r/udf.result (+395/-0)
test/mysql-test/test_data/505/r/union.result (+1431/-0)
test/mysql-test/test_data/505/r/update.result (+390/-0)
test/mysql-test/test_data/505/r/upgrade.result (+61/-0)
test/mysql-test/test_data/505/r/user_limits.result (+96/-0)
test/mysql-test/test_data/505/r/user_var-binlog.result (+48/-0)
test/mysql-test/test_data/505/r/user_var.result (+317/-0)
test/mysql-test/test_data/505/r/varbinary.result (+80/-0)
test/mysql-test/test_data/505/r/variables.result (+1481/-0)
test/mysql-test/test_data/505/r/view.result (+3041/-0)
test/mysql-test/test_data/505/r/view_grant.result (+958/-0)
test/mysql-test/test_data/505/r/view_query_cache.result (+196/-0)
test/mysql-test/test_data/505/r/wait_timeout.result (+20/-0)
test/mysql-test/test_data/505/r/warnings.result (+277/-0)
test/mysql-test/test_data/505/r/windows.require (+2/-0)
test/mysql-test/test_data/505/r/windows.result (+28/-0)
test/mysql-test/test_data/505/r/xa.result (+176/-0)
test/mysql-test/test_data/505/r/xml.result (+811/-0)
test/mysql-test/test_data/505/t/ai_reset_by_truncate.test (+1624/-0)
test/mysql-test/test_data/505/t/alias.test (+91/-0)
test/mysql-test/test_data/505/t/alter_table.test (+757/-0)
test/mysql-test/test_data/505/t/analyse.test (+86/-0)
test/mysql-test/test_data/505/t/analyze.test (+78/-0)
test/mysql-test/test_data/505/t/ansi.test (+44/-0)
test/mysql-test/test_data/505/t/archive.test (+1529/-0)
test/mysql-test/test_data/505/t/archive_bitfield.test (+98/-0)
test/mysql-test/test_data/505/t/archive_gis.test (+3/-0)
test/mysql-test/test_data/505/t/auto_increment.test (+321/-0)
test/mysql-test/test_data/505/t/backup.test (+80/-0)
test/mysql-test/test_data/505/t/bench_count_distinct.test (+25/-0)
test/mysql-test/test_data/505/t/bigint.test (+293/-0)
test/mysql-test/test_data/505/t/binary.test (+107/-0)
test/mysql-test/test_data/505/t/binlog_row_binlog.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_row_blackhole.test (+11/-0)
test/mysql-test/test_data/505/t/binlog_row_ctype_cp932.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_row_ctype_ucs.test (+6/-0)
test/mysql-test/test_data/505/t/binlog_row_drop_tmp_tbl.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_row_innodb_stat.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_row_insert_select.test (+10/-0)
test/mysql-test/test_data/505/t/binlog_row_mix_innodb_myisam.test (+32/-0)
test/mysql-test/test_data/505/t/binlog_stm_binlog.test (+18/-0)
test/mysql-test/test_data/505/t/binlog_stm_blackhole.test (+6/-0)
test/mysql-test/test_data/505/t/binlog_stm_ctype_cp932.test (+6/-0)
test/mysql-test/test_data/505/t/binlog_stm_ctype_ucs.test (+6/-0)
test/mysql-test/test_data/505/t/binlog_stm_drop_tmp_tbl.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_stm_innodb_stat.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_stm_insert_select.test (+5/-0)
test/mysql-test/test_data/505/t/binlog_stm_mix_innodb_myisam.test (+24/-0)
test/mysql-test/test_data/505/t/bool.test (+65/-0)
test/mysql-test/test_data/505/t/bulk_replace.test (+17/-0)
test/mysql-test/test_data/505/t/case.test (+159/-0)
test/mysql-test/test_data/505/t/cast.test (+225/-0)
test/mysql-test/test_data/505/t/check.test (+42/-0)
test/mysql-test/test_data/505/t/client_xml.test (+25/-0)
test/mysql-test/test_data/505/t/comments.test (+21/-0)
test/mysql-test/test_data/505/t/compare.test (+52/-0)
test/mysql-test/test_data/505/t/compress.test (+18/-0)
test/mysql-test/test_data/505/t/connect.test (+108/-0)
test/mysql-test/test_data/505/t/consistent_snapshot.test (+43/-0)
test/mysql-test/test_data/505/t/constraints.test (+73/-0)
test/mysql-test/test_data/505/t/contributors.test (+1/-0)
test/mysql-test/test_data/505/t/count_distinct.test (+82/-0)
test/mysql-test/test_data/505/t/count_distinct2.test (+85/-0)
test/mysql-test/test_data/505/t/count_distinct3.test (+63/-0)
test/mysql-test/test_data/505/t/crash_commit_before.test (+32/-0)
test/mysql-test/test_data/505/t/create.test (+2019/-0)
test/mysql-test/test_data/505/t/create_not_windows.test (+41/-0)
test/mysql-test/test_data/505/t/create_select_tmp.test (+35/-0)
test/mysql-test/test_data/505/t/csv.test (+1635/-0)
test/mysql-test/test_data/505/t/ctype_big5.test (+66/-0)
test/mysql-test/test_data/505/t/ctype_collate.test (+209/-0)
test/mysql-test/test_data/505/t/ctype_cp1250_ch.test (+64/-0)
test/mysql-test/test_data/505/t/ctype_cp1251.test (+50/-0)
test/mysql-test/test_data/505/t/ctype_cp932_binlog_row.test (+5/-0)
test/mysql-test/test_data/505/t/ctype_cp932_binlog_stm.test (+29/-0)
test/mysql-test/test_data/505/t/ctype_create.test (+107/-0)
test/mysql-test/test_data/505/t/ctype_eucjpms.test (+382/-0)
test/mysql-test/test_data/505/t/ctype_euckr.test (+33/-0)
test/mysql-test/test_data/505/t/ctype_filename.test (+21/-0)
test/mysql-test/test_data/505/t/ctype_gb2312.test (+33/-0)
test/mysql-test/test_data/505/t/ctype_gbk.test (+54/-0)
test/mysql-test/test_data/505/t/ctype_latin1.test (+123/-0)
test/mysql-test/test_data/505/t/ctype_latin1_de.test (+144/-0)
test/mysql-test/test_data/505/t/ctype_latin2.test (+52/-0)
test/mysql-test/test_data/505/t/ctype_latin2_ch.test (+32/-0)
test/mysql-test/test_data/505/t/ctype_many.test (+213/-0)
test/mysql-test/test_data/505/t/ctype_mb.test (+28/-0)
test/mysql-test/test_data/505/t/ctype_recoding.test (+202/-0)
test/mysql-test/test_data/505/t/ctype_sjis.test (+83/-0)
test/mysql-test/test_data/505/t/ctype_tis620.test (+163/-0)
test/mysql-test/test_data/505/t/ctype_uca.test (+477/-0)
test/mysql-test/test_data/505/t/ctype_ucs.test (+583/-0)
test/mysql-test/test_data/505/t/ctype_ucs2_def.test (+14/-0)
test/mysql-test/test_data/505/t/ctype_ujis.test (+1212/-0)
test/mysql-test/test_data/505/t/ctype_utf8.test (+1298/-0)
test/mysql-test/test_data/505/t/date_formats.test (+372/-0)
test/mysql-test/test_data/505/t/default.test (+145/-0)
test/mysql-test/test_data/505/t/delayed.test (+236/-0)
test/mysql-test/test_data/505/t/delete.test (+201/-0)
test/mysql-test/test_data/505/t/derived.test (+337/-0)
test/mysql-test/test_data/505/t/dirty_close.test (+19/-0)
test/mysql-test/test_data/505/t/disabled.def (+270/-0)
test/mysql-test/test_data/505/t/distinct.test (+531/-0)
test/mysql-test/test_data/505/t/drop.test (+275/-0)
test/mysql-test/test_data/505/t/empty_table.test (+18/-0)
test/mysql-test/test_data/505/t/endspace.test (+102/-0)
test/mysql-test/test_data/505/t/errors.test (+47/-0)
test/mysql-test/test_data/505/t/events.test (+409/-0)
test/mysql-test/test_data/505/t/events_bugs.test (+299/-0)
test/mysql-test/test_data/505/t/events_grant.test (+108/-0)
test/mysql-test/test_data/505/t/events_logs_tests.test (+90/-0)
test/mysql-test/test_data/505/t/events_microsec.test (+21/-0)
test/mysql-test/test_data/505/t/events_scheduling.test (+65/-0)
test/mysql-test/test_data/505/t/events_stress.test (+136/-0)
test/mysql-test/test_data/505/t/exampledb.test (+22/-0)
test/mysql-test/test_data/505/t/explain.test (+57/-0)
test/mysql-test/test_data/505/t/federated.test (+1633/-0)
test/mysql-test/test_data/505/t/federated_archive.test (+60/-0)
test/mysql-test/test_data/505/t/federated_bug_13118.test (+44/-0)
test/mysql-test/test_data/505/t/federated_transactions.test (+40/-0)
test/mysql-test/test_data/505/t/flush.test (+637/-0)
test/mysql-test/test_data/505/t/flush_block_commit.test (+77/-0)
test/mysql-test/test_data/505/t/flush_read_lock_kill.test (+54/-0)
test/mysql-test/test_data/505/t/flush_table.test (+129/-0)
test/mysql-test/test_data/505/t/foreign_key.test (+33/-0)
test/mysql-test/test_data/505/t/fulltext.test (+395/-0)
test/mysql-test/test_data/505/t/fulltext2.test (+236/-0)
test/mysql-test/test_data/505/t/fulltext_cache.test (+49/-0)
test/mysql-test/test_data/505/t/fulltext_distinct.test (+49/-0)
test/mysql-test/test_data/505/t/fulltext_left_join.test (+64/-0)
test/mysql-test/test_data/505/t/fulltext_multi.test (+28/-0)
test/mysql-test/test_data/505/t/fulltext_order_by.test (+157/-0)
test/mysql-test/test_data/505/t/fulltext_update.test (+32/-0)
test/mysql-test/test_data/505/t/fulltext_var.test (+40/-0)
test/mysql-test/test_data/505/t/func_compress.test (+91/-0)
test/mysql-test/test_data/505/t/func_concat.test (+74/-0)
test/mysql-test/test_data/505/t/func_crypt.test (+61/-0)
test/mysql-test/test_data/505/t/func_date_add.test (+83/-0)
test/mysql-test/test_data/505/t/func_default.test (+34/-0)
test/mysql-test/test_data/505/t/func_des_encrypt.test (+11/-0)
test/mysql-test/test_data/505/t/func_encrypt.test (+90/-0)
test/mysql-test/test_data/505/t/func_encrypt_nossl.test (+38/-0)
test/mysql-test/test_data/505/t/func_equal.test (+49/-0)
test/mysql-test/test_data/505/t/func_gconcat.test (+506/-0)
test/mysql-test/test_data/505/t/func_group.test (+831/-0)
test/mysql-test/test_data/505/t/func_group_innodb.test (+85/-0)
test/mysql-test/test_data/505/t/func_if.test (+103/-0)
test/mysql-test/test_data/505/t/func_in.test (+307/-0)
test/mysql-test/test_data/505/t/func_isnull.test (+18/-0)
test/mysql-test/test_data/505/t/func_like.test (+119/-0)
test/mysql-test/test_data/505/t/func_math.test (+202/-0)
test/mysql-test/test_data/505/t/func_misc.test (+138/-0)
test/mysql-test/test_data/505/t/func_op.test (+37/-0)
test/mysql-test/test_data/505/t/func_regexp.test (+80/-0)
test/mysql-test/test_data/505/t/func_sapdb.test (+137/-0)
test/mysql-test/test_data/505/t/func_set.test (+60/-0)
test/mysql-test/test_data/505/t/func_str.test (+1113/-0)
test/mysql-test/test_data/505/t/func_system.test (+60/-0)
test/mysql-test/test_data/505/t/func_test.test (+162/-0)
test/mysql-test/test_data/505/t/func_time.test (+706/-0)
test/mysql-test/test_data/505/t/func_timestamp.test (+27/-0)
test/mysql-test/test_data/505/t/gcc296.test (+22/-0)
test/mysql-test/test_data/505/t/gis-rtree.test (+277/-0)
test/mysql-test/test_data/505/t/gis.test (+433/-0)
test/mysql-test/test_data/505/t/grant.test (+945/-0)
test/mysql-test/test_data/505/t/grant2.test (+671/-0)
test/mysql-test/test_data/505/t/grant3.test (+36/-0)
test/mysql-test/test_data/505/t/grant_cache.test (+160/-0)
test/mysql-test/test_data/505/t/greedy_optimizer.test (+317/-0)
test/mysql-test/test_data/505/t/group_by.test (+721/-0)
test/mysql-test/test_data/505/t/group_min_max.test (+948/-0)
test/mysql-test/test_data/505/t/group_min_max_innodb.test (+95/-0)
test/mysql-test/test_data/505/t/having.test (+412/-0)
test/mysql-test/test_data/505/t/heap.test (+476/-0)
test/mysql-test/test_data/505/t/heap_auto_increment.test (+35/-0)
test/mysql-test/test_data/505/t/heap_btree.test (+207/-0)
test/mysql-test/test_data/505/t/heap_hash.test (+266/-0)
test/mysql-test/test_data/505/t/help.test (+141/-0)
test/mysql-test/test_data/505/t/index_merge_innodb.test (+28/-0)
test/mysql-test/test_data/505/t/information_schema.test (+1010/-0)
test/mysql-test/test_data/505/t/information_schema_chmod.test (+23/-0)
test/mysql-test/test_data/505/t/information_schema_db.test (+210/-0)
test/mysql-test/test_data/505/t/information_schema_inno.test (+79/-0)
test/mysql-test/test_data/505/t/information_schema_part.test (+123/-0)
test/mysql-test/test_data/505/t/init_connect.test (+246/-0)
test/mysql-test/test_data/505/t/init_file.test (+20/-0)
test/mysql-test/test_data/505/t/innodb-lock.test (+102/-0)
test/mysql-test/test_data/505/t/innodb-replace.test (+22/-0)
test/mysql-test/test_data/505/t/innodb.test (+2524/-0)
test/mysql-test/test_data/505/t/innodb_gis.test (+3/-0)
test/mysql-test/test_data/505/t/innodb_mysql.test (+14/-0)
test/mysql-test/test_data/505/t/innodb_notembedded.test (+42/-0)
test/mysql-test/test_data/505/t/insert.test (+241/-0)
test/mysql-test/test_data/505/t/insert_select.test (+272/-0)
test/mysql-test/test_data/505/t/insert_update.test (+147/-0)
test/mysql-test/test_data/505/t/join.test (+654/-0)
test/mysql-test/test_data/505/t/join_crash.test (+121/-0)
test/mysql-test/test_data/505/t/join_nested.test (+1059/-0)
test/mysql-test/test_data/505/t/join_outer.test (+814/-0)
test/mysql-test/test_data/505/t/join_outer_innodb.test (+26/-0)
test/mysql-test/test_data/505/t/key.test (+447/-0)
test/mysql-test/test_data/505/t/key_cache.test (+230/-0)
test/mysql-test/test_data/505/t/key_diff.test (+27/-0)
test/mysql-test/test_data/505/t/key_primary.test (+23/-0)
test/mysql-test/test_data/505/t/keywords.test (+48/-0)
test/mysql-test/test_data/505/t/kill.test (+79/-0)
test/mysql-test/test_data/505/t/limit.test (+76/-0)
test/mysql-test/test_data/505/t/load_unique_error1.inc (+5/-0)
test/mysql-test/test_data/505/t/loaddata.test (+144/-0)
test/mysql-test/test_data/505/t/lock.test (+584/-0)
test/mysql-test/test_data/505/t/lock_multi.test (+292/-0)
test/mysql-test/test_data/505/t/lock_tables_lost_commit.test (+24/-0)
test/mysql-test/test_data/505/t/log_state.test (+123/-0)
test/mysql-test/test_data/505/t/log_tables.test (+404/-0)
test/mysql-test/test_data/505/t/lowercase_fs_off.test (+29/-0)
test/mysql-test/test_data/505/t/lowercase_table-master.opt (+1/-0)
test/mysql-test/test_data/505/t/lowercase_table.test (+107/-0)
test/mysql-test/test_data/505/t/lowercase_table2.test (+156/-0)
test/mysql-test/test_data/505/t/lowercase_table3-master.opt (+1/-0)
test/mysql-test/test_data/505/t/lowercase_table3.test (+40/-0)
test/mysql-test/test_data/505/t/lowercase_table_grant-master.opt (+1/-0)
test/mysql-test/test_data/505/t/lowercase_table_grant.test (+30/-0)
test/mysql-test/test_data/505/t/lowercase_table_qcache-master.opt (+1/-0)
test/mysql-test/test_data/505/t/lowercase_table_qcache.test (+34/-0)
test/mysql-test/test_data/505/t/lowercase_view-master.opt (+1/-0)
test/mysql-test/test_data/505/t/lowercase_view.test (+166/-0)
test/mysql-test/test_data/505/t/merge.test (+439/-0)
test/mysql-test/test_data/505/t/metadata.test (+86/-0)
test/mysql-test/test_data/505/t/multi_statement.test (+40/-0)
test/mysql-test/test_data/505/t/multi_update.test (+579/-0)
test/mysql-test/test_data/505/t/myisam-blob.test (+47/-0)
test/mysql-test/test_data/505/t/myisam.test (+1155/-0)
test/mysql-test/test_data/505/t/mysql.test (+266/-0)
test/mysql-test/test_data/505/t/mysql_client_test.test (+30/-0)
test/mysql-test/test_data/505/t/mysql_delimiter.sql (+61/-0)
test/mysql-test/test_data/505/t/mysql_protocols.test (+15/-0)
test/mysql-test/test_data/505/t/mysqlbinlog.test (+200/-0)
test/mysql-test/test_data/505/t/mysqlbinlog2.test (+165/-0)
test/mysql-test/test_data/505/t/mysqlbinlog_base64.test (+39/-0)
test/mysql-test/test_data/505/t/mysqlcheck.test (+36/-0)
test/mysql-test/test_data/505/t/mysqldump-max.test (+71/-0)
test/mysql-test/test_data/505/t/mysqldump.test (+2131/-0)
test/mysql-test/test_data/505/t/mysqlshow.test (+39/-0)
test/mysql-test/test_data/505/t/mysqlslap.test (+46/-0)
test/mysql-test/test_data/505/t/mysqltest.test (+2803/-0)
test/mysql-test/test_data/505/t/ndb_alter_table.test (+367/-0)
test/mysql-test/test_data/505/t/ndb_alter_table2.test (+79/-0)
test/mysql-test/test_data/505/t/ndb_autodiscover.test (+548/-0)
test/mysql-test/test_data/505/t/ndb_autodiscover2.test (+21/-0)
test/mysql-test/test_data/505/t/ndb_autodiscover3.test (+80/-0)
test/mysql-test/test_data/505/t/ndb_basic.test (+810/-0)
test/mysql-test/test_data/505/t/ndb_binlog_basic.test (+72/-0)
test/mysql-test/test_data/505/t/ndb_binlog_basic2.test (+14/-0)
test/mysql-test/test_data/505/t/ndb_binlog_ddl_multi.test (+191/-0)
test/mysql-test/test_data/505/t/ndb_binlog_discover.test (+33/-0)
test/mysql-test/test_data/505/t/ndb_binlog_ignore_db.test (+16/-0)
test/mysql-test/test_data/505/t/ndb_binlog_multi.test (+83/-0)
test/mysql-test/test_data/505/t/ndb_bitfield.test (+124/-0)
test/mysql-test/test_data/505/t/ndb_blob.test (+494/-0)
test/mysql-test/test_data/505/t/ndb_blob_partition.test (+97/-0)
test/mysql-test/test_data/505/t/ndb_cache.test (+122/-0)
test/mysql-test/test_data/505/t/ndb_cache2.test (+361/-0)
test/mysql-test/test_data/505/t/ndb_cache_multi.test (+72/-0)
test/mysql-test/test_data/505/t/ndb_cache_multi2.test (+95/-0)
test/mysql-test/test_data/505/t/ndb_charset.test (+257/-0)
test/mysql-test/test_data/505/t/ndb_condition_pushdown.test (+1756/-0)
test/mysql-test/test_data/505/t/ndb_config.test (+23/-0)
test/mysql-test/test_data/505/t/ndb_config2.test (+7/-0)
test/mysql-test/test_data/505/t/ndb_database.test (+24/-0)
test/mysql-test/test_data/505/t/ndb_dd_backuprestore.test (+349/-0)
test/mysql-test/test_data/505/t/ndb_dd_basic.test (+406/-0)
test/mysql-test/test_data/505/t/ndb_dd_ddl.test (+363/-0)
test/mysql-test/test_data/505/t/ndb_dd_disk2memory.test (+292/-0)
test/mysql-test/test_data/505/t/ndb_dd_dump.test (+288/-0)
test/mysql-test/test_data/505/t/ndb_gis.test (+5/-0)
test/mysql-test/test_data/505/t/ndb_index.test (+131/-0)
test/mysql-test/test_data/505/t/ndb_index_ordered.test (+480/-0)
test/mysql-test/test_data/505/t/ndb_index_unique.test (+361/-0)
test/mysql-test/test_data/505/t/ndb_insert.test (+633/-0)
test/mysql-test/test_data/505/t/ndb_limit.test (+85/-0)
test/mysql-test/test_data/505/t/ndb_load.test (+24/-0)
test/mysql-test/test_data/505/t/ndb_loaddatalocal.test (+70/-0)
test/mysql-test/test_data/505/t/ndb_lock.test (+269/-0)
test/mysql-test/test_data/505/t/ndb_minmax.test (+65/-0)
test/mysql-test/test_data/505/t/ndb_multi.test (+126/-0)
test/mysql-test/test_data/505/t/ndb_multi_row.test (+76/-0)
test/mysql-test/test_data/505/t/ndb_partition_error.test (+74/-0)
test/mysql-test/test_data/505/t/ndb_partition_key.test (+229/-0)
test/mysql-test/test_data/505/t/ndb_partition_list.test (+68/-0)
test/mysql-test/test_data/505/t/ndb_partition_range.test (+264/-0)
test/mysql-test/test_data/505/t/ndb_read_multi_range.test (+274/-0)
test/mysql-test/test_data/505/t/ndb_rename.test (+36/-0)
test/mysql-test/test_data/505/t/ndb_replace.test (+104/-0)
test/mysql-test/test_data/505/t/ndb_restore.test (+367/-0)
test/mysql-test/test_data/505/t/ndb_restore_compat.test (+43/-0)
test/mysql-test/test_data/505/t/ndb_restore_partition.test (+375/-0)
test/mysql-test/test_data/505/t/ndb_subquery.test (+79/-0)
test/mysql-test/test_data/505/t/ndb_temporary.test (+38/-0)
test/mysql-test/test_data/505/t/ndb_transaction.test (+298/-0)
test/mysql-test/test_data/505/t/ndb_trigger.test (+114/-0)
test/mysql-test/test_data/505/t/ndb_truncate.test (+41/-0)
test/mysql-test/test_data/505/t/ndb_types.test (+85/-0)
test/mysql-test/test_data/505/t/ndb_update.test (+41/-0)
test/mysql-test/test_data/505/t/ndb_view.test (+29/-0)
test/mysql-test/test_data/505/t/ndbapi.test (+44/-0)
test/mysql-test/test_data/505/t/negation_elimination.test (+78/-0)
test/mysql-test/test_data/505/t/not_embedded_server.test (+23/-0)
test/mysql-test/test_data/505/t/null.test (+239/-0)
test/mysql-test/test_data/505/t/null_key.test (+245/-0)
test/mysql-test/test_data/505/t/odbc.test (+38/-0)
test/mysql-test/test_data/505/t/olap.test (+333/-0)
test/mysql-test/test_data/505/t/openssl_1.test (+98/-0)
test/mysql-test/test_data/505/t/order_by.test (+646/-0)
test/mysql-test/test_data/505/t/order_fill_sortbuf.test (+29/-0)
test/mysql-test/test_data/505/t/outfile.test (+86/-0)
test/mysql-test/test_data/505/t/overflow.test (+6/-0)
test/mysql-test/test_data/505/t/packet.test (+56/-0)
test/mysql-test/test_data/505/t/partition.test (+2362/-0)
test/mysql-test/test_data/505/t/partition_02myisam.test (+25/-0)
test/mysql-test/test_data/505/t/partition_03ndb.test (+26/-0)
test/mysql-test/test_data/505/t/partition_charset.test (+25/-0)
test/mysql-test/test_data/505/t/partition_error.test (+1978/-0)
test/mysql-test/test_data/505/t/partition_grant.test (+62/-0)
test/mysql-test/test_data/505/t/partition_hash.test (+173/-0)
test/mysql-test/test_data/505/t/partition_innodb.test (+78/-0)
test/mysql-test/test_data/505/t/partition_list.test (+185/-0)
test/mysql-test/test_data/505/t/partition_mgm.test (+57/-0)
test/mysql-test/test_data/505/t/partition_mgm_err.test (+225/-0)
test/mysql-test/test_data/505/t/partition_mgm_err2.test (+31/-0)
test/mysql-test/test_data/505/t/partition_order.test (+848/-0)
test/mysql-test/test_data/505/t/partition_pruning.test (+762/-0)
test/mysql-test/test_data/505/t/partition_range.test (+763/-0)
test/mysql-test/test_data/505/t/pbxt_assertions.test (+31/-0)
test/mysql-test/test_data/505/t/pbxt_bugs.test (+1133/-0)
test/mysql-test/test_data/505/t/pbxt_locking.test (+125/-0)
test/mysql-test/test_data/505/t/pbxt_my_fail.test (+61/-0)
test/mysql-test/test_data/505/t/pbxt_my_fail2.test (+74/-0)
test/mysql-test/test_data/505/t/pbxt_ref_int.test (+393/-0)
test/mysql-test/test_data/505/t/pbxt_snapshot-master.opt (+2/-0)
test/mysql-test/test_data/505/t/pbxt_snapshot.test (+116/-0)
test/mysql-test/test_data/505/t/pbxt_transactions.test (+537/-0)
test/mysql-test/test_data/505/t/pbxt_updates.test (+111/-0)
test/mysql-test/test_data/505/t/perror.test (+19/-0)
test/mysql-test/test_data/505/t/preload.test (+105/-0)
test/mysql-test/test_data/505/t/ps.test (+2784/-0)
test/mysql-test/test_data/505/t/ps_10nestset.test (+76/-0)
test/mysql-test/test_data/505/t/ps_11bugs.test (+183/-0)
test/mysql-test/test_data/505/t/ps_1general.test (+928/-0)
test/mysql-test/test_data/505/t/ps_2myisam.test (+44/-0)
test/mysql-test/test_data/505/t/ps_3innodb.test (+28/-0)
test/mysql-test/test_data/505/t/ps_4heap.test (+53/-0)
test/mysql-test/test_data/505/t/ps_5merge.test (+86/-0)
test/mysql-test/test_data/505/t/ps_7ndb.test (+27/-0)
test/mysql-test/test_data/505/t/ps_grant.test (+128/-0)
test/mysql-test/test_data/505/t/query_cache.test (+1318/-0)
test/mysql-test/test_data/505/t/query_cache_merge.test (+40/-0)
test/mysql-test/test_data/505/t/query_cache_notembedded.test (+268/-0)
test/mysql-test/test_data/505/t/range.test (+782/-0)
test/mysql-test/test_data/505/t/read_only.test (+231/-0)
test/mysql-test/test_data/505/t/rename.test (+94/-0)
test/mysql-test/test_data/505/t/renamedb.test (+53/-0)
test/mysql-test/test_data/505/t/repair.test (+99/-0)
test/mysql-test/test_data/505/t/replace.test (+51/-0)
test/mysql-test/test_data/505/t/rollback.test (+25/-0)
test/mysql-test/test_data/505/t/row.test (+139/-0)
test/mysql-test/test_data/505/t/rowid_order_innodb.test (+14/-0)
test/mysql-test/test_data/505/t/rpl000010.test (+19/-0)
test/mysql-test/test_data/505/t/rpl000011.test (+17/-0)
test/mysql-test/test_data/505/t/rpl000013.test (+53/-0)
test/mysql-test/test_data/505/t/rpl000017.test (+22/-0)
test/mysql-test/test_data/505/t/rpl_000015.test (+47/-0)
test/mysql-test/test_data/505/t/rpl_EE_err.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_LD_INFILE.test (+38/-0)
test/mysql-test/test_data/505/t/rpl_alter.test (+24/-0)
test/mysql-test/test_data/505/t/rpl_alter_db.test (+10/-0)
test/mysql-test/test_data/505/t/rpl_auto_increment.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_auto_increment_11932.test (+63/-0)
test/mysql-test/test_data/505/t/rpl_bit.test (+94/-0)
test/mysql-test/test_data/505/t/rpl_bit_npk.test (+116/-0)
test/mysql-test/test_data/505/t/rpl_change_master.test (+37/-0)
test/mysql-test/test_data/505/t/rpl_commit_after_flush.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_create_database.test (+72/-0)
test/mysql-test/test_data/505/t/rpl_ddl.test (+36/-0)
test/mysql-test/test_data/505/t/rpl_deadlock_innodb.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_delete_no_where.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_do_grant.test (+114/-0)
test/mysql-test/test_data/505/t/rpl_drop.test (+16/-0)
test/mysql-test/test_data/505/t/rpl_drop_db.test (+61/-0)
test/mysql-test/test_data/505/t/rpl_drop_temp.test (+27/-0)
test/mysql-test/test_data/505/t/rpl_dual_pos_advance.test (+108/-0)
test/mysql-test/test_data/505/t/rpl_empty_master_crash.test (+15/-0)
test/mysql-test/test_data/505/t/rpl_err_ignoredtable.test (+66/-0)
test/mysql-test/test_data/505/t/rpl_failed_optimize.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_flushlog_loop.test (+47/-0)
test/mysql-test/test_data/505/t/rpl_for_pbxt3-master.opt (+1/-0)
test/mysql-test/test_data/505/t/rpl_for_pbxt3.test (+39/-0)
test/mysql-test/test_data/505/t/rpl_foreign_key_innodb.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_free_items.test (+22/-0)
test/mysql-test/test_data/505/t/rpl_get_lock.test (+43/-0)
test/mysql-test/test_data/505/t/rpl_ignore_grant.test (+59/-0)
test/mysql-test/test_data/505/t/rpl_ignore_revoke.test (+51/-0)
test/mysql-test/test_data/505/t/rpl_ignore_table.test (+54/-0)
test/mysql-test/test_data/505/t/rpl_ignore_table_update.test (+38/-0)
test/mysql-test/test_data/505/t/rpl_init_slave.test (+34/-0)
test/mysql-test/test_data/505/t/rpl_innodb.test (+48/-0)
test/mysql-test/test_data/505/t/rpl_insert.test (+46/-0)
test/mysql-test/test_data/505/t/rpl_insert_id.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_insert_id_pk.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_insert_ignore.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_insert_select.test (+19/-0)
test/mysql-test/test_data/505/t/rpl_load_from_master.test (+180/-0)
test/mysql-test/test_data/505/t/rpl_load_table_from_master.test (+98/-0)
test/mysql-test/test_data/505/t/rpl_loaddata.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_loaddata2.test (+14/-0)
test/mysql-test/test_data/505/t/rpl_loaddata_m.test (+52/-0)
test/mysql-test/test_data/505/t/rpl_loaddata_s.test (+30/-0)
test/mysql-test/test_data/505/t/rpl_loaddatalocal.test (+65/-0)
test/mysql-test/test_data/505/t/rpl_loadfile.test (+52/-0)
test/mysql-test/test_data/505/t/rpl_log_pos.test (+60/-0)
test/mysql-test/test_data/505/t/rpl_many_optimize.test (+22/-0)
test/mysql-test/test_data/505/t/rpl_master_pos_wait.test (+18/-0)
test/mysql-test/test_data/505/t/rpl_misc_functions.test (+37/-0)
test/mysql-test/test_data/505/t/rpl_mixed_ddl_dml.test (+49/-0)
test/mysql-test/test_data/505/t/rpl_multi_delete.test (+26/-0)
test/mysql-test/test_data/505/t/rpl_multi_delete2.test (+68/-0)
test/mysql-test/test_data/505/t/rpl_multi_engine.test (+108/-0)
test/mysql-test/test_data/505/t/rpl_multi_update.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_multi_update2.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_multi_update3.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_multi_update4.test (+45/-0)
test/mysql-test/test_data/505/t/rpl_ndb_2innodb.test (+16/-0)
test/mysql-test/test_data/505/t/rpl_ndb_2myisam.test (+13/-0)
test/mysql-test/test_data/505/t/rpl_ndb_UUID.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_ndb_auto_inc.test (+118/-0)
test/mysql-test/test_data/505/t/rpl_ndb_bank.test (+181/-0)
test/mysql-test/test_data/505/t/rpl_ndb_basic.test (+187/-0)
test/mysql-test/test_data/505/t/rpl_ndb_blob.test (+142/-0)
test/mysql-test/test_data/505/t/rpl_ndb_blob2.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_ndb_charset.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_ndb_commit_afterflush.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_ndb_dd_advance.test (+580/-0)
test/mysql-test/test_data/505/t/rpl_ndb_dd_basic.test (+85/-0)
test/mysql-test/test_data/505/t/rpl_ndb_dd_partitions.test (+310/-0)
test/mysql-test/test_data/505/t/rpl_ndb_ddl.test (+35/-0)
test/mysql-test/test_data/505/t/rpl_ndb_delete_nowhere.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_ndb_func003.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_ndb_idempotent.test (+117/-0)
test/mysql-test/test_data/505/t/rpl_ndb_innodb2ndb.test (+16/-0)
test/mysql-test/test_data/505/t/rpl_ndb_insert_ignore.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_ndb_load.test (+66/-0)
test/mysql-test/test_data/505/t/rpl_ndb_log.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_ndb_multi.test (+71/-0)
test/mysql-test/test_data/505/t/rpl_ndb_multi_update2.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_ndb_multi_update3.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_ndb_myisam2ndb.test (+15/-0)
test/mysql-test/test_data/505/t/rpl_ndb_relayrotate.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_ndb_row_001.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_ndb_sp003.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_ndb_sp006.test (+9/-0)
test/mysql-test/test_data/505/t/rpl_ndb_sync.test (+104/-0)
test/mysql-test/test_data/505/t/rpl_ndb_trig004.test (+15/-0)
test/mysql-test/test_data/505/t/rpl_ndbapi_multi.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_openssl.test (+69/-0)
test/mysql-test/test_data/505/t/rpl_optimize.test (+54/-0)
test/mysql-test/test_data/505/t/rpl_ps.test (+51/-0)
test/mysql-test/test_data/505/t/rpl_rbr_to_sbr.test (+47/-0)
test/mysql-test/test_data/505/t/rpl_redirect.test (+47/-0)
test/mysql-test/test_data/505/t/rpl_relay_space_innodb.test (+22/-0)
test/mysql-test/test_data/505/t/rpl_relay_space_myisam.test (+21/-0)
test/mysql-test/test_data/505/t/rpl_relayrotate.test (+10/-0)
test/mysql-test/test_data/505/t/rpl_relayspace.test (+34/-0)
test/mysql-test/test_data/505/t/rpl_replicate_do.test (+60/-0)
test/mysql-test/test_data/505/t/rpl_replicate_ignore_db.test (+30/-0)
test/mysql-test/test_data/505/t/rpl_rewrt_db.test (+84/-0)
test/mysql-test/test_data/505/t/rpl_rotate_logs.test (+164/-0)
test/mysql-test/test_data/505/t/rpl_row_001.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_row_4_bytes.test (+33/-0)
test/mysql-test/test_data/505/t/rpl_row_NOW.test (+73/-0)
test/mysql-test/test_data/505/t/rpl_row_USER.test (+58/-0)
test/mysql-test/test_data/505/t/rpl_row_UUID.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_row_basic_11bugs.test (+115/-0)
test/mysql-test/test_data/505/t/rpl_row_basic_2myisam.test (+3/-0)
test/mysql-test/test_data/505/t/rpl_row_basic_3innodb.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_row_basic_7ndb.test (+5/-0)
test/mysql-test/test_data/505/t/rpl_row_basic_8partition.test (+210/-0)
test/mysql-test/test_data/505/t/rpl_row_blob_innodb.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_row_blob_myisam.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_charset.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_row_create_table.test (+229/-0)
test/mysql-test/test_data/505/t/rpl_row_delayed_ins.test (+7/-0)
test/mysql-test/test_data/505/t/rpl_row_drop.test (+48/-0)
test/mysql-test/test_data/505/t/rpl_row_flsh_tbls.test (+17/-0)
test/mysql-test/test_data/505/t/rpl_row_func001.test (+57/-0)
test/mysql-test/test_data/505/t/rpl_row_func002.test (+103/-0)
test/mysql-test/test_data/505/t/rpl_row_func003.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_inexist_tbl.test (+35/-0)
test/mysql-test/test_data/505/t/rpl_row_log.test (+16/-0)
test/mysql-test/test_data/505/t/rpl_row_log_innodb.test (+13/-0)
test/mysql-test/test_data/505/t/rpl_row_max_relay_size.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_mysqlbinlog.test (+319/-0)
test/mysql-test/test_data/505/t/rpl_row_mystery22.test (+45/-0)
test/mysql-test/test_data/505/t/rpl_row_reset_slave.test (+5/-0)
test/mysql-test/test_data/505/t/rpl_row_sp001.test (+146/-0)
test/mysql-test/test_data/505/t/rpl_row_sp002_innodb.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_sp003.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_sp005.test (+110/-0)
test/mysql-test/test_data/505/t/rpl_row_sp006_InnoDB.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_sp007_innodb.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_row_sp008.test (+56/-0)
test/mysql-test/test_data/505/t/rpl_row_sp009.test (+105/-0)
test/mysql-test/test_data/505/t/rpl_row_sp010.test (+80/-0)
test/mysql-test/test_data/505/t/rpl_row_sp011.test (+111/-0)
test/mysql-test/test_data/505/t/rpl_row_sp012.test (+74/-0)
test/mysql-test/test_data/505/t/rpl_row_stop_middle.test (+44/-0)
test/mysql-test/test_data/505/t/rpl_row_stop_middle_update.test (+31/-0)
test/mysql-test/test_data/505/t/rpl_row_trig001.test (+100/-0)
test/mysql-test/test_data/505/t/rpl_row_trig002.test (+80/-0)
test/mysql-test/test_data/505/t/rpl_row_trig003.test (+152/-0)
test/mysql-test/test_data/505/t/rpl_row_trig004.test (+18/-0)
test/mysql-test/test_data/505/t/rpl_row_until.test (+87/-0)
test/mysql-test/test_data/505/t/rpl_row_view01.test (+88/-0)
test/mysql-test/test_data/505/t/rpl_server_id1.test (+26/-0)
test/mysql-test/test_data/505/t/rpl_server_id2.test (+26/-0)
test/mysql-test/test_data/505/t/rpl_session_var.test (+42/-0)
test/mysql-test/test_data/505/t/rpl_set_charset.test (+35/-0)
test/mysql-test/test_data/505/t/rpl_skip_error.test (+29/-0)
test/mysql-test/test_data/505/t/rpl_slave_status.test (+57/-0)
test/mysql-test/test_data/505/t/rpl_sp.test (+585/-0)
test/mysql-test/test_data/505/t/rpl_sp004.test (+97/-0)
test/mysql-test/test_data/505/t/rpl_sp_effects.test (+211/-0)
test/mysql-test/test_data/505/t/rpl_sporadic_master.test (+29/-0)
test/mysql-test/test_data/505/t/rpl_start_stop_slave.test (+36/-0)
test/mysql-test/test_data/505/t/rpl_stm_000001.test (+2/-0)
test/mysql-test/test_data/505/t/rpl_stm_EE_err2.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_stm_charset.test (+2/-0)
test/mysql-test/test_data/505/t/rpl_stm_flsh_tbls.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_stm_log.test (+8/-0)
test/mysql-test/test_data/505/t/rpl_stm_max_relay_size.test (+11/-0)
test/mysql-test/test_data/505/t/rpl_stm_multi_query.test (+12/-0)
test/mysql-test/test_data/505/t/rpl_stm_mystery22.test (+66/-0)
test/mysql-test/test_data/505/t/rpl_stm_no_op.test (+93/-0)
test/mysql-test/test_data/505/t/rpl_stm_reset_slave.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_stm_until.test (+88/-0)
test/mysql-test/test_data/505/t/rpl_switch_stm_row_mixed.test (+544/-0)
test/mysql-test/test_data/505/t/rpl_temp_table.test (+59/-0)
test/mysql-test/test_data/505/t/rpl_temporary.test (+205/-0)
test/mysql-test/test_data/505/t/rpl_timezone.test (+142/-0)
test/mysql-test/test_data/505/t/rpl_trigger.test (+477/-0)
test/mysql-test/test_data/505/t/rpl_trunc_temp.test (+35/-0)
test/mysql-test/test_data/505/t/rpl_truncate_2myisam.test (+4/-0)
test/mysql-test/test_data/505/t/rpl_truncate_3innodb.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_truncate_7ndb.test (+71/-0)
test/mysql-test/test_data/505/t/rpl_truncate_7ndb_2.test (+6/-0)
test/mysql-test/test_data/505/t/rpl_user_variables.test (+57/-0)
test/mysql-test/test_data/505/t/rpl_variables.test (+20/-0)
test/mysql-test/test_data/505/t/rpl_view.test (+155/-0)
test/mysql-test/test_data/505/t/schema.test (+21/-0)
test/mysql-test/test_data/505/t/se_join_cross.test (+3154/-0)
test/mysql-test/test_data/505/t/se_join_default.test (+2734/-0)
test/mysql-test/test_data/505/t/se_join_inner.test (+3154/-0)
test/mysql-test/test_data/505/t/se_join_left.test (+3154/-0)
test/mysql-test/test_data/505/t/se_join_left_outer.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_natural_left.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_natural_left_outer.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_natural_right.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_natural_right_outer.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_right.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_right_outer.test (+2944/-0)
test/mysql-test/test_data/505/t/se_join_straight.test (+2944/-0)
test/mysql-test/test_data/505/t/select.test (+3135/-0)
test/mysql-test/test_data/505/t/select_found.test (+198/-0)
test/mysql-test/test_data/505/t/select_safe.test (+94/-0)
test/mysql-test/test_data/505/t/show_check.test (+566/-0)
test/mysql-test/test_data/505/t/skip_grants.test (+114/-0)
test/mysql-test/test_data/505/t/skip_name_resolve.test (+20/-0)
test/mysql-test/test_data/505/t/sp-big.test (+85/-0)
test/mysql-test/test_data/505/t/sp-code.test (+449/-0)
test/mysql-test/test_data/505/t/sp-dynamic.test (+352/-0)
test/mysql-test/test_data/505/t/sp-error.test (+2299/-0)
test/mysql-test/test_data/505/t/sp-prelocking.test (+305/-0)
test/mysql-test/test_data/505/t/sp-security.test (+843/-0)
test/mysql-test/test_data/505/t/sp-threads.test (+185/-0)
test/mysql-test/test_data/505/t/sp-vars.test (+1319/-0)
test/mysql-test/test_data/505/t/sp.test (+6824/-0)
test/mysql-test/test_data/505/t/sp_notembedded.test (+289/-0)
test/mysql-test/test_data/505/t/sp_trans.test (+603/-0)
test/mysql-test/test_data/505/t/sql_mode.test (+273/-0)
test/mysql-test/test_data/505/t/status.test (+190/-0)
test/mysql-test/test_data/505/t/strict.test (+1210/-0)
test/mysql-test/test_data/505/t/subselect.test (+3209/-0)
test/mysql-test/test_data/505/t/subselect2.test (+170/-0)
test/mysql-test/test_data/505/t/subselect_gis.test (+20/-0)
test/mysql-test/test_data/505/t/subselect_innodb.test (+240/-0)
test/mysql-test/test_data/505/t/subselect_notembedded.test (+10/-0)
test/mysql-test/test_data/505/t/sum_distinct-big.test (+67/-0)
test/mysql-test/test_data/505/t/sum_distinct.test (+99/-0)
test/mysql-test/test_data/505/t/symlink.test (+231/-0)
test/mysql-test/test_data/505/t/synchronization.test (+40/-0)
test/mysql-test/test_data/505/t/sysdate_is_now.test (+11/-0)
test/mysql-test/test_data/505/t/system_mysql_db.test (+24/-0)
test/mysql-test/test_data/505/t/system_mysql_db_fix.test (+106/-0)
test/mysql-test/test_data/505/t/system_mysql_db_refs.test (+103/-0)
test/mysql-test/test_data/505/t/tablelock.test (+51/-0)
test/mysql-test/test_data/505/t/temp_table.test (+183/-0)
test/mysql-test/test_data/505/t/timezone.test (+63/-0)
test/mysql-test/test_data/505/t/timezone2.test (+248/-0)
test/mysql-test/test_data/505/t/timezone3.test (+61/-0)
test/mysql-test/test_data/505/t/timezone_grant.test (+115/-0)
test/mysql-test/test_data/505/t/trigger-compat.test (+95/-0)
test/mysql-test/test_data/505/t/trigger-grant.test (+865/-0)
test/mysql-test/test_data/505/t/trigger-trans.test (+54/-0)
test/mysql-test/test_data/505/t/trigger.test (+1557/-0)
test/mysql-test/test_data/505/t/truncate.test (+57/-0)
test/mysql-test/test_data/505/t/type_binary.test (+105/-0)
test/mysql-test/test_data/505/t/type_bit.test (+278/-0)
test/mysql-test/test_data/505/t/type_bit_innodb.test (+147/-0)
test/mysql-test/test_data/505/t/type_blob.test (+442/-0)
test/mysql-test/test_data/505/t/type_date.test (+128/-0)
test/mysql-test/test_data/505/t/type_datetime.test (+140/-0)
test/mysql-test/test_data/505/t/type_decimal.test (+400/-0)
test/mysql-test/test_data/505/t/type_enum.test (+172/-0)
test/mysql-test/test_data/505/t/type_float.test (+203/-0)
test/mysql-test/test_data/505/t/type_nchar.test (+39/-0)
test/mysql-test/test_data/505/t/type_newdecimal-big.test (+50/-0)
test/mysql-test/test_data/505/t/type_newdecimal.test (+1149/-0)
test/mysql-test/test_data/505/t/type_ranges.test (+179/-0)
test/mysql-test/test_data/505/t/type_set.test (+44/-0)
test/mysql-test/test_data/505/t/type_time.test (+45/-0)
test/mysql-test/test_data/505/t/type_timestamp.test (+334/-0)
test/mysql-test/test_data/505/t/type_uint.test (+20/-0)
test/mysql-test/test_data/505/t/type_varchar.test (+199/-0)
test/mysql-test/test_data/505/t/type_year.test (+27/-0)
test/mysql-test/test_data/505/t/udf.test (+443/-0)
test/mysql-test/test_data/505/t/union.test (+911/-0)
test/mysql-test/test_data/505/t/update.test (+314/-0)
test/mysql-test/test_data/505/t/upgrade.test (+58/-0)
test/mysql-test/test_data/505/t/user_limits.test (+169/-0)
test/mysql-test/test_data/505/t/user_var-binlog.test (+25/-0)
test/mysql-test/test_data/505/t/user_var.test (+226/-0)
test/mysql-test/test_data/505/t/varbinary.test (+86/-0)
test/mysql-test/test_data/505/t/variables.test (+1193/-0)
test/mysql-test/test_data/505/t/view.test (+2994/-0)
test/mysql-test/test_data/505/t/view_grant.test (+1224/-0)
test/mysql-test/test_data/505/t/view_query_cache.test (+134/-0)
test/mysql-test/test_data/505/t/wait_timeout.test (+103/-0)
test/mysql-test/test_data/505/t/warnings.test (+190/-0)
test/mysql-test/test_data/505/t/windows.test (+51/-0)
test/mysql-test/test_data/505/t/xa.test (+287/-0)
test/mysql-test/test_data/505/t/xml.test (+408/-0)
To merge this branch: bzr merge lp:~vkolesnikov/pbxt/pbxt-mysql-5.5
Reviewer Review Type Date Requested Status
PBXT Core Pending
Review via email: mp+64190@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

874. By Vladimir Kolesnikov

fixed a crash with lock.test

873. By Vladimir Kolesnikov

test updates

872. By Vladimir Kolesnikov

fixed a typo in debug configuration

871. By Vladimir Kolesnikov

added tests for MySQL 5.5

870. By Vladimir Kolesnikov

fixed pbxt-test-run.pl, some updates to CMakeLists.txt

869. By Vladimir Kolesnikov

cmake build now works inside of MySQL tree

868. By Vladimir Kolesnikov

intermediate commit - cmake can now build dynamic plugin

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2009-09-17 10:59:05 +0000
3+++ CMakeLists.txt 2011-06-10 14:18:36 +0000
4@@ -16,89 +16,160 @@
5 # along with this program; if not, write to the Free Software
6 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7 #
8-# 2006-03-22 Paul McCullagh
9+# 2011-05-17 Vladimir Kolesnikov
10 #
11 # H&G2JCtL
12 #
13-# This file is used to make the Windows version
14-
15-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMYSQL_SERVER")
16-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMYSQL_SERVER")
17-
18-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DMYSQL_SERVER -DSAFEMALLOC -DSAFE_MUTEX -DDEBUG")
19-SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DMYSQL_SERVER -DSAFEMALLOC -DSAFE_MUTEX -DDEBUG")
20-
21-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
22- ${CMAKE_SOURCE_DIR}/regex
23- ${CMAKE_SOURCE_DIR}/extra/yassl/include)
24-
25-SET(PBXT_SOURCES src/backup_xt.cc
26-src/backup_xt.h
27-src/bsearch_xt.cc
28-src/bsearch_xt.h
29-src/cache_xt.cc
30-src/cache_xt.h
31-src/ccutils_xt.cc
32-src/ccutils_xt.h
33-src/database_xt.cc
34-src/database_xt.h
35-src/datadic_xt.cc
36-src/datadic_xt.h
37-src/datalog_xt.cc
38-src/datalog_xt.h
39-src/discover_xt.cc
40-src/discover_xt.h
41-src/filesys_xt.cc
42-src/filesys_xt.h
43-src/hashtab_xt.cc
44-src/hashtab_xt.h
45-src/ha_pbxt.cc
46-src/ha_pbxt.h
47-src/ha_xtsys.cc
48-src/ha_xtsys.h
49-src/heap_xt.cc
50-src/heap_xt.h
51-src/index_xt.cc
52-src/index_xt.h
53-src/linklist_xt.cc
54-src/linklist_xt.h
55-src/locklist_xt.cc
56-src/locklist_xt.h
57-src/lock_xt.cc
58-src/lock_xt.h
59-src/memory_xt.cc
60-src/memory_xt.h
61-src/myxt_xt.cc
62-src/myxt_xt.h
63-src/pbms.h
64-src/pbms_enabled.cc
65-src/pbms_enabled.h
66-src/pthread_xt.cc
67-src/pthread_xt.h
68-src/restart_xt.cc
69-src/restart_xt.h
70-src/sortedlist_xt.cc
71-src/sortedlist_xt.h
72-src/strutil_xt.cc
73-src/strutil_xt.h
74-src/systab_xt.cc
75-src/systab_xt.h
76-src/tabcache_xt.cc
77-src/tabcache_xt.h
78-src/table_xt.cc
79-src/table_xt.h
80-src/thread_xt.cc
81-src/thread_xt.h
82-src/trace_xt.cc
83-src/trace_xt.h
84-src/util_xt.cc
85-src/util_xt.h
86-src/xaction_xt.cc
87-src/xaction_xt.h
88-src/xactlog_xt.cc
89-src/xactlog_xt.h
90-src/xt_config.h
91-src/xt_defs.h
92-src/xt_errno.h)
93-
94-MYSQL_STORAGE_ENGINE(PBXT)
95+
96+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
97+
98+SET(LIBRARY_OUTPUT_PATH "src/.libs")
99+SET(IN-MYSQL-TREE OFF)
100+
101+IF(NOT DEFINED MYSQL-SOURCE)
102+ SET(MYSQL-SOURCE ".")
103+ SET(IN-MYSQL-TREE ON)
104+ENDIF()
105+
106+IF(NOT EXISTS "${MYSQL-SOURCE}/Makefile")
107+ message(FATAL_ERROR "invalid mysql source ${MYSQL-SOURCE}")
108+ENDIF()
109+
110+IF(${MYSQL-SOURCE} STREQUAL ".")
111+ EXEC_PROGRAM(pwd OUTPUT_VARIABLE MYSQL-SOURCE)
112+ENDIF()
113+
114+EXEC_PROGRAM(echo ARGS " '${MYSQL-SOURCE}' > ${CMAKE_CURRENT_SOURCE_DIR}/mysql-src-root")
115+EXEC_PROGRAM(mkdir "${CMAKE_CURRENT_SOURCE_DIR}/src/.libs")
116+EXEC_PROGRAM(cp "${MYSQL-SOURCE}/plugin/auth/auth_test_plugin.so ${CMAKE_CURRENT_SOURCE_DIR}/src/.libs")
117+FIND_LIBRARY(MYSQLSERVICES_LIB mysqlservices PATHS "${MYSQL-SOURCE}/libservices" NO_DEFAULT_PATH)
118+
119+SET(MYSQL-INC "-I${MYSQL-SOURCE}/sql -I${MYSQL-SOURCE}/include -I${MYSQL-SOURCE}/regex -I${MYSQL-SOURCE}")
120+
121+# assume ${MYSQL-SOURCE}/Makefile exists (tested above)
122+
123+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} CMAKE_INSTALL_PREFIX'" OUTPUT_VARIABLE MYSQL-INSTALL-PREFIX)
124+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} INSTALL_LIBDIR'" OUTPUT_VARIABLE MYSQL-INSTALL-LIBDIR)
125+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} INSTALL_INCLUDEDIR'" OUTPUT_VARIABLE MYSQL-INSTALL-INCLUDEDIR)
126+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} CMAKE_C_FLAGS'" OUTPUT_VARIABLE MYSQL-C-FLAGS)
127+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} MY_MAINTAINER_C_WARNINGS'" OUTPUT_VARIABLE MYSQL-C-WARNINGS)
128+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} CMAKE_CXX_FLAGS'" OUTPUT_VARIABLE MYSQL-CXX-FLAGS)
129+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} MY_MAINTAINER_CXX_WARNINGS'" OUTPUT_VARIABLE MYSQL-CXX-WARNINGS)
130+EXEC_PROGRAM(bash ARGS "-c '${CMAKE_CURRENT_SOURCE_DIR}/get_mysql_var.sh ${MYSQL-SOURCE} WITH_DEBUG'" OUTPUT_VARIABLE MYSQL-WITH-DEBUG)
131+
132+EXEC_PROGRAM("echo \"${MYSQL-C-FLAGS}\" | sed s/^\\'// | sed s/\\'$//" OUTPUT_VARIABLE MYSQL-C-FLAGS)
133+EXEC_PROGRAM("echo \"${MYSQL-CXX-FLAGS}\" | sed s/^\\'// | sed s/\\'$//" OUTPUT_VARIABLE MYSQL-CXX-FLAGS)
134+
135+SET(MYSQL-C-FLAGS "${MYSQL-C-FLAGS} ${MYSQL-C-WARNINGS}")
136+SET(MYSQL-CXX-FLAGS "${MYSQL-CXX-FLAGS} ${MYSQL-CXX-WARNINGS}")
137+
138+IF(CMAKE_COMPILER_IS_GNUCC)
139+ SET(DEBUG-C-FLAGS "-g")
140+ SET(OPTIMIZE-C-FLAGS "-O3")
141+ SET(PROFILE-C-FLAGS "-O3 -pg")
142+ELSE()
143+ SET(DEBUG-C-FLAGS "-g")
144+ SET(OPTIMIZE-C-FLAGS "-O")
145+ SET(PROFILE-C-FLAGS "-O -pg")
146+ENDIF()
147+
148+IF(CMAKE_COMPILER_IS_GNUCXX)
149+ SET(DEBUG-CXX-FLAGS "-g")
150+ SET(OPTIMIZE-CXX-FLAGS "-O3")
151+ SET(PROFILE-CXX-FLAGS "-O3 -pg")
152+ELSE()
153+ SET(DEBUG-CXX-FLAGS "-g")
154+ SET(OPTIMIZE-CXX-FLAGS "-O")
155+ SET(PROFILE-CXX-FLAGS "-O -pg")
156+ENDIF()
157+
158+IF(NOT DEFINED WITH-DEBUG)
159+ SET(WITH-DEBUG "NO")
160+ENDIF()
161+
162+EXEC_PROGRAM("echo \"${MYSQL-C-FLAGS}\" | sed s/-DEXTRA_DEBUG// | sed s/-O0// | sed s/-O1// | sed s/-O2// | sed s/-O3// | sed s/-Os// | sed s/-O// | sed s/-g[A-Za-z0-9\\-]*//g" OUTPUT_VARIABLE MYSQL-C-FLAGS-NODEBUG)
163+EXEC_PROGRAM("echo \"${MYSQL-CXX-FLAGS}\" | sed s/-DEXTRA_DEBUG// | sed s/-O0// | sed s/-O1// | sed s/-O2// | sed s/-O3// | sed s/-Os// | sed s/-O// | sed s/-g[A-Za-z0-9\\-]*//g" OUTPUT_VARIABLE MYSQL-CXX-FLAGS-NODEBUG)
164+
165+IF(${WITH-DEBUG} STREQUAL "NO")
166+ # Optimized version. No debug
167+ SET(PBXT-C-FLAGS "${OPTIMIZE-C-FLAGS} -DNDEBUG -DDBUG_OFF ${MYSQL-C-FLAGS-NODEBUG}")
168+ SET(PBXT-CXX-FLAGS "${OPTIMIZE-CXX-FLAGS} -DNDEBUG -DDBUG_OFF ${MYSQL-CXX-FLAGS-NODEBUG}")
169+ELSEIF(${WITH-DEBUG} STREQUAL "YES")
170+ # Medium debug, debug symbols without optimization (no assertions).
171+ SET(PBXT-C-FLAGS "${DEBUG-C-FLAGS} -DNDEBUG ${MYSQL-C-FLAGS-NODEBUG}")
172+ SET(PBXT-CXX-FLAGS "${DEBUG-CXX-FLAGS} -DNDEBUG ${MYSQL-CXX-FLAGS-NODEBUG}")
173+ELSEIF(${WITH-DEBUG} STREQUAL "FULL")
174+ # Full debug. Very slow in some cases
175+ SET(PBXT-C-FLAGS "${DEBUG-C-FLAGS} -DDEBUG -DEXTRA_DEBUG ${MYSQL-C-FLAGS-NODEBUG}")
176+ SET(PBXT-CXX-FLAGS "${DEBUG-CXX-FLAGS} -DDEBUG -DEXTRA_DEBUG ${MYSQL-CXX-FLAGS-NODEBUG}")
177+ELSEIF(${WITH-DEBUG} STREQUAL "ONLY")
178+ # Only add debug symbols (use mysql optimizations)
179+ SET(PBXT-C-FLAGS "${DEBUG-C-FLAGS} -DNDEBUG ${MYSQL-C-FLAGS}")
180+ SET(PBXT-CXX-FLAGS "${DEBUG-CXX-FLAGS} -DNDEBUG ${MYSQL-CXX-FLAGS}")
181+ELSEIF(${WITH-DEBUG} STREQUAL "PROF")
182+ # Profile version. No debug
183+ #strip_mysql_opt_dbg_flags
184+ SET(PBXT-C-FLAGS "${PROFILE-C-FLAGS} -DNDEBUG ${MYSQL-C-FLAGS-NODEBUG}")
185+ SET(PBXT-CXX-FLAGS "${PROFILE-CXX-FLAGS} -DNDEBUG ${MYSQL-CXX-FLAGS-NODEBUG}")
186+ELSE()
187+ IF(${MYSQL-WITH-DEBUG} EQUAL ON)
188+ SET(PBXT-C-FLAGS "${MYSQL-C-FLAGS} -DDEBUG")
189+ SET(PBXT-CXX-FLAGS "${MYSQL-CXX-FLAGS} -DDEBUG")
190+ ELSE()
191+ SET(PBXT-C-FLAGS "${MYSQL-C-FLAGS} -DNDEBUG -DDBUG_OFF")
192+ SET(PBXT-CXX-FLAGS "${MYSQL-CXX-FLAGS} -DNDEBUG -DDBUG_OFF")
193+ ENDIF()
194+ENDIF()
195+
196+IF(NOT DEFINED WITH-PLUGIN-DIR)
197+ SET(WITH-PLUGIN-DIR "${MYSQL-INSTALL-PREFIX}/${MYSQL-INSTALL-LIBDIR}/mysql/plugin")
198+ENDIF()
199+
200+IF(NOT DEFINED WITH-PBMS)
201+ SET(WITH-PBMS OFF)
202+ENDIF()
203+
204+IF (IN-MYSQL-TREE)
205+ SET(PBXT-PLUGIN-FLAGS "-DMYSQL_SERVER=1 -fno-strict-aliasing")
206+ELSE()
207+ SET(PBXT-PLUGIN-FLAGS "-DMYSQL_SERVER=1 -DMYSQL_DYNAMIC_PLUGIN -fno-strict-aliasing")
208+ENDIF()
209+
210+SET(CMAKE_CXX_FLAGS "${PBXT-CXX-FLAGS} ${PBXT-PLUGIN-FLAGS}")
211+SET(CMAKE_C_FLAGS "${PBXT-C-FLAGS} ${PBXT-PLUGIN-FLAGS}")
212+
213+message("PBXT configured with")
214+message(" MySQL source tree: ${MYSQL-SOURCE}")
215+message(" Debug options: ${WITH-DEBUG}")
216+message(" PBMS: ${WITH-PBMS}")
217+message(" C flags: ${CMAKE_C_FLAGS}")
218+message(" C++ flags: ${CMAKE_CXX_FLAGS}")
219+
220+INCLUDE_DIRECTORIES(${MYSQL-SOURCE}/include ${MYSQL-SOURCE}/sql
221+ ${MYSQL-SOURCE}/regex
222+ ${MYSQL-SOURCE}/extra/yassl/include)
223+
224+SET(PBXT-SOURCES src/backup_xt.cc src/backup_xt.h src/bsearch_xt.cc src/bsearch_xt.h
225+ src/cache_xt.cc src/cache_xt.h src/ccutils_xt.cc src/ccutils_xt.h src/database_xt.cc
226+ src/database_xt.h src/datadic_xt.cc src/datadic_xt.h src/datalog_xt.cc
227+ src/datalog_xt.h src/discover_xt.cc src/discover_xt.h src/filesys_xt.cc
228+ src/filesys_xt.h src/hashtab_xt.cc src/hashtab_xt.h src/ha_pbxt.cc
229+ src/ha_pbxt.h src/ha_xtsys.cc src/ha_xtsys.h src/heap_xt.cc src/heap_xt.h
230+ src/index_xt.cc src/index_xt.h src/linklist_xt.cc src/linklist_xt.h
231+ src/locklist_xt.cc src/locklist_xt.h src/lock_xt.cc src/lock_xt.h
232+ src/memory_xt.cc src/memory_xt.h src/myxt_xt.cc src/myxt_xt.h src/pbms.h
233+ src/pbms_enabled.cc src/pbms_enabled.h src/pthread_xt.cc src/pthread_xt.h
234+ src/restart_xt.cc src/restart_xt.h src/sortedlist_xt.cc src/sortedlist_xt.h
235+ src/strutil_xt.cc src/strutil_xt.h src/systab_xt.cc src/systab_xt.h
236+ src/tabcache_xt.cc src/tabcache_xt.h src/table_xt.cc src/table_xt.h
237+ src/thread_xt.cc src/thread_xt.h src/trace_xt.cc src/trace_xt.h
238+ src/util_xt.cc src/util_xt.h src/xaction_xt.cc src/xaction_xt.h
239+ src/xactlog_xt.cc src/xactlog_xt.h src/xt_config.h src/xt_defs.h src/xt_errno.h)
240+
241+IF(IN-MYSQL-TREE)
242+ MYSQL_ADD_PLUGIN(pbxt ${PBXT-SOURCES}
243+ STORAGE_ENGINE)
244+ELSE()
245+ ADD_LIBRARY(pbxt SHARED ${PBXT-SOURCES})
246+ TARGET_LINK_LIBRARIES (pbxt ${MYSQLSERVICES_LIB})
247+ENDIF()
248
249=== modified file 'config.h.in'
250--- config.h.in 2008-10-23 09:09:25 +0000
251+++ config.h.in 2011-06-10 14:18:36 +0000
252@@ -54,6 +54,9 @@
253 /* Define to the one symbol short name of this package. */
254 #undef PACKAGE_TARNAME
255
256+/* Define to the home page for this package. */
257+#undef PACKAGE_URL
258+
259 /* Define to the version of this package. */
260 #undef PACKAGE_VERSION
261
262
263=== added file 'get_mysql_var.sh'
264--- get_mysql_var.sh 1970-01-01 00:00:00 +0000
265+++ get_mysql_var.sh 2011-06-10 14:18:36 +0000
266@@ -0,0 +1,21 @@
267+#!/bin/bash
268+
269+get_variable_value()
270+{
271+ pbxt_mysql_op=`awk "
272+ BEGIN {
273+ want_var=\"$1\";
274+ }
275+ /^$1:(STRING|PATH|BOOL)=(.*)\\$/ {
276+ result = substr(\\$0, index(\\$0, \"=\")+1);
277+ }
278+ END { print result; }"\
279+ $ENG_MYSQL_SRC/CMakeCache.txt`
280+}
281+
282+ENG_MYSQL_SRC=$1
283+
284+
285+pbxt_mysql_op=""
286+get_variable_value $2
287+echo $pbxt_mysql_op
288
289=== modified file 'src/backup_xt.cc'
290--- src/backup_xt.cc 2010-02-02 10:06:03 +0000
291+++ src/backup_xt.cc 2011-06-10 14:18:36 +0000
292@@ -30,8 +30,14 @@
293 #include <stdlib.h>
294 #include <time.h>
295 #include <ctype.h>
296+#include <mysql_version.h>
297
298+#if MYSQL_VERSION_ID < 50500
299 #include "mysql_priv.h"
300+#else
301+#include "thr_lock.h"
302+#endif
303+
304 #include <backup/api_types.h>
305 #include <backup/backup_engine.h>
306 #include <backup/backup_aux.h> // for build_table_list()
307
308=== modified file 'src/datadic_xt.cc'
309--- src/datadic_xt.cc 2010-09-10 14:46:31 +0000
310+++ src/datadic_xt.cc 2011-06-10 14:18:36 +0000
311@@ -37,8 +37,12 @@
312 #ifdef DRIZZLED
313 //#include <drizzled/common_includes.h>
314 #else
315+
316+#if MYSQL_VERSION_ID < 50500
317 #include "mysql_priv.h"
318 #endif
319+
320+#endif
321 #endif
322
323 #include "pthread_xt.h"
324
325=== modified file 'src/datalog_xt.cc'
326--- src/datalog_xt.cc 2011-03-22 11:40:09 +0000
327+++ src/datalog_xt.cc 2011-06-10 14:18:36 +0000
328@@ -31,8 +31,14 @@
329 #include <stdlib.h>
330
331 #ifndef DRIZZLED
332+#include <mysql_version.h>
333+
334+#if MYSQL_VERSION_ID < 50500
335 #include "mysql_priv.h"
336+#else
337+#include "thr_lock.h"
338 #endif
339+#endif /* !DRIZZLED */
340
341 #include "ha_pbxt.h"
342
343
344=== modified file 'src/discover_xt.cc'
345--- src/discover_xt.cc 2010-09-10 14:46:31 +0000
346+++ src/discover_xt.cc 2011-06-10 14:18:36 +0000
347@@ -24,7 +24,18 @@
348 #include "xt_config.h"
349
350 #ifndef DRIZZLED
351+#include "mysql_version.h"
352+#if MYSQL_VERSION_ID < 50500
353 #include "mysql_priv.h"
354+#else
355+#include "item.h"
356+#include "sql_class.h"
357+#include "sql_table.h"
358+#include "strfunc.h"
359+#include "sql_parse.h"
360+#include "sql_partition.h"
361+#include "sql_base.h"
362+#endif
363 #include "item_create.h"
364 #include <m_ctype.h>
365 #else
366@@ -1325,8 +1336,42 @@
367 }
368
369 //////////////////////////////
370+// check_if_created_table_can_be_opened() cut and pasted directly from sql_table.cc
371+
372+static bool check_if_created_table_can_be_opened(THD *thd,
373+ const char *path,
374+ const char *db,
375+ const char *table_name,
376+ HA_CREATE_INFO *create_info,
377+ handler *file)
378+{
379+ TABLE table;
380+ TABLE_SHARE share;
381+ bool result;
382+
383+ /*
384+ It is impossible to open definition of partitioned table without .par file.
385+ */
386+ if (file->ha_create_handler_files(path, NULL, CHF_CREATE_FLAG, create_info))
387+ return TRUE;
388+
389+ init_tmp_table_share(thd, &share, db, 0, table_name, path);
390+
391+ result= (open_table_def(thd, &share, 0) ||
392+ open_table_from_share(thd, &share, "", 0, (uint) READ_ALL,
393+ 0, &table, TRUE));
394+ if (! result)
395+ (void) closefrm(&table, 0);
396+
397+ free_table_share(&share);
398+ (void) file->ha_create_handler_files(path, NULL, CHF_DELETE_FLAG, create_info);
399+ return result;
400+}
401+
402+//////////////////////////////
403 // mysql_create_table_no_lock() cut and pasted directly from sql_table.cc. (I did make is static after copying it.)
404
405+#if MYSQL_VERSION_ID < 50500
406 static bool mysql_create_table_no_lock(THD *thd,
407 const char *db, const char *table_name,
408 HA_CREATE_INFO *create_info,
409@@ -1543,6 +1588,439 @@
410 goto unlock_and_end;
411 }
412
413+#else /* MYSQL_VERSION_ID >= 50500 */
414+
415+bool mysql_create_table_no_lock(THD *thd,
416+ const char *db, const char *table_name,
417+ HA_CREATE_INFO *create_info,
418+ Alter_info *alter_info,
419+ bool internal_tmp_table,
420+ uint select_field_count,
421+ bool *is_trans)
422+{
423+ char path[FN_REFLEN + 1];
424+ uint path_length;
425+ const char *alias;
426+ uint db_options, key_count;
427+ KEY *key_info_buffer;
428+ handler *file;
429+ bool error= TRUE;
430+ DBUG_ENTER("mysql_create_table_no_lock");
431+ DBUG_PRINT("enter", ("db: '%s' table: '%s' tmp: %d",
432+ db, table_name, internal_tmp_table));
433+
434+
435+ /* Check for duplicate fields and check type of table to create */
436+ if (!alter_info->create_list.elements)
437+ {
438+ my_message(ER_TABLE_MUST_HAVE_COLUMNS, ER(ER_TABLE_MUST_HAVE_COLUMNS),
439+ MYF(0));
440+ DBUG_RETURN(TRUE);
441+ }
442+ if (check_engine(thd, table_name, create_info))
443+ DBUG_RETURN(TRUE);
444+
445+ set_table_default_charset(thd, create_info, (char*) db);
446+
447+ db_options= create_info->table_options;
448+ if (create_info->row_type == ROW_TYPE_DYNAMIC)
449+ db_options|=HA_OPTION_PACK_RECORD;
450+ alias= table_case_name(create_info, table_name);
451+ if (!(file= get_new_handler((TABLE_SHARE*) 0, thd->mem_root,
452+ create_info->db_type)))
453+ {
454+ mem_alloc_error(sizeof(handler));
455+ DBUG_RETURN(TRUE);
456+ }
457+#ifdef WITH_PARTITION_STORAGE_ENGINE
458+ partition_info *part_info= thd->work_part_info;
459+
460+ if (!part_info && create_info->db_type->partition_flags &&
461+ (create_info->db_type->partition_flags() & HA_USE_AUTO_PARTITION))
462+ {
463+ /*
464+ Table is not defined as a partitioned table but the engine handles
465+ all tables as partitioned. The handler will set up the partition info
466+ object with the default settings.
467+ */
468+ thd->work_part_info= part_info= new partition_info();
469+ if (!part_info)
470+ {
471+ mem_alloc_error(sizeof(partition_info));
472+ DBUG_RETURN(TRUE);
473+ }
474+ file->set_auto_partitions(part_info);
475+ part_info->default_engine_type= create_info->db_type;
476+ part_info->is_auto_partitioned= TRUE;
477+ }
478+ if (part_info)
479+ {
480+ /*
481+ The table has been specified as a partitioned table.
482+ If this is part of an ALTER TABLE the handler will be the partition
483+ handler but we need to specify the default handler to use for
484+ partitions also in the call to check_partition_info. We transport
485+ this information in the default_db_type variable, it is either
486+ DB_TYPE_DEFAULT or the engine set in the ALTER TABLE command.
487+
488+ Check that we don't use foreign keys in the table since it won't
489+ work even with InnoDB beneath it.
490+ */
491+ List_iterator<Key> key_iterator(alter_info->key_list);
492+ Key *key;
493+ handlerton *part_engine_type= create_info->db_type;
494+ char *part_syntax_buf;
495+ uint syntax_len;
496+ handlerton *engine_type;
497+ if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
498+ {
499+ my_error(ER_PARTITION_NO_TEMPORARY, MYF(0));
500+ goto err;
501+ }
502+ while ((key= key_iterator++))
503+ {
504+ if (key->type == Key::FOREIGN_KEY &&
505+ !part_info->is_auto_partitioned)
506+ {
507+ my_error(ER_FOREIGN_KEY_ON_PARTITIONED, MYF(0));
508+ goto err;
509+ }
510+ }
511+ if ((part_engine_type == partition_hton) &&
512+ part_info->default_engine_type)
513+ {
514+ /*
515+ This only happens at ALTER TABLE.
516+ default_engine_type was assigned from the engine set in the ALTER
517+ TABLE command.
518+ */
519+ ;
520+ }
521+ else
522+ {
523+ if (create_info->used_fields & HA_CREATE_USED_ENGINE)
524+ {
525+ part_info->default_engine_type= create_info->db_type;
526+ }
527+ else
528+ {
529+ if (part_info->default_engine_type == NULL)
530+ {
531+ part_info->default_engine_type= ha_checktype(thd,
532+ DB_TYPE_DEFAULT, 0, 0);
533+ }
534+ }
535+ }
536+ DBUG_PRINT("info", ("db_type = %s create_info->db_type = %s",
537+ ha_resolve_storage_engine_name(part_info->default_engine_type),
538+ ha_resolve_storage_engine_name(create_info->db_type)));
539+ if (part_info->check_partition_info(thd, &engine_type, file,
540+ create_info, FALSE))
541+ goto err;
542+ part_info->default_engine_type= engine_type;
543+
544+ /*
545+ We reverse the partitioning parser and generate a standard format
546+ for syntax stored in frm file.
547+ */
548+ if (!(part_syntax_buf= generate_partition_syntax(part_info,
549+ &syntax_len,
550+ TRUE, TRUE,
551+ create_info,
552+ alter_info)))
553+ goto err;
554+ part_info->part_info_string= part_syntax_buf;
555+ part_info->part_info_len= syntax_len;
556+ if ((!(engine_type->partition_flags &&
557+ engine_type->partition_flags() & HA_CAN_PARTITION)) ||
558+ create_info->db_type == partition_hton)
559+ {
560+ /*
561+ The handler assigned to the table cannot handle partitioning.
562+ Assign the partition handler as the handler of the table.
563+ */
564+ DBUG_PRINT("info", ("db_type: %s",
565+ ha_resolve_storage_engine_name(create_info->db_type)));
566+ delete file;
567+ create_info->db_type= partition_hton;
568+ if (!(file= get_ha_partition(part_info)))
569+ {
570+ DBUG_RETURN(TRUE);
571+ }
572+ /*
573+ If we have default number of partitions or subpartitions we
574+ might require to set-up the part_info object such that it
575+ creates a proper .par file. The current part_info object is
576+ only used to create the frm-file and .par-file.
577+ */
578+ if (part_info->use_default_num_partitions &&
579+ part_info->num_parts &&
580+ (int)part_info->num_parts !=
581+ file->get_default_no_partitions(create_info))
582+ {
583+ uint i;
584+ List_iterator<partition_element> part_it(part_info->partitions);
585+ part_it++;
586+ DBUG_ASSERT(thd->lex->sql_command != SQLCOM_CREATE_TABLE);
587+ for (i= 1; i < part_info->partitions.elements; i++)
588+ (part_it++)->part_state= PART_TO_BE_DROPPED;
589+ }
590+ else if (part_info->is_sub_partitioned() &&
591+ part_info->use_default_num_subpartitions &&
592+ part_info->num_subparts &&
593+ (int)part_info->num_subparts !=
594+ file->get_default_no_partitions(create_info))
595+ {
596+ DBUG_ASSERT(thd->lex->sql_command != SQLCOM_CREATE_TABLE);
597+ part_info->num_subparts= file->get_default_no_partitions(create_info);
598+ }
599+ }
600+ else if (create_info->db_type != engine_type)
601+ {
602+ /*
603+ We come here when we don't use a partitioned handler.
604+ Since we use a partitioned table it must be "native partitioned".
605+ We have switched engine from defaults, most likely only specified
606+ engines in partition clauses.
607+ */
608+ delete file;
609+ if (!(file= get_new_handler((TABLE_SHARE*) 0, thd->mem_root,
610+ engine_type)))
611+ {
612+ mem_alloc_error(sizeof(handler));
613+ DBUG_RETURN(TRUE);
614+ }
615+ }
616+ }
617+#endif
618+
619+ if (mysql_prepare_create_table(thd, create_info, alter_info,
620+ internal_tmp_table,
621+ &db_options, file,
622+ &key_info_buffer, &key_count,
623+ select_field_count))
624+ goto err;
625+
626+ /* Check if table exists */
627+ if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
628+ {
629+ path_length= build_tmptable_filename(thd, path, sizeof(path));
630+ create_info->table_options|=HA_CREATE_DELAY_KEY_WRITE;
631+ }
632+ else
633+ {
634+ path_length= build_table_filename(path, sizeof(path) - 1, db, alias, reg_ext,
635+ internal_tmp_table ? FN_IS_TMP : 0);
636+ }
637+
638+ /* Check if table already exists */
639+ if ((create_info->options & HA_LEX_CREATE_TMP_TABLE) &&
640+ find_temporary_table(thd, db, table_name))
641+ {
642+ if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
643+ {
644+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
645+ ER_TABLE_EXISTS_ERROR, ER(ER_TABLE_EXISTS_ERROR),
646+ alias);
647+ error= 0;
648+ goto err;
649+ }
650+ my_error(ER_TABLE_EXISTS_ERROR, MYF(0), alias);
651+ goto err;
652+ }
653+
654+ if (!internal_tmp_table && !(create_info->options & HA_LEX_CREATE_TMP_TABLE))
655+ {
656+ if (!access(path,F_OK))
657+ {
658+ if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
659+ goto warn;
660+ my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
661+ goto err;
662+ }
663+ /*
664+ We don't assert here, but check the result, because the table could be
665+ in the table definition cache and in the same time the .frm could be
666+ missing from the disk, in case of manual intervention which deletes
667+ the .frm file. The user has to use FLUSH TABLES; to clear the cache.
668+ Then she could create the table. This case is pretty obscure and
669+ therefore we don't introduce a new error message only for it.
670+ */
671+ mysql_mutex_lock(&LOCK_open);
672+ if (get_cached_table_share(db, table_name))
673+ {
674+ mysql_mutex_unlock(&LOCK_open);
675+ my_error(ER_TABLE_EXISTS_ERROR, MYF(0), table_name);
676+ goto err;
677+ }
678+ mysql_mutex_unlock(&LOCK_open);
679+ }
680+
681+ /*
682+ Check that table with given name does not already
683+ exist in any storage engine. In such a case it should
684+ be discovered and the error ER_TABLE_EXISTS_ERROR be returned
685+ unless user specified CREATE TABLE IF EXISTS
686+ An exclusive metadata lock ensures that no
687+ one else is attempting to discover the table. Since
688+ it's not on disk as a frm file, no one could be using it!
689+ */
690+ if (!(create_info->options & HA_LEX_CREATE_TMP_TABLE))
691+ {
692+ bool create_if_not_exists =
693+ create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS;
694+ int retcode = ha_table_exists_in_engine(thd, db, table_name);
695+ DBUG_PRINT("info", ("exists_in_engine: %u",retcode));
696+ switch (retcode)
697+ {
698+ case HA_ERR_NO_SUCH_TABLE:
699+ /* Normal case, no table exists. we can go and create it */
700+ break;
701+ case HA_ERR_TABLE_EXIST:
702+ DBUG_PRINT("info", ("Table existed in handler"));
703+
704+ if (create_if_not_exists)
705+ goto warn;
706+ my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
707+ goto err;
708+ break;
709+ default:
710+ DBUG_PRINT("info", ("error: %u from storage engine", retcode));
711+ my_error(retcode, MYF(0),table_name);
712+ goto err;
713+ }
714+ }
715+
716+ thd_proc_info(thd, "creating table");
717+
718+#ifdef HAVE_READLINK
719+ {
720+ size_t dirlen;
721+ char dirpath[FN_REFLEN];
722+
723+ /*
724+ data_file_name and index_file_name include the table name without
725+ extension. Mostly this does not refer to an existing file. When
726+ comparing data_file_name or index_file_name against the data
727+ directory, we try to resolve all symbolic links. On some systems,
728+ we use realpath(3) for the resolution. This returns ENOENT if the
729+ resolved path does not refer to an existing file. my_realpath()
730+ does then copy the requested path verbatim, without symlink
731+ resolution. Thereafter the comparison can fail even if the
732+ requested path is within the data directory. E.g. if symlinks to
733+ another file system are used. To make realpath(3) return the
734+ resolved path, we strip the table name and compare the directory
735+ path only. If the directory doesn't exist either, table creation
736+ will fail anyway.
737+ */
738+ if (create_info->data_file_name)
739+ {
740+ dirname_part(dirpath, create_info->data_file_name, &dirlen);
741+ if (test_if_data_home_dir(dirpath))
742+ {
743+ my_error(ER_WRONG_ARGUMENTS, MYF(0), "DATA DIRECTORY");
744+ goto err;
745+ }
746+ }
747+ if (create_info->index_file_name)
748+ {
749+ dirname_part(dirpath, create_info->index_file_name, &dirlen);
750+ if (test_if_data_home_dir(dirpath))
751+ {
752+ my_error(ER_WRONG_ARGUMENTS, MYF(0), "INDEX DIRECTORY");
753+ goto err;
754+ }
755+ }
756+ }
757+
758+#ifdef WITH_PARTITION_STORAGE_ENGINE
759+ if (check_partition_dirs(thd->lex->part_info))
760+ {
761+ goto err;
762+ }
763+#endif /* WITH_PARTITION_STORAGE_ENGINE */
764+
765+ if (!my_use_symdir || (thd->variables.sql_mode & MODE_NO_DIR_IN_CREATE))
766+#endif /* HAVE_READLINK */
767+ {
768+ if (create_info->data_file_name)
769+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
770+ WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED),
771+ "DATA DIRECTORY");
772+ if (create_info->index_file_name)
773+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
774+ WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED),
775+ "INDEX DIRECTORY");
776+ create_info->data_file_name= create_info->index_file_name= 0;
777+ }
778+ create_info->table_options=db_options;
779+
780+ path[path_length - reg_ext_length]= '\0'; // Remove .frm extension
781+ if (rea_create_table(thd, path, db, table_name,
782+ create_info, alter_info->create_list,
783+ key_count, key_info_buffer, file))
784+ goto err;
785+
786+ if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
787+ {
788+ /*
789+ Open a table (skipping table cache) and add it into
790+ THD::temporary_tables list.
791+ */
792+
793+ TABLE *table= open_table_uncached(thd, path, db, table_name, TRUE);
794+
795+ if (!table)
796+ {
797+ (void) rm_temporary_table(create_info->db_type, path);
798+ goto err;
799+ }
800+
801+ if (is_trans != NULL)
802+ *is_trans= table->file->has_transactions();
803+
804+ thd->thread_specific_used= TRUE;
805+ }
806+#ifdef WITH_PARTITION_STORAGE_ENGINE
807+ else if (part_info && create_info->frm_only)
808+ {
809+ /*
810+ For partitioned tables we can't find some problems with table
811+ until table is opened. Therefore in order to disallow creation
812+ of corrupted tables we have to try to open table as the part
813+ of its creation process.
814+ In cases when both .FRM and SE part of table are created table
815+ is implicitly open in ha_create_table() call.
816+ In cases when we create .FRM without SE part we have to open
817+ table explicitly.
818+ */
819+ if (check_if_created_table_can_be_opened(thd, path, db, table_name,
820+ create_info, file))
821+ {
822+ char frm_name[FN_REFLEN];
823+ strxmov(frm_name, path, reg_ext, NullS);
824+ (void) mysql_file_delete(key_file_frm, frm_name, MYF(0));
825+ goto err;
826+ }
827+ }
828+#endif
829+
830+ error= FALSE;
831+err:
832+ thd_proc_info(thd, "After create");
833+ delete file;
834+ DBUG_RETURN(error);
835+
836+warn:
837+ error= FALSE;
838+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
839+ ER_TABLE_EXISTS_ERROR, ER(ER_TABLE_EXISTS_ERROR),
840+ alias);
841+ goto err;
842+}
843+
844+#endif
845+
846 ////////////////////////////////////////////////////////
847 ////// END OF CUT AND PASTES FROM sql_table.cc ////////
848 ////////////////////////////////////////////////////////
849@@ -1617,7 +2095,7 @@
850 #else
851 if (add_field_to_list(thd, &field_name, info->field_type, field_length_ptr, info->field_decimal_length,
852 info->field_flags,
853-#if MYSQL_VERSION_ID >= 50404
854+#if (MYSQL_VERSION_ID >= 50404) && (MYSQL_VERSION_ID < 50500)
855 HA_SM_DISK,
856 COLUMN_FORMAT_TYPE_FIXED,
857 #endif
858@@ -1664,7 +2142,11 @@
859 part_info = thd->work_part_info;
860 thd->work_part_info = NULL;
861 #endif
862+#if MYSQL_VERSION_ID < 50500
863 if (mysql_create_table_no_lock(thd, db, name, &mylex.create_info, &mylex.alter_info, 1, 0))
864+#else
865+ if (mysql_create_table_no_lock(thd, db, name, &mylex.create_info, &mylex.alter_info, 1, 0, NULL))
866+#endif
867 goto error;
868 #ifdef WITH_PARTITION_STORAGE_ENGINE
869 thd->work_part_info = part_info;
870
871=== modified file 'src/discover_xt.h'
872--- src/discover_xt.h 2009-03-25 01:43:40 +0000
873+++ src/discover_xt.h 2011-06-10 14:18:36 +0000
874@@ -26,8 +26,11 @@
875 #ifdef DRIZZLED
876 #include <drizzled/common.h>
877 #else
878+#include "mysql_version.h"
879+#if MYSQL_VERSION_ID < 50500
880 #include "mysql_priv.h"
881 #endif
882+#endif /* !DRIZZLED */
883
884 /*
885 * ---------------------------------------------------------------
886
887=== modified file 'src/ha_pbxt.cc'
888--- src/ha_pbxt.cc 2010-12-10 12:45:07 +0000
889+++ src/ha_pbxt.cc 2011-06-10 14:18:36 +0000
890@@ -59,10 +59,20 @@
891 using drizzled::plugin::InfoSchemaMethods;
892
893 #else
894+
895+#include "mysql_version.h"
896+
897+#if MYSQL_VERSION_ID < 50500
898 #include "mysql_priv.h"
899 #include <mysql/plugin.h>
900+#else
901+#include <sql_plugin.h>
902+#include "sql_class.h"
903+#include "sql_lex.h"
904 #endif
905
906+#endif /* DRIZZLED */
907+
908 #include "ha_pbxt.h"
909 #include "ha_xtsys.h"
910
911@@ -1132,8 +1142,11 @@
912 * library that some symbol was not found.
913 */
914 void *dummy = my_malloc(100, MYF(0));
915+#if MYSQL_VERSION_ID < 50500
916 my_free((byte *) dummy, MYF(0));
917-
918+#else
919+ my_free((byte *) dummy);
920+#endif
921 if (!pbxt_inited) {
922 XTThreadPtr self = NULL;
923
924@@ -1615,7 +1628,7 @@
925 static XTThreadPtr ha_temp_open_global_database(handlerton *hton, THD **ret_thd, int *temp_thread, const char *thread_name, int *err)
926 {
927 THD *thd;
928- XTThreadPtr self = NULL;
929+ volatile XTThreadPtr self = NULL; // 'volatile' keeps longjmp safe, gcc quiet
930
931 *temp_thread = 0;
932 if ((thd = current_thd))
933@@ -4048,23 +4061,27 @@
934
935 #ifdef SAFE_MUTEX
936
937-#if MYSQL_VERSION_ID < 50404
938 #if MYSQL_VERSION_ID < 50123
939- safe_mutex_lock(&share->mutex,__FILE__,__LINE__);
940-#else
941- safe_mutex_lock(&share->mutex,0,__FILE__,__LINE__);
942-#endif
943-#else
944+ safe_mutex_lock(&share->mutex,0,__FILE__,__LINE__);
945+#elif MYSQL_VERSION_ID < 50404
946+ safe_mutex_lock(&share->mutex,0,__FILE__,__LINE__);
947+#elif MYSQL_VERSION_ID < 50500
948 safe_mutex_lock(&share->WHICH_MUTEX,0,__FILE__,__LINE__);
949+#else
950+ mysql_mutex_lock(&share->WHICH_MUTEX);
951 #endif
952
953 #else // SAFE_MUTEX
954
955+#if MYSQL_VERSION_ID < 50500
956 #ifdef MY_PTHREAD_FASTMUTEX
957 my_pthread_fastmutex_lock(&share->WHICH_MUTEX);
958 #else
959 pthread_mutex_lock(&share->WHICH_MUTEX);
960 #endif
961+#else // #elif MYSQL_VERSION_ID >= 50500
962+ mysql_mutex_lock(&share->WHICH_MUTEX);
963+#endif
964
965 #endif // SAFE_MUTEX
966 #ifdef DRIZZLED
967@@ -4089,6 +4106,11 @@
968 table->key_info[i].rec_per_key[j] = (ulong) rec_per_key;
969 }
970 if (share->tmp_table == NO_TMP_TABLE)
971+
972+#if MYSQL_VERSION_ID >= 50500
973+
974+ mysql_mutex_unlock(&share->WHICH_MUTEX);
975+#else
976 #ifdef SAFE_MUTEX
977 safe_mutex_unlock(&share->WHICH_MUTEX,__FILE__,__LINE__);
978 #else
979@@ -4098,6 +4120,7 @@
980 pthread_mutex_unlock(&share->WHICH_MUTEX);
981 #endif
982 #endif
983+#endif
984 /*
985 Set data_file_name and index_file_name to point at the symlink value
986 if table is symlinked (Ie; Real name is not same as generated name)
987@@ -4465,10 +4488,16 @@
988 XT_RETURN(err);
989 }
990
991+#if MYSQL_VERSION_ID < 50500
992+
993+// In MySQL 5.5 an engine should have the HA_CAN_REPAIR flag set or must return HA_ADMIN_NOT_IMPLEMENTED
994+// from ::repair which is already done by the default implementation
995+
996 int ha_pbxt::repair(THD *XT_UNUSED(thd), HA_CHECK_OPT *XT_UNUSED(check_opt))
997 {
998 return(HA_ADMIN_TRY_ALTER);
999 }
1000+#endif
1001
1002 /*
1003 * This is mapped to "ALTER TABLE tablename TYPE=PBXT", which rebuilds
1004@@ -4930,7 +4959,9 @@
1005
1006 /*
1007 * This function is called for each table in a statement
1008- * after LOCK TABLES has been used.
1009+ * after LOCK TABLES has been used. Notice that LOCK TABLES
1010+ * doesn't imply a call to ha_pbxt::external_lock if the locked
1011+ * table (or view) is not a PBXT table.
1012 *
1013 * Currently I only use this function to set the
1014 * current thread of the table handle.
1015@@ -5084,6 +5115,7 @@
1016
1017 /* Start a statment (see {START-STAT-HACK}): */
1018 if (!pb_open_tab->ot_thread->st_stat_trans) {
1019+ pb_mysql_thd = thd;
1020 trans_register_ha(pb_mysql_thd, FALSE, pbxt_hton);
1021 XT_PRINT0(pb_open_tab->ot_thread, "START STAT - ha_pbxt::start_stmt --> trans_register_ha\n");
1022 pb_open_tab->ot_thread->st_stat_trans = TRUE;
1023@@ -5842,8 +5874,13 @@
1024 ref_tbl_name++;
1025 ref_db_name++;
1026
1027+#if MYSQL_VERSION_ID < 50500
1028 fk_info->forein_id = thd_make_lex_string(thd, 0,
1029 fk->co_name, (uint) strlen(fk->co_name), 1);
1030+#else
1031+ fk_info->foreign_id = thd_make_lex_string(thd, 0, // typo in field name, fixed in MySQL 5.5
1032+ fk->co_name, (uint) strlen(fk->co_name), 1);
1033+#endif
1034
1035 fk_info->referenced_db = thd_make_lex_string(thd, 0,
1036 ref_db_name, (uint) (ref_tbl_name - ref_db_name - 1), 1);
1037@@ -5950,7 +5987,11 @@
1038 if (var->flags & PLUGIN_VAR_MEMALLOC)
1039 {
1040 *(char **)tgt= my_strdup(*(char **) save, MYF(0));
1041+#if MYSQL_VERSION_ID < 50500
1042 my_free(old, MYF(0));
1043+#else
1044+ my_free(old);
1045+#endif
1046 }
1047 record_cache_size = ha_set_variable(&pbxt_record_cache_size, &vp_record_cache_size);
1048 xt_tc_set_cache_size((size_t) record_cache_size);
1049
1050=== modified file 'src/ha_pbxt.h'
1051--- src/ha_pbxt.h 2009-11-11 10:20:47 +0000
1052+++ src/ha_pbxt.h 2011-06-10 14:18:36 +0000
1053@@ -31,7 +31,13 @@
1054 #include <drizzled/cursor.h>
1055
1056 #else
1057+#include "mysql_version.h"
1058+#if MYSQL_VERSION_ID < 50500
1059 #include "mysql_priv.h"
1060+#else
1061+#include "handler.h" /* handler */
1062+#include "table.h" /* TABLE_SHARE */
1063+#endif
1064 #endif
1065
1066 #include "xt_defs.h"
1067@@ -250,7 +256,11 @@
1068 int start_stmt(THD *thd, thr_lock_type lock_type);
1069 void unlock_row();
1070 int delete_all_rows(void);
1071+#if MYSQL_VERSION_ID >= 50500
1072+ int truncate() { return delete_all_rows(); }
1073+#else
1074 int repair(THD* thd, HA_CHECK_OPT* check_opt);
1075+#endif
1076 int analyze(THD* thd, HA_CHECK_OPT* check_opt);
1077 int optimize(THD* thd, HA_CHECK_OPT* check_opt);
1078 int check(THD* thd, HA_CHECK_OPT* check_opt);
1079@@ -318,7 +328,6 @@
1080
1081 /* How to lock MySQL mutexes! */
1082 #ifdef SAFE_MUTEX
1083-
1084 #if MYSQL_VERSION_ID < 60000
1085 #if MYSQL_VERSION_ID < 50123
1086 #define myxt_mutex_lock(x) safe_mutex_lock(x,__FILE__,__LINE__)
1087
1088=== modified file 'src/ha_xtsys.h'
1089--- src/ha_xtsys.h 2009-11-10 15:17:41 +0000
1090+++ src/ha_xtsys.h 2011-06-10 14:18:36 +0000
1091@@ -34,8 +34,13 @@
1092 #include <drizzled/current_session.h>
1093 #include <drizzled/cursor.h>
1094 #else
1095+#include "mysql_version.h"
1096+#if MYSQL_VERSION_ID < 50500
1097 #include "mysql_priv.h"
1098+#else
1099+#include "item.h"
1100 #endif
1101+#endif /* DRIZZLED */
1102
1103 #include "xt_defs.h"
1104
1105
1106=== modified file 'src/index_xt.cc'
1107--- src/index_xt.cc 2010-11-10 09:57:21 +0000
1108+++ src/index_xt.cc 2011-06-10 14:18:36 +0000
1109@@ -37,7 +37,14 @@
1110 #ifdef DRIZZLED
1111 #include <drizzled/base.h>
1112 #else
1113+#include "mysql_version.h"
1114+
1115+#if MYSQL_VERSION_ID < 50500
1116 #include "mysql_priv.h"
1117+#else
1118+#include "my_base.h"
1119+#endif
1120+
1121 #endif
1122
1123 #include "pthread_xt.h"
1124
1125=== modified file 'src/myxt_xt.cc'
1126--- src/myxt_xt.cc 2010-09-10 14:46:31 +0000
1127+++ src/myxt_xt.cc 2011-06-10 14:18:36 +0000
1128@@ -39,7 +39,29 @@
1129 //extern "C" struct charset_info_st *session_charset(Session *session);
1130 extern pthread_key_t THR_Session;
1131 #else
1132+#include "mysql_version.h"
1133+
1134+#if MYSQL_VERSION_ID < 50500
1135 #include "mysql_priv.h"
1136+#else
1137+
1138+#include "sql_class.h"
1139+#include "strfunc.h"
1140+#include "field.h"
1141+#include "sql_lex.h"
1142+#include "sql_table.h"
1143+#include "sql_base.h"
1144+#include "sql_show.h"
1145+
1146+#ifdef BAD_MEMCPY /* Problem with gcc on Alpha */
1147+#define memcpy_fixed(A,B,C) bmove((A),(B),(C))
1148+#else
1149+#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
1150+#endif
1151+#define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1)
1152+
1153+#endif
1154+
1155 #include <mysql/plugin.h>
1156 #endif
1157
1158@@ -2056,7 +2078,9 @@
1159 return NULL;
1160 }
1161
1162-#if MYSQL_VERSION_ID >= 50404
1163+#if MYSQL_VERSION_ID < 50404
1164+ if ((error = open_table_from_share(thd, share, "", 0, (uint) READ_ALL, 0, table, FALSE)))
1165+#elif MYSQL_VERSION_ID < 50500
1166 if ((error = open_table_from_share(thd, share, "", 0, (uint) READ_ALL, 0, table, OTM_OPEN)))
1167 #else
1168 if ((error = open_table_from_share(thd, share, "", 0, (uint) READ_ALL, 0, table, FALSE)))
1169
1170=== modified file 'src/pbms_enabled.cc'
1171--- src/pbms_enabled.cc 2010-07-21 21:57:48 +0000
1172+++ src/pbms_enabled.cc 2011-06-10 14:18:36 +0000
1173@@ -67,8 +67,13 @@
1174 #else
1175 #define PBMS_API pbms_enabled_api
1176
1177+#include "mysql_version.h"
1178 #include "pbms_enabled.h"
1179+
1180+#if MYSQL_VERSION_ID < 50500
1181 #include "mysql_priv.h"
1182+#endif
1183+
1184 #include <mysql/plugin.h>
1185 #define session_alloc(sess, size) thd_alloc(sess, size);
1186 #define current_session current_thd
1187@@ -152,9 +157,9 @@
1188 Field_blob *field;
1189 uint32_t field_offset;
1190 const unsigned char *old_blob_rec;
1191- unsigned char *new_blob_rec;
1192+ unsigned char *new_blob_rec = 0;
1193 char *old_blob_url, *new_blob_url;
1194- size_t packlength, i, old_length, new_length;
1195+ size_t packlength, i, old_length = 0, new_length = 0;
1196 int err;
1197 bool old_null_blob, new_null_blob;
1198
1199@@ -285,7 +290,7 @@
1200 const unsigned char *blob_rec;
1201 char *blob;
1202 size_t packlength, i, length;
1203- bool call_failed = false;
1204+ //bool call_failed = false;
1205 int err;
1206
1207 result->mr_had_blobs = false;
1208
1209=== modified file 'src/pbms_enabled.h'
1210--- src/pbms_enabled.h 2010-07-21 21:57:48 +0000
1211+++ src/pbms_enabled.h 2011-06-10 14:18:36 +0000
1212@@ -40,7 +40,13 @@
1213 #define TABLE Table
1214 #define uchar unsigned char
1215 #else
1216+#include "mysql_version.h"
1217+#if MYSQL_VERSION_ID < 50500
1218 #include <mysql_priv.h>
1219+#else
1220+#include "table.h"
1221+#include "field.h"
1222+#endif
1223 #endif
1224
1225 class Field;
1226
1227=== modified file 'src/restart_xt.cc'
1228--- src/restart_xt.cc 2010-09-03 13:12:42 +0000
1229+++ src/restart_xt.cc 2011-06-10 14:18:36 +0000
1230@@ -28,10 +28,6 @@
1231 #include <signal.h>
1232 #include <time.h>
1233
1234-#ifndef DRIZZLED
1235-#include "mysql_priv.h"
1236-#endif
1237-
1238 #include "ha_pbxt.h"
1239
1240 #ifdef DRIZZLED
1241
1242=== modified file 'src/systab_xt.cc'
1243--- src/systab_xt.cc 2009-11-11 10:20:47 +0000
1244+++ src/systab_xt.cc 2011-06-10 14:18:36 +0000
1245@@ -33,6 +33,11 @@
1246 #ifdef DRIZZLED
1247 #include <drizzled/server_includes.h>
1248 #include <drizzled/current_session.h>
1249+#else
1250+#include "mysql_version.h"
1251+#if MYSQL_VERSION_ID >= 50500
1252+#include "field.h"
1253+#endif
1254 #endif
1255
1256 #include "ha_pbxt.h"
1257
1258=== modified file 'src/table_xt.cc'
1259--- src/table_xt.cc 2010-11-10 12:03:11 +0000
1260+++ src/table_xt.cc 2011-06-10 14:18:36 +0000
1261@@ -36,7 +36,13 @@
1262 #include <mysys/thr_lock.h>
1263 #include <drizzled/dtcollation.h>
1264 #else
1265+#include "mysql_version.h"
1266+#if MYSQL_VERSION_ID < 50500
1267 #include "mysql_priv.h"
1268+#else
1269+#include "mysql_com.h"
1270+#include "thr_lock.h"
1271+#endif
1272 #endif
1273
1274 #include "table_xt.h"
1275@@ -474,7 +480,7 @@
1276 XTTablePathPtr db_path;
1277 char pbuf[PATH_MAX];
1278 int len;
1279- u_int edx;
1280+ volatile u_int edx;
1281
1282 enter_();
1283 pushr_(xt_tab_exit_db, db);
1284@@ -579,8 +585,8 @@
1285 * Previously we only caclulated statistics when a handler was opened
1286 * and the underlying table was also opened.
1287 */
1288- xt_enum_tables_init(&edx);
1289- while ((te_ptr = xt_enum_tables_next(self, db, &edx))) {
1290+ xt_enum_tables_init((u_int *)&edx);
1291+ while ((te_ptr = xt_enum_tables_next(self, db, (u_int *)&edx))) {
1292 xt_strcpy(PATH_MAX, pbuf, te_ptr->te_tab_path->tp_path);
1293 xt_add_dir_char(PATH_MAX, pbuf);
1294 xt_strcat(PATH_MAX, pbuf, te_ptr->te_tab_name);
1295@@ -728,7 +734,7 @@
1296 {
1297 u_int edx;
1298 XTTableEntryPtr te_ptr;
1299- volatile XTTableHPtr tab;
1300+ volatile XTTableHPtr tab = 0;
1301 char path[PATH_MAX];
1302
1303 enter_();
1304@@ -4456,10 +4462,10 @@
1305 xtXactID rec_xn_id = 0;
1306 xtBool wait = FALSE;
1307 xtXactID wait_xn_id = 0;
1308- xtRowID row_id;
1309+ xtRowID row_id = 0;
1310 xtRecordID var_rec_id;
1311 xtXactID xn_id;
1312- register XTTableHPtr tab;
1313+ register XTTableHPtr tab = 0;
1314 #ifdef TRACE_VARIATIONS_IN_DUP_CHECK
1315 char t_buf[500];
1316 int len;
1317
1318=== modified file 'src/thread_xt.cc'
1319--- src/thread_xt.cc 2010-09-10 14:46:31 +0000
1320+++ src/thread_xt.cc 2011-06-10 14:18:36 +0000
1321@@ -25,6 +25,22 @@
1322
1323 #ifdef DRIZZLED
1324 #include <bitset>
1325+#else
1326+#include "mysql_version.h"
1327+
1328+#if MYSQL_VERSION_ID >= 50500 && defined(SAFE_MUTEX)
1329+#undef pthread_mutex_init
1330+#undef pthread_mutex_lock
1331+#undef pthread_mutex_unlock
1332+#undef pthread_mutex_destroy
1333+#undef pthread_mutex_wait
1334+#undef pthread_mutex_timedwait
1335+#undef pthread_mutex_t
1336+#undef pthread_cond_wait
1337+#undef pthread_cond_timedwait
1338+#undef pthread_mutex_trylock
1339+#endif
1340+
1341 #endif
1342
1343 #ifndef XT_WIN
1344
1345=== modified file 'src/xactlog_xt.cc'
1346--- src/xactlog_xt.cc 2010-03-16 10:26:26 +0000
1347+++ src/xactlog_xt.cc 2011-06-10 14:18:36 +0000
1348@@ -2530,7 +2530,7 @@
1349 {
1350 XTDatabaseHPtr db = self->st_database;
1351 XTWriterStatePtr ws;
1352- XTXactLogBufferDPtr record;
1353+ XTXactLogBufferDPtr record = 0;
1354
1355 xt_set_low_priority(self);
1356
1357
1358=== modified file 'src/xt_config.h'
1359--- src/xt_config.h 2010-09-10 14:46:31 +0000
1360+++ src/xt_config.h 2011-06-10 14:18:36 +0000
1361@@ -37,6 +37,11 @@
1362 #else
1363 #include <mysql_version.h>
1364 #include "my_global.h"
1365+#if MYSQL_VERSION_ID >= 50500
1366+//#include <my_pthread.h>
1367+//#include <mysql/psi/mysql_thread.h>
1368+#include <my_sys.h>
1369+#endif
1370 #endif
1371
1372 /*
1373@@ -124,7 +129,8 @@
1374
1375 #ifndef DRIZZLED
1376 #if MYSQL_VERSION_ID >= 50404
1377-#define MYSQL_SUPPORTS_BACKUP
1378+// MySQL 5.5 still doesn't support backup
1379+//#define MYSQL_SUPPORTS_BACKUP
1380 #endif
1381 #endif
1382
1383
1384=== modified file 'test/mysql-test/pbxt-test-run.pl'
1385--- test/mysql-test/pbxt-test-run.pl 2010-09-08 13:31:01 +0000
1386+++ test/mysql-test/pbxt-test-run.pl 2011-06-10 14:18:36 +0000
1387@@ -69,6 +69,7 @@
1388 use IO::Socket::INET;
1389 use strict;
1390 use warnings;
1391+use POSIX;
1392
1393 select(STDOUT);
1394 $| = 1; # Automatically flush STDOUT
1395@@ -390,6 +391,10 @@
1396 else
1397 {
1398 push(@opt_extra_mysqld_opt, "--plugin_dir=../../src/.libs");
1399+ if (defined($mysql_version_id) && $mysql_version_id >= 50500)
1400+ {
1401+ push (@opt_extra_mysqld_opt, "--plugin_load=test_plugin_server=auth_test_plugin.so;cleartext_plugin_server=auth_test_plugin.so");
1402+ }
1403 }
1404
1405 check_ndbcluster_support(\%mysqld_variables);
1406@@ -449,6 +454,20 @@
1407 }
1408 }
1409 }
1410+
1411+ # assume if $mysql_version_id is not defined then pbxt-test-run was started with --extern option
1412+ # which means the symlinks are already set up by a previous "pbxt-test-run --start-and-exit"
1413+ if (defined($mysql_version_id))
1414+ {
1415+ unlink("./r");
1416+ unlink("./t");
1417+ unlink("./include");
1418+ unlink("./extra");
1419+ symlink("test_data/".floor($mysql_version_id/100)."/r", "./r");
1420+ symlink("test_data/".floor($mysql_version_id/100)."/t", "./t");
1421+ symlink("test_data/".floor($mysql_version_id/100)."/include", "./include");
1422+ symlink("test_data/".floor($mysql_version_id/100)."/extra", "./extra");
1423+ }
1424
1425 my $tests= collect_test_cases($opt_suites);
1426
1427@@ -1448,11 +1467,13 @@
1428 for (my $idx= 0; $idx < $max_master_num; $idx++)
1429 {
1430 push(@data_dir_lst, $master->[$idx]->{'path_myddir'});
1431+ push(@data_dir_lst, $master->[$idx]->{'path_myddir'}."/mtr");
1432 }
1433
1434 for (my $idx= 0; $idx < $max_slave_num; $idx++)
1435 {
1436 push(@data_dir_lst, $slave->[$idx]->{'path_myddir'});
1437+ push(@data_dir_lst, $slave->[$idx]->{'path_myddir'}."/mtr");
1438 }
1439
1440 unless ($opt_skip_im)
1441@@ -1705,7 +1726,7 @@
1442 $exe_mysql_upgrade= "";
1443 }
1444
1445- if ( ! $glob_win32 )
1446+ if ( ! $glob_win32 && defined($mysql_version_id) && $mysql_version_id < 50500 )
1447 {
1448 # Look for mysql_fix_system_table script
1449 $exe_mysql_fix_system_tables=
1450@@ -1714,10 +1735,13 @@
1451 }
1452
1453 # Look for mysql_fix_privilege_tables.sql script
1454- $file_mysql_fix_privilege_tables=
1455- mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql",
1456- "$glob_basedir/share/mysql_fix_privilege_tables.sql",
1457- "$glob_basedir/share/mysql/mysql_fix_privilege_tables.sql");
1458+ if (defined($mysql_version_id) && $mysql_version_id < 50500)
1459+ {
1460+ $file_mysql_fix_privilege_tables=
1461+ mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql",
1462+ "$glob_basedir/share/mysql_fix_privilege_tables.sql",
1463+ "$glob_basedir/share/mysql/mysql_fix_privilege_tables.sql");
1464+ }
1465
1466 if ( ! $opt_skip_ndbcluster and executable_setup_ndb())
1467 {
1468@@ -1731,7 +1755,7 @@
1469 }
1470 }
1471
1472- if ( ! $opt_skip_im and executable_setup_im())
1473+ if (defined($mysql_version_id) && $mysql_version_id < 50500 and ! $opt_skip_im and executable_setup_im())
1474 {
1475 mtr_warning("Could not find all required instance manager binaries, " .
1476 "all im tests will fail, use --skip-im to " .
1477@@ -1975,6 +1999,7 @@
1478
1479 $ENV{'LC_COLLATE'}= "C";
1480 $ENV{'USE_RUNNING_SERVER'}= $opt_extern;
1481+ $ENV{'MYSQL_BASEDIR'}= $glob_basedir;
1482 $ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
1483 $ENV{'MYSQLTEST_VARDIR'}= $opt_vardir;
1484 $ENV{'MYSQL_TMP_DIR'}= $opt_tmpdir;
1485@@ -2187,7 +2212,7 @@
1486 # ----------------------------------------------------
1487 # Setup env so childs can execute mysql_fix_system_tables
1488 # ----------------------------------------------------
1489- if ( !$opt_extern && ! $glob_win32 )
1490+ if ( !$opt_extern && ! $glob_win32 && $mysql_version_id < 50500 )
1491 {
1492 my $cmdline_mysql_fix_system_tables=
1493 "$exe_mysql_fix_system_tables --no-defaults --host=localhost " .
1494@@ -3178,7 +3203,10 @@
1495 mtr_add_arg($args, "--bootstrap");
1496 mtr_add_arg($args, "--basedir=%s", $path_my_basedir);
1497 mtr_add_arg($args, "--datadir=%s", $data_dir);
1498- mtr_add_arg($args, "--loose-skip-innodb");
1499+ if (defined($mysql_version_id) && $mysql_version_id < 50500)
1500+ {
1501+ mtr_add_arg($args, "--loose-skip-innodb");
1502+ }
1503 mtr_add_arg($args, "--loose-skip-ndbcluster");
1504 mtr_add_arg($args, "--tmpdir=.");
1505 mtr_add_arg($args, "--core-file");
1506@@ -3924,7 +3952,14 @@
1507 mtr_add_arg($args, "%s--log-bin-trust-function-creators", $prefix);
1508 }
1509
1510- mtr_add_arg($args, "%s--default-character-set=latin1", $prefix);
1511+ if (defined($mysql_version_id) && $mysql_version_id >= 50500)
1512+ {
1513+ mtr_add_arg($args, "%s--character-set-server=latin1", $prefix);
1514+ }
1515+ else
1516+ {
1517+ mtr_add_arg($args, "%s--default-character-set=latin1", $prefix);
1518+ }
1519 mtr_add_arg($args, "%s--language=%s", $prefix, $path_language);
1520 mtr_add_arg($args, "%s--tmpdir=$opt_tmpdir", $prefix);
1521
1522@@ -3944,7 +3979,10 @@
1523
1524 if ( $opt_valgrind_mysqld )
1525 {
1526- mtr_add_arg($args, "%s--skip-safemalloc", $prefix);
1527+ if ($mysql_version_id < 50500)
1528+ {
1529+ mtr_add_arg($args, "%s--skip-safemalloc", $prefix);
1530+ }
1531
1532 if ( $mysql_version_id < 50100 )
1533 {
1534@@ -4011,7 +4049,7 @@
1535 mtr_add_arg($args, "%s--ndb-extra-logging", $prefix);
1536 }
1537 }
1538- else
1539+ elsif (defined($mysql_version_id) && $mysql_version_id < 50500)
1540 {
1541 mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix);
1542 }
1543@@ -4046,7 +4084,13 @@
1544 my $slave_load_path= "../tmp";
1545 mtr_add_arg($args, "%s--slave-load-tmpdir=%s", $prefix,
1546 $slave_load_path);
1547- mtr_add_arg($args, "%s--set-variable=slave_net_timeout=120", $prefix);
1548+
1549+ # the '--option=name=value' syntax doesn't work for MySQL 5.5. It's used for scenarios not critical for PBXT
1550+ # such as federated engine tests
1551+ if (defined($mysql_version_id) && $mysql_version_id < 50500)
1552+ {
1553+ mtr_add_arg($args, "%s --set-variable=slave_net_timeout=120", $prefix);
1554+ }
1555
1556 if ( @$slave_master_info )
1557 {
1558@@ -4782,7 +4826,10 @@
1559
1560 mtr_add_arg($args, "--no-defaults");
1561 mtr_add_arg($args, "--silent");
1562- mtr_add_arg($args, "--skip-safemalloc");
1563+ if (defined($mysql_version_id) && $mysql_version_id < 50500)
1564+ {
1565+ mtr_add_arg($args, "--skip-safemalloc");
1566+ }
1567 mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
1568 mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
1569
1570@@ -4865,7 +4912,10 @@
1571
1572 mtr_add_arg($args, "--no-defaults");
1573 mtr_add_arg($args, "--silent");
1574- mtr_add_arg($args, "--skip-safemalloc");
1575+ if (defined($mysql_version_id) && ($mysql_version_id < 50500))
1576+ {
1577+ mtr_add_arg($args, "--skip-safemalloc");
1578+ }
1579 mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
1580 mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
1581 mtr_add_arg($args, "--logdir=%s/log", $opt_vardir);
1582
1583=== added directory 'test/mysql-test/test_data'
1584=== added directory 'test/mysql-test/test_data/501'
1585=== renamed directory 'test/mysql-test/extra' => 'test/mysql-test/test_data/501/extra'
1586=== renamed directory 'test/mysql-test/include' => 'test/mysql-test/test_data/501/include'
1587=== renamed directory 'test/mysql-test/r' => 'test/mysql-test/test_data/501/r'
1588=== renamed directory 'test/mysql-test/t' => 'test/mysql-test/test_data/501/t'
1589=== added directory 'test/mysql-test/test_data/505'
1590=== added directory 'test/mysql-test/test_data/505/extra'
1591=== added directory 'test/mysql-test/test_data/505/extra/binlog_tests'
1592=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/binlog.test'
1593--- test/mysql-test/test_data/505/extra/binlog_tests/binlog.test 1970-01-01 00:00:00 +0000
1594+++ test/mysql-test/test_data/505/extra/binlog_tests/binlog.test 2011-06-10 14:18:36 +0000
1595@@ -0,0 +1,75 @@
1596+#
1597+# misc binlogging tests that do not require a slave running
1598+#
1599+
1600+-- source include/not_embedded.inc
1601+-- source include/have_innodb.inc
1602+-- source include/have_debug.inc
1603+
1604+--disable_warnings
1605+drop table if exists t1, t2;
1606+--enable_warnings
1607+reset master;
1608+
1609+create table t1 (a int) engine=innodb;
1610+create table t2 (a int) engine=innodb;
1611+begin;
1612+insert t1 values (5);
1613+commit;
1614+begin;
1615+insert t2 values (5);
1616+commit;
1617+# first COMMIT must be Query_log_event, second - Xid_log_event
1618+--replace_column 2 # 5 #
1619+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
1620+show binlog events from 102;
1621+drop table t1,t2;
1622+
1623+#
1624+# binlog rotation after one big transaction
1625+#
1626+reset master;
1627+let $1=100;
1628+
1629+create table t1 (n int) engine=innodb;
1630+begin;
1631+--disable_query_log
1632+while ($1)
1633+{
1634+ eval insert into t1 values($1 + 4);
1635+ dec $1;
1636+}
1637+--enable_query_log
1638+commit;
1639+drop table t1;
1640+--replace_column 2 # 5 #
1641+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
1642+show binlog events in 'master-bin.000001' from 102;
1643+--replace_column 2 # 5 #
1644+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
1645+show binlog events in 'master-bin.000002' from 102;
1646+
1647+# Test of a too big SET INSERT_ID: see if the truncated value goes
1648+# into binlog (right), or the too big value (wrong); we look at the
1649+# binlog further down with SHOW BINLOG EVENTS.
1650+reset master;
1651+create table t1 (id tinyint auto_increment primary key);
1652+set insert_id=128;
1653+insert into t1 values(null);
1654+select * from t1;
1655+drop table t1;
1656+
1657+# bug#22027
1658+create table t1 (a int);
1659+create table if not exists t2 select * from t1;
1660+
1661+# bug#22762
1662+create temporary table tt1 (a int) engine=myisam; # PBXT: Cannot mix databases
1663+create table if not exists t3 like tt1;
1664+
1665+--replace_column 2 # 5 #
1666+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
1667+show binlog events from 102;
1668+drop table t1,t2,t3,tt1;
1669+
1670+-- source extra/binlog_tests/binlog_insert_delayed.test
1671
1672=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/blackhole.test'
1673--- test/mysql-test/test_data/505/extra/binlog_tests/blackhole.test 1970-01-01 00:00:00 +0000
1674+++ test/mysql-test/test_data/505/extra/binlog_tests/blackhole.test 2011-06-10 14:18:36 +0000
1675@@ -0,0 +1,151 @@
1676+#
1677+# Simple test for blackhole example
1678+# Taken from the select test
1679+#
1680+-- source include/not_embedded.inc
1681+-- source include/have_blackhole.inc
1682+
1683+--disable_warnings
1684+drop table if exists t1,t2;
1685+--enable_warnings
1686+
1687+CREATE TABLE t1 (
1688+ Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
1689+ Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
1690+) ENGINE=blackhole;
1691+
1692+INSERT INTO t1 VALUES (9410,9412);
1693+
1694+select period from t1;
1695+select * from t1;
1696+select t1.* from t1;
1697+
1698+#
1699+# Create test table
1700+#
1701+
1702+CREATE TABLE t2 (
1703+ auto int NOT NULL auto_increment,
1704+ fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
1705+ companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
1706+ fld3 char(30) DEFAULT '' NOT NULL,
1707+ fld4 char(35) DEFAULT '' NOT NULL,
1708+ fld5 char(35) DEFAULT '' NOT NULL,
1709+ fld6 char(4) DEFAULT '' NOT NULL,
1710+ primary key (auto)
1711+) ENGINE=blackhole;
1712+
1713+INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
1714+INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
1715+--enable_query_log
1716+
1717+#
1718+# Search with a key
1719+#
1720+
1721+select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
1722+select fld3 from t2 where fld3 like "%cultivation" ;
1723+
1724+#
1725+# Search with a key using sorting and limit the same time
1726+#
1727+
1728+select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
1729+select fld3,companynr from t2 where companynr = 58 order by fld3;
1730+
1731+select fld3 from t2 order by fld3 desc limit 10;
1732+select fld3 from t2 order by fld3 desc limit 5;
1733+select fld3 from t2 order by fld3 desc limit 5,5;
1734+
1735+#
1736+# Search with a key having a constant with each unique key.
1737+# The table is read directly with read-next on fld3
1738+#
1739+
1740+select t2.fld3 from t2 where fld3 = 'honeysuckle';
1741+select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
1742+select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
1743+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
1744+select t2.fld3 from t2 where fld3 LIKE 'h%le';
1745+
1746+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
1747+select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
1748+
1749+#
1750+# Test sorting with a used key (there is no need for sorting)
1751+#
1752+
1753+select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
1754+select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
1755+
1756+
1757+# Test for fulltext
1758+DROP TABLE t1;
1759+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) engine=myisam; # PBXT: MyISAM required for fulltext
1760+INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
1761+ ('Full-text indexes', 'are called collections'),
1762+ ('Only MyISAM tables','support collections'),
1763+ ('Function MATCH ... AGAINST()','is used to do a search'),
1764+ ('Full-text search in MySQL', 'implements vector space model');
1765+SHOW INDEX FROM t1;
1766+
1767+# nl search
1768+
1769+select * from t1 where MATCH(a,b) AGAINST ("collections");
1770+explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
1771+select * from t1 where MATCH(a,b) AGAINST ("indexes");
1772+select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
1773+select * from t1 where MATCH(a,b) AGAINST ("only");
1774+
1775+# Test that every DML (except SELECT) and DDL gets into binlog
1776+# so that blackhole can be used as "binlog propagator"
1777+
1778+reset master;
1779+drop table t1,t2;
1780+create table t1 (a int) engine=blackhole;
1781+delete from t1 where a=10;
1782+update t1 set a=11 where a=15;
1783+insert into t1 values(1);
1784+insert ignore into t1 values(1);
1785+replace into t1 values(100);
1786+create table t2 (a varchar(200)) engine=blackhole;
1787+load data infile '../std_data_ln/words.dat' into table t2;
1788+alter table t1 add b int;
1789+alter table t1 drop b;
1790+create table t3 like t1;
1791+insert into t1 select * from t3;
1792+replace into t1 select * from t3;
1793+# Just to verify
1794+select * from t1;
1795+select * from t2;
1796+select * from t3;
1797+
1798+let $VERSION=`select version()`;
1799+--replace_result $VERSION VERSION
1800+--replace_column 2 # 5 #
1801+--replace_regex /table_id: [0-9]+/table_id: #/
1802+show binlog events;
1803+
1804+drop table t1,t2,t3;
1805+
1806+# End of 4.1 tests
1807+# Test that a transaction which is rolled back does not go into binlog
1808+# and that a transaction which is committed does
1809+
1810+reset master;
1811+create table t1 (a int) engine=blackhole;
1812+set autocommit=0;
1813+start transaction;
1814+insert into t1 values(1);
1815+commit;
1816+start transaction;
1817+insert into t1 values(2);
1818+rollback;
1819+set autocommit=1;
1820+--replace_result $VERSION VERSION
1821+--replace_column 2 # 5 #
1822+--replace_regex /table_id: [0-9]+/table_id: #/
1823+show binlog events;
1824+drop table if exists t1;
1825+
1826+# End of 5.0 tests
1827
1828=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932.test'
1829--- test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932.test 1970-01-01 00:00:00 +0000
1830+++ test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932.test 2011-06-10 14:18:36 +0000
1831@@ -0,0 +1,415 @@
1832+-- source include/have_cp932.inc
1833+
1834+--character_set cp932
1835+--disable_warnings
1836+drop table if exists t1;
1837+drop table if exists t2;
1838+drop table if exists t3;
1839+drop table if exists t4;
1840+--enable_warnings
1841+
1842+set names cp932;
1843+set character_set_database = cp932;
1844+
1845+CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
1846+
1847+#Characters which are converted to Unicode ambiguously
1848+INSERT INTO t1 VALUES
1849+(0x05),(0x7E),(0x815C),(0x815F),(0x8160),(0x8161),(0x817C),(0x8191),(0x8192),(0x81CA);
1850+
1851+#NEC ROW 13 characters (0x8740 - 0x879C)
1852+INSERT INTO t1 VALUES
1853+(0x8740),(0x8741),(0x8742),(0x8743),(0x8744),(0x8745),(0x8746),(0x8747),
1854+(0x8748),(0x8749),(0x874A),(0x874B),(0x874C),(0x874D),(0x874E),(0x874F),
1855+(0x8750),(0x8751),(0x8752),(0x8753),(0x8754),(0x8755),(0x8756),(0x8757),
1856+(0x8758),(0x8759),(0x875A),(0x875B),(0x875C),(0x875D),(0x875F),
1857+(0x8760),(0x8761),(0x8762),(0x8763),(0x8764),(0x8765),(0x8766),(0x8767),
1858+(0x8768),(0x8769),(0x876A),(0x876B),(0x876C),(0x876D),(0x876E),(0x876F),
1859+(0x8770),(0x8771),(0x8772),(0x8773),(0x8774),(0x8775),(0x877E),
1860+(0x8780),(0x8781),(0x8782),(0x8783),(0x8784),(0x8785),(0x8786),(0x8787),
1861+(0x8788),(0x8789),(0x878A),(0x878B),(0x878C),(0x878D),(0x878E),(0x878F),
1862+(0x8790),(0x8791),(0x8792),(0x8793),(0x8794),(0x8795),(0x8796),(0x8797),
1863+(0x8798),(0x8799),(0x879A),(0x879B),(0x879C);
1864+
1865+#IBM selected characters kanji & non-kanji, NEC implementation (0xED40 - 0xEEFC)
1866+INSERT INTO t1 VALUES
1867+(0xED40),(0xED41),(0xED42),(0xED43),(0xED44),(0xED45),(0xED46),(0xED47),
1868+(0xED48),(0xED49),(0xED4A),(0xED4B),(0xED4C),(0xED4D),(0xED4E),(0xED4F),
1869+(0xED50),(0xED51),(0xED52),(0xED53),(0xED54),(0xED55),(0xED56),(0xED57),
1870+(0xED58),(0xED59),(0xED5A),(0xED5B),(0xED5C),(0xED5D),(0xED5E),(0xED5F),
1871+(0xED60),(0xED61),(0xED62),(0xED63),(0xED64),(0xED65),(0xED66),(0xED67),
1872+(0xED68),(0xED69),(0xED6A),(0xED6B),(0xED6C),(0xED6D),(0xED6E),(0xED6F),
1873+(0xED70),(0xED71),(0xED72),(0xED73),(0xED74),(0xED75),(0xED76),(0xED77),
1874+(0xED78),(0xED79),(0xED7A),(0xED7B),(0xED7C),(0xED7D),(0xED7E),
1875+(0xED80),(0xED81),(0xED82),(0xED83),(0xED84),(0xED85),(0xED86),(0xED87),
1876+(0xED88),(0xED89),(0xED8A),(0xED8B),(0xED8C),(0xED8D),(0xED8E),(0xED8F),
1877+(0xED90),(0xED91),(0xED92),(0xED93),(0xED94),(0xED95),(0xED96),(0xED97),
1878+(0xED98),(0xED99),(0xED9A),(0xED9B),(0xED9C),(0xED9D),(0xED9E),(0xED9F),
1879+(0xEDA0),(0xEDA1),(0xEDA2),(0xEDA3),(0xEDA4),(0xEDA5),(0xEDA6),(0xEDA7),
1880+(0xEDA8),(0xEDA9),(0xEDAA),(0xEDAB),(0xEDAC),(0xEDAD),(0xEDAE),(0xEDAF),
1881+(0xEDB0),(0xEDB1),(0xEDB2),(0xEDB3),(0xEDB4),(0xEDB5),(0xEDB6),(0xEDB7),
1882+(0xEDB8),(0xEDB9),(0xEDBA),(0xEDBB),(0xEDBC),(0xEDBD),(0xEDBE),(0xEDBF),
1883+(0xEDC0),(0xEDC1),(0xEDC2),(0xEDC3),(0xEDC4),(0xEDC5),(0xEDC6),(0xEDC7),
1884+(0xEDC8),(0xEDC9),(0xEDCA),(0xEDCB),(0xEDCC),(0xEDCD),(0xEDCE),(0xEDCF),
1885+(0xEDD0),(0xEDD1),(0xEDD2),(0xEDD3),(0xEDD4),(0xEDD5),(0xEDD6),(0xEDD7),
1886+(0xEDD8),(0xEDD9),(0xEDDA),(0xEDDB),(0xEDDC),(0xEDDD),(0xEDDE),(0xEDDF),
1887+(0xEDE0),(0xEDE1),(0xEDE2),(0xEDE3),(0xEDE4),(0xEDE5),(0xEDE6),(0xEDE7),
1888+(0xEDE8),(0xEDE9),(0xEDEA),(0xEDEB),(0xEDEC),(0xEDED),(0xEDEE),(0xEDEF),
1889+(0xEDF0),(0xEDF1),(0xEDF2),(0xEDF3),(0xEDF4),(0xEDF5),(0xEDF6),(0xEDF7),
1890+(0xEDF8),(0xEDF9),(0xEDFA),(0xEDFB),(0xEDFC),
1891+(0xEE40),(0xEE41),(0xEE42),(0xEE43),(0xEE44),(0xEE45),(0xEE46),(0xEE47),
1892+(0xEE48),(0xEE49),(0xEE4A),(0xEE4B),(0xEE4C),(0xEE4D),(0xEE4E),(0xEE4F),
1893+(0xEE50),(0xEE51),(0xEE52),(0xEE53),(0xEE54),(0xEE55),(0xEE56),(0xEE57),
1894+(0xEE58),(0xEE59),(0xEE5A),(0xEE5B),(0xEE5C),(0xEE5D),(0xEE5E),(0xEE5F),
1895+(0xEE60),(0xEE61),(0xEE62),(0xEE63),(0xEE64),(0xEE65),(0xEE66),(0xEE67),
1896+(0xEE68),(0xEE69),(0xEE6A),(0xEE6B),(0xEE6C),(0xEE6D),(0xEE6E),(0xEE6F),
1897+(0xEE70),(0xEE71),(0xEE72),(0xEE73),(0xEE74),(0xEE75),(0xEE76),(0xEE77),
1898+(0xEE78),(0xEE79),(0xEE7A),(0xEE7B),(0xEE7C),(0xEE7D),(0xEE7E),
1899+(0xEE80),(0xEE81),(0xEE82),(0xEE83),(0xEE84),(0xEE85),(0xEE86),(0xEE87),
1900+(0xEE88),(0xEE89),(0xEE8A),(0xEE8B),(0xEE8C),(0xEE8D),(0xEE8E),(0xEE8F),
1901+(0xEE90),(0xEE91),(0xEE92),(0xEE93),(0xEE94),(0xEE95),(0xEE96),(0xEE97),
1902+(0xEE98),(0xEE99),(0xEE9A),(0xEE9B),(0xEE9C),(0xEE9D),(0xEE9E),(0xEE9F),
1903+(0xEEA0),(0xEEA1),(0xEEA2),(0xEEA3),(0xEEA4),(0xEEA5),(0xEEA6),(0xEEA7),
1904+(0xEEA8),(0xEEA9),(0xEEAA),(0xEEAB),(0xEEAC),(0xEEAD),(0xEEAE),(0xEEAF),
1905+(0xEEB0),(0xEEB1),(0xEEB2),(0xEEB3),(0xEEB4),(0xEEB5),(0xEEB6),(0xEEB7),
1906+(0xEEB8),(0xEEB9),(0xEEBA),(0xEEBB),(0xEEBC),(0xEEBD),(0xEEBE),(0xEEBF),
1907+(0xEEC0),(0xEEC1),(0xEEC2),(0xEEC3),(0xEEC4),(0xEEC5),(0xEEC6),(0xEEC7),
1908+(0xEEC8),(0xEEC9),(0xEECA),(0xEECB),(0xEECC),(0xEECD),(0xEECE),(0xEECF),
1909+(0xEED0),(0xEED1),(0xEED2),(0xEED3),(0xEED4),(0xEED5),(0xEED6),(0xEED7),
1910+(0xEED8),(0xEED9),(0xEEDA),(0xEEDB),(0xEEDC),(0xEEDD),(0xEEDE),(0xEEDF),
1911+(0xEEE0),(0xEEE1),(0xEEE2),(0xEEE3),(0xEEE4),(0xEEE5),(0xEEE6),(0xEEE7),
1912+(0xEEE8),(0xEEE9),(0xEEEA),(0xEEEB),(0xEEEC),(0xEEEF),
1913+(0xEEF0),(0xEEF1),(0xEEF2),(0xEEF3),(0xEEF4),(0xEEF5),(0xEEF6),(0xEEF7),
1914+(0xEEF8),(0xEEF9),(0xEEFA),(0xEEFB),(0xEEFC);
1915+
1916+#IBM selected kanji & non-kanji (0xFA40 - 0xFC4B)
1917+INSERT INTO t1 VALUES
1918+(0xFA40),(0xFA41),(0xFA42),(0xFA43),(0xFA44),(0xFA45),(0xFA46),(0xFA47),
1919+(0xFA48),(0xFA49),(0xFA4A),(0xFA4B),(0xFA4C),(0xFA4D),(0xFA4E),(0xFA4F),
1920+(0xFA50),(0xFA51),(0xFA52),(0xFA53),(0xFA54),(0xFA55),(0xFA56),(0xFA57),
1921+(0xFA58),(0xFA59),(0xFA5A),(0xFA5B),(0xFA5C),(0xFA5D),(0xFA5E),(0xFA5F),
1922+(0xFA60),(0xFA61),(0xFA62),(0xFA63),(0xFA64),(0xFA65),(0xFA66),(0xFA67),
1923+(0xFA68),(0xFA69),(0xFA6A),(0xFA6B),(0xFA6C),(0xFA6D),(0xFA6E),(0xFA6F),
1924+(0xFA70),(0xFA71),(0xFA72),(0xFA73),(0xFA74),(0xFA75),(0xFA76),(0xFA77),
1925+(0xFA78),(0xFA79),(0xFA7A),(0xFA7B),(0xFA7C),(0xFA7D),(0xFA7E),
1926+(0xFA80),(0xFA81),(0xFA82),(0xFA83),(0xFA84),(0xFA85),(0xFA86),(0xFA87),
1927+(0xFA88),(0xFA89),(0xFA8A),(0xFA8B),(0xFA8C),(0xFA8D),(0xFA8E),(0xFA8F),
1928+(0xFA90),(0xFA91),(0xFA92),(0xFA93),(0xFA94),(0xFA95),(0xFA96),(0xFA97),
1929+(0xFA98),(0xFA99),(0xFA9A),(0xFA9B),(0xFA9C),(0xFA9D),(0xFA9E),(0xFA9F),
1930+(0xFAA0),(0xFAA1),(0xFAA2),(0xFAA3),(0xFAA4),(0xFAA5),(0xFAA6),(0xFAA7),
1931+(0xFAA8),(0xFAA9),(0xFAAA),(0xFAAB),(0xFAAC),(0xFAAD),(0xFAAE),(0xFAAF),
1932+(0xFAB0),(0xFAB1),(0xFAB2),(0xFAB3),(0xFAB4),(0xFAB5),(0xFAB6),(0xFAB7),
1933+(0xFAB8),(0xFAB9),(0xFABA),(0xFABB),(0xFABC),(0xFABD),(0xFABE),(0xFABF),
1934+(0xFAC0),(0xFAC1),(0xFAC2),(0xFAC3),(0xFAC4),(0xFAC5),(0xFAC6),(0xFAC7),
1935+(0xFAC8),(0xFAC9),(0xFACA),(0xFACB),(0xFACC),(0xFACD),(0xFACE),(0xFACF),
1936+(0xFAD0),(0xFAD1),(0xFAD2),(0xFAD3),(0xFAD4),(0xFAD5),(0xFAD6),(0xFAD7),
1937+(0xFAD8),(0xFAD9),(0xFADA),(0xFADB),(0xFADC),(0xFADD),(0xFADE),(0xFADF),
1938+(0xFAE0),(0xFAE1),(0xFAE2),(0xFAE3),(0xFAE4),(0xFAE5),(0xFAE6),(0xFAE7),
1939+(0xFAE8),(0xFAE9),(0xFAEA),(0xFAEB),(0xFAEC),(0xFAED),(0xFAEE),(0xFAEF),
1940+(0xFAF0),(0xFAF1),(0xFAF2),(0xFAF3),(0xFAF4),(0xFAF5),(0xFAF6),(0xFAF7),
1941+(0xFAF8),(0xFAF9),(0xFAFA),(0xFAFB),(0xFAFC),
1942+(0xFB40),(0xFB41),(0xFB42),(0xFB43),(0xFB44),(0xFB45),(0xFB46),(0xFB47),
1943+(0xFB48),(0xFB49),(0xFB4A),(0xFB4B),(0xFB4C),(0xFB4D),(0xFB4E),(0xFB4F),
1944+(0xFB50),(0xFB51),(0xFB52),(0xFB53),(0xFB54),(0xFB55),(0xFB56),(0xFB57),
1945+(0xFB58),(0xFB59),(0xFB5A),(0xFB5B),(0xFB5C),(0xFB5D),(0xFB5E),(0xFB5F),
1946+(0xFB60),(0xFB61),(0xFB62),(0xFB63),(0xFB64),(0xFB65),(0xFB66),(0xFB67),
1947+(0xFB68),(0xFB69),(0xFB6A),(0xFB6B),(0xFB6C),(0xFB6D),(0xFB6E),(0xFB6F),
1948+(0xFB70),(0xFB71),(0xFB72),(0xFB73),(0xFB74),(0xFB75),(0xFB76),(0xFB77),
1949+(0xFB78),(0xFB79),(0xFB7A),(0xFB7B),(0xFB7C),(0xFB7D),(0xFB7E),
1950+(0xFB80),(0xFB81),(0xFB82),(0xFB83),(0xFB84),(0xFB85),(0xFB86),(0xFB87),
1951+(0xFB88),(0xFB89),(0xFB8A),(0xFB8B),(0xFB8C),(0xFB8D),(0xFB8E),(0xFB8F),
1952+(0xFB90),(0xFB91),(0xFB92),(0xFB93),(0xFB94),(0xFB95),(0xFB96),(0xFB97),
1953+(0xFB98),(0xFB99),(0xFB9A),(0xFB9B),(0xFB9C),(0xFB9D),(0xFB9E),(0xFB9F),
1954+(0xFBA0),(0xFBA1),(0xFBA2),(0xFBA3),(0xFBA4),(0xFBA5),(0xFBA6),(0xFBA7),
1955+(0xFBA8),(0xFBA9),(0xFBAA),(0xFBAB),(0xFBAC),(0xFBAD),(0xFBAE),(0xFBAF),
1956+(0xFBB0),(0xFBB1),(0xFBB2),(0xFBB3),(0xFBB4),(0xFBB5),(0xFBB6),(0xFBB7),
1957+(0xFBB8),(0xFBB9),(0xFBBA),(0xFBBB),(0xFBBC),(0xFBBD),(0xFBBE),(0xFBBF),
1958+(0xFBC0),(0xFBC1),(0xFBC2),(0xFBC3),(0xFBC4),(0xFBC5),(0xFBC6),(0xFBC7),
1959+(0xFBC8),(0xFBC9),(0xFBCA),(0xFBCB),(0xFBCC),(0xFBCD),(0xFBCE),(0xFBCF),
1960+(0xFBD0),(0xFBD1),(0xFBD2),(0xFBD3),(0xFBD4),(0xFBD5),(0xFBD6),(0xFBD7),
1961+(0xFBD8),(0xFBD9),(0xFBDA),(0xFBDB),(0xFBDC),(0xFBDD),(0xFBDE),(0xFBDF),
1962+(0xFBE0),(0xFBE1),(0xFBE2),(0xFBE3),(0xFBE4),(0xFBE5),(0xFBE6),(0xFBE7),
1963+(0xFBE8),(0xFBE9),(0xFBEA),(0xFBEB),(0xFBEC),(0xFBED),(0xFBEE),(0xFBEF),
1964+(0xFBF0),(0xFBF1),(0xFBF2),(0xFBF3),(0xFBF4),(0xFBF5),(0xFBF6),(0xFBF7),
1965+(0xFBF8),(0xFBF9),(0xFBFA),(0xFBFB),(0xFBFC),
1966+(0xFC40),(0xFC41),(0xFC42),(0xFC43),(0xFC44),(0xFC45),(0xFC46),(0xFC47),
1967+(0xFC48),(0xFC49),(0xFC4A),(0xFC4B);
1968+
1969+#User defined characters (0xF040-0xF9FC)
1970+INSERT INTO t1 VALUES
1971+(0xF040),(0xF041),(0xF042),(0xF043),(0xF044),(0xF045),(0xF046),(0xF047),
1972+(0xF048),(0xF049),(0xF04A),(0xF04B),(0xF04C),(0xF04D),(0xF04E),(0xF04F),
1973+(0xF050),(0xF051),(0xF052),(0xF053),(0xF054),(0xF055),(0xF056),(0xF057),
1974+(0xF058),(0xF059),(0xF05A),(0xF05B),(0xF05C),(0xF05D),(0xF05E),(0xF05F),
1975+(0xF060),(0xF061),(0xF062),(0xF063),(0xF064),(0xF065),(0xF066),(0xF067),
1976+(0xF068),(0xF069),(0xF06A),(0xF06B),(0xF06C),(0xF06D),(0xF06E),(0xF06F),
1977+(0xF070),(0xF071),(0xF072),(0xF073),(0xF074),(0xF075),(0xF076),(0xF077),
1978+(0xF078),(0xF079),(0xF07A),(0xF07B),(0xF07C),(0xF07D),(0xF07E),
1979+(0xF080),(0xF081),(0xF082),(0xF083),(0xF084),(0xF085),(0xF086),(0xF087),
1980+(0xF088),(0xF089),(0xF08A),(0xF08B),(0xF08C),(0xF08D),(0xF08E),(0xF08F),
1981+(0xF090),(0xF091),(0xF092),(0xF093),(0xF094),(0xF095),(0xF096),(0xF097),
1982+(0xF098),(0xF099),(0xF09A),(0xF09B),(0xF09C),(0xF09D),(0xF09E),(0xF09F),
1983+(0xF0A0),(0xF0A1),(0xF0A2),(0xF0A3),(0xF0A4),(0xF0A5),(0xF0A6),(0xF0A7),
1984+(0xF0A8),(0xF0A9),(0xF0AA),(0xF0AB),(0xF0AC),(0xF0AD),(0xF0AE),(0xF0AF),
1985+(0xF0B0),(0xF0B1),(0xF0B2),(0xF0B3),(0xF0B4),(0xF0B5),(0xF0B6),(0xF0B7),
1986+(0xF0B8),(0xF0B9),(0xF0BA),(0xF0BB),(0xF0BC),(0xF0BD),(0xF0BE),(0xF0BF),
1987+(0xF0C0),(0xF0C1),(0xF0C2),(0xF0C3),(0xF0C4),(0xF0C5),(0xF0C6),(0xF0C7),
1988+(0xF0C8),(0xF0C9),(0xF0CA),(0xF0CB),(0xF0CC),(0xF0CD),(0xF0CE),(0xF0CF),
1989+(0xF0D0),(0xF0D1),(0xF0D2),(0xF0D3),(0xF0D4),(0xF0D5),(0xF0D6),(0xF0D7),
1990+(0xF0D8),(0xF0D9),(0xF0DA),(0xF0DB),(0xF0DC),(0xF0DD),(0xF0DE),(0xF0DF),
1991+(0xF0E0),(0xF0E1),(0xF0E2),(0xF0E3),(0xF0E4),(0xF0E5),(0xF0E6),(0xF0E7),
1992+(0xF0E8),(0xF0E9),(0xF0EA),(0xF0EB),(0xF0EC),(0xF0ED),(0xF0EE),(0xF0EF),
1993+(0xF0F0),(0xF0F1),(0xF0F2),(0xF0F3),(0xF0F4),(0xF0F5),(0xF0F6),(0xF0F7),
1994+(0xF0F8),(0xF0F9),(0xF0FA),(0xF0FB),(0xF0FC),
1995+(0xF140),(0xF141),(0xF142),(0xF143),(0xF144),(0xF145),(0xF146),(0xF147),
1996+(0xF148),(0xF149),(0xF14A),(0xF14B),(0xF14C),(0xF14D),(0xF14E),(0xF14F),
1997+(0xF150),(0xF151),(0xF152),(0xF153),(0xF154),(0xF155),(0xF156),(0xF157),
1998+(0xF158),(0xF159),(0xF15A),(0xF15B),(0xF15C),(0xF15D),(0xF15E),(0xF15F),
1999+(0xF160),(0xF161),(0xF162),(0xF163),(0xF164),(0xF165),(0xF166),(0xF167),
2000+(0xF168),(0xF169),(0xF16A),(0xF16B),(0xF16C),(0xF16D),(0xF16E),(0xF16F),
2001+(0xF170),(0xF171),(0xF172),(0xF173),(0xF174),(0xF175),(0xF176),(0xF177),
2002+(0xF178),(0xF179),(0xF17A),(0xF17B),(0xF17C),(0xF17D),(0xF17E),
2003+(0xF180),(0xF181),(0xF182),(0xF183),(0xF184),(0xF185),(0xF186),(0xF187),
2004+(0xF188),(0xF189),(0xF18A),(0xF18B),(0xF18C),(0xF18D),(0xF18E),(0xF18F),
2005+(0xF190),(0xF191),(0xF192),(0xF193),(0xF194),(0xF195),(0xF196),(0xF197),
2006+(0xF198),(0xF199),(0xF19A),(0xF19B),(0xF19C),(0xF19D),(0xF19E),(0xF19F),
2007+(0xF1A0),(0xF1A1),(0xF1A2),(0xF1A3),(0xF1A4),(0xF1A5),(0xF1A6),(0xF1A7),
2008+(0xF1A8),(0xF1A9),(0xF1AA),(0xF1AB),(0xF1AC),(0xF1AD),(0xF1AE),(0xF1AF),
2009+(0xF1B0),(0xF1B1),(0xF1B2),(0xF1B3),(0xF1B4),(0xF1B5),(0xF1B6),(0xF1B7),
2010+(0xF1B8),(0xF1B9),(0xF1BA),(0xF1BB),(0xF1BC),(0xF1BD),(0xF1BE),(0xF1BF),
2011+(0xF1C0),(0xF1C1),(0xF1C2),(0xF1C3),(0xF1C4),(0xF1C5),(0xF1C6),(0xF1C7),
2012+(0xF1C8),(0xF1C9),(0xF1CA),(0xF1CB),(0xF1CC),(0xF1CD),(0xF1CE),(0xF1CF),
2013+(0xF1D0),(0xF1D1),(0xF1D2),(0xF1D3),(0xF1D4),(0xF1D5),(0xF1D6),(0xF1D7),
2014+(0xF1D8),(0xF1D9),(0xF1DA),(0xF1DB),(0xF1DC),(0xF1DD),(0xF1DE),(0xF1DF),
2015+(0xF1E0),(0xF1E1),(0xF1E2),(0xF1E3),(0xF1E4),(0xF1E5),(0xF1E6),(0xF1E7),
2016+(0xF1E8),(0xF1E9),(0xF1EA),(0xF1EB),(0xF1EC),(0xF1ED),(0xF1EE),(0xF1EF),
2017+(0xF1F0),(0xF1F1),(0xF1F2),(0xF1F3),(0xF1F4),(0xF1F5),(0xF1F6),(0xF1F7),
2018+(0xF1F8),(0xF1F9),(0xF1FA),(0xF1FB),(0xF1FC),
2019+(0xF240),(0xF241),(0xF242),(0xF243),(0xF244),(0xF245),(0xF246),(0xF247),
2020+(0xF248),(0xF249),(0xF24A),(0xF24B),(0xF24C),(0xF24D),(0xF24E),(0xF24F),
2021+(0xF250),(0xF251),(0xF252),(0xF253),(0xF254),(0xF255),(0xF256),(0xF257),
2022+(0xF258),(0xF259),(0xF25A),(0xF25B),(0xF25C),(0xF25D),(0xF25E),(0xF25F),
2023+(0xF260),(0xF261),(0xF262),(0xF263),(0xF264),(0xF265),(0xF266),(0xF267),
2024+(0xF268),(0xF269),(0xF26A),(0xF26B),(0xF26C),(0xF26D),(0xF26E),(0xF26F),
2025+(0xF270),(0xF271),(0xF272),(0xF273),(0xF274),(0xF275),(0xF276),(0xF277),
2026+(0xF278),(0xF279),(0xF27A),(0xF27B),(0xF27C),(0xF27D),(0xF27E),
2027+(0xF280),(0xF281),(0xF282),(0xF283),(0xF284),(0xF285),(0xF286),(0xF287),
2028+(0xF288),(0xF289),(0xF28A),(0xF28B),(0xF28C),(0xF28D),(0xF28E),(0xF28F),
2029+(0xF290),(0xF291),(0xF292),(0xF293),(0xF294),(0xF295),(0xF296),(0xF297),
2030+(0xF298),(0xF299),(0xF29A),(0xF29B),(0xF29C),(0xF29D),(0xF29E),(0xF29F),
2031+(0xF2A0),(0xF2A1),(0xF2A2),(0xF2A3),(0xF2A4),(0xF2A5),(0xF2A6),(0xF2A7),
2032+(0xF2A8),(0xF2A9),(0xF2AA),(0xF2AB),(0xF2AC),(0xF2AD),(0xF2AE),(0xF2AF),
2033+(0xF2B0),(0xF2B1),(0xF2B2),(0xF2B3),(0xF2B4),(0xF2B5),(0xF2B6),(0xF2B7),
2034+(0xF2B8),(0xF2B9),(0xF2BA),(0xF2BB),(0xF2BC),(0xF2BD),(0xF2BE),(0xF2BF),
2035+(0xF2C0),(0xF2C1),(0xF2C2),(0xF2C3),(0xF2C4),(0xF2C5),(0xF2C6),(0xF2C7),
2036+(0xF2C8),(0xF2C9),(0xF2CA),(0xF2CB),(0xF2CC),(0xF2CD),(0xF2CE),(0xF2CF),
2037+(0xF2D0),(0xF2D1),(0xF2D2),(0xF2D3),(0xF2D4),(0xF2D5),(0xF2D6),(0xF2D7),
2038+(0xF2D8),(0xF2D9),(0xF2DA),(0xF2DB),(0xF2DC),(0xF2DD),(0xF2DE),(0xF2DF),
2039+(0xF2E0),(0xF2E1),(0xF2E2),(0xF2E3),(0xF2E4),(0xF2E5),(0xF2E6),(0xF2E7),
2040+(0xF2E8),(0xF2E9),(0xF2EA),(0xF2EB),(0xF2EC),(0xF2ED),(0xF2EE),(0xF2EF),
2041+(0xF2F0),(0xF2F1),(0xF2F2),(0xF2F3),(0xF2F4),(0xF2F5),(0xF2F6),(0xF2F7),
2042+(0xF2F8),(0xF2F9),(0xF2FA),(0xF2FB),(0xF2FC),
2043+(0xF340),(0xF341),(0xF342),(0xF343),(0xF344),(0xF345),(0xF346),(0xF347),
2044+(0xF348),(0xF349),(0xF34A),(0xF34B),(0xF34C),(0xF34D),(0xF34E),(0xF34F),
2045+(0xF350),(0xF351),(0xF352),(0xF353),(0xF354),(0xF355),(0xF356),(0xF357),
2046+(0xF358),(0xF359),(0xF35A),(0xF35B),(0xF35C),(0xF35D),(0xF35E),(0xF35F),
2047+(0xF360),(0xF361),(0xF362),(0xF363),(0xF364),(0xF365),(0xF366),(0xF367),
2048+(0xF368),(0xF369),(0xF36A),(0xF36B),(0xF36C),(0xF36D),(0xF36E),(0xF36F),
2049+(0xF370),(0xF371),(0xF372),(0xF373),(0xF374),(0xF375),(0xF376),(0xF377),
2050+(0xF378),(0xF379),(0xF37A),(0xF37B),(0xF37C),(0xF37D),(0xF37E),
2051+(0xF380),(0xF381),(0xF382),(0xF383),(0xF384),(0xF385),(0xF386),(0xF387),
2052+(0xF388),(0xF389),(0xF38A),(0xF38B),(0xF38C),(0xF38D),(0xF38E),(0xF38F),
2053+(0xF390),(0xF391),(0xF392),(0xF393),(0xF394),(0xF395),(0xF396),(0xF397),
2054+(0xF398),(0xF399),(0xF39A),(0xF39B),(0xF39C),(0xF39D),(0xF39E),(0xF39F),
2055+(0xF3A0),(0xF3A1),(0xF3A2),(0xF3A3),(0xF3A4),(0xF3A5),(0xF3A6),(0xF3A7),
2056+(0xF3A8),(0xF3A9),(0xF3AA),(0xF3AB),(0xF3AC),(0xF3AD),(0xF3AE),(0xF3AF),
2057+(0xF3B0),(0xF3B1),(0xF3B2),(0xF3B3),(0xF3B4),(0xF3B5),(0xF3B6),(0xF3B7),
2058+(0xF3B8),(0xF3B9),(0xF3BA),(0xF3BB),(0xF3BC),(0xF3BD),(0xF3BE),(0xF3BF),
2059+(0xF3C0),(0xF3C1),(0xF3C2),(0xF3C3),(0xF3C4),(0xF3C5),(0xF3C6),(0xF3C7),
2060+(0xF3C8),(0xF3C9),(0xF3CA),(0xF3CB),(0xF3CC),(0xF3CD),(0xF3CE),(0xF3CF),
2061+(0xF3D0),(0xF3D1),(0xF3D2),(0xF3D3),(0xF3D4),(0xF3D5),(0xF3D6),(0xF3D7),
2062+(0xF3D8),(0xF3D9),(0xF3DA),(0xF3DB),(0xF3DC),(0xF3DD),(0xF3DE),(0xF3DF),
2063+(0xF3E0),(0xF3E1),(0xF3E2),(0xF3E3),(0xF3E4),(0xF3E5),(0xF3E6),(0xF3E7),
2064+(0xF3E8),(0xF3E9),(0xF3EA),(0xF3EB),(0xF3EC),(0xF3ED),(0xF3EE),(0xF3EF),
2065+(0xF3F0),(0xF3F1),(0xF3F2),(0xF3F3),(0xF3F4),(0xF3F5),(0xF3F6),(0xF3F7),
2066+(0xF3F8),(0xF3F9),(0xF3FA),(0xF3FB),(0xF3FC),
2067+(0xF440),(0xF441),(0xF442),(0xF443),(0xF444),(0xF445),(0xF446),(0xF447),
2068+(0xF448),(0xF449),(0xF44A),(0xF44B),(0xF44C),(0xF44D),(0xF44E),(0xF44F),
2069+(0xF450),(0xF451),(0xF452),(0xF453),(0xF454),(0xF455),(0xF456),(0xF457),
2070+(0xF458),(0xF459),(0xF45A),(0xF45B),(0xF45C),(0xF45D),(0xF45E),(0xF45F),
2071+(0xF460),(0xF461),(0xF462),(0xF463),(0xF464),(0xF465),(0xF466),(0xF467),
2072+(0xF468),(0xF469),(0xF46A),(0xF46B),(0xF46C),(0xF46D),(0xF46E),(0xF46F),
2073+(0xF470),(0xF471),(0xF472),(0xF473),(0xF474),(0xF475),(0xF476),(0xF477),
2074+(0xF478),(0xF479),(0xF47A),(0xF47B),(0xF47C),(0xF47D),(0xF47E),
2075+(0xF480),(0xF481),(0xF482),(0xF483),(0xF484),(0xF485),(0xF486),(0xF487),
2076+(0xF488),(0xF489),(0xF48A),(0xF48B),(0xF48C),(0xF48D),(0xF48E),(0xF48F),
2077+(0xF490),(0xF491),(0xF492),(0xF493),(0xF494),(0xF495),(0xF496),(0xF497),
2078+(0xF498),(0xF499),(0xF49A),(0xF49B),(0xF49C),(0xF49D),(0xF49E),(0xF49F),
2079+(0xF4A0),(0xF4A1),(0xF4A2),(0xF4A3),(0xF4A4),(0xF4A5),(0xF4A6),(0xF4A7),
2080+(0xF4A8),(0xF4A9),(0xF4AA),(0xF4AB),(0xF4AC),(0xF4AD),(0xF4AE),(0xF4AF),
2081+(0xF4B0),(0xF4B1),(0xF4B2),(0xF4B3),(0xF4B4),(0xF4B5),(0xF4B6),(0xF4B7),
2082+(0xF4B8),(0xF4B9),(0xF4BA),(0xF4BB),(0xF4BC),(0xF4BD),(0xF4BE),(0xF4BF),
2083+(0xF4C0),(0xF4C1),(0xF4C2),(0xF4C3),(0xF4C4),(0xF4C5),(0xF4C6),(0xF4C7),
2084+(0xF4C8),(0xF4C9),(0xF4CA),(0xF4CB),(0xF4CC),(0xF4CD),(0xF4CE),(0xF4CF),
2085+(0xF4D0),(0xF4D1),(0xF4D2),(0xF4D3),(0xF4D4),(0xF4D5),(0xF4D6),(0xF4D7),
2086+(0xF4D8),(0xF4D9),(0xF4DA),(0xF4DB),(0xF4DC),(0xF4DD),(0xF4DE),(0xF4DF),
2087+(0xF4E0),(0xF4E1),(0xF4E2),(0xF4E3),(0xF4E4),(0xF4E5),(0xF4E6),(0xF4E7),
2088+(0xF4E8),(0xF4E9),(0xF4EA),(0xF4EB),(0xF4EC),(0xF4ED),(0xF4EE),(0xF4EF),
2089+(0xF4F0),(0xF4F1),(0xF4F2),(0xF4F3),(0xF4F4),(0xF4F5),(0xF4F6),(0xF4F7),
2090+(0xF4F8),(0xF4F9),(0xF4FA),(0xF4FB),(0xF4FC),
2091+(0xF540),(0xF541),(0xF542),(0xF543),(0xF544),(0xF545),(0xF546),(0xF547),
2092+(0xF548),(0xF549),(0xF54A),(0xF54B),(0xF54C),(0xF54D),(0xF54E),(0xF54F),
2093+(0xF550),(0xF551),(0xF552),(0xF553),(0xF554),(0xF555),(0xF556),(0xF557),
2094+(0xF558),(0xF559),(0xF55A),(0xF55B),(0xF55C),(0xF55D),(0xF55E),(0xF55F),
2095+(0xF560),(0xF561),(0xF562),(0xF563),(0xF564),(0xF565),(0xF566),(0xF567),
2096+(0xF568),(0xF569),(0xF56A),(0xF56B),(0xF56C),(0xF56D),(0xF56E),(0xF56F),
2097+(0xF570),(0xF571),(0xF572),(0xF573),(0xF574),(0xF575),(0xF576),(0xF577),
2098+(0xF578),(0xF579),(0xF57A),(0xF57B),(0xF57C),(0xF57D),(0xF57E),
2099+(0xF580),(0xF581),(0xF582),(0xF583),(0xF584),(0xF585),(0xF586),(0xF587),
2100+(0xF588),(0xF589),(0xF58A),(0xF58B),(0xF58C),(0xF58D),(0xF58E),(0xF58F),
2101+(0xF590),(0xF591),(0xF592),(0xF593),(0xF594),(0xF595),(0xF596),(0xF597),
2102+(0xF598),(0xF599),(0xF59A),(0xF59B),(0xF59C),(0xF59D),(0xF59E),(0xF59F),
2103+(0xF5A0),(0xF5A1),(0xF5A2),(0xF5A3),(0xF5A4),(0xF5A5),(0xF5A6),(0xF5A7),
2104+(0xF5A8),(0xF5A9),(0xF5AA),(0xF5AB),(0xF5AC),(0xF5AD),(0xF5AE),(0xF5AF),
2105+(0xF5B0),(0xF5B1),(0xF5B2),(0xF5B3),(0xF5B4),(0xF5B5),(0xF5B6),(0xF5B7),
2106+(0xF5B8),(0xF5B9),(0xF5BA),(0xF5BB),(0xF5BC),(0xF5BD),(0xF5BE),(0xF5BF),
2107+(0xF5C0),(0xF5C1),(0xF5C2),(0xF5C3),(0xF5C4),(0xF5C5),(0xF5C6),(0xF5C7),
2108+(0xF5C8),(0xF5C9),(0xF5CA),(0xF5CB),(0xF5CC),(0xF5CD),(0xF5CE),(0xF5CF),
2109+(0xF5D0),(0xF5D1),(0xF5D2),(0xF5D3),(0xF5D4),(0xF5D5),(0xF5D6),(0xF5D7),
2110+(0xF5D8),(0xF5D9),(0xF5DA),(0xF5DB),(0xF5DC),(0xF5DD),(0xF5DE),(0xF5DF),
2111+(0xF5E0),(0xF5E1),(0xF5E2),(0xF5E3),(0xF5E4),(0xF5E5),(0xF5E6),(0xF5E7),
2112+(0xF5E8),(0xF5E9),(0xF5EA),(0xF5EB),(0xF5EC),(0xF5ED),(0xF5EE),(0xF5EF),
2113+(0xF5F0),(0xF5F1),(0xF5F2),(0xF5F3),(0xF5F4),(0xF5F5),(0xF5F6),(0xF5F7),
2114+(0xF5F8),(0xF5F9),(0xF5FA),(0xF5FB),(0xF5FC),
2115+(0xF640),(0xF641),(0xF642),(0xF643),(0xF644),(0xF645),(0xF646),(0xF647),
2116+(0xF648),(0xF649),(0xF64A),(0xF64B),(0xF64C),(0xF64D),(0xF64E),(0xF64F),
2117+(0xF650),(0xF651),(0xF652),(0xF653),(0xF654),(0xF655),(0xF656),(0xF657),
2118+(0xF658),(0xF659),(0xF65A),(0xF65B),(0xF65C),(0xF65D),(0xF65E),(0xF65F),
2119+(0xF660),(0xF661),(0xF662),(0xF663),(0xF664),(0xF665),(0xF666),(0xF667),
2120+(0xF668),(0xF669),(0xF66A),(0xF66B),(0xF66C),(0xF66D),(0xF66E),(0xF66F),
2121+(0xF670),(0xF671),(0xF672),(0xF673),(0xF674),(0xF675),(0xF676),(0xF677),
2122+(0xF678),(0xF679),(0xF67A),(0xF67B),(0xF67C),(0xF67D),(0xF67E),
2123+(0xF680),(0xF681),(0xF682),(0xF683),(0xF684),(0xF685),(0xF686),(0xF687),
2124+(0xF688),(0xF689),(0xF68A),(0xF68B),(0xF68C),(0xF68D),(0xF68E),(0xF68F),
2125+(0xF690),(0xF691),(0xF692),(0xF693),(0xF694),(0xF695),(0xF696),(0xF697),
2126+(0xF698),(0xF699),(0xF69A),(0xF69B),(0xF69C),(0xF69D),(0xF69E),(0xF69F),
2127+(0xF6A0),(0xF6A1),(0xF6A2),(0xF6A3),(0xF6A4),(0xF6A5),(0xF6A6),(0xF6A7),
2128+(0xF6A8),(0xF6A9),(0xF6AA),(0xF6AB),(0xF6AC),(0xF6AD),(0xF6AE),(0xF6AF),
2129+(0xF6B0),(0xF6B1),(0xF6B2),(0xF6B3),(0xF6B4),(0xF6B5),(0xF6B6),(0xF6B7),
2130+(0xF6B8),(0xF6B9),(0xF6BA),(0xF6BB),(0xF6BC),(0xF6BD),(0xF6BE),(0xF6BF),
2131+(0xF6C0),(0xF6C1),(0xF6C2),(0xF6C3),(0xF6C4),(0xF6C5),(0xF6C6),(0xF6C7),
2132+(0xF6C8),(0xF6C9),(0xF6CA),(0xF6CB),(0xF6CC),(0xF6CD),(0xF6CE),(0xF6CF),
2133+(0xF6D0),(0xF6D1),(0xF6D2),(0xF6D3),(0xF6D4),(0xF6D5),(0xF6D6),(0xF6D7),
2134+(0xF6D8),(0xF6D9),(0xF6DA),(0xF6DB),(0xF6DC),(0xF6DD),(0xF6DE),(0xF6DF),
2135+(0xF6E0),(0xF6E1),(0xF6E2),(0xF6E3),(0xF6E4),(0xF6E5),(0xF6E6),(0xF6E7),
2136+(0xF6E8),(0xF6E9),(0xF6EA),(0xF6EB),(0xF6EC),(0xF6ED),(0xF6EE),(0xF6EF),
2137+(0xF6F0),(0xF6F1),(0xF6F2),(0xF6F3),(0xF6F4),(0xF6F5),(0xF6F6),(0xF6F7),
2138+(0xF6F8),(0xF6F9),(0xF6FA),(0xF6FB),(0xF6FC),
2139+(0xF740),(0xF741),(0xF742),(0xF743),(0xF744),(0xF745),(0xF746),(0xF747),
2140+(0xF748),(0xF749),(0xF74A),(0xF74B),(0xF74C),(0xF74D),(0xF74E),(0xF74F),
2141+(0xF750),(0xF751),(0xF752),(0xF753),(0xF754),(0xF755),(0xF756),(0xF757),
2142+(0xF758),(0xF759),(0xF75A),(0xF75B),(0xF75C),(0xF75D),(0xF75E),(0xF75F),
2143+(0xF760),(0xF761),(0xF762),(0xF763),(0xF764),(0xF765),(0xF766),(0xF767),
2144+(0xF768),(0xF769),(0xF76A),(0xF76B),(0xF76C),(0xF76D),(0xF76E),(0xF76F),
2145+(0xF770),(0xF771),(0xF772),(0xF773),(0xF774),(0xF775),(0xF776),(0xF777),
2146+(0xF778),(0xF779),(0xF77A),(0xF77B),(0xF77C),(0xF77D),(0xF77E),
2147+(0xF780),(0xF781),(0xF782),(0xF783),(0xF784),(0xF785),(0xF786),(0xF787),
2148+(0xF788),(0xF789),(0xF78A),(0xF78B),(0xF78C),(0xF78D),(0xF78E),(0xF78F),
2149+(0xF790),(0xF791),(0xF792),(0xF793),(0xF794),(0xF795),(0xF796),(0xF797),
2150+(0xF798),(0xF799),(0xF79A),(0xF79B),(0xF79C),(0xF79D),(0xF79E),(0xF79F),
2151+(0xF7A0),(0xF7A1),(0xF7A2),(0xF7A3),(0xF7A4),(0xF7A5),(0xF7A6),(0xF7A7),
2152+(0xF7A8),(0xF7A9),(0xF7AA),(0xF7AB),(0xF7AC),(0xF7AD),(0xF7AE),(0xF7AF),
2153+(0xF7B0),(0xF7B1),(0xF7B2),(0xF7B3),(0xF7B4),(0xF7B5),(0xF7B6),(0xF7B7),
2154+(0xF7B8),(0xF7B9),(0xF7BA),(0xF7BB),(0xF7BC),(0xF7BD),(0xF7BE),(0xF7BF),
2155+(0xF7C0),(0xF7C1),(0xF7C2),(0xF7C3),(0xF7C4),(0xF7C5),(0xF7C6),(0xF7C7),
2156+(0xF7C8),(0xF7C9),(0xF7CA),(0xF7CB),(0xF7CC),(0xF7CD),(0xF7CE),(0xF7CF),
2157+(0xF7D0),(0xF7D1),(0xF7D2),(0xF7D3),(0xF7D4),(0xF7D5),(0xF7D6),(0xF7D7),
2158+(0xF7D8),(0xF7D9),(0xF7DA),(0xF7DB),(0xF7DC),(0xF7DD),(0xF7DE),(0xF7DF),
2159+(0xF7E0),(0xF7E1),(0xF7E2),(0xF7E3),(0xF7E4),(0xF7E5),(0xF7E6),(0xF7E7),
2160+(0xF7E8),(0xF7E9),(0xF7EA),(0xF7EB),(0xF7EC),(0xF7ED),(0xF7EE),(0xF7EF),
2161+(0xF7F0),(0xF7F1),(0xF7F2),(0xF7F3),(0xF7F4),(0xF7F5),(0xF7F6),(0xF7F7),
2162+(0xF7F8),(0xF7F9),(0xF7FA),(0xF7FB),(0xF7FC),
2163+(0xF840),(0xF841),(0xF842),(0xF843),(0xF844),(0xF845),(0xF846),(0xF847),
2164+(0xF848),(0xF849),(0xF84A),(0xF84B),(0xF84C),(0xF84D),(0xF84E),(0xF84F),
2165+(0xF850),(0xF851),(0xF852),(0xF853),(0xF854),(0xF855),(0xF856),(0xF857),
2166+(0xF858),(0xF859),(0xF85A),(0xF85B),(0xF85C),(0xF85D),(0xF85E),(0xF85F),
2167+(0xF860),(0xF861),(0xF862),(0xF863),(0xF864),(0xF865),(0xF866),(0xF867),
2168+(0xF868),(0xF869),(0xF86A),(0xF86B),(0xF86C),(0xF86D),(0xF86E),(0xF86F),
2169+(0xF870),(0xF871),(0xF872),(0xF873),(0xF874),(0xF875),(0xF876),(0xF877),
2170+(0xF878),(0xF879),(0xF87A),(0xF87B),(0xF87C),(0xF87D),(0xF87E),
2171+(0xF880),(0xF881),(0xF882),(0xF883),(0xF884),(0xF885),(0xF886),(0xF887),
2172+(0xF888),(0xF889),(0xF88A),(0xF88B),(0xF88C),(0xF88D),(0xF88E),(0xF88F),
2173+(0xF890),(0xF891),(0xF892),(0xF893),(0xF894),(0xF895),(0xF896),(0xF897),
2174+(0xF898),(0xF899),(0xF89A),(0xF89B),(0xF89C),(0xF89D),(0xF89E),(0xF89F),
2175+(0xF8A0),(0xF8A1),(0xF8A2),(0xF8A3),(0xF8A4),(0xF8A5),(0xF8A6),(0xF8A7),
2176+(0xF8A8),(0xF8A9),(0xF8AA),(0xF8AB),(0xF8AC),(0xF8AD),(0xF8AE),(0xF8AF),
2177+(0xF8B0),(0xF8B1),(0xF8B2),(0xF8B3),(0xF8B4),(0xF8B5),(0xF8B6),(0xF8B7),
2178+(0xF8B8),(0xF8B9),(0xF8BA),(0xF8BB),(0xF8BC),(0xF8BD),(0xF8BE),(0xF8BF),
2179+(0xF8C0),(0xF8C1),(0xF8C2),(0xF8C3),(0xF8C4),(0xF8C5),(0xF8C6),(0xF8C7),
2180+(0xF8C8),(0xF8C9),(0xF8CA),(0xF8CB),(0xF8CC),(0xF8CD),(0xF8CE),(0xF8CF),
2181+(0xF8D0),(0xF8D1),(0xF8D2),(0xF8D3),(0xF8D4),(0xF8D5),(0xF8D6),(0xF8D7),
2182+(0xF8D8),(0xF8D9),(0xF8DA),(0xF8DB),(0xF8DC),(0xF8DD),(0xF8DE),(0xF8DF),
2183+(0xF8E0),(0xF8E1),(0xF8E2),(0xF8E3),(0xF8E4),(0xF8E5),(0xF8E6),(0xF8E7),
2184+(0xF8E8),(0xF8E9),(0xF8EA),(0xF8EB),(0xF8EC),(0xF8ED),(0xF8EE),(0xF8EF),
2185+(0xF8F0),(0xF8F1),(0xF8F2),(0xF8F3),(0xF8F4),(0xF8F5),(0xF8F6),(0xF8F7),
2186+(0xF8F8),(0xF8F9),(0xF8FA),(0xF8FB),(0xF8FC),
2187+(0xF940),(0xF941),(0xF942),(0xF943),(0xF944),(0xF945),(0xF946),(0xF947),
2188+(0xF948),(0xF949),(0xF94A),(0xF94B),(0xF94C),(0xF94D),(0xF94E),(0xF94F),
2189+(0xF950),(0xF951),(0xF952),(0xF953),(0xF954),(0xF955),(0xF956),(0xF957),
2190+(0xF958),(0xF959),(0xF95A),(0xF95B),(0xF95C),(0xF95D),(0xF95E),(0xF95F),
2191+(0xF960),(0xF961),(0xF962),(0xF963),(0xF964),(0xF965),(0xF966),(0xF967),
2192+(0xF968),(0xF969),(0xF96A),(0xF96B),(0xF96C),(0xF96D),(0xF96E),(0xF96F),
2193+(0xF970),(0xF971),(0xF972),(0xF973),(0xF974),(0xF975),(0xF976),(0xF977),
2194+(0xF978),(0xF979),(0xF97A),(0xF97B),(0xF97C),(0xF97D),(0xF97E),
2195+(0xF980),(0xF981),(0xF982),(0xF983),(0xF984),(0xF985),(0xF986),(0xF987),
2196+(0xF988),(0xF989),(0xF98A),(0xF98B),(0xF98C),(0xF98D),(0xF98E),(0xF98F),
2197+(0xF990),(0xF991),(0xF992),(0xF993),(0xF994),(0xF995),(0xF996),(0xF997),
2198+(0xF998),(0xF999),(0xF99A),(0xF99B),(0xF99C),(0xF99D),(0xF99E),(0xF99F),
2199+(0xF9A0),(0xF9A1),(0xF9A2),(0xF9A3),(0xF9A4),(0xF9A5),(0xF9A6),(0xF9A7),
2200+(0xF9A8),(0xF9A9),(0xF9AA),(0xF9AB),(0xF9AC),(0xF9AD),(0xF9AE),(0xF9AF),
2201+(0xF9B0),(0xF9B1),(0xF9B2),(0xF9B3),(0xF9B4),(0xF9B5),(0xF9B6),(0xF9B7),
2202+(0xF9B8),(0xF9B9),(0xF9BA),(0xF9BB),(0xF9BC),(0xF9BD),(0xF9BE),(0xF9BF),
2203+(0xF9C0),(0xF9C1),(0xF9C2),(0xF9C3),(0xF9C4),(0xF9C5),(0xF9C6),(0xF9C7),
2204+(0xF9C8),(0xF9C9),(0xF9CA),(0xF9CB),(0xF9CC),(0xF9CD),(0xF9CE),(0xF9CF),
2205+(0xF9D0),(0xF9D1),(0xF9D2),(0xF9D3),(0xF9D4),(0xF9D5),(0xF9D6),(0xF9D7),
2206+(0xF9D8),(0xF9D9),(0xF9DA),(0xF9DB),(0xF9DC),(0xF9DD),(0xF9DE),(0xF9DF),
2207+(0xF9E0),(0xF9E1),(0xF9E2),(0xF9E3),(0xF9E4),(0xF9E5),(0xF9E6),(0xF9E7),
2208+(0xF9E8),(0xF9E9),(0xF9EA),(0xF9EB),(0xF9EC),(0xF9ED),(0xF9EE),(0xF9EF),
2209+(0xF9F0),(0xF9F1),(0xF9F2),(0xF9F3),(0xF9F4),(0xF9F5),(0xF9F6),(0xF9F7),
2210+(0xF9F8),(0xF9F9),(0xF9FA),(0xF9FB),(0xF9FC);
2211+
2212+#Test that all the characters are stored correctly
2213+SELECT HEX(c1) FROM t1;
2214+
2215+#Test conversion to ucs2
2216+CREATE TABLE t2 SELECT CONVERT(c1 USING ucs2) AS c1 FROM t1;
2217+SELECT HEX(c1) FROM t2;
2218+
2219+#Test round trip conversion
2220+CREATE TABLE t3 SELECT CONVERT(c1 USING cp932) AS c1 FROM t2;
2221+SELECT HEX(c1) FROM t3;
2222+
2223+#Test conversion to eucjpms
2224+CREATE TABLE t4 SELECT CONVERT(c1 USING eucjpms) AS c1 FROM t1;
2225+SELECT HEX(c1) FROM t4;
2226+
2227+DROP TABLE t1;
2228+DROP TABLE t2;
2229+DROP TABLE t3;
2230+DROP TABLE t4;
2231+
2232+SET collation_connection='cp932_japanese_ci';
2233+-- source include/ctype_filesort.inc
2234+SET collation_connection='cp932_bin';
2235+-- source include/ctype_filesort.inc
2236+
2237+#
2238+# Bug#12547: Inserting long string into varchar causes table crash in cp932
2239+#
2240+create table t1 (col1 varchar(1)) character set cp932;
2241+insert into t1 values ('a');
2242+insert into t1 values ('ab');
2243+select * from t1;
2244+insert into t1 values ('abc');
2245+select * from t1;
2246+drop table t1;
2247
2248=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932_binlog.test'
2249--- test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932_binlog.test 1970-01-01 00:00:00 +0000
2250+++ test/mysql-test/test_data/505/extra/binlog_tests/ctype_cp932_binlog.test 2011-06-10 14:18:36 +0000
2251@@ -0,0 +1,37 @@
2252+-- source include/not_embedded.inc
2253+-- source include/have_log_bin.inc
2254+-- source include/have_cp932.inc
2255+
2256+--character_set cp932
2257+--disable_warnings
2258+drop table if exists t1;
2259+--enable_warnings
2260+
2261+set names cp932;
2262+set character_set_database = cp932;
2263+
2264+# Test prepared statement with 0x8300 sequence in parameter while
2265+# running with cp932 client character set.
2266+RESET MASTER;
2267+CREATE TABLE t1(f1 blob);
2268+PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
2269+SET @var1= x'8300';
2270+# TODO: Note that this doesn't actually test the code which was added for
2271+# bug#11338 because this syntax for prepared statements causes the PS to
2272+# be replicated differently than if we executed the PS from C or Java.
2273+# Using this syntax, variable names are inserted into the binlog instead
2274+# of values. The real goal of this test is to check the code that was
2275+# added to Item_param::query_val_str() in order to do hex encoding of
2276+# PS parameters when the client character set is cp932;
2277+# Bug#11338 has an example java program which can be used to verify this
2278+# code (and I have used it to test the fix) until there is some way to
2279+# exercise this code from mysql-test-run.
2280+EXECUTE stmt1 USING @var1;
2281+--replace_column 2 # 5 #
2282+--replace_regex /table_id: [0-9]+/table_id: #/
2283+SHOW BINLOG EVENTS FROM 107;
2284+SELECT HEX(f1) FROM t1;
2285+DROP table t1;
2286+# end test for bug#11338
2287+
2288+# End of 4.1 tests
2289
2290=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/ctype_ucs_binlog.test'
2291--- test/mysql-test/test_data/505/extra/binlog_tests/ctype_ucs_binlog.test 1970-01-01 00:00:00 +0000
2292+++ test/mysql-test/test_data/505/extra/binlog_tests/ctype_ucs_binlog.test 2011-06-10 14:18:36 +0000
2293@@ -0,0 +1,23 @@
2294+--source include/not_embedded.inc
2295+-- source include/have_log_bin.inc
2296+--source include/have_ucs2.inc
2297+
2298+#
2299+# Check correct binlogging of UCS2 user variables (BUG#3875)
2300+#
2301+SET TIMESTAMP=10000;
2302+create table t2 (c char(30)) charset=ucs2;
2303+set @v=convert('abc' using ucs2);
2304+reset master;
2305+insert into t2 values (@v);
2306+--replace_regex /table_id: [0-9]+/table_id: #/
2307+show binlog events from 107;
2308+# more important than SHOW BINLOG EVENTS, mysqlbinlog (where we
2309+# absolutely need variables names to be quoted and strings to be
2310+# escaped).
2311+flush logs;
2312+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
2313+--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
2314+drop table t2;
2315+
2316+# End of 4.1 tests
2317
2318=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/drop_temp_table.test'
2319--- test/mysql-test/test_data/505/extra/binlog_tests/drop_temp_table.test 1970-01-01 00:00:00 +0000
2320+++ test/mysql-test/test_data/505/extra/binlog_tests/drop_temp_table.test 2011-06-10 14:18:36 +0000
2321@@ -0,0 +1,32 @@
2322+# Embedded server doesn't support binlog
2323+-- source include/not_embedded.inc
2324+
2325+--disable_warnings
2326+drop database if exists `drop-temp+table-test`;
2327+--enable_warnings
2328+
2329+connect (con1,localhost,root,,);
2330+connect (con2,localhost,root,,);
2331+connection con1;
2332+reset master;
2333+create database `drop-temp+table-test`;
2334+use `drop-temp+table-test`;
2335+create temporary table shortn1 (a int);
2336+create temporary table `table:name` (a int);
2337+create temporary table shortn2 (a int);
2338+select get_lock("a",10);
2339+disconnect con1;
2340+
2341+connection con2;
2342+# We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
2343+# guarantee that logging of the terminated con1 has been done yet.
2344+# To be sure that logging has been done, we use a user lock.
2345+select get_lock("a",10);
2346+let $VERSION=`select version()`;
2347+--replace_result $VERSION VERSION
2348+--replace_column 2 # 5 #
2349+--replace_regex /table_id: [0-9]+/table_id: #/
2350+show binlog events;
2351+drop database `drop-temp+table-test`;
2352+
2353+# End of 4.1 tests
2354
2355=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/innodb_stat.test'
2356--- test/mysql-test/test_data/505/extra/binlog_tests/innodb_stat.test 1970-01-01 00:00:00 +0000
2357+++ test/mysql-test/test_data/505/extra/binlog_tests/innodb_stat.test 2011-06-10 14:18:36 +0000
2358@@ -0,0 +1,49 @@
2359+# Embedded server doesn't support binlog
2360+-- source include/not_embedded.inc
2361+-- source include/have_innodb.inc
2362+
2363+#
2364+# Let us test binlog_cache_use and binlog_cache_disk_use status vars.
2365+# Actually this test has nothing to do with innodb per se, it just requires
2366+# transactional table.
2367+#
2368+show status like "binlog_cache_use";
2369+show status like "binlog_cache_disk_use";
2370+--disable_warnings
2371+drop table if exists t1;
2372+--enable_warnings
2373+
2374+create table t1 (a int) engine=innodb;
2375+
2376+# Now we are going to create transaction which is long enough so its
2377+# transaction binlog will be flushed to disk...
2378+let $1=2000;
2379+disable_query_log;
2380+begin;
2381+while ($1)
2382+{
2383+ eval insert into t1 values( $1 );
2384+ dec $1;
2385+}
2386+commit;
2387+enable_query_log;
2388+show status like "binlog_cache_use";
2389+show status like "binlog_cache_disk_use";
2390+
2391+# Transaction which should not be flushed to disk and so should not
2392+# increase binlog_cache_disk_use.
2393+begin;
2394+delete from t1;
2395+commit;
2396+show status like "binlog_cache_use";
2397+show status like "binlog_cache_disk_use";
2398+drop table t1;
2399+
2400+# Test for testable InnoDB status variables. This test
2401+# uses previous ones(pages_created, rows_deleted, ...).
2402+show status like "Innodb_buffer_pool_pages_total";
2403+show status like "Innodb_page_size";
2404+show status like "Innodb_rows_deleted";
2405+show status like "Innodb_rows_inserted";
2406+show status like "Innodb_rows_updated";
2407+
2408
2409=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/insert_select-binlog.test'
2410--- test/mysql-test/test_data/505/extra/binlog_tests/insert_select-binlog.test 1970-01-01 00:00:00 +0000
2411+++ test/mysql-test/test_data/505/extra/binlog_tests/insert_select-binlog.test 2011-06-10 14:18:36 +0000
2412@@ -0,0 +1,41 @@
2413+# Embedded server doesn't support binlog
2414+-- source include/not_embedded.inc
2415+
2416+--disable_warnings
2417+drop table if exists t1,t2;
2418+--enable_warnings
2419+
2420+# Check if a partly-completed INSERT SELECT in a MyISAM table goes into the
2421+# binlog
2422+
2423+create table t1(a int, unique(a));
2424+insert into t1 values(2);
2425+create table t2(a int);
2426+insert into t2 values(1),(2);
2427+reset master;
2428+--error 1582
2429+insert into t1 select * from t2;
2430+# The above should produce an error, but still be in the binlog;
2431+# verify the binlog :
2432+let $VERSION=`select version()`;
2433+--replace_result $VERSION VERSION
2434+--replace_regex /table_id: [0-9]+/table_id: #/
2435+show binlog events;
2436+select * from t1;
2437+drop table t1, t2;
2438+
2439+# Verify that a partly-completed CREATE TABLE .. SELECT does not
2440+# get into the binlog (Bug #6682)
2441+create table t1(a int);
2442+insert into t1 values(1),(1);
2443+reset master;
2444+--error 1582
2445+create table t2(unique(a)) select a from t1;
2446+# The above should produce an error, *and* not appear in the binlog
2447+let $VERSION=`select version()`;
2448+--replace_result $VERSION VERSION
2449+--replace_regex /table_id: [0-9]+/table_id: #/
2450+show binlog events;
2451+drop table t1;
2452+
2453+# End of 4.1 tests
2454
2455=== added file 'test/mysql-test/test_data/505/extra/binlog_tests/mix_innodb_myisam_binlog.test'
2456--- test/mysql-test/test_data/505/extra/binlog_tests/mix_innodb_myisam_binlog.test 1970-01-01 00:00:00 +0000
2457+++ test/mysql-test/test_data/505/extra/binlog_tests/mix_innodb_myisam_binlog.test 2011-06-10 14:18:36 +0000
2458@@ -0,0 +1,349 @@
2459+# Check that binlog is ok when a transaction mixes updates to InnoDB and
2460+# MyISAM.
2461+# It would be nice to make this a replication test, but in 4.0 the
2462+# slave is always with --skip-innodb in the testsuite. I (Guilhem) however
2463+# did some tests manually on a slave; tables are replicated fine and
2464+# Exec_Master_Log_Pos advances as expected.
2465+
2466+# Embedded server doesn't support binlogging
2467+-- source include/not_embedded.inc
2468+
2469+-- source include/have_innodb.inc
2470+-- source include/have_debug.inc
2471+
2472+--disable_warnings
2473+drop table if exists t1, t2;
2474+--enable_warnings
2475+
2476+connect (con1,localhost,root,,);
2477+connect (con2,localhost,root,,);
2478+
2479+connection con1;
2480+create table t1 (a int) engine=pbxt; # PBXT Use instead of InnoDB
2481+create table t2 (a int) engine=myisam;
2482+
2483+reset master;
2484+
2485+begin;
2486+insert into t1 values(1);
2487+insert into t2 select * from t1;
2488+commit;
2489+
2490+--replace_column 2 # 5 #
2491+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2492+show binlog events from 102;
2493+
2494+delete from t1;
2495+delete from t2;
2496+reset master;
2497+
2498+begin;
2499+insert into t1 values(2);
2500+insert into t2 select * from t1;
2501+# should say some changes to non-transact1onal tables couldn't be rolled back
2502+rollback;
2503+
2504+--replace_column 2 # 5 #
2505+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2506+show binlog events from 102;
2507+
2508+delete from t1;
2509+delete from t2;
2510+reset master;
2511+
2512+begin;
2513+insert into t1 values(3);
2514+--savepoint my_savepoint; # PBXT: Not yet implemented
2515+insert into t1 values(4);
2516+insert into t2 select * from t1;
2517+--rollback to savepoint my_savepoint; # PBXT: Not yet implemented
2518+commit;
2519+
2520+--replace_column 2 # 5 #
2521+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2522+show binlog events from 102;
2523+
2524+delete from t1;
2525+delete from t2;
2526+reset master;
2527+
2528+begin;
2529+insert into t1 values(5);
2530+--savepoint my_savepoint; # PBXT: Not yet implemented
2531+insert into t1 values(6);
2532+insert into t2 select * from t1;
2533+--rollback to savepoint my_savepoint; # PBXT: Not yet implemented
2534+insert into t1 values(7);
2535+commit;
2536+select a from t1 order by a; # check that savepoints work :)
2537+
2538+--replace_column 2 # 5 #
2539+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2540+show binlog events from 102;
2541+
2542+# and when ROLLBACK is not explicit?
2543+delete from t1;
2544+delete from t2;
2545+reset master;
2546+
2547+select get_lock("a",10);
2548+begin;
2549+insert into t1 values(8);
2550+insert into t2 select * from t1;
2551+disconnect con1;
2552+
2553+connection con2;
2554+# We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
2555+# guarantee that logging of the terminated con1 has been done yet (it may not
2556+# even be started, so con1 may have not even attempted to lock the binlog yet;
2557+# so SHOW BINLOG EVENTS may come before con1 does the loggin. To be sure that
2558+# logging has been done, we use a user lock.
2559+select get_lock("a",10);
2560+--replace_column 2 # 5 #
2561+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2562+show binlog events from 102;
2563+
2564+# and when not in a transact1on?
2565+delete from t1;
2566+delete from t2;
2567+reset master;
2568+
2569+insert into t1 values(9);
2570+insert into t2 select * from t1;
2571+
2572+--replace_column 2 # 5 #
2573+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2574+show binlog events from 102;
2575+
2576+# Check that when the query updat1ng the MyISAM table is the first in the
2577+# transaction, we log it immediately.
2578+delete from t1;
2579+delete from t2;
2580+reset master;
2581+
2582+insert into t1 values(10); # first make t1 non-empty
2583+begin;
2584+insert into t2 select * from t1;
2585+--replace_column 2 # 5 #
2586+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2587+show binlog events from 102;
2588+insert into t1 values(11);
2589+commit;
2590+
2591+--replace_column 2 # 5 #
2592+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2593+show binlog events from 102;
2594+
2595+
2596+# Check that things work like before this BEGIN/ROLLBACK code was added,
2597+# when t2 is INNODB
2598+
2599+alter table t2 engine=INNODB;
2600+
2601+delete from t1;
2602+delete from t2;
2603+reset master;
2604+
2605+begin;
2606+insert into t1 values(12);
2607+insert into t2 select * from t1;
2608+commit;
2609+
2610+--replace_column 2 # 5 #
2611+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2612+show binlog events from 102;
2613+
2614+delete from t1;
2615+delete from t2;
2616+reset master;
2617+
2618+begin;
2619+insert into t1 values(13);
2620+insert into t2 select * from t1;
2621+rollback;
2622+
2623+--replace_column 2 # 5 #
2624+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2625+show binlog events from 102;
2626+
2627+delete from t1;
2628+delete from t2;
2629+reset master;
2630+
2631+begin;
2632+insert into t1 values(14);
2633+--savepoint my_savepoint; # PBXT: Not yet implemented
2634+insert into t1 values(15);
2635+insert into t2 select * from t1;
2636+--rollback to savepoint my_savepoint; # PBXT: Not yet implemented
2637+commit;
2638+
2639+--replace_column 2 # 5 #
2640+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2641+show binlog events from 102;
2642+
2643+delete from t1;
2644+delete from t2;
2645+reset master;
2646+
2647+begin;
2648+insert into t1 values(16);
2649+--savepoint my_savepoint; # PBXT: Not yet implemented
2650+insert into t1 values(17);
2651+insert into t2 select * from t1;
2652+--rollback to savepoint my_savepoint; # PBXT: Not yet implemented
2653+insert into t1 values(18);
2654+commit;
2655+select a from t1 order by a; # check that savepoints work :)
2656+
2657+--replace_column 2 # 5 #
2658+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2659+show binlog events from 102;
2660+
2661+# Test for BUG#5714, where a MyISAM update in the transaction used to
2662+# release row-level locks in InnoDB
2663+
2664+connect (con3,localhost,root,,);
2665+
2666+connection con3;
2667+delete from t1;
2668+delete from t2;
2669+--disable_warnings
2670+alter table t2 engine=MyISAM;
2671+--enable_warnings
2672+insert into t1 values (1);
2673+begin;
2674+select * from t1 for update;
2675+
2676+connection con2;
2677+select (@before:=unix_timestamp())*0; # always give repeatable output
2678+begin;
2679+send select * from t1 for update;
2680+
2681+connection con3;
2682+insert into t2 values (20);
2683+
2684+connection con2;
2685+# --error 1205 # PBXT does not lock on FOR UPDATE
2686+reap;
2687+select (@after:=unix_timestamp())*0; # always give repeatable output
2688+# verify that innodb_lock_wait_timeout was exceeded. When there was
2689+# the bug, the reap would return immediately after the insert into t2.
2690+select (@after-@before) >= 2;
2691+
2692+drop table t1,t2;
2693+commit;
2694+
2695+# test for BUG#7947 - DO RELEASE_LOCK() not written to binlog on rollback in
2696+# the middle of a transaction
2697+
2698+connection con2;
2699+begin;
2700+create temporary table ti (a int) engine=pbxt; # PBXT Use instead of InnoDB
2701+rollback;
2702+insert into ti values(1);
2703+set autocommit=0;
2704+create temporary table t1 (a int) engine=myisam;
2705+commit;
2706+insert t1 values (1);
2707+rollback;
2708+create table t0 (n int) engine=myisam; # PBXT: MyISAM is intended for this test!
2709+insert t0 select * from t1;
2710+set autocommit=1;
2711+insert into t0 select GET_LOCK("lock1",null);
2712+set autocommit=0;
2713+create table t2 (n int) engine=pbxt; # PBXT Use instead of InnoDB
2714+insert into t2 values (3);
2715+disconnect con2;
2716+connection con3;
2717+select get_lock("lock1",60);
2718+--replace_column 2 # 5 #
2719+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2720+show binlog events from 102;
2721+do release_lock("lock1");
2722+drop table t0,t2;
2723+
2724+# End of 4.1 tests
2725+
2726+#
2727+# Test behaviour of CREATE ... SELECT when mixing MyISAM and InnoDB tables
2728+#
2729+
2730+set autocommit=0;
2731+CREATE TABLE t1 (a int, b int) engine=myisam;
2732+reset master;
2733+INSERT INTO t1 values (1,1),(1,2);
2734+--error 1582
2735+CREATE TABLE t2 (primary key (a)) engine=innodb select * from t1;
2736+# This should give warning
2737+DROP TABLE if exists t2;
2738+INSERT INTO t1 values (3,3);
2739+--error 1582
2740+CREATE TEMPORARY TABLE t2 (primary key (a)) engine=innodb select * from t1;
2741+ROLLBACK;
2742+# This should give warning
2743+DROP TABLE IF EXISTS t2;
2744+
2745+CREATE TABLE t2 (a int, b int, primary key (a)) engine=pbxt; # PBXT Use instead of InnoDB
2746+INSERT INTO t1 VALUES (4,4);
2747+--error 1582
2748+CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
2749+SELECT * from t2;
2750+TRUNCATE table t2;
2751+INSERT INTO t1 VALUES (5,5);
2752+--error 1582
2753+INSERT INTO t2 select * from t1;
2754+SELECT * FROM t2;
2755+DROP TABLE t2;
2756+
2757+INSERT INTO t1 values (6,6);
2758+CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb ;
2759+INSERT INTO t1 values (7,7);
2760+ROLLBACK;
2761+INSERT INTO t1 values (8,8);
2762+--error 1582
2763+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
2764+COMMIT;
2765+INSERT INTO t1 values (9,9);
2766+--error 1582
2767+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
2768+ROLLBACK;
2769+SELECT * from t2;
2770+TRUNCATE table t2;
2771+INSERT INTO t1 values (10,10);
2772+--error 1582
2773+INSERT INTO t2 select * from t1;
2774+SELECT * from t1;
2775+INSERT INTO t2 values (100,100);
2776+--error 1582
2777+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
2778+COMMIT;
2779+INSERT INTO t2 values (101,101);
2780+--error 1582
2781+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
2782+ROLLBACK;
2783+SELECT * from t2;
2784+DROP TABLE t1,t2;
2785+--replace_column 2 # 5 #
2786+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
2787+show binlog events from 102;
2788+
2789+# Test for BUG#16559 (ROLLBACK should always have a zero error code in
2790+# binlog). Has to be here and not earlier, as the SELECTs influence
2791+# XIDs differently between normal and ps-protocol (and SHOW BINLOG
2792+# EVENTS above read XIDs).
2793+
2794+connect (con4,localhost,root,,);
2795+connection con3;
2796+reset master;
2797+create table t1 (a int) engine=pbxt; # PBXT Use instead of InnoDB
2798+create table t2 (a int) engine=myisam;
2799+select get_lock("a",10);
2800+begin;
2801+insert into t1 values(8);
2802+insert into t2 select * from t1;
2803+disconnect con3;
2804+
2805+connection con4;
2806+select get_lock("a",10); # wait for rollback to finish
2807+
2808
2809=== added directory 'test/mysql-test/test_data/505/extra/rpl_tests'
2810=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_EE_err.test'
2811--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_EE_err.test 1970-01-01 00:00:00 +0000
2812+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_EE_err.test 2011-06-10 14:18:36 +0000
2813@@ -0,0 +1,29 @@
2814+# The test is not relevant when testing replication of error codes for
2815+# statements that are not replicated. The test below could be changed
2816+# to rely on the replication of error codes for statements that are not
2817+# replicated row-based.
2818+#
2819+# See if an EE_ error in one event of the master's binlog stops replication
2820+# (it should not: in this configuration the EE_ error is probably not
2821+# critical). Example: you do a DROP TABLE on a table which has no MYI file
2822+# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
2823+# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986).
2824+####################################
2825+# Change Author: JBM
2826+# Change Date: 2006-01-11
2827+# Change: Split test per lars review
2828+####################################
2829+#"REQUIREMENT: A master DROP TABLE on a table with non-existing MYI
2830+# file must be correctly replicated to the slave"
2831+####################################
2832+-- source include/master-slave.inc
2833+
2834+eval create table t1 (a int) engine=$engine_type;
2835+flush tables;
2836+system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYI ;
2837+drop table if exists t1;
2838+save_master_pos;
2839+connection slave;
2840+sync_with_master;
2841+
2842+# End of 4.1 tests
2843
2844=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_auto_increment.test'
2845--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_auto_increment.test 1970-01-01 00:00:00 +0000
2846+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_auto_increment.test 2011-06-10 14:18:36 +0000
2847@@ -0,0 +1,150 @@
2848+#
2849+# Test of auto_increment with offset
2850+#
2851+#####################################
2852+# By: JBM
2853+# Date: 2006-02-10
2854+# Change: NDB does not support auto inc
2855+# in this usage. Currently there is no
2856+# plan to implment. Skipping test when
2857+# NDB is default engine.
2858+#####################################
2859+-- source include/not_ndb_default.inc
2860+-- source include/master-slave.inc
2861+
2862+eval create table t1 (a int not null auto_increment,b int, primary key (a)) engine=$engine_type2 auto_increment=3;
2863+insert into t1 values (NULL,1),(NULL,2),(NULL,3);
2864+select * from t1;
2865+
2866+sync_slave_with_master;
2867+select * from t1;
2868+connection master;
2869+drop table t1;
2870+
2871+eval create table t1 (a int not null auto_increment,b int, primary key (a)) engine=$engine_type2;
2872+insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
2873+delete from t1 where b=4;
2874+insert into t1 values (NULL,5),(NULL,6);
2875+select * from t1;
2876+
2877+sync_slave_with_master;
2878+select * from t1;
2879+connection master;
2880+
2881+drop table t1;
2882+
2883+set @@session.auto_increment_increment=100, @@session.auto_increment_offset=10;
2884+show variables like "%auto_inc%";
2885+
2886+eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
2887+# Insert with 2 insert statements to get better testing of logging
2888+insert into t1 values (NULL),(5),(NULL);
2889+insert into t1 values (250),(NULL);
2890+select * from t1;
2891+insert into t1 values (1000);
2892+set @@insert_id=400;
2893+insert into t1 values(NULL),(NULL);
2894+select * from t1;
2895+
2896+sync_slave_with_master;
2897+select * from t1;
2898+connection master;
2899+drop table t1;
2900+
2901+#
2902+# Same test with innodb (as the innodb code is a bit different)
2903+#
2904+eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type;
2905+# Insert with 2 insert statements to get better testing of logging
2906+insert into t1 values (NULL),(5),(NULL);
2907+insert into t1 values (250),(NULL);
2908+select * from t1;
2909+insert into t1 values (1000);
2910+set @@insert_id=400;
2911+insert into t1 values(NULL),(NULL);
2912+select * from t1;
2913+
2914+sync_slave_with_master;
2915+select * from t1;
2916+connection master;
2917+drop table t1;
2918+
2919+set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
2920+eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
2921+# Insert with 2 insert statements to get better testing of logging
2922+insert into t1 values (NULL),(5),(NULL),(NULL);
2923+insert into t1 values (500),(NULL),(502),(NULL),(NULL);
2924+select * from t1;
2925+set @@insert_id=600;
2926+--error 1582
2927+insert into t1 values(600),(NULL),(NULL);
2928+set @@insert_id=600;
2929+insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
2930+select * from t1;
2931+
2932+sync_slave_with_master;
2933+select * from t1;
2934+connection master;
2935+drop table t1;
2936+
2937+#
2938+# Test that auto-increment works when slave has rows in the table
2939+#
2940+set @@session.auto_increment_increment=10, @@session.auto_increment_offset=1;
2941+
2942+eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
2943+
2944+sync_slave_with_master;
2945+insert into t1 values(2),(12),(22),(32),(42);
2946+connection master;
2947+
2948+insert into t1 values (NULL),(NULL);
2949+insert into t1 values (3),(NULL),(NULL);
2950+select * from t1;
2951+
2952+sync_slave_with_master;
2953+select * from t1;
2954+
2955+# Test for BUG#20524 "auto_increment_* not observed when inserting
2956+# a too large value". When an autogenerated value was bigger than the
2957+# maximum possible value of the field, it was truncated to that max
2958+# possible value, without being "rounded down" to still honour
2959+# auto_increment_* variables.
2960+
2961+connection master;
2962+drop table t1;
2963+create table t1 (a tinyint not null auto_increment primary key) engine=myisam;
2964+insert into t1 values(103);
2965+set auto_increment_increment=11;
2966+set auto_increment_offset=4;
2967+insert into t1 values(null);
2968+insert into t1 values(null);
2969+--error 1582
2970+insert into t1 values(null);
2971+select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t1 order by a;
2972+
2973+# same but with a larger value
2974+create table t2 (a tinyint unsigned not null auto_increment primary key) engine=myisam;
2975+set auto_increment_increment=10;
2976+set auto_increment_offset=1;
2977+set insert_id=1000;
2978+insert into t2 values(null);
2979+select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t2 order by a;
2980+
2981+# An offset so big that even first value does not fit
2982+create table t3 like t1;
2983+set auto_increment_increment=1000;
2984+set auto_increment_offset=700;
2985+insert into t3 values(null);
2986+select * from t3 order by a;
2987+sync_slave_with_master;
2988+select * from t1 order by a;
2989+select * from t2 order by a;
2990+select * from t3 order by a;
2991+
2992+connection master;
2993+
2994+drop table t1,t2,t3;
2995+
2996+# End cleanup
2997+sync_slave_with_master;
2998
2999=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_commit_after_flush.test'
3000--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_commit_after_flush.test 1970-01-01 00:00:00 +0000
3001+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_commit_after_flush.test 2011-06-10 14:18:36 +0000
3002@@ -0,0 +1,22 @@
3003+#################################
3004+# Test updated to use a wrapper #
3005+#################################
3006+
3007+-- source include/master-slave.inc
3008+
3009+eval CREATE TABLE t1 (a INT) ENGINE=$engine_type;
3010+
3011+begin;
3012+insert into t1 values(1);
3013+flush tables with read lock;
3014+commit;
3015+save_master_pos;
3016+connection slave;
3017+sync_with_master;
3018+# cleanup
3019+connection master;
3020+unlock tables;
3021+drop table t1;
3022+sync_slave_with_master;
3023+
3024+# End of 4.1 tests
3025
3026=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_ddl.test'
3027--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_ddl.test 1970-01-01 00:00:00 +0000
3028+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_ddl.test 2011-06-10 14:18:36 +0000
3029@@ -0,0 +1,507 @@
3030+######################## rpl_ddl.test ########################
3031+# #
3032+# DDL statements (sometimes with implicit COMMIT) executed #
3033+# by the master and it's propagation into the slave #
3034+# #
3035+##############################################################
3036+
3037+#
3038+# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
3039+#
3040+# 1. !All! objects to be dropped, renamed, altered ... must be created
3041+# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
3042+# sequences start.
3043+#
3044+# 2. Never use a test object, which was direct or indirect affected by a
3045+# preceeding test sequence again.
3046+# Except table d1.t1 where ONLY DML is allowed.
3047+#
3048+# If one preceeding test sequence hits a (sometimes not good visible,
3049+# because the sql error code of the statement might be 0) bug
3050+# and these rules are ignored, a following test sequence might earn ugly
3051+# effects like failing 'sync_slave_with_master', crashes of the slave or
3052+# abort of the test case etc..
3053+#
3054+# 3. The assignment of the DDL command to be tested to $my_stmt can
3055+# be a bit difficult. "'" must be avoided, because the test
3056+# routine "include/rpl_stmt_seq.inc" performs a
3057+# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
3058+#
3059+
3060+###############################################################
3061+# Some preparations
3062+###############################################################
3063+# The sync_slave_with_master is needed to make the xids deterministic.
3064+sync_slave_with_master;
3065+connection master;
3066+
3067+SET AUTOCOMMIT = 1;
3068+#
3069+# 1. DROP all objects, which probably already exist, but must be created here
3070+#
3071+--disable_warnings
3072+DROP DATABASE IF EXISTS mysqltest1;
3073+DROP DATABASE IF EXISTS mysqltest2;
3074+DROP DATABASE IF EXISTS mysqltest3;
3075+--enable_warnings
3076+#
3077+# 2. CREATE all objects needed
3078+# working database is mysqltest1
3079+# working (transactional!) is mysqltest1.t1
3080+#
3081+CREATE DATABASE mysqltest1;
3082+CREATE DATABASE mysqltest2;
3083+eval CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=$engine_type;
3084+INSERT INTO mysqltest1.t1 SET f1= 0;
3085+eval CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=$engine_type;
3086+eval CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=$engine_type;
3087+eval CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE=$engine_type;
3088+eval CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE=$engine_type;
3089+eval CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE=$engine_type;
3090+CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
3091+eval CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE=$engine_type;
3092+INSERT INTO mysqltest1.t7 SET f1= 0;
3093+eval CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE=$engine_type;
3094+eval CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE=$engine_type;
3095+eval CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE=$engine_type;
3096+eval CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE=$engine_type;
3097+eval CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE=$engine_type;
3098+eval CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE=$engine_type;
3099+eval CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE=$engine_type;
3100+eval CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE=$engine_type;
3101+eval CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=$engine_type;
3102+eval CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=$engine_type;
3103+eval CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=$engine_type;
3104+eval CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=$engine_type;
3105+CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT) engine=myisam; # PBXT required to prevent multi-db use
3106+
3107+#
3108+# 3. master sessions: never do AUTOCOMMIT
3109+# slave sessions: never do AUTOCOMMIT
3110+#
3111+SET AUTOCOMMIT = 0;
3112+use mysqltest1;
3113+sync_slave_with_master;
3114+connection slave;
3115+--disable_query_log
3116+SELECT '-------- switch to slave --------' as "";
3117+--enable_query_log
3118+SET AUTOCOMMIT = 0;
3119+use mysqltest1;
3120+connection master;
3121+--disable_query_log
3122+SELECT '-------- switch to master -------' as "";
3123+--enable_query_log
3124+
3125+
3126+# We don't want to abort the whole test if one statement sent
3127+# to the server gets an error, because the following test
3128+# sequences are nearly independend of the previous statements.
3129+--disable_abort_on_error
3130+
3131+###############################################################
3132+# Banal case: (explicit) COMMIT and ROLLBACK
3133+# Just for checking if the test sequence is usable
3134+###############################################################
3135+
3136+let $my_stmt= COMMIT;
3137+let $my_master_commit= true;
3138+let $my_slave_commit= true;
3139+--source include/rpl_stmt_seq.inc
3140+
3141+let $my_stmt= ROLLBACK;
3142+let $my_master_commit= false;
3143+let $my_slave_commit= false;
3144+--source include/rpl_stmt_seq.inc
3145+
3146+###############################################################
3147+# Cases with commands very similar to COMMIT
3148+###############################################################
3149+
3150+let $my_stmt= SET AUTOCOMMIT=1;
3151+let $my_master_commit= true;
3152+let $my_slave_commit= true;
3153+--source include/rpl_stmt_seq.inc
3154+SET AUTOCOMMIT=0;
3155+
3156+let $my_stmt= START TRANSACTION;
3157+let $my_master_commit= true;
3158+let $my_slave_commit= true;
3159+--source include/rpl_stmt_seq.inc
3160+
3161+let $my_stmt= BEGIN;
3162+let $my_master_commit= true;
3163+let $my_slave_commit= true;
3164+--source include/rpl_stmt_seq.inc
3165+
3166+###############################################################
3167+# Cases with (BASE) TABLES and (UPDATABLE) VIEWs
3168+###############################################################
3169+
3170+let $my_stmt= DROP TABLE mysqltest1.t2;
3171+let $my_master_commit= true;
3172+let $my_slave_commit= true;
3173+--source include/rpl_stmt_seq.inc
3174+SHOW TABLES LIKE 't2';
3175+connection slave;
3176+--disable_query_log
3177+SELECT '-------- switch to slave --------' as "";
3178+--enable_query_log
3179+SHOW TABLES LIKE 't2';
3180+connection master;
3181+--disable_query_log
3182+SELECT '-------- switch to master -------' as "";
3183+--enable_query_log
3184+
3185+# Note: Since this test is executed with a skip-innodb slave, the
3186+# slave incorrectly commits the insert. One can *not* have InnoDB on
3187+# master and MyISAM on slave and expect that a transactional rollback
3188+# after a CREATE TEMPORARY TABLE should work correctly on the slave.
3189+# For this to work properly the handler on the slave must be able to
3190+# handle transactions (e.g. InnoDB or NDB).
3191+let $my_stmt= DROP TEMPORARY TABLE mysqltest1.t23;
3192+let $my_master_commit= false;
3193+let $my_slave_commit= true;
3194+--source include/rpl_stmt_seq.inc
3195+SHOW TABLES LIKE 't23';
3196+connection slave;
3197+--disable_query_log
3198+SELECT '-------- switch to slave --------' as "";
3199+--enable_query_log
3200+SHOW TABLES LIKE 't23';
3201+connection master;
3202+--disable_query_log
3203+SELECT '-------- switch to master -------' as "";
3204+--enable_query_log
3205+
3206+let $my_stmt= RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
3207+let $my_master_commit= true;
3208+let $my_slave_commit= true;
3209+--source include/rpl_stmt_seq.inc
3210+SHOW TABLES LIKE 't20';
3211+connection slave;
3212+--disable_query_log
3213+SELECT '-------- switch to slave --------' as "";
3214+--enable_query_log
3215+SHOW TABLES LIKE 't20';
3216+connection master;
3217+--disable_query_log
3218+SELECT '-------- switch to master -------' as "";
3219+--enable_query_log
3220+
3221+let $my_stmt= ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT;
3222+let $my_master_commit= true;
3223+let $my_slave_commit= true;
3224+--source include/rpl_stmt_seq.inc
3225+describe mysqltest1.t4;
3226+connection slave;
3227+--disable_query_log
3228+SELECT '-------- switch to slave --------' as "";
3229+--enable_query_log
3230+describe mysqltest1.t4;
3231+connection master;
3232+--disable_query_log
3233+SELECT '-------- switch to master -------' as "";
3234+--enable_query_log
3235+
3236+let $my_stmt= CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE=;
3237+let $my_master_commit= true;
3238+let $my_slave_commit= true;
3239+--source include/rpl_stmt_seq2.inc
3240+
3241+# Note: Since this test is executed with a skip-innodb slave, the
3242+# slave incorrectly commits the insert. One can *not* have InnoDB on
3243+# master and MyISAM on slave and expect that a transactional rollback
3244+# after a CREATE TEMPORARY TABLE should work correctly on the slave.
3245+# For this to work properly the handler on the slave must be able to
3246+# handle transactions (e.g. InnoDB or NDB).
3247+let $engine='';
3248+let $eng_type='';
3249+
3250+let $my_stmt= CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) engine=myisam; # PBXT required to prevent multi-db use
3251+let $my_master_commit= false;
3252+let $my_slave_commit= true;
3253+--source include/rpl_stmt_seq.inc
3254+
3255+let $my_stmt= TRUNCATE TABLE mysqltest1.t7;
3256+let $my_master_commit= true;
3257+let $my_slave_commit= true;
3258+--source include/rpl_stmt_seq.inc
3259+SELECT * FROM mysqltest1.t7;
3260+--echo -------- switch to slave --------
3261+sync_slave_with_master;
3262+SELECT * FROM mysqltest1.t7;
3263+--echo -------- switch to master -------
3264+connection master;
3265+
3266+###############################################################
3267+# Cases with LOCK/UNLOCK
3268+###############################################################
3269+
3270+# MySQL insists in locking mysqltest1.t1, because rpl_stmt_seq performs an
3271+# INSERT into this table.
3272+let $my_stmt= LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
3273+let $my_master_commit= true;
3274+let $my_slave_commit= true;
3275+--source include/rpl_stmt_seq.inc
3276+UNLOCK TABLES;
3277+
3278+# No prior locking
3279+let $my_stmt= UNLOCK TABLES;
3280+let $my_master_commit= false;
3281+let $my_slave_commit= false;
3282+--source include/rpl_stmt_seq.inc
3283+
3284+# With prior read locking
3285+# Note that this test generate an error since the rpl_stmt_seq.inc
3286+# tries to insert into t1.
3287+LOCK TABLES mysqltest1.t1 READ;
3288+let $my_stmt= UNLOCK TABLES;
3289+let $my_master_commit= false;
3290+let $my_slave_commit= false;
3291+--source include/rpl_stmt_seq.inc
3292+
3293+# With prior write locking
3294+LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
3295+let $my_stmt= UNLOCK TABLES;
3296+let $my_master_commit= true;
3297+let $my_slave_commit= true;
3298+--source include/rpl_stmt_seq.inc
3299+
3300+###############################################################
3301+# Cases with INDEXES
3302+###############################################################
3303+
3304+let $my_stmt= DROP INDEX my_idx6 ON mysqltest1.t6;
3305+let $my_master_commit= true;
3306+let $my_slave_commit= true;
3307+--source include/rpl_stmt_seq.inc
3308+SHOW INDEX FROM mysqltest1.t6;
3309+connection slave;
3310+--disable_query_log
3311+SELECT '-------- switch to slave --------' as "";
3312+--enable_query_log
3313+SHOW INDEX FROM mysqltest1.t6;
3314+connection master;
3315+--disable_query_log
3316+SELECT '-------- switch to master -------' as "";
3317+--enable_query_log
3318+
3319+let $my_stmt= CREATE INDEX my_idx5 ON mysqltest1.t5(f1);
3320+let $my_master_commit= true;
3321+let $my_slave_commit= true;
3322+--source include/rpl_stmt_seq.inc
3323+SHOW INDEX FROM mysqltest1.t5;
3324+connection slave;
3325+--disable_query_log
3326+SELECT '-------- switch to slave --------' as "";
3327+--enable_query_log
3328+SHOW INDEX FROM mysqltest1.t5;
3329+connection master;
3330+--disable_query_log
3331+SELECT '-------- switch to master -------' as "";
3332+--enable_query_log
3333+
3334+###############################################################
3335+# Cases with DATABASE
3336+###############################################################
3337+
3338+let $my_stmt= DROP DATABASE mysqltest2;
3339+let $my_master_commit= true;
3340+let $my_slave_commit= true;
3341+--source include/rpl_stmt_seq.inc
3342+SHOW DATABASES LIKE "mysqltest2";
3343+connection slave;
3344+--disable_query_log
3345+SELECT '-------- switch to slave --------' as "";
3346+--enable_query_log
3347+SHOW DATABASES LIKE "mysqltest2";
3348+connection master;
3349+--disable_query_log
3350+SELECT '-------- switch to master -------' as "";
3351+--enable_query_log
3352+
3353+let $my_stmt= CREATE DATABASE mysqltest3;
3354+let $my_master_commit= true;
3355+let $my_slave_commit= true;
3356+--source include/rpl_stmt_seq.inc
3357+SHOW DATABASES LIKE "mysqltest3";
3358+connection slave;
3359+--disable_query_log
3360+SELECT '-------- switch to slave --------' as "";
3361+--enable_query_log
3362+SHOW DATABASES LIKE "mysqltest3";
3363+connection master;
3364+--disable_query_log
3365+SELECT '-------- switch to master -------' as "";
3366+--enable_query_log
3367+
3368+# End of 4.1 tests
3369+
3370+###############################################################
3371+# Cases with stored procedures
3372+###############################################################
3373+let $my_stmt= CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1";
3374+let $my_master_commit= true;
3375+let $my_slave_commit= true;
3376+--source include/rpl_stmt_seq.inc
3377+--vertical_results
3378+--replace_column 5 # 6 #
3379+SHOW PROCEDURE STATUS LIKE 'p1';
3380+--disable_query_log
3381+SELECT '-------- switch to slave -------' as "";
3382+--enable_query_log
3383+connection slave;
3384+--replace_column 5 # 6 #
3385+SHOW PROCEDURE STATUS LIKE 'p1';
3386+connection master;
3387+--horizontal_results
3388+
3389+let $my_stmt= ALTER PROCEDURE p1 COMMENT "I have been altered";
3390+let $my_master_commit= true;
3391+let $my_slave_commit= true;
3392+--source include/rpl_stmt_seq.inc
3393+--vertical_results
3394+--replace_column 5 # 6 #
3395+SHOW PROCEDURE STATUS LIKE 'p1';
3396+--disable_query_log
3397+SELECT '-------- switch to slave -------' as "";
3398+--enable_query_log
3399+connection slave;
3400+--replace_column 5 # 6 #
3401+SHOW PROCEDURE STATUS LIKE 'p1';
3402+connection master;
3403+--horizontal_results
3404+
3405+let $my_stmt= DROP PROCEDURE p1;
3406+let $my_master_commit= true;
3407+let $my_slave_commit= true;
3408+--source include/rpl_stmt_seq.inc
3409+--vertical_results
3410+SHOW PROCEDURE STATUS LIKE 'p1';
3411+--disable_query_log
3412+SELECT '-------- switch to slave -------' as "";
3413+--enable_query_log
3414+connection slave;
3415+SHOW PROCEDURE STATUS LIKE 'p1';
3416+connection master;
3417+--horizontal_results
3418+
3419+###############################################################
3420+# Cases with VIEWs
3421+###############################################################
3422+let $my_stmt= CREATE OR REPLACE VIEW v1 as select * from t1;
3423+let $my_master_commit= true;
3424+let $my_slave_commit= true;
3425+--source include/rpl_stmt_seq.inc
3426+SHOW CREATE VIEW v1;
3427+--disable_query_log
3428+SELECT '-------- switch to slave -------' as "";
3429+--enable_query_log
3430+connection slave;
3431+SHOW CREATE VIEW v1;
3432+connection master;
3433+
3434+let $my_stmt= ALTER VIEW v1 AS select f1 from t1;
3435+let $my_master_commit= true;
3436+let $my_slave_commit= true;
3437+--source include/rpl_stmt_seq.inc
3438+SHOW CREATE VIEW v1;
3439+--disable_query_log
3440+SELECT '-------- switch to slave -------' as "";
3441+--enable_query_log
3442+connection slave;
3443+SHOW CREATE VIEW v1;
3444+connection master;
3445+
3446+let $my_stmt= DROP VIEW IF EXISTS v1;
3447+let $my_master_commit= true;
3448+let $my_slave_commit= true;
3449+--source include/rpl_stmt_seq.inc
3450+--error 1146
3451+SHOW CREATE VIEW v1;
3452+--disable_query_log
3453+SELECT '-------- switch to slave -------' as "";
3454+--enable_query_log
3455+connection slave;
3456+--error 1146
3457+SHOW CREATE VIEW v1;
3458+connection master;
3459+
3460+###############################################################
3461+# Cases with TRIGGERs
3462+###############################################################
3463+let $my_stmt= CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
3464+let $my_master_commit= true;
3465+let $my_slave_commit= true;
3466+--source include/rpl_stmt_seq.inc
3467+SHOW TRIGGERS;
3468+--disable_query_log
3469+SELECT '-------- switch to slave -------' as "";
3470+--enable_query_log
3471+connection slave;
3472+SHOW TRIGGERS;
3473+connection master;
3474+
3475+let $my_stmt= DROP TRIGGER trg1;
3476+let $my_master_commit= true;
3477+let $my_slave_commit= true;
3478+--source include/rpl_stmt_seq.inc
3479+SHOW TRIGGERS;
3480+--disable_query_log
3481+SELECT '-------- switch to slave -------' as "";
3482+--enable_query_log
3483+connection slave;
3484+SHOW TRIGGERS;
3485+connection master;
3486+
3487+###############################################################
3488+# Cases with USERs
3489+###############################################################
3490+let $my_stmt= CREATE USER user1@localhost;
3491+let $my_master_commit= true;
3492+let $my_slave_commit= true;
3493+--source include/rpl_stmt_seq.inc
3494+SELECT user FROM mysql.user WHERE user = 'user1';
3495+--disable_query_log
3496+SELECT '-------- switch to slave -------' as "";
3497+--enable_query_log
3498+connection slave;
3499+SELECT user FROM mysql.user WHERE user = 'user1';
3500+connection master;
3501+
3502+let $my_stmt= RENAME USER user1@localhost TO rename1@localhost;
3503+let $my_master_commit= true;
3504+let $my_slave_commit= true;
3505+--source include/rpl_stmt_seq.inc
3506+SELECT user FROM mysql.user WHERE user = 'rename1';
3507+--disable_query_log
3508+SELECT '-------- switch to slave -------' as "";
3509+--enable_query_log
3510+connection slave;
3511+SELECT user FROM mysql.user WHERE user = 'rename1';
3512+connection master;
3513+
3514+let $my_stmt= DROP USER rename1@localhost;
3515+let $my_master_commit= true;
3516+let $my_slave_commit= true;
3517+--source include/rpl_stmt_seq.inc
3518+SELECT user FROM mysql.user WHERE user = 'rename1';
3519+--disable_query_log
3520+SELECT '-------- switch to slave -------' as "";
3521+--enable_query_log
3522+connection slave;
3523+SELECT user FROM mysql.user WHERE user = 'rename1';
3524+connection master;
3525+
3526+###############################################################
3527+# Cleanup
3528+###############################################################
3529+--disable_warnings
3530+DROP DATABASE IF EXISTS mysqltest1;
3531+DROP DATABASE IF EXISTS mysqltest2;
3532+DROP DATABASE IF EXISTS mysqltest3;
3533+--enable_warnings
3534+
3535+-- source include/master-slave-end.inc
3536+
3537
3538=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_deadlock.test'
3539--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_deadlock.test 1970-01-01 00:00:00 +0000
3540+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_deadlock.test 2011-06-10 14:18:36 +0000
3541@@ -0,0 +1,131 @@
3542+# See if slave restarts the transaction after failing on an InnoDB deadlock error.
3543+
3544+# Note: testing what happens when too many retries is possible, but
3545+# needs large waits when running with --debug, so we don't do it.
3546+# The same way, this test may not test what is expected when run
3547+# under Valgrind, timings are too short then (with --valgrind I
3548+# (Guilhem) have seen the test manage to provoke lock wait timeout
3549+# error but not deadlock error; that is ok as code deals with the two
3550+# errors in exactly the same way.
3551+# We don't 'show status like 'slave_retried_transactions'' because this
3552+# is not repeatable (depends on sleeps).
3553+
3554+-- source include/master-slave.inc
3555+
3556+connection master;
3557+eval CREATE TABLE t1 (a INT NOT NULL, KEY(a)) ENGINE=$engine_type;
3558+eval CREATE TABLE t2 (a INT NOT NULL, KEY(a)) ENGINE=$engine_type;
3559+# requiring 'unique' for the timeout part of the test
3560+eval CREATE TABLE t3 (a INT UNIQUE) ENGINE=$engine_type;
3561+eval CREATE TABLE t4 (a INT) ENGINE=$engine_type;
3562+show variables like 'slave_transaction_retries';
3563+sync_slave_with_master;
3564+
3565+show create table t1;
3566+show create table t2;
3567+show variables like 'slave_transaction_retries';
3568+stop slave;
3569+
3570+# 1) Test deadlock
3571+
3572+connection master;
3573+begin;
3574+# Let's keep BEGIN and the locked statement in two different relay logs.
3575+insert into t2 values (0); # t2,t1 actors of deadlock in repl-ed ta
3576+#insert into t3 select * from t2 for update;
3577+let $1=10;
3578+disable_query_log;
3579+while ($1)
3580+{
3581+ eval insert into t3 values( $1 );
3582+ dec $1;
3583+}
3584+enable_query_log;
3585+insert into t1 values(1);
3586+commit;
3587+save_master_pos;
3588+
3589+connection slave;
3590+begin;
3591+# Let's make our transaction large so that it's repl-ed msta that's victim
3592+let $1=100;
3593+disable_query_log;
3594+while ($1)
3595+{
3596+ eval insert into t4 values( $1 );
3597+ dec $1;
3598+}
3599+enable_query_log;
3600+select * from t1 for update; # t1,t2 on local slave's
3601+start slave;
3602+
3603+# bad option, todo: replicate a non-transactional t_sync with the transaction
3604+# and use wait_until_rows_count macro below
3605+--real_sleep 3 # hope that slave is blocked now
3606+#let $count=11;
3607+#let $table=t_sync;
3608+#--include wait_until_rows_count.inc
3609+
3610+select * from t2 for update /* dl */; # provoke deadlock, repl-ed should be victim
3611+commit;
3612+sync_with_master;
3613+select * from t1; # check that repl-ed succeeded finally
3614+select * from t2 /* must be 1 */;
3615+# check that no error is reported
3616+--replace_column 1 # 7 # 8 # 9 # 16 # 22 # 23 # 33 #
3617+--replace_result $MASTER_MYPORT MASTER_MYPORT
3618+--vertical_results
3619+show slave status;
3620+--horizontal_results
3621+
3622+# 2) Test lock wait timeout
3623+
3624+stop slave;
3625+delete from t3;
3626+change master to master_log_pos=544; # the BEGIN log event
3627+begin;
3628+select * from t2 for update; # hold lock
3629+start slave;
3630+--real_sleep 10 # repl-ed should have blocked, and be retrying
3631+select count(*) from t3 /* must be zero */; # replaying begins after rollback
3632+commit;
3633+sync_with_master;
3634+select * from t1; # check that repl-ed succeeded finally
3635+select * from t2;
3636+# check that no error is reported
3637+--replace_column 1 # 7 # 8 # 9 # 11 # 16 # 22 # 23 # 33 #
3638+--replace_result $MASTER_MYPORT MASTER_MYPORT
3639+--vertical_results
3640+show slave status;
3641+--horizontal_results
3642+
3643+# Now we repeat 2), but with BEGIN in the same relay log as
3644+# COMMIT (to see if seeking into hot log is ok).
3645+set @my_max_relay_log_size= @@global.max_relay_log_size;
3646+set global max_relay_log_size=0;
3647+
3648+# This is really copy-paste of 2) of above
3649+stop slave;
3650+delete from t3;
3651+change master to master_log_pos=544;
3652+begin;
3653+select * from t2 for update;
3654+start slave;
3655+--real_sleep 10
3656+select count(*) from t3 /* must be zero */; # replaying begins after rollback
3657+commit;
3658+sync_with_master;
3659+select * from t1;
3660+select * from t2;
3661+--replace_column 1 # 7 # 8 # 9 # 11 # 16 # 22 # 23 # 33 #
3662+--replace_result $MASTER_MYPORT MASTER_MYPORT
3663+--vertical_results
3664+show slave status;
3665+--horizontal_results
3666+
3667+connection master;
3668+drop table t1,t2,t3,t4;
3669+sync_slave_with_master;
3670+set global max_relay_log_size= @my_max_relay_log_size;
3671+
3672+--echo End of 5.1 tests
3673
3674=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_delete_no_where.test'
3675--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_delete_no_where.test 1970-01-01 00:00:00 +0000
3676+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_delete_no_where.test 2011-06-10 14:18:36 +0000
3677@@ -0,0 +1,19 @@
3678+# Test to see if a DELETE which triggers a fast deletion of all rows
3679+# (not internally row-per-row but more like a TRUNCATE, MyISAM
3680+# supports that), is replicated (BUG#13576).
3681+
3682+-- source include/master-slave.inc
3683+
3684+eval create table t1 (a int, b int) engine=$engine_type;
3685+insert into t1 values(1,1);
3686+sync_slave_with_master;
3687+select * from t1;
3688+connection master;
3689+delete from t1;
3690+sync_slave_with_master;
3691+select * from t1;
3692+
3693+# cleanup
3694+connection master;
3695+drop table t1;
3696+sync_slave_with_master;
3697
3698=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_failed_optimize.test'
3699--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_failed_optimize.test 1970-01-01 00:00:00 +0000
3700+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_failed_optimize.test 2011-06-10 14:18:36 +0000
3701@@ -0,0 +1,24 @@
3702+-- source include/master-slave.inc
3703+
3704+#
3705+# BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
3706+# Replication should work when OPTIMIZE TABLE timeouts, and
3707+# when OPTIMIZE TABLE is executed on a non-existing table
3708+#
3709+
3710+eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type;
3711+BEGIN;
3712+INSERT INTO t1 VALUES (1);
3713+
3714+connection master1;
3715+OPTIMIZE TABLE t1;
3716+
3717+OPTIMIZE TABLE non_existing;
3718+sync_slave_with_master;
3719+
3720+# End of 4.1 tests
3721+
3722+connection master;
3723+select * from t1;
3724+commit;
3725+drop table t1;
3726
3727=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_flsh_tbls.test'
3728--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_flsh_tbls.test 1970-01-01 00:00:00 +0000
3729+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_flsh_tbls.test 2011-06-10 14:18:36 +0000
3730@@ -0,0 +1,59 @@
3731+# depends on the binlog output
3732+# Test of replicating FLUSH TABLES to make
3733+# RENAME TABLE work with MERGE tables on the slave.
3734+# Test of FLUSH NO_WRITE_TO_BINLOG by the way.
3735+#
3736+
3737+
3738+-- source include/master-slave.inc
3739+
3740+let $SERVER_VERSION=`select version()`;
3741+
3742+create table t1 (a int) engine=myisam; # PBXT required for merge
3743+insert into t1 values (10);
3744+create table t2 (a int) engine=myisam; # PBXT required for merge
3745+create table t3 (a int) engine=merge union(t1);
3746+create table t4 (a int);
3747+# We force the slave to open t3 (because we want to try confusing him) with this :
3748+insert into t4 select * from t3;
3749+rename table t1 to t5, t2 to t1;
3750+# RENAME may have confused the master (this is a known bug): so FLUSH tables,
3751+# first don't write it to the binlog, to test the NO_WRITE_TO_BINLOG keyword.
3752+flush no_write_to_binlog tables;
3753+# Check that it's not in the binlog.
3754+--replace_result $SERVER_VERSION SERVER_VERSION
3755+--replace_column 2 # 5 #
3756+--replace_regex /table_id: [0-9]+/table_id: #/
3757+eval SHOW BINLOG EVENTS FROM $rename_event_pos ;
3758+# Check that the master is not confused.
3759+select * from t3;
3760+# This FLUSH should go into the binlog to not confuse the slave.
3761+flush tables;
3762+# Check that it's in the binlog.
3763+--replace_result $SERVER_VERSION SERVER_VERSION
3764+--replace_column 2 # 5 #
3765+--replace_regex /table_id: [0-9]+/table_id: #/
3766+eval SHOW BINLOG EVENTS FROM $rename_event_pos ;
3767+save_master_pos;
3768+connection slave;
3769+sync_with_master;
3770+# Check that the slave is not confused.
3771+select * from t3;
3772+# Note that all this confusion may cause warnings 'table xx is open on rename'
3773+# in the .err files; these are not fatal and are not reported by mysql-test-run.
3774+
3775+stop slave;
3776+connection master;
3777+drop table t1;
3778+connection slave;
3779+flush tables with read lock;
3780+start slave;
3781+sleep 1;
3782+--error 1192
3783+stop slave;
3784+
3785+connection master;
3786+drop table t3, t4, t5;
3787+
3788+# End of 4.1 tests
3789+
3790
3791=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_foreign_key.test'
3792--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_foreign_key.test 1970-01-01 00:00:00 +0000
3793+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_foreign_key.test 2011-06-10 14:18:36 +0000
3794@@ -0,0 +1,34 @@
3795+# Check the replication of the FOREIGN_KEY_CHECKS variable.
3796+
3797+-- source include/master-slave.inc
3798+
3799+eval CREATE TABLE t1 (a INT AUTO_INCREMENT KEY) ENGINE=$engine_type;
3800+eval CREATE TABLE t2 (b INT AUTO_INCREMENT KEY, c INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=$engine_type;
3801+
3802+SET FOREIGN_KEY_CHECKS=0;
3803+INSERT INTO t1 VALUES (10);
3804+INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
3805+INSERT INTO t2 VALUES (5,0);
3806+INSERT INTO t2 VALUES (NULL,LAST_INSERT_ID());
3807+SET FOREIGN_KEY_CHECKS=1;
3808+SELECT * FROM t1 ORDER BY a;
3809+SELECT * FROM t2 ORDER BY b;
3810+sync_slave_with_master;
3811+SELECT * FROM t1 ORDER BY a;
3812+SELECT * FROM t2 ORDER BY b;
3813+
3814+connection master;
3815+SET TIMESTAMP=1000000000;
3816+CREATE TABLE t3 ( a INT UNIQUE );
3817+SET FOREIGN_KEY_CHECKS=0;
3818+# Had to add 1022 for run with ndb as ndb uses different
3819+# error and error code for 1582. Bug 16677
3820+--error 1022, 1582
3821+INSERT INTO t3 VALUES (1),(1);
3822+sync_slave_with_master;
3823+
3824+connection master;
3825+SET FOREIGN_KEY_CHECKS=0;
3826+DROP TABLE IF EXISTS t1,t2,t3;
3827+SET FOREIGN_KEY_CHECKS=1;
3828+sync_slave_with_master;
3829
3830=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id.test'
3831--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id.test 1970-01-01 00:00:00 +0000
3832+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id.test 2011-06-10 14:18:36 +0000
3833@@ -0,0 +1,488 @@
3834+###########################################################
3835+# 2006-02-01: By JBM: Added 1022, ORDER BY
3836+###########################################################
3837+# See if queries that use both auto_increment and LAST_INSERT_ID()
3838+# are replicated well
3839+############################################################
3840+# REQUIREMENT
3841+# Auto increment should work for a table with an auto_increment
3842+# column and index but without primary key.
3843+##############################################################
3844+
3845+--echo #
3846+--echo # Setup
3847+--echo #
3848+
3849+use test;
3850+--disable_warnings
3851+drop table if exists t1, t2, t3;
3852+--enable_warnings
3853+
3854+--echo #
3855+--echo # See if queries that use both auto_increment and LAST_INSERT_ID()
3856+--echo # are replicated well
3857+--echo #
3858+--echo # We also check how the foreign_key_check variable is replicated
3859+--echo #
3860+
3861+-- source include/master-slave.inc
3862+#should work for both SBR and RBR
3863+
3864+connection master;
3865+create table t1(a int auto_increment, key(a));
3866+create table t2(b int auto_increment, c int, key(b));
3867+insert into t1 values (1),(2),(3);
3868+insert into t1 values (null);
3869+insert into t2 values (null,last_insert_id());
3870+save_master_pos;
3871+connection slave;
3872+sync_with_master;
3873+select * from t1 ORDER BY a;
3874+select * from t2 ORDER BY b;
3875+connection master;
3876+#check if multi-line inserts,
3877+#which set last_insert_id to the first id inserted,
3878+#are replicated the same way
3879+drop table t1;
3880+drop table t2;
3881+--disable_warnings
3882+eval create table t1(a int auto_increment, key(a)) engine=$engine_type;
3883+eval create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=$engine_type;
3884+--enable_warnings
3885+SET FOREIGN_KEY_CHECKS=0;
3886+insert into t1 values (10);
3887+insert into t1 values (null),(null),(null);
3888+insert into t2 values (5,0);
3889+insert into t2 values (null,last_insert_id());
3890+SET FOREIGN_KEY_CHECKS=1;
3891+save_master_pos;
3892+connection slave;
3893+sync_with_master;
3894+select * from t1;
3895+select * from t2;
3896+connection master;
3897+
3898+--echo #
3899+--echo # check if INSERT SELECT in auto_increment is well replicated (bug #490)
3900+--echo #
3901+
3902+drop table t2;
3903+drop table t1;
3904+create table t1(a int auto_increment, key(a));
3905+create table t2(b int auto_increment, c int, key(b));
3906+insert into t1 values (10);
3907+insert into t1 values (null),(null),(null);
3908+insert into t2 values (5,0);
3909+insert into t2 (c) select * from t1 ORDER BY a;
3910+select * from t2 ORDER BY b;
3911+save_master_pos;
3912+connection slave;
3913+sync_with_master;
3914+select * from t1 ORDER BY a;
3915+select * from t2 ORDER BY b;
3916+connection master;
3917+drop table t1;
3918+drop table t2;
3919+save_master_pos;
3920+connection slave;
3921+sync_with_master;
3922+
3923+--echo #
3924+--echo # Bug#8412: Error codes reported in binary log for CHARACTER SET,
3925+--echo # FOREIGN_KEY_CHECKS
3926+--echo #
3927+
3928+connection master;
3929+SET TIMESTAMP=1000000000;
3930+CREATE TABLE t1 ( a INT UNIQUE );
3931+SET FOREIGN_KEY_CHECKS=0;
3932+# Duplicate Key Errors
3933+--error 1022, 1582
3934+INSERT INTO t1 VALUES (1),(1);
3935+sync_slave_with_master;
3936+connection master;
3937+drop table t1;
3938+sync_slave_with_master;
3939+
3940+--echo #
3941+--echo # Bug#14553: NULL in WHERE resets LAST_INSERT_ID
3942+--echo #
3943+
3944+connection master;
3945+create table t1(a int auto_increment, key(a));
3946+create table t2(a int);
3947+insert into t1 (a) values (null);
3948+insert into t2 (a) select a from t1 where a is null;
3949+insert into t2 (a) select a from t1 where a is null;
3950+select * from t2;
3951+sync_slave_with_master;
3952+connection slave;
3953+select * from t2;
3954+connection master;
3955+drop table t1;
3956+drop table t2;
3957+
3958+--echo #
3959+--echo # End of 4.1 tests
3960+--echo #
3961+
3962+--echo #
3963+--echo # BUG#15728: LAST_INSERT_ID function inside a stored function returns 0
3964+--echo #
3965+--echo # The solution is not to reset last_insert_id on enter to sub-statement.
3966+--echo #
3967+
3968+connection master;
3969+--disable_warnings
3970+drop function if exists bug15728;
3971+drop function if exists bug15728_insert;
3972+drop table if exists t1, t2;
3973+--enable_warnings
3974+
3975+create table t1 (
3976+ id int not null auto_increment,
3977+ last_id int,
3978+ primary key (id)
3979+);
3980+create function bug15728() returns int(11)
3981+ return last_insert_id();
3982+
3983+insert into t1 (last_id) values (0);
3984+insert into t1 (last_id) values (last_insert_id());
3985+insert into t1 (last_id) values (bug15728());
3986+
3987+# Check that nested call replicates too.
3988+create table t2 (
3989+ id int not null auto_increment,
3990+ last_id int,
3991+ primary key (id)
3992+);
3993+delimiter |;
3994+create function bug15728_insert() returns int(11) modifies sql data
3995+begin
3996+ insert into t2 (last_id) values (bug15728());
3997+ return bug15728();
3998+end|
3999+create trigger t1_bi before insert on t1 for each row
4000+begin
4001+ declare res int;
4002+ select bug15728_insert() into res;
4003+ set NEW.last_id = res;
4004+end|
4005+delimiter ;|
4006+
4007+insert into t1 (last_id) values (0);
4008+
4009+drop trigger t1_bi;
4010+
4011+# Check that nested call doesn't affect outer context.
4012+select last_insert_id();
4013+select bug15728_insert();
4014+select last_insert_id();
4015+insert into t1 (last_id) values (bug15728());
4016+# This should be exactly one greater than in the previous call.
4017+select last_insert_id();
4018+
4019+# BUG#20339 - stored procedure using LAST_INSERT_ID() does not
4020+# replicate statement-based
4021+--disable_warnings
4022+drop procedure if exists foo;
4023+--enable_warnings
4024+delimiter |;
4025+create procedure foo()
4026+begin
4027+ declare res int;
4028+ insert into t2 (last_id) values (bug15728());
4029+ insert into t1 (last_id) values (bug15728());
4030+end|
4031+delimiter ;|
4032+call foo();
4033+
4034+select * from t1;
4035+select * from t2;
4036+save_master_pos;
4037+connection slave;
4038+sync_with_master;
4039+select * from t1;
4040+select * from t2;
4041+connection master;
4042+
4043+drop function bug15728;
4044+drop function bug15728_insert;
4045+drop table t1;
4046+drop procedure foo;
4047+
4048+# test of BUG#20188 REPLACE or ON DUPLICATE KEY UPDATE in
4049+# auto_increment breaks binlog
4050+
4051+create table t1 (n int primary key auto_increment not null,
4052+b int, unique(b));
4053+
4054+# First, test that we do not call restore_auto_increment() too early
4055+# in write_record():
4056+set sql_log_bin=0;
4057+insert into t1 values(null,100);
4058+replace into t1 values(null,50),(null,100),(null,150);
4059+select * from t1 order by n;
4060+truncate table t1;
4061+set sql_log_bin=1;
4062+
4063+insert into t1 values(null,100);
4064+select * from t1 order by n;
4065+sync_slave_with_master;
4066+# make slave's table autoinc counter bigger
4067+insert into t1 values(null,200),(null,300);
4068+delete from t1 where b <> 100;
4069+# check that slave's table content is identical to master
4070+select * from t1 order by n;
4071+# only the auto_inc counter differs.
4072+
4073+connection master;
4074+replace into t1 values(null,100),(null,350);
4075+select * from t1 order by n;
4076+sync_slave_with_master;
4077+select * from t1 order by n;
4078+
4079+# Same test as for REPLACE, but for ON DUPLICATE KEY UPDATE
4080+
4081+# We first check that if we update a row using a value larger than the
4082+# table's counter, the counter for next row is bigger than the
4083+# after-value of the updated row.
4084+connection master;
4085+insert into t1 values (NULL,400),(3,500),(NULL,600) on duplicate key UPDATE n=1000;
4086+select * from t1 order by n;
4087+sync_slave_with_master;
4088+select * from t1 order by n;
4089+
4090+# and now test for the bug:
4091+connection master;
4092+drop table t1;
4093+create table t1 (n int primary key auto_increment not null,
4094+b int, unique(b));
4095+insert into t1 values(null,100);
4096+select * from t1 order by n;
4097+sync_slave_with_master;
4098+insert into t1 values(null,200),(null,300);
4099+delete from t1 where b <> 100;
4100+select * from t1 order by n;
4101+
4102+connection master;
4103+insert into t1 values(null,100),(null,350) on duplicate key update n=2;
4104+select * from t1 order by n;
4105+sync_slave_with_master;
4106+select * from t1 order by n;
4107+
4108+connection master;
4109+drop table t1;
4110+sync_slave_with_master;
4111+
4112+
4113+#
4114+# BUG#20339: stored procedure using LAST_INSERT_ID() does not
4115+# replicate statement-based.
4116+#
4117+# There is another version of the test for bug#20339 above that is
4118+# actually originates in 5.1, and this is the version that is merged
4119+# from 5.0.
4120+#
4121+connection master;
4122+
4123+--disable_warnings
4124+DROP PROCEDURE IF EXISTS p1;
4125+DROP TABLE IF EXISTS t1, t2;
4126+--enable_warnings
4127+
4128+# Reset result of LAST_INSERT_ID().
4129+SELECT LAST_INSERT_ID(0);
4130+
4131+CREATE TABLE t1 (
4132+ id INT NOT NULL DEFAULT 0,
4133+ last_id INT,
4134+ PRIMARY KEY (id)
4135+);
4136+
4137+CREATE TABLE t2 (
4138+ id INT NOT NULL AUTO_INCREMENT,
4139+ last_id INT,
4140+ PRIMARY KEY (id)
4141+);
4142+
4143+delimiter |;
4144+CREATE PROCEDURE p1()
4145+BEGIN
4146+ INSERT INTO t2 (last_id) VALUES (LAST_INSERT_ID());
4147+ INSERT INTO t1 (last_id) VALUES (LAST_INSERT_ID());
4148+END|
4149+delimiter ;|
4150+
4151+CALL p1();
4152+SELECT * FROM t1;
4153+SELECT * FROM t2;
4154+
4155+sync_slave_with_master;
4156+SELECT * FROM t1;
4157+SELECT * FROM t2;
4158+
4159+connection master;
4160+
4161+DROP PROCEDURE p1;
4162+DROP TABLE t1, t2;
4163+
4164+
4165+#
4166+# BUG#21726: Incorrect result with multiple invocations of
4167+# LAST_INSERT_ID
4168+#
4169+--disable_warnings
4170+DROP PROCEDURE IF EXISTS p1;
4171+DROP FUNCTION IF EXISTS f1;
4172+DROP FUNCTION IF EXISTS f2;
4173+DROP FUNCTION IF EXISTS f3;
4174+DROP TABLE IF EXISTS t1, t2;
4175+--enable_warnings
4176+
4177+CREATE TABLE t1 (
4178+ i INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
4179+ j INT DEFAULT 0
4180+);
4181+CREATE TABLE t2 (i INT);
4182+
4183+delimiter |;
4184+CREATE PROCEDURE p1()
4185+BEGIN
4186+ INSERT INTO t1 (i) VALUES (NULL);
4187+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
4188+ INSERT INTO t1 (i) VALUES (NULL), (NULL);
4189+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
4190+END |
4191+
4192+CREATE FUNCTION f1() RETURNS INT MODIFIES SQL DATA
4193+BEGIN
4194+ INSERT INTO t1 (i) VALUES (NULL);
4195+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
4196+ INSERT INTO t1 (i) VALUES (NULL), (NULL);
4197+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
4198+ RETURN 0;
4199+END |
4200+
4201+CREATE FUNCTION f2() RETURNS INT NOT DETERMINISTIC
4202+ RETURN LAST_INSERT_ID() |
4203+
4204+CREATE FUNCTION f3() RETURNS INT MODIFIES SQL DATA
4205+BEGIN
4206+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
4207+ RETURN 0;
4208+END |
4209+delimiter ;|
4210+
4211+INSERT INTO t1 VALUES (NULL, -1);
4212+CALL p1();
4213+SELECT f1();
4214+INSERT INTO t1 VALUES (NULL, f2()), (NULL, LAST_INSERT_ID()),
4215+ (NULL, LAST_INSERT_ID()), (NULL, f2()), (NULL, f2());
4216+INSERT INTO t1 VALUES (NULL, f2());
4217+INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)),
4218+ (NULL, @@LAST_INSERT_ID);
4219+# Test replication of substitution "IS NULL" -> "= LAST_INSERT_ID".
4220+INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());
4221+UPDATE t1 SET j= -1 WHERE i IS NULL;
4222+
4223+# Test statement-based replication of function calls.
4224+INSERT INTO t1 (i) VALUES (NULL);
4225+
4226+connection master1;
4227+INSERT INTO t1 (i) VALUES (NULL);
4228+
4229+connection master;
4230+SELECT f3();
4231+
4232+SELECT * FROM t1 order by i; # PBXT Order required for consistent result
4233+SELECT * FROM t2 order by i; # PBXT Order required for consistent result
4234+
4235+sync_slave_with_master;
4236+SELECT * FROM t1 order by i; # PBXT Order required for consistent result
4237+SELECT * FROM t2 order by i; # PBXT Order required for consistent result
4238+
4239+connection master;
4240+DROP PROCEDURE p1;
4241+DROP FUNCTION f1;
4242+DROP FUNCTION f2;
4243+DROP FUNCTION f3;
4244+DROP TABLE t1, t2;
4245+
4246+
4247+sync_slave_with_master;
4248+
4249+--echo #
4250+--echo # End of 5.0 tests
4251+--echo #
4252+
4253+# Tests in this file are tightly bound together. Recreate t2.
4254+connection master;
4255+create table t2 (
4256+ id int not null auto_increment,
4257+ last_id int,
4258+ primary key (id)
4259+);
4260+
4261+
4262+# Test for BUG#20341 "stored function inserting into one
4263+# auto_increment puts bad data in slave"
4264+
4265+connection master;
4266+truncate table t2;
4267+create table t1 (id tinyint primary key); # no auto_increment
4268+
4269+delimiter |;
4270+create function insid() returns int
4271+begin
4272+ insert into t2 (last_id) values (0);
4273+ return 0;
4274+end|
4275+delimiter ;|
4276+set sql_log_bin=0;
4277+insert into t2 (id) values(1),(2),(3);
4278+delete from t2;
4279+set sql_log_bin=1;
4280+#inside SELECT, then inside INSERT
4281+select insid();
4282+set sql_log_bin=0;
4283+insert into t2 (id) values(5),(6),(7);
4284+delete from t2 where id>=5;
4285+set sql_log_bin=1;
4286+insert into t1 select insid();
4287+select * from t1;
4288+select * from t2;
4289+
4290+sync_slave_with_master;
4291+select * from t1;
4292+select * from t2;
4293+
4294+connection master;
4295+drop table t1;
4296+drop function insid;
4297+
4298+truncate table t2;
4299+create table t1 (n int primary key auto_increment not null,
4300+b int, unique(b));
4301+delimiter |;
4302+create procedure foo()
4303+begin
4304+ insert into t1 values(null,10);
4305+ insert ignore into t1 values(null,10);
4306+ insert ignore into t1 values(null,10);
4307+ insert into t2 values(null,3);
4308+end|
4309+delimiter ;|
4310+call foo();
4311+select * from t1;
4312+select * from t2;
4313+
4314+sync_slave_with_master;
4315+select * from t1;
4316+select * from t2;
4317+
4318+connection master;
4319+drop table t1, t2;
4320+drop procedure foo;
4321+sync_slave_with_master;
4322
4323=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id_pk.test'
4324--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id_pk.test 1970-01-01 00:00:00 +0000
4325+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_id_pk.test 2011-06-10 14:18:36 +0000
4326@@ -0,0 +1,88 @@
4327+###########################################################
4328+# 2006-02-08: By JBM:
4329+###########################################################
4330+# See if queries that use both auto_increment and LAST_INSERT_ID()
4331+# are replicated well
4332+############################################################
4333+# REQUIREMENT
4334+# Auto increment should work for a table with auto_increment column
4335+# and primary key.
4336+##############################################################
4337+
4338+# We also check how the foreign_key_check variable is replicated
4339+
4340+-- source include/master-slave.inc
4341+#should work for both SBR and RBR
4342+
4343+connection master;
4344+create table t1(a int auto_increment, primary key(a));
4345+create table t2(b int auto_increment, c int, primary key(b));
4346+insert into t1 values (1),(2),(3);
4347+insert into t1 values (null);
4348+insert into t2 values (null,last_insert_id());
4349+save_master_pos;
4350+connection slave;
4351+sync_with_master;
4352+select * from t1 ORDER BY a;
4353+select * from t2 ORDER BY b;
4354+connection master;
4355+#check if multi-line inserts,
4356+#which set last_insert_id to the first id inserted,
4357+#are replicated the same way
4358+drop table t1;
4359+drop table t2;
4360+--disable_warnings
4361+eval create table t1(a int auto_increment, key(a)) engine=$engine_type;
4362+eval create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=$engine_type;
4363+--enable_warnings
4364+SET FOREIGN_KEY_CHECKS=0;
4365+insert into t1 values (10);
4366+insert into t1 values (null),(null),(null);
4367+insert into t2 values (5,0);
4368+insert into t2 values (null,last_insert_id());
4369+SET FOREIGN_KEY_CHECKS=1;
4370+save_master_pos;
4371+connection slave;
4372+sync_with_master;
4373+select * from t1;
4374+select * from t2;
4375+connection master;
4376+
4377+# check if INSERT SELECT in auto_increment is well replicated (bug #490)
4378+
4379+drop table t2;
4380+drop table t1;
4381+create table t1(a int auto_increment, primary key(a));
4382+create table t2(b int auto_increment, c int, primary key(b));
4383+insert into t1 values (10);
4384+insert into t1 values (null),(null),(null);
4385+insert into t2 values (5,0);
4386+insert into t2 (c) select * from t1 ORDER BY a;
4387+select * from t2 ORDER BY b;
4388+save_master_pos;
4389+connection slave;
4390+sync_with_master;
4391+select * from t1 ORDER BY a;
4392+select * from t2 ORDER BY b;
4393+connection master;
4394+drop table t1;
4395+drop table t2;
4396+save_master_pos;
4397+connection slave;
4398+sync_with_master;
4399+
4400+#
4401+# Bug#8412: Error codes reported in binary log for CHARACTER SET,
4402+# FOREIGN_KEY_CHECKS
4403+#
4404+connection master;
4405+SET TIMESTAMP=1000000000;
4406+CREATE TABLE t1 ( a INT UNIQUE );
4407+SET FOREIGN_KEY_CHECKS=0;
4408+# Duplicate Key Errors codes
4409+--error 1022, 1582
4410+INSERT INTO t1 VALUES (1),(1);
4411+sync_slave_with_master;
4412+connection master;
4413+drop table t1;
4414+# End of 4.1 tests
4415
4416=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_ignore.test'
4417--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_ignore.test 1970-01-01 00:00:00 +0000
4418+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_insert_ignore.test 2011-06-10 14:18:36 +0000
4419@@ -0,0 +1,71 @@
4420+# Testcase for BUG#6287 "Slave skips auto_increment values in Replication with InnoDB"
4421+# The bug was that if on master, INSERT IGNORE ignored some
4422+# rows, and the table was InnoDB with auto_inc column, then on slave
4423+# some rows received an auto_inc bigger than on master.
4424+# Slave needs to be started with --innodb to store table in InnoDB.
4425+# Same test for MyISAM (which had no bug).
4426+
4427+-- source include/master-slave.inc
4428+
4429+eval CREATE TABLE t1 (
4430+ a int unsigned not null auto_increment primary key,
4431+ b int unsigned,
4432+ unique (b)
4433+) ENGINE=$engine_type;
4434+
4435+eval CREATE TABLE t2 (
4436+ a int unsigned, # to force INSERT SELECT to have a certain order
4437+ b int unsigned
4438+) ENGINE=$engine_type;
4439+
4440+
4441+INSERT INTO t1 VALUES (NULL, 1);
4442+INSERT INTO t1 VALUES (NULL, 2);
4443+INSERT INTO t1 VALUES (NULL, 3);
4444+INSERT INTO t1 VALUES (NULL, 4);
4445+
4446+# An alternation of values which will conflict in t1 and will not.
4447+
4448+INSERT INTO t2 VALUES (1, 1);
4449+INSERT INTO t2 VALUES (2, 2);
4450+INSERT INTO t2 VALUES (3, 5);
4451+INSERT INTO t2 VALUES (4, 3);
4452+INSERT INTO t2 VALUES (5, 4);
4453+INSERT INTO t2 VALUES (6, 6);
4454+
4455+INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
4456+
4457+# Compare results
4458+
4459+SELECT * FROM t1 ORDER BY a;
4460+
4461+sync_slave_with_master;
4462+SELECT * FROM t1 ORDER BY a;
4463+
4464+# Now do the same for MyISAM
4465+
4466+connection master;
4467+drop table t1;
4468+eval CREATE TABLE t1 (
4469+ a int unsigned not null auto_increment primary key,
4470+ b int unsigned,
4471+ unique (b)
4472+) ENGINE=$engine_type2;
4473+
4474+INSERT INTO t1 VALUES (1, 1);
4475+INSERT INTO t1 VALUES (2, 2);
4476+INSERT INTO t1 VALUES (3, 3);
4477+INSERT INTO t1 VALUES (4, 4);
4478+
4479+INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
4480+
4481+SELECT * FROM t1 ORDER BY a;
4482+
4483+sync_slave_with_master;
4484+SELECT * FROM t1 ORDER BY a;
4485+
4486+connection master;
4487+drop table t1, t2;
4488+sync_slave_with_master;
4489+
4490+# End of 4.1 tests
4491
4492=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_loaddata.test'
4493--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_loaddata.test 1970-01-01 00:00:00 +0000
4494+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_loaddata.test 2011-06-10 14:18:36 +0000
4495@@ -0,0 +1,159 @@
4496+# Requires statement logging
4497+-- source include/have_binlog_format_mixed_or_statement.inc
4498+
4499+# See if replication of a "LOAD DATA in an autoincrement column"
4500+# Honours autoincrement values
4501+# i.e. if the master and slave have the same sequence
4502+#
4503+# check replication of load data for temporary tables with additional
4504+# parameters
4505+#
4506+# check if duplicate entries trigger an error (they should unless IGNORE or
4507+# REPLACE was used on the master) (bug 571).
4508+#
4509+# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
4510+# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
4511+
4512+-- source include/master-slave.inc
4513+
4514+connection slave;
4515+reset master;
4516+connection master;
4517+
4518+select last_insert_id();
4519+create table t1(a int not null auto_increment, b int, primary key(a) );
4520+load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
4521+# verify that LAST_INSERT_ID() is set by LOAD DATA INFILE
4522+select last_insert_id();
4523+
4524+create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60)) engine=myisam; # PBXT: Required because of INSERT/SELECT
4525+load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
4526+
4527+create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
4528+insert into t3 select * from t2;
4529+
4530+save_master_pos;
4531+connection slave;
4532+sync_with_master;
4533+
4534+select * from t1;
4535+select * from t3;
4536+# We want to be sure that LOAD DATA is in the slave's binlog.
4537+# But we can't simply read this binlog, because as the slave has not been
4538+# restarted for this test, the file_id is uncertain (would cause test
4539+# failures). So instead, we test if the binlog looks long enough to
4540+# contain LOAD DATA. Since 5.0.3 we assume that binlog of 1292 is ok.
4541+# If LOAD DATA was not logged, the binlog would be shorter.
4542+show master status;
4543+
4544+connection master;
4545+
4546+drop table t1;
4547+drop table t2;
4548+drop table t3;
4549+create table t1(a int, b int, unique(b));
4550+
4551+save_master_pos;
4552+connection slave;
4553+sync_with_master;
4554+
4555+# See if slave stops when there's a duplicate entry for key error in LOAD DATA
4556+
4557+insert into t1 values(1,10);
4558+
4559+connection master;
4560+load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
4561+
4562+save_master_pos;
4563+connection slave;
4564+# The SQL slave thread should be stopped now.
4565+wait_for_slave_to_stop;
4566+
4567+# Skip the bad event and see if error is cleared in SHOW SLAVE STATUS by START
4568+# SLAVE, even though we are not executing any event (as sql_slave_skip_counter
4569+# takes us directly to the end of the relay log).
4570+
4571+set global sql_slave_skip_counter=1;
4572+start slave;
4573+sync_with_master;
4574+--replace_result $MASTER_MYPORT MASTER_PORT
4575+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4576+show slave status;
4577+
4578+# Trigger error again to test CHANGE MASTER
4579+
4580+connection master;
4581+set sql_log_bin=0;
4582+delete from t1;
4583+set sql_log_bin=1;
4584+load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
4585+save_master_pos;
4586+connection slave;
4587+# The SQL slave thread should be stopped now.
4588+# Exec_Master_Log_Pos should point to the start of Execute event
4589+# for last load data.
4590+wait_for_slave_to_stop;
4591+
4592+# CHANGE MASTER and see if error is cleared in SHOW SLAVE STATUS.
4593+stop slave;
4594+change master to master_user='test';
4595+change master to master_user='root';
4596+--replace_result $MASTER_MYPORT MASTER_PORT
4597+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4598+show slave status;
4599+
4600+# Trigger error again to test RESET SLAVE
4601+
4602+set global sql_slave_skip_counter=1;
4603+start slave;
4604+sync_with_master;
4605+connection master;
4606+set sql_log_bin=0;
4607+delete from t1;
4608+set sql_log_bin=1;
4609+load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
4610+save_master_pos;
4611+connection slave;
4612+# The SQL slave thread should be stopped now.
4613+wait_for_slave_to_stop;
4614+
4615+# RESET SLAVE and see if error is cleared in SHOW SLAVE STATUS.
4616+stop slave;
4617+reset slave;
4618+--replace_result $MASTER_MYPORT MASTER_PORT
4619+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4620+show slave status;
4621+
4622+# Finally, see if logging is done ok on master for a failing LOAD DATA INFILE
4623+
4624+connection master;
4625+reset master;
4626+eval create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
4627+unique(day)) engine=$engine_type; # no transactions
4628+--error 1582
4629+load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
4630+terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
4631+'\n##\n' starting by '>' ignore 1 lines;
4632+select * from t2;
4633+save_master_pos;
4634+connection slave;
4635+start slave;
4636+sync_with_master;
4637+select * from t2;
4638+
4639+# verify that if no error on slave, this is an error
4640+
4641+alter table t2 drop key day;
4642+connection master;
4643+delete from t2;
4644+--error 1582
4645+load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
4646+terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
4647+'\n##\n' starting by '>' ignore 1 lines;
4648+connection slave;
4649+wait_for_slave_to_stop;
4650+drop table t2;
4651+connection master;
4652+drop table t2;
4653+drop table t1;
4654+# End of 4.1 tests
4655
4656=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_log.test'
4657--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_log.test 1970-01-01 00:00:00 +0000
4658+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_log.test 2011-06-10 14:18:36 +0000
4659@@ -0,0 +1,151 @@
4660+# Requires statement logging
4661+-- source include/master-slave.inc
4662+
4663+# Clean up old slave's binlogs.
4664+# The slave is started with --log-slave-updates
4665+# and this test does SHOW BINLOG EVENTS on the slave's
4666+# binlog. But previous tests can influence the current test's
4667+# binlog (e.g. a temporary table in the previous test has not
4668+# been explicitly deleted, and at the beginning of the current
4669+# test the slave immediately writes DROP TEMPORARY TABLE this_old_table).
4670+# We wait for the slave to have written all he wants to the binlog
4671+# (otherwise RESET MASTER may come too early).
4672+save_master_pos;
4673+connection slave;
4674+sync_with_master;
4675+stop slave;
4676+reset master;
4677+reset slave;
4678+# We are going to read the slave's binlog which contains file_id (for some LOAD
4679+# DATA INFILE); to make it repeatable (not influenced by other tests), we need
4680+# to stop and start the slave, to be sure file_id will start from 1.
4681+# This can be done with 'server_stop slave', but
4682+# this would require the manager, so most of the time the test will be skipped
4683+# :(
4684+# To workaround this, I (Guilhem) add a (empty) rpl_log-slave.opt (because when
4685+# mysql-test-run finds such a file it restarts the slave before doing the
4686+# test). That's not very elegant but I could find no better way, sorry.
4687+
4688+let $VERSION=`select version()`;
4689+
4690+connection master;
4691+reset master;
4692+eval create table t1(n int not null auto_increment primary key)ENGINE=$engine_type;
4693+insert into t1 values (NULL);
4694+drop table t1;
4695+eval create table t1 (word char(20) not null)ENGINE=$engine_type;
4696+load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines;
4697+select count(*) from t1;
4698+--replace_result $VERSION VERSION
4699+--replace_column 2 # 5 #
4700+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4701+show binlog events;
4702+--replace_column 2 # 5 #
4703+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4704+show binlog events from 102 limit 1;
4705+--replace_column 2 # 5 #
4706+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4707+show binlog events from 102 limit 2;
4708+--replace_column 2 # 5 #
4709+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4710+show binlog events from 102 limit 2,1;
4711+flush logs;
4712+
4713+# We need an extra update before doing save_master_pos.
4714+# Otherwise, an unlikely scenario may occur:
4715+# * When the master's binlog_dump thread reads the end of master-bin.001,
4716+# it send the rotate event which is at this end, plus a fake rotate event
4717+# because it's starting to read a new binlog.
4718+# save_master_pos will record the position of the first of the two rotate
4719+# (because the fake one is not in the master's binlog anyway).
4720+# * Later the slave waits for the position of the first rotate event,
4721+# and it may quickly stop (in 'slave stop') without having received the fake
4722+# one.
4723+# So, depending on a few milliseconds, we end up with 2 rotate events in the
4724+# relay log or one, which influences the output of SHOW SLAVE STATUS, making
4725+# it not predictable and causing random test failures.
4726+# To make it predictable, we do a useless update now, but which has the
4727+# interest of making the slave catch both rotate events.
4728+
4729+eval create table t3 (a int)ENGINE=$engine_type;
4730+
4731+# Sync slave and force it to start on another binary log
4732+
4733+save_master_pos;
4734+connection slave;
4735+# Note that the above 'slave start' will cause a 3rd rotate event (a fake one)
4736+# to go into the relay log (the master always sends a fake one when replication
4737+# starts).
4738+start slave;
4739+let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%';
4740+--source include/wait_slave_status.inc
4741+sync_with_master;
4742+flush logs;
4743+stop slave;
4744+connection master;
4745+
4746+# Create some entries for second log
4747+
4748+eval create table t2 (n int)ENGINE=$engine_type;
4749+insert into t2 values (1);
4750+--replace_result $VERSION VERSION
4751+--replace_column 2 # 5 #
4752+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4753+show binlog events;
4754+--replace_result $VERSION VERSION
4755+--replace_column 2 # 5 #
4756+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4757+show binlog events in 'master-bin.000002';
4758+show binary logs;
4759+save_master_pos;
4760+connection slave;
4761+start slave;
4762+sync_with_master;
4763+show binary logs;
4764+--replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION
4765+--replace_column 2 # 5 #
4766+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4767+show binlog events in 'slave-bin.000001' from 4;
4768+--replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION
4769+--replace_column 2 # 5 #
4770+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4771+show binlog events in 'slave-bin.000002' from 4;
4772+--replace_result $MASTER_MYPORT MASTER_PORT
4773+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4774+show slave status;
4775+
4776+# Need to recode the following
4777+
4778+#show new master for slave with master_log_file='master-bin.000001' and master_log_pos=4 and master_server_id=1;
4779+#show new master for slave with master_log_file='master-bin.000001' and master_log_pos=79 and master_server_id=1;
4780+#show new master for slave with master_log_file='master-bin.000001' and master_log_pos=311 and master_server_id=1;
4781+#show new master for slave with master_log_file='master-bin.000002' and master_log_pos=4 and master_server_id=1;
4782+#show new master for slave with master_log_file='master-bin.000002' and master_log_pos=122 and master_server_id=1;
4783+
4784+--error 1220
4785+show binlog events in 'slave-bin.000005' from 4;
4786+
4787+# The table drops caused Cluster Replication wrapper to fail as event ID would never be the same.# Moving drops here.
4788+
4789+DROP TABLE t1;
4790+DROP TABLE t2;
4791+DROP TABLE t3;
4792+
4793+#
4794+# Bug #6880: LAST_INSERT_ID() within a statement
4795+#
4796+
4797+create table t1(a int auto_increment primary key, b int);
4798+insert into t1 values (NULL, 1);
4799+reset master;
4800+set insert_id=5;
4801+insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
4802+--replace_result $VERSION VERSION
4803+--replace_column 2 # 5 #
4804+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
4805+show binlog events;
4806+select * from t1;
4807+drop table t1;
4808+
4809+# End of 4.1 tests
4810+
4811
4812=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_max_relay_size.test'
4813--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_max_relay_size.test 1970-01-01 00:00:00 +0000
4814+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_max_relay_size.test 2011-06-10 14:18:36 +0000
4815@@ -0,0 +1,140 @@
4816+# Test of options max_binlog_size and max_relay_log_size and
4817+# how they act (if max_relay_log_size == 0, use max_binlog_size
4818+# for relay logs too).
4819+# Test of manual relay log rotation with FLUSH LOGS.
4820+
4821+# Requires statement logging
4822+-- source include/master-slave.inc
4823+
4824+connection slave;
4825+stop slave;
4826+connection master;
4827+
4828+--echo #
4829+--echo # Generate a big enough master's binlog to cause relay log rotations
4830+--echo #
4831+
4832+create table t1 (a int);
4833+let $1=800;
4834+disable_query_log;
4835+begin;
4836+while ($1)
4837+{
4838+# eval means expand $ expressions
4839+ eval insert into t1 values( $1 );
4840+ dec $1;
4841+}
4842+enable_query_log;
4843+drop table t1;
4844+save_master_pos;
4845+connection slave;
4846+reset slave;
4847+
4848+--echo #
4849+--echo # Test 1
4850+--echo #
4851+
4852+set @my_max_binlog_size= @@global.max_binlog_size;
4853+set global max_binlog_size=8192;
4854+set global max_relay_log_size=8192-1; # mapped to 4096
4855+select @@global.max_relay_log_size;
4856+start slave;
4857+sync_with_master;
4858+--replace_result $MASTER_MYPORT MASTER_PORT
4859+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4860+--vertical_results
4861+show slave status;
4862+
4863+--echo #
4864+--echo # Test 2
4865+--echo #
4866+
4867+stop slave;
4868+reset slave;
4869+set global max_relay_log_size=(5*4096);
4870+select @@global.max_relay_log_size;
4871+start slave;
4872+sync_with_master;
4873+--replace_result $MASTER_MYPORT MASTER_PORT
4874+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4875+--vertical_results
4876+show slave status;
4877+
4878+--echo #
4879+--echo # Test 3: max_relay_log_size = 0
4880+--echo #
4881+
4882+stop slave;
4883+reset slave;
4884+set global max_relay_log_size=0;
4885+select @@global.max_relay_log_size;
4886+start slave;
4887+sync_with_master;
4888+--replace_result $MASTER_MYPORT MASTER_PORT
4889+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4890+--vertical_results
4891+show slave status;
4892+
4893+--echo #
4894+--echo # Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
4895+--echo #
4896+
4897+stop slave;
4898+reset slave;
4899+# test of relay log rotation when the slave is stopped
4900+# (to make sure it does not crash).
4901+flush logs;
4902+--replace_result $MASTER_MYPORT MASTER_PORT
4903+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4904+--vertical_results
4905+show slave status;
4906+
4907+--echo #
4908+--echo # Test 5
4909+--echo #
4910+
4911+reset slave;
4912+start slave;
4913+sync_with_master;
4914+# test of relay log rotation when the slave is started
4915+flush logs;
4916+# We have now easy way to be sure that the SQL thread has now deleted the
4917+# log we just closed. But a trick to achieve this is do an update on the master.
4918+connection master;
4919+create table t1 (a int);
4920+save_master_pos;
4921+connection slave;
4922+sync_with_master;
4923+--replace_result $MASTER_MYPORT MASTER_PORT
4924+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4925+--vertical_results
4926+show slave status;
4927+
4928+--echo #
4929+--echo # Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
4930+--echo #
4931+
4932+flush logs;
4933+connection master;
4934+drop table t1;
4935+save_master_pos;
4936+connection slave;
4937+sync_with_master;
4938+--replace_result $MASTER_MYPORT MASTER_PORT
4939+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
4940+--vertical_results
4941+show slave status;
4942+
4943+connection master;
4944+# test that the absence of relay logs does not make a master crash
4945+flush logs;
4946+-- replace_column 3 <Binlog_Ignore_DB>
4947+show master status;
4948+
4949+# Restore max_binlog_size
4950+connection slave;
4951+set global max_binlog_size= @my_max_binlog_size;
4952+
4953+--echo #
4954+--echo # End of 4.1 tests
4955+--echo #
4956
4957=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_query.test'
4958--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_query.test 1970-01-01 00:00:00 +0000
4959+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_query.test 2011-06-10 14:18:36 +0000
4960@@ -0,0 +1,30 @@
4961+# Test for BUG#8436: verify that a multi-query (i.e. one query
4962+# containing several queries (assuming client has
4963+# CLIENT_MULTI_STATEMENTS) will be binlogged ONE-query-per-event (not
4964+# one binlog event containing all queries)
4965+
4966+
4967+# PS doesn't support multi-statements
4968+--disable_ps_protocol
4969+-- source include/master-slave.inc
4970+--disable_warnings
4971+drop database if exists mysqltest;
4972+--enable_warnings
4973+create database mysqltest;
4974+
4975+delimiter /;
4976+create table mysqltest.t1 ( n int);
4977+insert into mysqltest.t1 values(1)/
4978+insert into mysqltest.t1 values(2);
4979+insert into mysqltest.t1 values(3);
4980+insert into mysqltest.t1 values(4);
4981+insert into mysqltest.t1 values(5)/
4982+delimiter ;/
4983+sync_slave_with_master;
4984+select * from mysqltest.t1;
4985+connection master;
4986+--replace_column 2 # 5 #
4987+--replace_regex /table_id: [0-9]+/table_id: #/
4988+show binlog events from 102;
4989+drop database mysqltest;
4990+sync_slave_with_master;
4991
4992=== added file 'test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update.test'
4993--- test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update.test 1970-01-01 00:00:00 +0000
4994+++ test/mysql-test/test_data/505/extra/rpl_tests/rpl_multi_update.test 2011-06-10 14:18:36 +0000
4995@@ -0,0 +1,30 @@
4996+source include/master-slave.inc;
4997+
4998+eval CREATE TABLE t1 (
4999+ a int unsigned not null auto_increment primary key,
5000+ b int unsigned
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches