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

Proposed by Laurynas Biveinis on 2013-05-20
Status: Merged
Approved by: Alexey Kopytov on 2013-05-21
Approved revision: 325
Merged at revision: 349
Proposed branch: lp:~laurynas-biveinis/percona-server/5.6-merge-1
Merge into: lp:percona-server/5.6
Diff against target: 60833 lines (+35068/-6890)
650 files modified
.bzrignore (+0/-1)
COPYING.innodb-deadlock-count-patch (+0/-30)
COPYING.show_temp_51 (+0/-13)
Makefile (+0/-78)
Percona-Server/CMakeLists.txt (+7/-0)
Percona-Server/client/CMakeLists.txt (+2/-1)
Percona-Server/client/client_priv.h (+3/-0)
Percona-Server/client/mysql.cc (+55/-1)
Percona-Server/client/mysqldump.c (+7/-3)
Percona-Server/client/sql_string.cc (+44/-0)
Percona-Server/client/sql_string.h (+10/-0)
Percona-Server/cmake/dtrace.cmake (+1/-1)
Percona-Server/cmake/install_layout.cmake (+2/-2)
Percona-Server/config.h.cmake (+1/-1)
Percona-Server/extra/comp_err.c (+130/-49)
Percona-Server/extra/innochecksum.cc (+76/-2)
Percona-Server/include/atomic/x86-gcc.h (+12/-16)
Percona-Server/include/heap.h (+69/-12)
Percona-Server/include/m_string.h (+40/-0)
Percona-Server/include/my_getopt.h (+18/-0)
Percona-Server/include/my_sys.h (+11/-9)
Percona-Server/include/mysql/plugin.h (+22/-0)
Percona-Server/include/mysql/plugin_audit.h.pp (+13/-0)
Percona-Server/include/mysql/plugin_auth.h.pp (+13/-0)
Percona-Server/include/mysql/plugin_ftparser.h.pp (+13/-0)
Percona-Server/include/mysql_com.h (+15/-0)
Percona-Server/include/violite.h (+1/-1)
Percona-Server/internal/mysql-test/suite/i_innodb/r/dummy.result (+1/-0)
Percona-Server/internal/mysql-test/suite/i_innodb/t/dummy.test (+3/-0)
Percona-Server/internal/mysql-test/suite/i_main/r/dummy.result (+1/-0)
Percona-Server/internal/mysql-test/suite/i_main/r/update.result (+17/-0)
Percona-Server/internal/mysql-test/suite/i_main/t/dummy.test (+2/-0)
Percona-Server/internal/mysql-test/suite/i_main/t/update.test (+21/-0)
Percona-Server/man/mysqld.8 (+69/-0)
Percona-Server/mysql-test/include/have_64_keys.inc (+12/-0)
Percona-Server/mysql-test/include/log_cleanup.inc (+1/-0)
Percona-Server/mysql-test/include/log_grep.inc (+41/-0)
Percona-Server/mysql-test/include/log_start.inc (+11/-0)
Percona-Server/mysql-test/include/log_stop.inc (+7/-0)
Percona-Server/mysql-test/include/percona_processlist_row_stats_show.inc (+7/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments.inc (+95/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments_begin.inc (+12/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments_clear.inc (+5/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments_end.inc (+3/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments_eval.inc (+7/-0)
Percona-Server/mysql-test/include/percona_query_cache_with_comments_show.inc (+8/-0)
Percona-Server/mysql-test/include/percona_show_slave_status_nolock.inc (+56/-0)
Percona-Server/mysql-test/include/percona_slow_log_verbosity_grep.inc (+26/-0)
Percona-Server/mysql-test/include/percona_slow_query_log_rate.inc (+37/-0)
Percona-Server/mysql-test/r/connect.result (+2/-0)
Percona-Server/mysql-test/r/create.result (+6/-5)
Percona-Server/mysql-test/r/ctype_utf8mb4_heap.result (+4/-0)
Percona-Server/mysql-test/r/derived.result (+1/-1)
Percona-Server/mysql-test/r/disabled_replication.result (+2/-1)
Percona-Server/mysql-test/r/group_commit_crash.result (+101/-0)
Percona-Server/mysql-test/r/have_64_keys.require (+14/-0)
Percona-Server/mysql-test/r/information_schema.result (+30/-2)
Percona-Server/mysql-test/r/information_schema_db.result (+7/-0)
Percona-Server/mysql-test/r/mysqld--help-notwin.result (+84/-4)
Percona-Server/mysql-test/r/mysqld--help-win.result (+28/-2)
Percona-Server/mysql-test/r/mysqlshow.result (+14/-2)
Percona-Server/mysql-test/r/percona_bug1008278.result (+11/-0)
Percona-Server/mysql-test/r/percona_bug1008609.result (+1/-0)
Percona-Server/mysql-test/r/percona_bug1017192.result (+10/-0)
Percona-Server/mysql-test/r/percona_bug1035225.result (+32/-0)
Percona-Server/mysql-test/r/percona_bug45702.result (+21/-0)
Percona-Server/mysql-test/r/percona_bug643149.result (+21/-0)
Percona-Server/mysql-test/r/percona_bug856404.result (+8/-0)
Percona-Server/mysql-test/r/percona_enforce_storage_engine.result (+36/-0)
Percona-Server/mysql-test/r/percona_enhanced_options_modifiers.result (+142/-0)
Percona-Server/mysql-test/r/percona_expand_fast_index_creation.result (+64/-0)
Percona-Server/mysql-test/r/percona_heap_blob.result (+918/-0)
Percona-Server/mysql-test/r/percona_heap_bug783366.result (+14/-0)
Percona-Server/mysql-test/r/percona_heap_bug783451.result (+124/-0)
Percona-Server/mysql-test/r/percona_heap_bug784464.result (+58/-0)
Percona-Server/mysql-test/r/percona_heap_bug784464_32bit.result (+12/-0)
Percona-Server/mysql-test/r/percona_heap_bug784464_64bit.result (+12/-0)
Percona-Server/mysql-test/r/percona_heap_bug784468.result (+15/-0)
Percona-Server/mysql-test/r/percona_heap_bug788544.result (+9/-0)
Percona-Server/mysql-test/r/percona_heap_bug788576.result (+19/-0)
Percona-Server/mysql-test/r/percona_heap_bug788722.result (+18/-0)
Percona-Server/mysql-test/r/percona_heap_bug789131.result (+7/-0)
Percona-Server/mysql-test/r/percona_heap_var.result (+194/-0)
Percona-Server/mysql-test/r/percona_innodb_deadlock_count.result (+28/-0)
Percona-Server/mysql-test/r/percona_innodb_fake_changes.result (+119/-0)
Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_898306.result (+43/-0)
Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_917942.result (+151/-0)
Percona-Server/mysql-test/r/percona_innodb_fake_changes_locks.result (+83/-0)
Percona-Server/mysql-test/r/percona_innodb_version.result (+3/-0)
Percona-Server/mysql-test/r/percona_log_connection_error.result (+16/-0)
Percona-Server/mysql-test/r/percona_log_slow_admin_statements-config.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_admin_statements-config_false.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_admin_statements-config_foo.result (+7/-0)
Percona-Server/mysql-test/r/percona_log_slow_admin_statements-config_true.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_admin_statements.result (+20/-0)
Percona-Server/mysql-test/r/percona_log_slow_filter-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_innodb.result (+42/-0)
Percona-Server/mysql-test/r/percona_log_slow_query_plan.result (+268/-0)
Percona-Server/mysql-test/r/percona_log_slow_query_plan_qc.result (+46/-0)
Percona-Server/mysql-test/r/percona_log_slow_slave_statements-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_slave_statements-innodb.result (+31/-0)
Percona-Server/mysql-test/r/percona_log_slow_slave_statements.result (+33/-0)
Percona-Server/mysql-test/r/percona_log_slow_sp_statements-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_sp_statements.result (+27/-0)
Percona-Server/mysql-test/r/percona_log_slow_verbosity-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_log_slow_verbosity.result (+118/-0)
Percona-Server/mysql-test/r/percona_log_warnings_suppress.result (+31/-0)
Percona-Server/mysql-test/r/percona_long_query_time.result (+35/-0)
Percona-Server/mysql-test/r/percona_min_examined_row_limit.result (+35/-0)
Percona-Server/mysql-test/r/percona_mysqldump_innodb_optimize_keys.result (+0/-443)
Percona-Server/mysql-test/r/percona_processlist_row_stats.result (+70/-0)
Percona-Server/mysql-test/r/percona_query_cache_with_comments.result (+866/-0)
Percona-Server/mysql-test/r/percona_query_cache_with_comments_crash.result (+21/-0)
Percona-Server/mysql-test/r/percona_query_cache_with_comments_disable.result (+865/-0)
Percona-Server/mysql-test/r/percona_query_cache_with_comments_prepared_statements.result (+396/-0)
Percona-Server/mysql-test/r/percona_secure_file_priv_noarg.result (+13/-0)
Percona-Server/mysql-test/r/percona_show_slave_status_nolock.result (+72/-0)
Percona-Server/mysql-test/r/percona_signal_handling.result (+3/-0)
Percona-Server/mysql-test/r/percona_slow_extended_error_on_quit.result (+27/-0)
Percona-Server/mysql-test/r/percona_slow_extended_log_error.result (+17/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_rate.result (+54/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_timestamp_always-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_timestamp_always.result (+16/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_timestamp_precision-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_timestamp_precision.result (+24/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_use_global_control-cl.result (+6/-0)
Percona-Server/mysql-test/r/percona_slow_query_log_use_global_control.result (+20/-0)
Percona-Server/mysql-test/r/percona_ssl_connections_count.result (+21/-0)
Percona-Server/mysql-test/r/percona_status_wait_query_cache_mutex.result (+20/-0)
Percona-Server/mysql-test/r/percona_utility_user.result (+91/-0)
Percona-Server/mysql-test/r/percona_xtradb_bug317074.result (+5/-0)
Percona-Server/mysql-test/r/rpl_mysqldump_slave.result (+1/-1)
Percona-Server/mysql-test/r/show_check.result (+6/-6)
Percona-Server/mysql-test/r/sp-threads.result (+5/-5)
Percona-Server/mysql-test/r/userstat_bug602047.result (+19/-0)
Percona-Server/mysql-test/r/xa_binlog.result (+32/-0)
Percona-Server/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result (+2/-2)
Percona-Server/mysql-test/suite/binlog/r/percona_binlog_max_nr.result (+30/-0)
Percona-Server/mysql-test/suite/binlog/t/percona_binlog_max_nr-master.opt (+2/-0)
Percona-Server/mysql-test/suite/binlog/t/percona_binlog_max_nr.test (+65/-0)
Percona-Server/mysql-test/suite/funcs_1/datadict/processlist_priv.inc (+1/-1)
Percona-Server/mysql-test/suite/funcs_1/r/is_columns_is.result (+154/-0)
Percona-Server/mysql-test/suite/funcs_1/r/is_engines_innodb.result (+1/-1)
Percona-Server/mysql-test/suite/funcs_1/r/is_tables_is.result (+230/-0)
Percona-Server/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result (+150/-146)
Percona-Server/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result (+47/-45)
Percona-Server/mysql-test/suite/innodb/include/percona_innodb_kill_idle_trx_show.inc (+2/-0)
Percona-Server/mysql-test/suite/innodb/r/bug54330.result (+13/-0)
Percona-Server/mysql-test/suite/innodb/r/innodb_wl6347_comp_indx_stat.result (+3/-3)
Percona-Server/mysql-test/suite/innodb/r/percona_bug_1133926.result (+0/-4)
Percona-Server/mysql-test/suite/innodb/r/percona_bug_951588.result (+12/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_bug_999147.result (+0/-17)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp.result (+67/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_1105726.result (+3/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_crash.result (+36/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_debug.result (+25/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_flush.result (+21/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_log_block_size.result (+7/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_requests.result (+76/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp_requests_no_innodb.result (+4/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages.result (+153/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages_empty.result (+2/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_innodb_kill_idle_trx.result (+39/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_innodb_kill_idle_trx_locks.result (+45/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_log_block_size.result (+11/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_skip_innodb_i_s.result (+38/-0)
Percona-Server/mysql-test/suite/innodb/t/bug54330.test (+38/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_1133926.test (+0/-19)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_951588.test (+29/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_999147-master.opt (+0/-1)
Percona-Server/mysql-test/suite/innodb/t/percona_bug_999147.test (+0/-29)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp.test (+253/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_1105726-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_1105726.test (+5/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_crash-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_crash.test (+87/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_debug-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_debug.test (+58/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_flush.test (+96/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_log_block_size.test (+37/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_requests-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_requests.test (+200/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_requests_no_innodb-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_requests_no_innodb.test (+10/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages.test (+262/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages_empty.test (+8/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_innodb_kill_idle_trx.test (+27/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_innodb_kill_idle_trx_locks.test (+31/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_log_block_size-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_log_block_size.test (+40/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_skip_innodb_i_s-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_skip_innodb_i_s.test (+6/-0)
Percona-Server/mysql-test/suite/rpl/r/percona_bug860910.result (+23/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_mdev382.result (+331/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_percona_crash_resistant_rpl.result (+55/-0)
Percona-Server/mysql-test/suite/rpl/r/rpl_trigger_bug67504.result (+31/-0)
Percona-Server/mysql-test/suite/rpl/t/percona_bug860910.cnf (+8/-0)
Percona-Server/mysql-test/suite/rpl/t/percona_bug860910.test (+38/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_mdev382.test (+256/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_percona_crash_resistant_rpl-slave.opt (+1/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_percona_crash_resistant_rpl.test (+108/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_trigger_bug67504-slave.opt (+1/-0)
Percona-Server/mysql-test/suite/rpl/t/rpl_trigger_bug67504.test (+49/-0)
Percona-Server/mysql-test/suite/sys_vars/r/all_vars.result (+8/-2)
Percona-Server/mysql-test/suite/sys_vars/r/enforce_storage_engine_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/expand_fast_index_creation_basic.result (+0/-6)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_buffer_pool_populate_basic.result (+12/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_corrupt_table_action_basic.result (+0/-29)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result (+0/-1)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_locking_fake_changes_basic.result (+52/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_log_block_size_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_max_bitmap_file_size_basic.result (+84/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result (+0/-8)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_show_locks_held_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_show_verbose_locks_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_track_changed_pages_basic.result (+21/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_use_global_flush_log_at_trx_commit_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_admin_statements_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_filter_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_rate_limit_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_rate_type_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_slave_statements_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_sp_statements_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/log_warnings_suppress_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/max_binlog_files_basic.result (+134/-0)
Percona-Server/mysql-test/suite/sys_vars/r/query_cache_strip_comments_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/query_exec_id_basic.result (+2/-0)
Percona-Server/mysql-test/suite/sys_vars/r/query_exec_time_basic.result (+2/-0)
Percona-Server/mysql-test/suite/sys_vars/r/slow_query_log_timestamp_always_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/slow_query_log_timestamp_precision_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/slow_query_log_use_global_control_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/r/thread_statistics_basic.result (+6/-0)
Percona-Server/mysql-test/suite/sys_vars/r/userstat_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/t/all_vars.test (+2/-2)
Percona-Server/mysql-test/suite/sys_vars/t/enforce_storage_engine_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/expand_fast_index_creation_basic.test (+0/-2)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_buffer_pool_populate_basic-master.opt (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_buffer_pool_populate_basic.test (+16/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_corrupt_table_action_basic.test (+0/-23)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test (+1/-1)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_locking_fake_changes_basic.test (+44/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_log_block_size_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_max_bitmap_file_size_basic.test (+62/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test (+0/-16)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_show_locks_held_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_show_verbose_locks_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_track_changed_pages_basic.test (+21/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_use_global_flush_log_at_trx_commit_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_admin_statements_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_filter_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_rate_limit_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_rate_type_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_slave_statements_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_sp_statements_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/log_warnings_suppress_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/max_binlog_files_basic.test (+147/-0)
Percona-Server/mysql-test/suite/sys_vars/t/query_cache_strip_comments_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/query_exec_id_basic.test (+4/-0)
Percona-Server/mysql-test/suite/sys_vars/t/query_exec_time_basic.test (+4/-0)
Percona-Server/mysql-test/suite/sys_vars/t/slow_query_log_timestamp_always_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/slow_query_log_timestamp_precision_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/slow_query_log_use_global_control_basic.test (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/thread_statistics_basic.test (+4/-0)
Percona-Server/mysql-test/suite/sys_vars/t/userstat_basic.test (+1/-0)
Percona-Server/mysql-test/t/connect.test (+3/-0)
Percona-Server/mysql-test/t/create.test (+6/-1)
Percona-Server/mysql-test/t/file_contents.test (+5/-2)
Percona-Server/mysql-test/t/group_commit_crash-master.opt (+1/-0)
Percona-Server/mysql-test/t/group_commit_crash.test (+82/-0)
Percona-Server/mysql-test/t/information_schema.test (+8/-0)
Percona-Server/mysql-test/t/percona_bug1008278-slave.opt (+1/-0)
Percona-Server/mysql-test/t/percona_bug1008278.test (+23/-0)
Percona-Server/mysql-test/t/percona_bug1008609.test (+23/-0)
Percona-Server/mysql-test/t/percona_bug1017192.test (+40/-0)
Percona-Server/mysql-test/t/percona_bug1035225.test (+47/-0)
Percona-Server/mysql-test/t/percona_bug45702.test (+34/-0)
Percona-Server/mysql-test/t/percona_bug643149.test (+50/-0)
Percona-Server/mysql-test/t/percona_bug856404-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_bug856404.test (+15/-0)
Percona-Server/mysql-test/t/percona_enforce_storage_engine-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_enforce_storage_engine.test (+27/-0)
Percona-Server/mysql-test/t/percona_enhanced_options_modifiers.test (+167/-0)
Percona-Server/mysql-test/t/percona_expand_fast_index_creation.test (+46/-0)
Percona-Server/mysql-test/t/percona_heap_blob.test (+631/-0)
Percona-Server/mysql-test/t/percona_heap_bug783366.test (+19/-0)
Percona-Server/mysql-test/t/percona_heap_bug783451.test (+16/-0)
Percona-Server/mysql-test/t/percona_heap_bug784464.test (+66/-0)
Percona-Server/mysql-test/t/percona_heap_bug784464_32bit.test (+15/-0)
Percona-Server/mysql-test/t/percona_heap_bug784464_64bit.test (+15/-0)
Percona-Server/mysql-test/t/percona_heap_bug784468.test (+19/-0)
Percona-Server/mysql-test/t/percona_heap_bug788544.test (+15/-0)
Percona-Server/mysql-test/t/percona_heap_bug788576.test (+19/-0)
Percona-Server/mysql-test/t/percona_heap_bug788722.test (+20/-0)
Percona-Server/mysql-test/t/percona_heap_bug789131.test (+14/-0)
Percona-Server/mysql-test/t/percona_heap_var.test (+85/-0)
Percona-Server/mysql-test/t/percona_innodb_deadlock_count.test (+61/-0)
Percona-Server/mysql-test/t/percona_innodb_fake_changes.test (+145/-0)
Percona-Server/mysql-test/t/percona_innodb_fake_changes_bug_898306.test (+59/-0)
Percona-Server/mysql-test/t/percona_innodb_fake_changes_bug_917942-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_innodb_fake_changes_bug_917942.test (+103/-0)
Percona-Server/mysql-test/t/percona_innodb_fake_changes_locks.test (+121/-0)
Percona-Server/mysql-test/t/percona_innodb_version.test (+8/-0)
Percona-Server/mysql-test/t/percona_log_connection_error-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_connection_error.test (+54/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config.cnf (+4/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_false.cnf (+4/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_false.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_foo.cnf (+4/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_foo.test (+3/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_true.cnf (+4/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements-config_true.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_admin_statements.test (+41/-0)
Percona-Server/mysql-test/t/percona_log_slow_filter-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_slow_filter-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_innodb.test (+82/-0)
Percona-Server/mysql-test/t/percona_log_slow_query_plan.test (+302/-0)
Percona-Server/mysql-test/t/percona_log_slow_query_plan_qc-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_slow_query_plan_qc.test (+71/-0)
Percona-Server/mysql-test/t/percona_log_slow_slave_statements-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_slow_slave_statements-cl.test (+3/-0)
Percona-Server/mysql-test/t/percona_log_slow_slave_statements-innodb.test (+48/-0)
Percona-Server/mysql-test/t/percona_log_slow_slave_statements.test (+68/-0)
Percona-Server/mysql-test/t/percona_log_slow_sp_statements-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_slow_sp_statements-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_sp_statements.test (+39/-0)
Percona-Server/mysql-test/t/percona_log_slow_verbosity-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_slow_verbosity-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_log_slow_verbosity.test (+75/-0)
Percona-Server/mysql-test/t/percona_log_warnings_suppress-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_log_warnings_suppress.test (+47/-0)
Percona-Server/mysql-test/t/percona_long_query_time.test (+29/-0)
Percona-Server/mysql-test/t/percona_min_examined_row_limit.test (+36/-0)
Percona-Server/mysql-test/t/percona_mysqldump_innodb_optimize_keys.test (+0/-227)
Percona-Server/mysql-test/t/percona_processlist_row_stats.test (+79/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments.test (+5/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments_crash.test (+22/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments_disable-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments_disable.test (+3/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments_prepared_statements-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_query_cache_with_comments_prepared_statements.test (+208/-0)
Percona-Server/mysql-test/t/percona_secure_file_priv_noarg-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_secure_file_priv_noarg.test (+27/-0)
Percona-Server/mysql-test/t/percona_show_slave_status_nolock.test (+90/-0)
Percona-Server/mysql-test/t/percona_signal_handling.test (+11/-0)
Percona-Server/mysql-test/t/percona_slow_extended_error_on_quit.test (+71/-0)
Percona-Server/mysql-test/t/percona_slow_extended_log_error.test (+31/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_rate.test (+23/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_always-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_always-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_always.test (+21/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_precision-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_precision-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_precision-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_timestamp_precision.test (+37/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_use_global_control-cl-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_use_global_control-cl.test (+2/-0)
Percona-Server/mysql-test/t/percona_slow_query_log_use_global_control.test (+31/-0)
Percona-Server/mysql-test/t/percona_ssl_connections_count.test (+79/-0)
Percona-Server/mysql-test/t/percona_status_wait_query_cache_mutex-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_status_wait_query_cache_mutex.test (+35/-0)
Percona-Server/mysql-test/t/percona_utility_user-master.opt (+1/-0)
Percona-Server/mysql-test/t/percona_utility_user.test (+143/-0)
Percona-Server/mysql-test/t/percona_xtradb_bug317074.test (+47/-0)
Percona-Server/mysql-test/t/ps_1general.test (+5/-0)
Percona-Server/mysql-test/t/ps_2myisam.test (+5/-0)
Percona-Server/mysql-test/t/ps_3innodb.test (+5/-0)
Percona-Server/mysql-test/t/ps_4heap.test (+5/-0)
Percona-Server/mysql-test/t/ps_5merge.test (+5/-0)
Percona-Server/mysql-test/t/show_check.test (+2/-2)
Percona-Server/mysql-test/t/sp-threads.test (+1/-1)
Percona-Server/mysql-test/t/userstat_bug602047.test (+16/-0)
Percona-Server/mysql-test/t/xa_binlog.test (+32/-0)
Percona-Server/mysql-test/valgrind.supp (+9/-0)
Percona-Server/mysys/array.c (+35/-10)
Percona-Server/mysys/mf_cache.c (+18/-0)
Percona-Server/mysys/my_bitmap.c (+1/-1)
Percona-Server/mysys/my_pread.c (+24/-1)
Percona-Server/mysys/waiting_threads.c (+1/-1)
Percona-Server/mysys_ssl/my_getopt.cc (+308/-36)
Percona-Server/patch_info/microsec_process.info (+0/-8)
Percona-Server/plugin/percona-pam-for-mysql/.bzrignore (+21/-0)
Percona-Server/plugin/percona-pam-for-mysql/CMakeLists.txt (+34/-0)
Percona-Server/plugin/percona-pam-for-mysql/LICENSE (+339/-0)
Percona-Server/plugin/percona-pam-for-mysql/Makefile.am (+19/-0)
Percona-Server/plugin/percona-pam-for-mysql/README (+40/-0)
Percona-Server/plugin/percona-pam-for-mysql/bootstrap (+18/-0)
Percona-Server/plugin/percona-pam-for-mysql/build/build-binary.sh.in (+122/-0)
Percona-Server/plugin/percona-pam-for-mysql/build/percona-pam-plugin.spec.in (+66/-0)
Percona-Server/plugin/percona-pam-for-mysql/configure.ac (+95/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/Makefile (+130/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/make.bat (+170/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/conf.py (+245/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/faq.rst (+51/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/glossary.rst (+8/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/index.rst (+51/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/installation.rst (+50/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/intro.rst (+23/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/manual.rst (+38/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/layout.html (+499/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/searchbox.html (+22/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/static/default.css_t (+469/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/static/jquery.min.js (+154/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/static/percona.com.css (+271/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/static/percona.com.js (+269/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/static/sidebar.js (+151/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/percona-theme/theme.conf (+32/-0)
Percona-Server/plugin/percona-pam-for-mysql/doc/source/release-notes.rst (+8/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/Makefile.am (+37/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_mapping.c (+249/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_mapping.h (+74/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_pam.c (+175/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_pam_common.c (+190/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_pam_common.h (+71/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/auth_pam_compat.c (+131/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/dialog.c (+351/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/lib_auth_pam_client.c (+80/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/lib_auth_pam_client.h (+80/-0)
Percona-Server/plugin/percona-pam-for-mysql/src/test_auth_pam_client.c (+82/-0)
Percona-Server/scripts/mysql_install_db.sh (+3/-0)
Percona-Server/scripts/mysqld_multi.sh (+12/-12)
Percona-Server/scripts/mysqld_safe.sh (+68/-0)
Percona-Server/scripts/mysqldumpslow.sh (+2/-2)
Percona-Server/sql/binlog.cc (+108/-15)
Percona-Server/sql/binlog.h (+2/-1)
Percona-Server/sql/filesort.cc (+8/-3)
Percona-Server/sql/ha_ndbcluster_binlog.cc (+17/-31)
Percona-Server/sql/handler.cc (+195/-0)
Percona-Server/sql/handler.h (+33/-3)
Percona-Server/sql/item.cc (+16/-0)
Percona-Server/sql/item.h (+4/-0)
Percona-Server/sql/item_func.cc (+2/-2)
Percona-Server/sql/item_func.h (+1/-1)
Percona-Server/sql/lex.h (+7/-0)
Percona-Server/sql/log.cc (+148/-24)
Percona-Server/sql/log.h (+5/-4)
Percona-Server/sql/log_event.cc (+308/-227)
Percona-Server/sql/log_event.h (+33/-26)
Percona-Server/sql/log_event_old.cc (+1/-1)
Percona-Server/sql/log_event_old.h (+1/-1)
Percona-Server/sql/mysqld.cc (+159/-8)
Percona-Server/sql/mysqld.h (+42/-3)
Percona-Server/sql/opt_range.cc (+1/-1)
Percona-Server/sql/query_strip_comments.h (+37/-0)
Percona-Server/sql/rpl_slave.cc (+12/-4)
Percona-Server/sql/rpl_utility.cc (+1/-0)
Percona-Server/sql/set_var.cc (+10/-1)
Percona-Server/sql/set_var.h (+9/-1)
Percona-Server/sql/signal_handler.cc (+6/-4)
Percona-Server/sql/sp_head.cc (+1/-1)
Percona-Server/sql/sp_instr.cc (+17/-0)
Percona-Server/sql/sql_acl.cc (+263/-5)
Percona-Server/sql/sql_acl.h (+4/-0)
Percona-Server/sql/sql_base.cc (+50/-15)
Percona-Server/sql/sql_bitmap.h (+7/-3)
Percona-Server/sql/sql_cache.cc (+311/-15)
Percona-Server/sql/sql_class.cc (+281/-4)
Percona-Server/sql/sql_class.h (+211/-2)
Percona-Server/sql/sql_cmd.h (+7/-0)
Percona-Server/sql/sql_connect.cc (+642/-1)
Percona-Server/sql/sql_db.cc (+21/-42)
Percona-Server/sql/sql_delete.cc (+4/-0)
Percona-Server/sql/sql_insert.cc (+63/-6)
Percona-Server/sql/sql_lex.cc (+6/-0)
Percona-Server/sql/sql_load.cc (+29/-31)
Percona-Server/sql/sql_parse.cc (+287/-10)
Percona-Server/sql/sql_plugin.cc (+44/-1)
Percona-Server/sql/sql_prepare.cc (+309/-6)
Percona-Server/sql/sql_profile.cc (+140/-3)
Percona-Server/sql/sql_profile.h (+16/-10)
Percona-Server/sql/sql_reload.cc (+54/-3)
Percona-Server/sql/sql_select.cc (+12/-2)
Percona-Server/sql/sql_show.cc (+452/-53)
Percona-Server/sql/sql_show.h (+1/-1)
Percona-Server/sql/sql_string.cc (+61/-10)
Percona-Server/sql/sql_string.h (+10/-0)
Percona-Server/sql/sql_table.cc (+24/-4)
Percona-Server/sql/sql_tmp_table.cc (+11/-6)
Percona-Server/sql/sql_truncate.cc (+15/-14)
Percona-Server/sql/sql_update.cc (+8/-4)
Percona-Server/sql/sql_yacc.yy (+77/-3)
Percona-Server/sql/structs.h (+170/-0)
Percona-Server/sql/sys_vars.cc (+204/-3)
Percona-Server/sql/sys_vars.h (+49/-3)
Percona-Server/sql/table.h (+5/-0)
Percona-Server/storage/federated/ha_federated.cc (+6/-0)
Percona-Server/storage/heap/CMakeLists.txt (+1/-0)
Percona-Server/storage/heap/_check.c (+38/-14)
Percona-Server/storage/heap/_rectest.c (+3/-1)
Percona-Server/storage/heap/ha_heap.cc (+158/-11)
Percona-Server/storage/heap/ha_heap.h (+5/-5)
Percona-Server/storage/heap/heapdef.h (+33/-2)
Percona-Server/storage/heap/hp_clear.c (+3/-8)
Percona-Server/storage/heap/hp_close.c (+4/-0)
Percona-Server/storage/heap/hp_create.c (+201/-43)
Percona-Server/storage/heap/hp_delete.c (+5/-5)
Percona-Server/storage/heap/hp_dspace.c (+440/-0)
Percona-Server/storage/heap/hp_extra.c (+0/-1)
Percona-Server/storage/heap/hp_hash.c (+107/-28)
Percona-Server/storage/heap/hp_info.c (+17/-4)
Percona-Server/storage/heap/hp_open.c (+3/-3)
Percona-Server/storage/heap/hp_record.c (+498/-0)
Percona-Server/storage/heap/hp_rfirst.c (+4/-1)
Percona-Server/storage/heap/hp_rkey.c (+4/-1)
Percona-Server/storage/heap/hp_rlast.c (+4/-1)
Percona-Server/storage/heap/hp_rnext.c (+4/-1)
Percona-Server/storage/heap/hp_rprev.c (+4/-1)
Percona-Server/storage/heap/hp_rrnd.c (+17/-8)
Percona-Server/storage/heap/hp_rsame.c (+9/-2)
Percona-Server/storage/heap/hp_scan.c (+16/-23)
Percona-Server/storage/heap/hp_test1.c (+16/-1)
Percona-Server/storage/heap/hp_test2.c (+25/-2)
Percona-Server/storage/heap/hp_update.c (+40/-11)
Percona-Server/storage/heap/hp_write.c (+19/-45)
Percona-Server/storage/innobase/CMakeLists.txt (+1/-0)
Percona-Server/storage/innobase/btr/btr0btr.cc (+26/-2)
Percona-Server/storage/innobase/btr/btr0cur.cc (+125/-18)
Percona-Server/storage/innobase/btr/btr0pcur.cc (+1/-0)
Percona-Server/storage/innobase/buf/buf0buf.cc (+172/-14)
Percona-Server/storage/innobase/buf/buf0flu.cc (+4/-4)
Percona-Server/storage/innobase/buf/buf0rea.cc (+24/-20)
Percona-Server/storage/innobase/dict/dict0dict.cc (+38/-0)
Percona-Server/storage/innobase/dict/dict0mem.cc (+3/-0)
Percona-Server/storage/innobase/fil/fil0fil.cc (+88/-9)
Percona-Server/storage/innobase/fsp/fsp0fsp.cc (+16/-2)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+591/-31)
Percona-Server/storage/innobase/handler/ha_innodb.h (+3/-0)
Percona-Server/storage/innobase/handler/handler0alter.cc (+10/-0)
Percona-Server/storage/innobase/handler/i_s.cc (+372/-0)
Percona-Server/storage/innobase/handler/i_s.h (+1/-0)
Percona-Server/storage/innobase/ibuf/ibuf0ibuf.cc (+42/-1)
Percona-Server/storage/innobase/include/btr0btr.h (+4/-1)
Percona-Server/storage/innobase/include/btr0cur.h (+3/-2)
Percona-Server/storage/innobase/include/buf0buf.h (+4/-0)
Percona-Server/storage/innobase/include/buf0rea.h (+6/-3)
Percona-Server/storage/innobase/include/dict0dict.h (+8/-0)
Percona-Server/storage/innobase/include/dict0mem.h (+10/-0)
Percona-Server/storage/innobase/include/fil0fil.h (+22/-4)
Percona-Server/storage/innobase/include/ha_prototypes.h (+7/-0)
Percona-Server/storage/innobase/include/ibuf0ibuf.h (+16/-0)
Percona-Server/storage/innobase/include/lock0lock.h (+3/-0)
Percona-Server/storage/innobase/include/log0log.h (+8/-0)
Percona-Server/storage/innobase/include/log0online.h (+190/-0)
Percona-Server/storage/innobase/include/log0recv.h (+37/-0)
Percona-Server/storage/innobase/include/mach0data.ic (+13/-13)
Percona-Server/storage/innobase/include/os0file.h (+47/-14)
Percona-Server/storage/innobase/include/os0file.ic (+5/-2)
Percona-Server/storage/innobase/include/os0proc.h (+2/-1)
Percona-Server/storage/innobase/include/read0read.h (+2/-1)
Percona-Server/storage/innobase/include/srv0srv.h (+90/-1)
Percona-Server/storage/innobase/include/sync0rw.h (+15/-14)
Percona-Server/storage/innobase/include/sync0rw.ic (+6/-6)
Percona-Server/storage/innobase/include/sync0sync.h (+29/-14)
Percona-Server/storage/innobase/include/sync0sync.ic (+6/-6)
Percona-Server/storage/innobase/include/trx0trx.h (+14/-0)
Percona-Server/storage/innobase/include/univ.i (+6/-1)
Percona-Server/storage/innobase/include/ut0rbt.h (+22/-0)
Percona-Server/storage/innobase/lock/lock0lock.cc (+73/-11)
Percona-Server/storage/innobase/log/log0log.cc (+141/-13)
Percona-Server/storage/innobase/log/log0online.cc (+1695/-0)
Percona-Server/storage/innobase/log/log0recv.cc (+27/-6)
Percona-Server/storage/innobase/os/os0file.cc (+135/-19)
Percona-Server/storage/innobase/os/os0proc.cc (+55/-3)
Percona-Server/storage/innobase/que/que0que.cc (+16/-0)
Percona-Server/storage/innobase/read/read0read.cc (+9/-8)
Percona-Server/storage/innobase/row/row0ins.cc (+31/-4)
Percona-Server/storage/innobase/row/row0log.cc (+1/-1)
Percona-Server/storage/innobase/row/row0merge.cc (+7/-2)
Percona-Server/storage/innobase/row/row0mysql.cc (+26/-10)
Percona-Server/storage/innobase/row/row0sel.cc (+11/-2)
Percona-Server/storage/innobase/row/row0upd.cc (+16/-5)
Percona-Server/storage/innobase/srv/srv0conc.cc (+20/-0)
Percona-Server/storage/innobase/srv/srv0srv.cc (+347/-14)
Percona-Server/storage/innobase/srv/srv0start.cc (+32/-2)
Percona-Server/storage/innobase/sync/sync0arr.cc (+5/-7)
Percona-Server/storage/innobase/sync/sync0rw.cc (+42/-10)
Percona-Server/storage/innobase/sync/sync0sync.cc (+29/-10)
Percona-Server/storage/innobase/trx/trx0trx.cc (+64/-4)
Percona-Server/storage/innobase/ut/ut0rbt.cc (+26/-1)
Percona-Server/storage/myisam/ha_myisam.cc (+81/-4)
Percona-Server/storage/myisam/mi_check.c (+1/-1)
Percona-Server/storage/myisam/myisamdef.h (+4/-4)
Percona-Server/storage/myisam/sort.c (+76/-75)
Percona-Server/strings/ctype-simple.c (+3/-12)
Percona-Server/support-files/mysql.server.sh (+15/-15)
build/build-binary.sh (+2/-1)
build/build-shared-compat-rpm.sh (+157/-0)
build/debian/libmysqlclient-dev.install (+1/-0)
build/debian/percona-server-server-5.6.install (+1/-0)
build/debian/rules (+35/-16)
build/percona-server.spec (+7/-0)
build/percona-shared-compat.spec (+93/-0)
doc/Makefile (+0/-145)
doc/make.bat (+0/-170)
doc/source/conf.py (+0/-270)
doc/source/diagnostics/index_info_schema_tables.rst (+0/-15)
doc/source/diagnostics/innodb_deadlock_count.rst (+57/-0)
doc/source/diagnostics/innodb_show_lock_names.rst (+24/-0)
doc/source/diagnostics/innodb_show_status.rst (+475/-0)
doc/source/diagnostics/mysql_syslog.rst (+43/-0)
doc/source/diagnostics/show_engines.rst (+40/-0)
doc/source/diagnostics/slow_extended_55.rst (+377/-0)
doc/source/diagnostics/thread_based_profiling.rst (+17/-0)
doc/source/diagnostics/user_stats.rst (+242/-0)
doc/source/flexibility/buff_read_ahead_area.rst (+36/-0)
doc/source/flexibility/improved_memory_engine.rst (+190/-0)
doc/source/flexibility/innodb_files_extend.rst (+25/-0)
doc/source/flexibility/log_warnings_suppress.rst (+53/-0)
doc/source/flexibility/max_binlog_files.rst (+47/-0)
doc/source/flexibility/mysqldump_ignore_create_error.rst (+0/-22)
doc/source/index.rst (+20/-0)
doc/source/index_info_schema_tables.rst (+58/-0)
doc/source/installation.rst (+4/-0)
doc/source/installation/apt_repo.rst (+0/-65)
doc/source/installation/yum_repo.rst (+0/-81)
doc/source/management/changed_page_tracking.rst (+85/-0)
doc/source/management/enforce_engine.rst (+36/-0)
doc/source/management/expanded_program_option_modifiers.rst (+137/-0)
doc/source/management/innodb_fake_changes.rst (+70/-0)
doc/source/management/innodb_fast_index_creation.rst (+63/-0)
doc/source/management/innodb_kill_idle_trx.rst (+25/-0)
doc/source/management/pam_plugin.rst (+72/-0)
doc/source/management/secure_file_priv_extended.rst (+27/-0)
doc/source/management/udf_maatkit.rst (+49/-0)
doc/source/management/utility_user.rst (+86/-0)
doc/source/percona-theme/layout.html (+0/-368)
doc/source/percona-theme/searchbox.html (+0/-22)
doc/source/percona-theme/static/default.css_t (+0/-433)
doc/source/percona-theme/static/jquery.min.js (+0/-154)
doc/source/percona-theme/static/percona.com.css (+0/-1850)
doc/source/percona-theme/static/percona.com.js (+0/-269)
doc/source/percona-theme/static/sidebar.js (+0/-151)
doc/source/percona-theme/theme.conf (+0/-32)
doc/source/performance/innodb_numa_support.rst (+66/-0)
doc/source/performance/query_cache_enhance.rst (+123/-0)
doc/source/release-notes/Percona-Server-5.6.5-60.0.rst (+0/-26)
doc/source/release-notes/Percona-Server-5.6.6-60.1.rst (+0/-18)
doc/source/release-notes/release-notes_index.rst (+0/-11)
doc/source/reliability/error_pad.rst (+55/-0)
doc/source/reliability/log_connection_error.rst (+14/-0)
doc/source/reliability/show_slave_status_nolock.rst (+23/-0)
doc/source/upstream-bug-fixes.rst (+0/-19)
lrusort.py (+0/-38)
subunit2junitxml (+0/-65)
uninstall_tests.sh (+0/-24)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/5.6-merge-1
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) 2013-05-20 Approve on 2013-05-21
Percona core 2013-05-20 Pending
Review via email: mp+164736@code.launchpad.net

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

Description of the change

The contents of the 2nd MP are identical to the 1st one. Resubmitting because the follow-up branch that fixes the "Needs Fixing" items has been submitted at https://code.launchpad.net/~laurynas-biveinis/percona-server/5.6-merge-1-fixes/+merge/164735.

Merge Percona Server 5.5 as of revision 460 to Percona Server 5.6. This adds all the features mentioned at https://blueprints.launchpad.net/percona-server/+spec/merge-percona-server-5.5-to-mysql-5.6 to the current 5.6 and null-merges the rest.

The commits. The number of commits was determined by wanting to null-merge some specific revisions (i.e. thread pool in 5.5) and the fact that bzr uncommit / bzr shelve/ bzr unshelve stopped working with some of the bigger revisions.

5.5 merge:

318: merge lp:percona-server/5.5 rev 397.
319: fixes to 318.
320: merge lp:percona-server/5.5 rev 444.
321: subunit2junitxml fix.
322: null-merge lp:percona-server/5.5 rev 446 (already present in 5.6: threadpool and clang fixes).
323: merge lp:percona-server/5.5 rev 460.

5.6 trunk reconciliation:

324: null-merge lp:percona-server/5.6 rev 318 (the revision that null-merged 5.5 to 5.6 originally).
325: merge lp:percona-server/5.6 rev 343.

Jenkins at http://jenkins.percona.com/job/percona-server-5.6-param/89/.

For this MP review, please set to Needs Fixing only if you see absolutely critical issues. For other issues, please review as usual and I will convert to bug reports and address them post-merge.

To post a comment you must log in.
Laurynas Biveinis (laurynas-biveinis) wrote : Posted in a previous version of this proposal

Two issues I have noticed myself after submitting the MP:

1) A small part of the XtraDB status vars have been either ported, either null-merged incorrectly. Vars that only exist as struct export_var_t declarations:
 ulint innodb_adaptive_hash_cells;
 ulint innodb_adaptive_hash_heap_buffers;
Vars that exists as struct export_var_t and are exported but apparently are not set:
 ulint innodb_dict_tables.

2) Null-merging the 5.5 threadpool-introducing revision was not entirely correct. A better course of action would have been reverting the contents of the merge and resolving the 5.6 threadpool file-ids instead. Now these differ, and will have to be resolved in a separate commit later.

I don't see neither issue as critical and warranting resubmission.

Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal
Download full text (5.7 KiB)

Hi Laurynas. Time is a precious resource these days, I only did a
superficial review, but here goes. I've broken comments/questions into
multiple sections for convenience.

Needs fixing:
=============

These do not necessarily block the MP and can be fixed
either in this MP or subsequent ones, as you like. I would just like to
have these fixed before the code lands in trunk:

   - many spurious copyright changes in the upstream code. Most of them
     look like merge oversights in upstream, but I don't think we should
     fix their copyrights for them :) Something like this should give
     you the list:

: bzr diff -c318 | egrep '^-.*Oracle'

   - as changes in disabled_replication.result show, we deviate from
     upstream behavior when SHOW SLAVE STATUS is run on a non-slave
     server. Upstream sends an empty row with no warnings, PS 5.6 sends
     no column metadata and a warning. Which looks like a very minor
     difference, but 1) some monitoring scripts may stop working if
     their authors are cautious about warnings and 2) there's really no
     reason to change that in PS 5.6, it looks more like an incorrect
     merge of show_slave_status_nolock

   - debug fprintf()s in sys_vars.h:

@@ -192,6 +193,9 @@
       if (SIGNED)
       {
         longlong max_val= *max_var_ptr();
+ fprintf(stderr, "v = %lld, max_val = %lld\n", v, max_val);
+ fprintf(stderr, "save_result = %lld\n",
+ (longlong)(var->save_result.ulonglong_value));

    (and a couple of more occurrences later)

   - rows_read have been removed from PROCESSLIST, but not from the slow
     query log. Which means
     https://blueprints.launchpad.net/percona-server/+spec/obsolete-rows-read-in-56
     is only partially implemented

   - incorrect PERCONA_INNODB_VERSION:

--- Percona-Server/storage/innobase/include/univ.i 2012-12-04 08:24:59 +0000
+++ Percona-Server/storage/innobase/include/univ.i 2013-05-06 15:43:51 +0000
@@ -46,6 +46,11 @@
 #define INNODB_VERSION_MINOR 2
 #define INNODB_VERSION_BUGFIX MYSQL_VERSION_PATCH

+#ifndef PERCONA_INNODB_VERSION
+#define PERCONA_INNODB_VERSION 29.3
+#endif
+

     And it is the same in 5.6-merge-3.

   - all UNIV_SRV_PRINT_LATCH_WAITS code has been removed upstream, but
     we are reintroducing it for no apparent reasons

Needs information:
==================

   - can you explain the following change?

--- Percona-Server/mysql-test/r/derived.result 2013-02-12 07:47:19 +0000
+++ Percona-Server/mysql-test/r/derived.result 2013-05-06 15:43:51 +0000
@@ -1530,7 +1530,7 @@
 heap to myisam.
 show status like 'Handler_write';
 Variable_name Value
-Handler_write 1021
+Handler_write 1011
 set @@max_heap_table_size= @save_heap_size;
 drop table t1;
 #

   - can you explain changes in
     mysql-test/suite/innodb/r/innodb_wl6347_comp_indx_stat.result ?

   - what's the story with the top-level 'internal' directory? it is
     currently missing in both 5.5 upstream and 5.6 upstream, and the
     only useful test it contains is the one for
     http://bugs.mysql.com/bug.php?id=65745.
     Was it removed in previous upstream releases, but we decided to
     keep it? Do we actually run it in MTR/Jenkins?

Nice to ha...

Read more...

review: Needs Information
Laurynas Biveinis (laurynas-biveinis) wrote : Posted in a previous version of this proposal
Download full text (8.7 KiB)

...2013/5/19 Alexey Kopytov <email address hidden>:
> Review: Needs Information
>
> Hi Laurynas. Time is a precious resource these days, I only did a
> superficial review, but here goes.

Thank you for your time.

> Needs fixing:
> =============
>
> These do not necessarily block the MP and can be fixed
> either in this MP or subsequent ones, as you like. I would just like to
> have these fixed before the code lands in trunk:

I am pushing lp:~laurynas-biveinis/percona-server/5.6-merge-1-fixes
with these items. From commit messages:

> - many spurious copyright changes in the upstream code. Most of them
> look like merge oversights in upstream, but I don't think we should
> fix their copyrights for them :) Something like this should give
> you the list:
>
> : bzr diff -c318 | egrep '^-.*Oracle'

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Revert the spurious copyright comment changes, so that they match
  the ones at the current lp:mysql-server/5.6. Do not touch the ones
  that are fixed in the subsequent 5.6.11 merge.

> - as changes in disabled_replication.result show, we deviate from
> upstream behavior when SHOW SLAVE STATUS is run on a non-slave
> server. Upstream sends an empty row with no warnings, PS 5.6 sends
> no column metadata and a warning. Which looks like a very minor
> difference, but 1) some monitoring scripts may stop working if
> their authors are cautious about warnings and 2) there's really no
> reason to change that in PS 5.6, it looks more like an incorrect
> merge of show_slave_status_nolock

This one I did on purpose in fact. WARN_NO_MASTER_INFO seemed like the
most logical thing to return when slave is not running. Reverted.

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Revert the change introduced at the porting where SHOW SLAVE STATUS
  would check whether the slave is running, and returning
  WARN_NO_MASTER_INFO warning if it's not. Re-record
  disabled_replication test to match.

> - debug fprintf()s in sys_vars.h:
> - incorrect PERCONA_INNODB_VERSION:
> - all UNIV_SRV_PRINT_LATCH_WAITS code has been removed upstream, but
> we are reintroducing it for no apparent reasons

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Remove introduced-by-mistake debugging printf()s in sys_vars.h.

- Fix Percona InnoDB version in univ.i.

- Remove obsolete UNIV_SRV_PRINT_LATCH_WAITS code.

> - can you explain the following change?
>
> --- Percona-Server/mysql-test/r/derived.result 2013-02-12 07:47:19 +0000
> +++ Percona-Server/mysql-test/r/derived.result 2013-05-06 15:43:51 +0000
> @@ -1530,7 +1530,7 @@
> heap to myisam.
> show status like 'Handler_write';
> Variable_name Value
> -Handler_write 1021
> +Handler_write 1011

I didn't track it down completely, but I did track it to the MEMORY
VARCHAR support. I guess the query optimizer sees the VARCHAR support
in a temp table even without full BLOB temp table support in the
optimizer. The relevant test snippet is

--echo #
--echo # Bug#12799731 - CRASH IN END_...

Read more...

Somehow I missed this comment

   - rows_read have been removed from PROCESSLIST, but not from the slow
     query log. Which means
     https://blueprints.launchpad.net/percona-server/+spec/obsolete-rows-read-in-56
     is only partially implemented

Yet the blueprint is still there, so there was no risk to miss it for the release. OK to implement on trunk?

Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

Hi Laurynas,

On Mon, 20 May 2013 14:01:44 -0000, Laurynas Biveinis wrote:

> To summarize:
> - the "Needs Fixing" issues are being addressed in a follow-up branch.
> Then the merge order becomes: merge-1, merge-1-fixes, 5.6.11, merge-3.
> As soon as merge-1-fixes is approved, I will push the branches to
> trunk in this order as they are being approved;
> - the "Needs Information" issues need your OK or additional converting
> to bug reports;
> - the rest have been converted to bug db.
>

Thanks!

Alexey Kopytov (akopytov) : Posted in a previous version of this proposal
review: Approve
Alexey Kopytov (akopytov) :
review: Approve
Alexey Kopytov (akopytov) wrote :

Hi Laurynas,

On Tue, 21 May 2013 08:22:28 -0000, Laurynas Biveinis wrote:
> Somehow I missed this comment
>
> - rows_read have been removed from PROCESSLIST, but not from the slow
> query log. Which means
> https://blueprints.launchpad.net/percona-server/+spec/obsolete-rows-read-in-56
> is only partially implemented
>
> Yet the blueprint is still there, so there was no risk to miss it for the release. OK to implement on trunk?
>

Yes.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
<
=== added file '.bzrignore'
--- .bzrignore 1970-01-01 00:00:00 +0000
+++ .bzrignore 2013-05-20 14:30:50 +0000
@@ -0,0 +1,1 @@
1build
02
=== removed file '.bzrignore'
--- .bzrignore 2013-04-05 20:40:25 +0000
+++ .bzrignore 1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
1build
20
=== added file 'COPYING.innodb-deadlock-count-patch'
--- COPYING.innodb-deadlock-count-patch 1970-01-01 00:00:00 +0000
+++ COPYING.innodb-deadlock-count-patch 2013-05-20 14:30:50 +0000
@@ -0,0 +1,30 @@
1Portions of this software contain modifications contributed by Eric Bergen.
2These contributions are used with the following license:
3
4Copyright (c) 2010, Eric Bergen. All rights reserved.
5
6Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions
8are met:
9 * Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11 * Redistributions in binary form must reproduce the above
12 copyright notice, this list of conditions and the following
13 disclaimer in the documentation and/or other materials
14 provided with the distribution.
15 * Neither the name of the Eric Bergen. nor the names of its
16 contributors may be used to endorse or promote products
17 derived from this software without specific prior written
18 permission.
19
20THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
031
=== removed file 'COPYING.innodb-deadlock-count-patch'
--- COPYING.innodb-deadlock-count-patch 2010-12-09 18:30:58 +0000
+++ COPYING.innodb-deadlock-count-patch 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
1Portions of this software contain modifications contributed by Eric Bergen.
2These contributions are used with the following license:
3
4Copyright (c) 2010, Eric Bergen. All rights reserved.
5
6Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions
8are met:
9 * Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11 * Redistributions in binary form must reproduce the above
12 copyright notice, this list of conditions and the following
13 disclaimer in the documentation and/or other materials
14 provided with the distribution.
15 * Neither the name of the Eric Bergen. nor the names of its
16 contributors may be used to endorse or promote products
17 derived from this software without specific prior written
18 permission.
19
20THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
310
=== added file 'COPYING.show_temp_51'
--- COPYING.show_temp_51 1970-01-01 00:00:00 +0000
+++ COPYING.show_temp_51 2013-05-20 14:30:50 +0000
@@ -0,0 +1,13 @@
1Portions of this software contain modifications contributed by Venu Anuganti.
2These contributions are used with the following license:
3
4Copyright (c) 2010, Venu Anuganti, http://venublog.com/
5All rights reserved.
6
7Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8
9 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11 * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12
13THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
014
=== removed file 'COPYING.show_temp_51'
--- COPYING.show_temp_51 2010-12-09 18:30:58 +0000
+++ COPYING.show_temp_51 1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
1Portions of this software contain modifications contributed by Venu Anuganti.
2These contributions are used with the following license:
3
4Copyright (c) 2010, Venu Anuganti, http://venublog.com/
5All rights reserved.
6
7Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8
9 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11 * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12
13THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
140
=== added file 'Makefile'
--- Makefile 1970-01-01 00:00:00 +0000
+++ Makefile 2013-05-20 14:30:50 +0000
@@ -0,0 +1,74 @@
1MYSQL_VERSION=5.6.10
2PERCONA_SERVER_VERSION=alpha60.2
3PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)-$(PERCONA_SERVER_VERSION)
4PERCONA_SERVER_SHORT_1 ?=Percona-Server-$(MYSQL_VERSION)
5PERCONA_SERVER_SHORT_2 ?=Percona-Server
6DEBUG_DIR ?= $(PERCONA_SERVER)-debug
7RELEASE_DIR ?= $(PERCONA_SERVER)-release
8SERIES ?=series
9
10CFLAGS=-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
11CXXFLAGS=-fno-exceptions -fPIC -Wall -Wno-unused-parameter -fno-implicit-templates -fno-exceptions -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
12
13CFLAGS_RELEASE=$(CFLAGS) -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
14CXXFLAGS_RELEASE=$(CXXFLAGS) -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
15
16CMAKE=CC=gcc CXX=gcc cmake $(ADDITIONAL)
17ADDITIONAL ?=
18CONFIGURE=CFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2" CXXFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2" LIBS=-lrt ./configure --prefix=/usr/local/$(PERCONA_SERVER)-$(MYSQL_VERSION) --with-plugin-innobase --with-plugin-partition
19
20REVS = $(shell bzr log | grep rev | head -1 )
21REV = $(word 2, $(REVS) )
22
23all: main maatkit-udf install-lic
24 @echo ""
25 @echo "Percona Server source code is ready"
26 @echo "Now change directory to $(PERCONA_SERVER) define variables as show below"
27 @echo ""
28 export CFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2"
29 export CXXFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2"
30 export LIBS=-lrt
31 @echo ""
32 @echo "and run cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF && make all install"
33 @echo ""
34
35maatkit-udf:
36 cp -R UDF "$(PERCONA_SERVER)"
37 cd "$(PERCONA_SERVER)"/UDF && autoreconf --install
38
39configure: all
40 (cd $(PERCONA_SERVER); bash BUILD/autorun.sh; $(CONFIGURE))
41
42cmake: cmake_release cmake_debug
43
44cmake_release:
45 rm -rf $(RELEASE_DIR)
46 (mkdir -p $(RELEASE_DIR); cd $(RELEASE_DIR); CFLAGS="$(CFLAGS_RELEASE)" CXXFLAGS="$(CXXFLAGS_RELEASE)" $(CMAKE) -G "Unix Makefiles" ../$(PERCONA_SERVER))
47
48cmake_debug:
49 rm -rf $(DEBUG_DIR)
50 (mkdir -p $(DEBUG_DIR); cd $(DEBUG_DIR); CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" $(CMAKE) -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=OFF ../$(PERCONA_SERVER))
51
52binary:
53 (cd $(PERCONA_SERVER); CFLAGS="$(CFLAGS_RELEASE)" CXXFLAGS="$(CXXFLAGS_RELEASE)" ${CMAKE} . -DBUILD_CONFIG=mysql_release \
54 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
55 -DCMAKE_INSTALL_PREFIX="/usr/local/$(PERCONA_SERVER)-$(MYSQL_VERSION)-$(REV)" \
56 -DFEATURE_SET="community" \
57 -DWITH_EMBEDDED_SERVER=OFF \
58 -DCOMPILATION_COMMENT="Percona-Server" \
59 -DMYSQL_SERVER_SUFFIX="-$(REV)" )
60
61install-lic:
62 @echo "Installing license files"
63 install -m 644 COPYING.* $(PERCONA_SERVER)
64
65prepare:
66 @echo "Prepare Percona Server sources"
67 rm -rf $(PERCONA_SERVER) $(PERCONA_SERVER_SHORT_1)
68 ln -s $(PERCONA_SERVER_SHORT_2) $(PERCONA_SERVER)
69 ln -s $(PERCONA_SERVER_SHORT_2) $(PERCONA_SERVER_SHORT_1)
70
71main: prepare
72
73clean:
74 rm -rf $(RELEASE_DIR) $(DEBUG_DIR)
075
=== removed file 'Makefile'
--- Makefile 2013-04-10 04:47:26 +0000
+++ Makefile 1970-01-01 00:00:00 +0000
@@ -1,78 +0,0 @@
1MYSQL_VERSION=5.6.10
2PERCONA_SERVER_VERSION=alpha60.2
3PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)-$(PERCONA_SERVER_VERSION)
4PERCONA_SERVER_SHORT_1 ?=Percona-Server-$(MYSQL_VERSION)
5PERCONA_SERVER_SHORT_2 ?=Percona-Server
6DEBUG_DIR ?= $(PERCONA_SERVER)-debug
7RELEASE_DIR ?= $(PERCONA_SERVER)-release
8SERIES ?=series
9
10CFLAGS=-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
11CXXFLAGS=-fno-exceptions -fPIC -Wall -Wno-unused-parameter -fno-implicit-templates -fno-exceptions -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
12
13CFLAGS_RELEASE=$(CFLAGS) -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
14CXXFLAGS_RELEASE=$(CXXFLAGS) -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
15
16CMAKE=CC=gcc CXX=gcc cmake $(ADDITIONAL)
17ADDITIONAL ?=
18CONFIGURE=CFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2" CXXFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2" LIBS=-lrt ./configure --prefix=/usr/local/$(PERCONA_SERVER)-$(MYSQL_VERSION) --with-plugin-innobase --with-plugin-partition
19
20REVS = $(shell bzr log | grep rev | head -1 )
21REV = $(word 2, $(REVS) )
22
23all: main maatkit-udf install-lic misc
24 @echo ""
25 @echo "Percona Server source code is ready"
26 @echo "Now change directory to $(PERCONA_SERVER) define variables as show below"
27 @echo ""
28 export CFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2"
29 export CXXFLAGS="-O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2"
30 export LIBS=-lrt
31 @echo ""
32 @echo "and run cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF && make all install"
33 @echo ""
34
35maatkit-udf:
36 cp -R UDF "$(PERCONA_SERVER)"
37 cd "$(PERCONA_SERVER)"/UDF && autoreconf --install
38
39configure: all
40 (cd $(PERCONA_SERVER); bash BUILD/autorun.sh; $(CONFIGURE))
41
42cmake: cmake_release cmake_debug
43
44cmake_release:
45 rm -rf $(RELEASE_DIR)
46 (mkdir -p $(RELEASE_DIR); cd $(RELEASE_DIR); CFLAGS="$(CFLAGS_RELEASE)" CXXFLAGS="$(CXXFLAGS_RELEASE)" $(CMAKE) -G "Unix Makefiles" ../$(PERCONA_SERVER))
47
48cmake_debug:
49 rm -rf $(DEBUG_DIR)
50 (mkdir -p $(DEBUG_DIR); cd $(DEBUG_DIR); CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" $(CMAKE) -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=OFF ../$(PERCONA_SERVER))
51
52binary:
53 (cd $(PERCONA_SERVER); CFLAGS="$(CFLAGS_RELEASE)" CXXFLAGS="$(CXXFLAGS_RELEASE)" ${CMAKE} . -DBUILD_CONFIG=mysql_release \
54 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
55 -DCMAKE_INSTALL_PREFIX="/usr/local/$(PERCONA_SERVER)-$(MYSQL_VERSION)-$(REV)" \
56 -DFEATURE_SET="community" \
57 -DWITH_EMBEDDED_SERVER=OFF \
58 -DCOMPILATION_COMMENT="Percona-Server" \
59 -DMYSQL_SERVER_SUFFIX="-$(REV)" )
60
61install-lic:
62 @echo "Installing license files"
63 install -m 644 COPYING.* $(PERCONA_SERVER)
64
65prepare:
66 @echo "Prepare Percona Server sources"
67 rm -rf $(PERCONA_SERVER) $(PERCONA_SERVER_SHORT_1)
68 ln -s $(PERCONA_SERVER_SHORT_2) $(PERCONA_SERVER)
69 ln -s $(PERCONA_SERVER_SHORT_2) $(PERCONA_SERVER_SHORT_1)
70
71main: prepare
72
73misc:
74 @echo "Installing other files"
75 install -m 644 lrusort.py $(PERCONA_SERVER)/scripts
76
77clean:
78 rm -rf $(RELEASE_DIR) $(DEBUG_DIR)
790
=== modified file 'Percona-Server/CMakeLists.txt'
--- Percona-Server/CMakeLists.txt 2013-03-05 12:46:43 +0000
+++ Percona-Server/CMakeLists.txt 2013-05-20 14:30:50 +0000
@@ -50,6 +50,8 @@
50 MARK_AS_ADVANCED(MANUFACTURER)50 MARK_AS_ADVANCED(MANUFACTURER)
51ENDIF()51ENDIF()
5252
53#PAM build Handling
54OPTION(WITH_PAM "Build with Percona PAM plugin" OFF)
53# We choose to provide WITH_DEBUG as alias to standard CMAKE_BUILD_TYPE=Debug55# We choose to provide WITH_DEBUG as alias to standard CMAKE_BUILD_TYPE=Debug
54# which turns out to be not trivial, as this involves synchronization 56# which turns out to be not trivial, as this involves synchronization
55# between CMAKE_BUILD_TYPE and WITH_DEBUG. Besides, we have to deal with cases57# between CMAKE_BUILD_TYPE and WITH_DEBUG. Besides, we have to deal with cases
@@ -254,6 +256,11 @@
254OPTION(INNODB_COMPILER_HINTS "Compile InnoDB with compiler hints" ON)256OPTION(INNODB_COMPILER_HINTS "Compile InnoDB with compiler hints" ON)
255MARK_AS_ADVANCED(INNODB_COMPILER_HINTS)257MARK_AS_ADVANCED(INNODB_COMPILER_HINTS)
256258
259IF (NOT MAX_INDEXES)
260 SET(MAX_INDEXES 64)
261ENDIF()
262SET(MAX_INDEXES ${MAX_INDEXES} CACHE STRING "Sets the maximum number of indexes per table, default 64")
263
257# Set DBUG_OFF and other optional release-only flags for non-debug project types264# Set DBUG_OFF and other optional release-only flags for non-debug project types
258FOREACH(BUILD_TYPE RELEASE RELWITHDEBINFO MINSIZEREL)265FOREACH(BUILD_TYPE RELEASE RELWITHDEBINFO MINSIZEREL)
259 FOREACH(LANG C CXX)266 FOREACH(LANG C CXX)
260267
=== modified file 'Percona-Server/client/CMakeLists.txt'
--- Percona-Server/client/CMakeLists.txt 2013-03-05 12:46:43 +0000
+++ Percona-Server/client/CMakeLists.txt 2013-05-20 14:30:50 +0000
@@ -1,4 +1,5 @@
1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
2# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
2# 3#
3# This program is free software; you can redistribute it and/or modify4# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by5# it under the terms of the GNU General Public License as published by
@@ -63,7 +64,7 @@
63MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)64MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
64TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient)65TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient)
6566
66MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)67MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc sql_string.cc)
67TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient)68TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient)
6869
69MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc)70MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc)
7071
=== modified file 'Percona-Server/client/client_priv.h'
--- Percona-Server/client/client_priv.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/client/client_priv.h 2013-05-20 14:30:50 +0000
@@ -85,6 +85,9 @@
85 OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE,85 OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE,
86 OPT_WRITE_BINLOG, OPT_DUMP_DATE,86 OPT_WRITE_BINLOG, OPT_DUMP_DATE,
87 OPT_INIT_COMMAND,87 OPT_INIT_COMMAND,
88#ifndef __WIN__
89 OPT_SYSLOG,
90#endif
88 OPT_PLUGIN_DIR,91 OPT_PLUGIN_DIR,
89 OPT_DEFAULT_AUTH,92 OPT_DEFAULT_AUTH,
90 OPT_DEFAULT_PLUGIN,93 OPT_DEFAULT_PLUGIN,
9194
=== modified file 'Percona-Server/client/mysql.cc'
--- Percona-Server/client/mysql.cc 2013-04-04 09:37:28 +0000
+++ Percona-Server/client/mysql.cc 2013-05-20 14:30:50 +0000
@@ -41,6 +41,11 @@
41#include "my_readline.h"41#include "my_readline.h"
42#include <signal.h>42#include <signal.h>
43#include <violite.h>43#include <violite.h>
44#ifndef __WIN__
45#include "syslog.h"
46#endif
47
48#define MAX_SYSLOG_MESSAGE 900
4449
45#include <algorithm>50#include <algorithm>
4651
@@ -151,7 +156,7 @@
151 default_pager_set= 0, opt_sigint_ignore= 0,156 default_pager_set= 0, opt_sigint_ignore= 0,
152 auto_vertical_output= 0,157 auto_vertical_output= 0,
153 show_warnings= 0, executing_query= 0, interrupted_query= 0,158 show_warnings= 0, executing_query= 0, interrupted_query= 0,
154 ignore_spaces= 0;159 ignore_spaces= 0, opt_syslog= 0;
155static my_bool debug_info_flag, debug_check_flag;160static my_bool debug_info_flag, debug_check_flag;
156static my_bool column_types_flag;161static my_bool column_types_flag;
157static my_bool preserve_comments= 0;162static my_bool preserve_comments= 0;
@@ -254,6 +259,7 @@
254void tee_fputs(const char *s, FILE *file);259void tee_fputs(const char *s, FILE *file);
255void tee_puts(const char *s, FILE *file);260void tee_puts(const char *s, FILE *file);
256void tee_putc(int c, FILE *file);261void tee_putc(int c, FILE *file);
262void write_syslog(String *buffer);
257static void tee_print_sized_data(const char *, unsigned int, unsigned int, bool);263static void tee_print_sized_data(const char *, unsigned int, unsigned int, bool);
258/* The names of functions that actually do the manipulation. */264/* The names of functions that actually do the manipulation. */
259static int get_options(int argc,char **argv);265static int get_options(int argc,char **argv);
@@ -1736,6 +1742,10 @@
1736 {"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",1742 {"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",
1737 &show_warnings, &show_warnings, 0, GET_BOOL, NO_ARG,1743 &show_warnings, &show_warnings, 0, GET_BOOL, NO_ARG,
1738 0, 0, 0, 0, 0, 0},1744 0, 0, 0, 0, 0, 0},
1745#ifndef __WIN__
1746 {"syslog", OPT_SYSLOG, "Logs all queries to syslog", 0, 0, 0, GET_NO_ARG,
1747 NO_ARG, 0, 0, 0, 0, 0, 0},
1748#endif
1739 {"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",1749 {"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
1740 &opt_plugin_dir, &opt_plugin_dir, 0,1750 &opt_plugin_dir, &opt_plugin_dir, 0,
1741 GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},1751 GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
@@ -1860,6 +1870,11 @@
1860 opt->name);1870 opt->name);
1861#endif1871#endif
1862 break;1872 break;
1873#ifndef __WIN__
1874 case OPT_SYSLOG:
1875 opt_syslog = 1;
1876 break;
1877#endif
1863 case OPT_SERVER_ARG:1878 case OPT_SERVER_ARG:
1864#ifdef EMBEDDED_LIBRARY1879#ifdef EMBEDDED_LIBRARY
1865 /*1880 /*
@@ -2297,6 +2312,40 @@
2297 DBUG_RETURN((COMMANDS *) 0);2312 DBUG_RETURN((COMMANDS *) 0);
2298}2313}
22992314
2315void write_syslog(String *line){
2316#ifndef __WIN__
2317 uint length= line->length();
2318 uint chunk_len= MY_MIN(MAX_SYSLOG_MESSAGE, length);
2319 char *ptr= line->c_ptr_safe();
2320 char buff[MAX_SYSLOG_MESSAGE + 1];
2321
2322 for (;
2323 length;
2324 length-= chunk_len, ptr+= chunk_len,
2325 chunk_len= MY_MIN(MAX_SYSLOG_MESSAGE, length))
2326 {
2327 char *str;
2328 if (length == chunk_len)
2329 str= ptr; // last chunk => skip copy
2330 else
2331 {
2332 memcpy(buff, ptr, chunk_len);
2333 buff[chunk_len]= '\0';
2334 str= buff;
2335 }
2336 syslog(LOG_INFO,
2337 "SYSTEM_USER:'%s', MYSQL_USER:'%s', CONNECTION_ID:%lu, "
2338 "DB_SERVER:'%s', DB:'%s', QUERY:'%s'",
2339 getenv("SUDO_USER") ? getenv("SUDO_USER") :
2340 getenv("USER") ? getenv("USER") : "--",
2341 current_user ? current_user : "--",
2342 mysql_thread_id(&mysql),
2343 current_host ? current_host : "--",
2344 current_db ? current_db : "--",
2345 str);
2346 }
2347#endif
2348}
23002349
2301static bool add_line(String &buffer, char *line, ulong line_length,2350static bool add_line(String &buffer, char *line, ulong line_length,
2302 char *in_string, bool *ml_comment, bool truncated)2351 char *in_string, bool *ml_comment, bool truncated)
@@ -3371,6 +3420,11 @@
3371 fix_history(buffer);3420 fix_history(buffer);
3372 }3421 }
3373#endif3422#endif
3423#ifndef __WIN__
3424 if (opt_syslog && buffer->length() && connect_flag == CLIENT_INTERACTIVE){
3425 write_syslog(buffer);
3426 }
3427#endif
33743428
3375 buffer->length(0);3429 buffer->length(0);
33763430
33773431
=== modified file 'Percona-Server/client/mysqldump.c'
--- Percona-Server/client/mysqldump.c 2013-03-05 12:46:43 +0000
+++ Percona-Server/client/mysqldump.c 2013-05-20 14:30:50 +0000
@@ -1927,7 +1927,9 @@
1927 const char *str_create)1927 const char *str_create)
1928{1928{
1929 uint i;1929 uint i;
1930#ifndef DBUG_OFF
1930 my_bool body_found= 0;1931 my_bool body_found= 0;
1932#endif
1931 char *create_stmt_ptr= NULL;1933 char *create_stmt_ptr= NULL;
1932 ulong create_stmt_len= 0;1934 ulong create_stmt_len= 0;
1933 MYSQL_FIELD *field;1935 MYSQL_FIELD *field;
@@ -1945,7 +1947,9 @@
1945 {1947 {
1946 create_stmt_ptr= (*row)[i];1948 create_stmt_ptr= (*row)[i];
1947 create_stmt_len= lengths[i];1949 create_stmt_len= lengths[i];
1950#ifndef DBUG_OFF
1948 body_found= 1;1951 body_found= 1;
1952#endif
1949 }1953 }
1950 else1954 else
1951 {1955 {
@@ -2388,10 +2392,10 @@
2388 {2392 {
2389 if (opt_xml)2393 if (opt_xml)
2390 {2394 {
2391 if (i) // Procedures.2395 if (i) /* Procedures. */
2392 print_xml_row(sql_file, "routine", routine_res, &row,2396 print_xml_row(sql_file, "routine", routine_res, &row,
2393 "Create Procedure");2397 "Create Procedure");
2394 else // Functions.2398 else /* Functions. */
2395 print_xml_row(sql_file, "routine", routine_res, &row,2399 print_xml_row(sql_file, "routine", routine_res, &row,
2396 "Create Function");2400 "Create Function");
2397 continue;2401 continue;
@@ -5162,7 +5166,7 @@
5162 if (row[1])5166 if (row[1])
5163 fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);5167 fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);
5164 if (row[3])5168 if (row[3])
5165 fprintf(md_result_file, "MASTER_PORT='%s', ", row[3]);5169 fprintf(md_result_file, "MASTER_PORT=%s, ", row[3]);
5166 }5170 }
5167 fprintf(md_result_file,5171 fprintf(md_result_file,
5168 "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);5172 "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);
51695173
=== modified file 'Percona-Server/client/sql_string.cc'
--- Percona-Server/client/sql_string.cc 2013-03-05 12:46:43 +0000
+++ Percona-Server/client/sql_string.cc 2013-05-20 14:30:50 +0000
@@ -479,6 +479,50 @@
479 return FALSE;479 return FALSE;
480}480}
481481
482bool String::append_identifier(const char *name,
483 uint length,
484 const CHARSET_INFO *ci,
485 int quote_char)
486{
487 const char *name_end;
488 char q= (char)quote_char;
489 const CHARSET_INFO *lci = ci ? ci : charset();
490
491 if (quote_char == EOF)
492 return append(name, length, charset());
493
494 /*
495 The identifier must be quoted as it includes a quote character or
496 it's a keyword
497 */
498
499 (void)reserve(length*2 + 2);
500 if (append(&q, 1, lci))
501 return true;
502
503 for (name_end= name+length ; name < name_end ; name+= length)
504 {
505 uchar chr= (uchar) *name;
506 length= my_mbcharlen(lci, chr);
507 /*
508 my_mbcharlen can return 0 on a wrong multibyte
509 sequence. It is possible when upgrading from 4.0,
510 and identifier contains some accented characters.
511 The manual says it does not work. So we'll just
512 change length to 1 not to hang in the endless loop.
513 */
514 if (!length)
515 length= 1;
516 if (length == 1 && chr == (uchar) q &&
517 append(&q, 1, lci))
518 return true;
519 if (append(name, length, lci))
520 return true;
521 }
522 return append(&q, 1, lci);
523}
524
525
482uint32 String::numchars() const526uint32 String::numchars() const
483{527{
484 return str_charset->cset->numchars(str_charset, Ptr, Ptr+str_length);528 return str_charset->cset->numchars(str_charset, Ptr, Ptr+str_length);
485529
=== modified file 'Percona-Server/client/sql_string.h'
--- Percona-Server/client/sql_string.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/client/sql_string.h 2013-05-20 14:30:50 +0000
@@ -21,6 +21,12 @@
21#include "m_ctype.h"21#include "m_ctype.h"
22#include "my_sys.h"22#include "my_sys.h"
2323
24#define QUOTED_IDENTIFIER(str_name, buf_size, q, cs, id_name, id_size) \
25 char buf_##str_name[(buf_size)]; \
26 String str_name((buf_##str_name), (buf_size), (cs)); \
27 str_name.length(0); \
28 str_name.append_identifier((id_name), (id_size), (cs), (q));
29
24class String;30class String;
25int sortcmp(const String *a,const String *b, const CHARSET_INFO *cs);31int sortcmp(const String *a,const String *b, const CHARSET_INFO *cs);
26String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);32String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);
@@ -256,6 +262,10 @@
256 bool append(IO_CACHE* file, uint32 arg_length);262 bool append(IO_CACHE* file, uint32 arg_length);
257 bool append_with_prefill(const char *s, uint32 arg_length, 263 bool append_with_prefill(const char *s, uint32 arg_length,
258 uint32 full_length, char fill_char);264 uint32 full_length, char fill_char);
265 bool append_identifier(const char *name,
266 uint length,
267 const CHARSET_INFO *ci,
268 int quote_char);
259 int strstr(const String &search,uint32 offset=0); // Returns offset to substring or -1269 int strstr(const String &search,uint32 offset=0); // Returns offset to substring or -1
260 int strrstr(const String &search,uint32 offset=0); // Returns offset to substring or -1270 int strrstr(const String &search,uint32 offset=0); // Returns offset to substring or -1
261 bool replace(uint32 offset,uint32 arg_length,const char *to,uint32 length);271 bool replace(uint32 offset,uint32 arg_length,const char *to,uint32 length);
262272
=== modified file 'Percona-Server/cmake/dtrace.cmake'
--- Percona-Server/cmake/dtrace.cmake 2013-03-05 12:46:43 +0000
+++ Percona-Server/cmake/dtrace.cmake 2013-05-20 14:30:50 +0000
@@ -158,7 +158,7 @@
158 FOREACH(lib ${libs})158 FOREACH(lib ${libs})
159 GET_TARGET_PROPERTY(libtype ${lib} TYPE)159 GET_TARGET_PROPERTY(libtype ${lib} TYPE)
160 IF(libtype MATCHES STATIC_LIBRARY)160 IF(libtype MATCHES STATIC_LIBRARY)
161 SET(static_libs ${static_lics} ${lib})161 SET(static_libs ${static_libs} ${lib})
162 ENDIF()162 ENDIF()
163 ENDFOREACH()163 ENDFOREACH()
164164
165165
=== modified file 'Percona-Server/cmake/install_layout.cmake'
--- Percona-Server/cmake/install_layout.cmake 2013-03-05 12:46:43 +0000
+++ Percona-Server/cmake/install_layout.cmake 2013-05-20 14:30:50 +0000
@@ -117,7 +117,7 @@
117SET(INSTALL_SCRIPTDIR_STANDALONE "scripts")117SET(INSTALL_SCRIPTDIR_STANDALONE "scripts")
118#118#
119SET(INSTALL_LIBDIR_STANDALONE "lib")119SET(INSTALL_LIBDIR_STANDALONE "lib")
120SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin")120SET(INSTALL_PLUGINDIR_STANDALONE "lib/mysql/plugin")
121#121#
122SET(INSTALL_INCLUDEDIR_STANDALONE "include")122SET(INSTALL_INCLUDEDIR_STANDALONE "include")
123#123#
@@ -178,7 +178,7 @@
178SET(INSTALL_SCRIPTDIR_DEB "scripts")178SET(INSTALL_SCRIPTDIR_DEB "scripts")
179#179#
180SET(INSTALL_LIBDIR_DEB "lib")180SET(INSTALL_LIBDIR_DEB "lib")
181SET(INSTALL_PLUGINDIR_DEB "lib/plugin")181SET(INSTALL_PLUGINDIR_DEB "lib/mysql/plugin")
182#182#
183SET(INSTALL_INCLUDEDIR_DEB "include")183SET(INSTALL_INCLUDEDIR_DEB "include")
184#184#
185185
=== modified file 'Percona-Server/config.h.cmake'
--- Percona-Server/config.h.cmake 2013-03-05 12:46:43 +0000
+++ Percona-Server/config.h.cmake 2013-05-20 14:30:50 +0000
@@ -400,7 +400,7 @@
400400
401#cmakedefine HAVE_MBSTATE_T401#cmakedefine HAVE_MBSTATE_T
402402
403#define MAX_INDEXES 64U403#cmakedefine MAX_INDEXES @MAX_INDEXES@
404404
405#cmakedefine QSORT_TYPE_IS_VOID 1405#cmakedefine QSORT_TYPE_IS_VOID 1
406#cmakedefine RETQSORTTYPE @RETQSORTTYPE@406#cmakedefine RETQSORTTYPE @RETQSORTTYPE@
407407
=== modified file 'Percona-Server/extra/comp_err.c'
--- Percona-Server/extra/comp_err.c 2013-03-05 12:46:43 +0000
+++ Percona-Server/extra/comp_err.c 2013-05-20 14:30:50 +0000
@@ -32,12 +32,13 @@
32#include <assert.h>32#include <assert.h>
33#include <my_dir.h>33#include <my_dir.h>
3434
35#define MAX_ROWS 100035#define MAX_ROWS 5000
36#define HEADER_LENGTH 32 /* Length of header in errmsg.sys */36#define HEADER_LENGTH 32 /* Length of header in errmsg.sys */
37#define ERRMSG_VERSION 3 /* Version number of errmsg.sys */37#define ERRMSG_VERSION 3 /* Version number of errmsg.sys */
38#define DEFAULT_CHARSET_DIR "../sql/share/charsets"38#define DEFAULT_CHARSET_DIR "../sql/share/charsets"
39#define ER_PREFIX "ER_"39#define ER_PREFIX "ER_"
40#define WARN_PREFIX "WARN_"40#define WARN_PREFIX "WARN_"
41#define PADD_PREFIX "PADD_"
41static char *OUTFILE= (char*) "errmsg.sys";42static char *OUTFILE= (char*) "errmsg.sys";
42static char *HEADERFILE= (char*) "mysqld_error.h";43static char *HEADERFILE= (char*) "mysqld_error.h";
43static char *NAMEFILE= (char*) "mysqld_ername.h";44static char *NAMEFILE= (char*) "mysqld_ername.h";
@@ -98,6 +99,7 @@
98 const char *sql_code1; /* sql state */99 const char *sql_code1; /* sql state */
99 const char *sql_code2; /* ODBC state */100 const char *sql_code2; /* ODBC state */
100 struct errors *next_error; /* Pointer to next error */101 struct errors *next_error; /* Pointer to next error */
102 my_bool is_padding; /* If true - padd this er_name while er_code != d_code*/
101 DYNAMIC_ARRAY msg; /* All language texts for this error */103 DYNAMIC_ARRAY msg; /* All language texts for this error */
102};104};
103105
@@ -136,6 +138,7 @@
136138
137139
138static struct languages *parse_charset_string(char *str);140static struct languages *parse_charset_string(char *str);
141static struct errors *parse_padd_string(char *ptr, int er_count);
139static struct errors *parse_error_string(char *ptr, int er_count);142static struct errors *parse_error_string(char *ptr, int er_count);
140static struct message *parse_message_string(struct message *new_message,143static struct message *parse_message_string(struct message *new_message,
141 char *str);144 char *str);
@@ -260,6 +263,11 @@
260263
261 for (tmp_error= error_head; tmp_error; tmp_error= tmp_error->next_error)264 for (tmp_error= error_head; tmp_error; tmp_error= tmp_error->next_error)
262 {265 {
266 if (tmp_error->is_padding)
267 {
268 er_last= tmp_error->d_code;
269 continue;
270 }
263 /*271 /*
264 generating mysqld_error.h272 generating mysqld_error.h
265 fprintf() will automatically add \r on windows273 fprintf() will automatically add \r on windows
@@ -352,12 +360,29 @@
352 "language\n", tmp_error->er_name, tmp_lang->lang_short_name);360 "language\n", tmp_error->er_name, tmp_lang->lang_short_name);
353 goto err;361 goto err;
354 }362 }
355 if (copy_rows(to, tmp->text, row_nr, start_pos))363 if (tmp_error->is_padding)
356 {364 {
357 fprintf(stderr, "Failed to copy rows to %s\n", outfile);365 uint padd_to= tmp_error->d_code;
358 goto err;366 char* padd_message= tmp->text;
359 }367 while ((row_nr+er_offset) < padd_to)
360 row_nr++;368 {
369 if (copy_rows(to, padd_message,row_nr,start_pos))
370 {
371 fprintf(stderr, "Failed to copy rows to %s\n", outfile);
372 goto err;
373 }
374 row_nr++;
375 }
376 }
377 else
378 {
379 if (copy_rows(to, tmp->text, row_nr, start_pos))
380 {
381 fprintf(stderr, "Failed to copy rows to %s\n", outfile);
382 goto err;
383 }
384 row_nr++;
385 }
361 }386 }
362387
363 /* continue with header of the errmsg.sys file */388 /* continue with header of the errmsg.sys file */
@@ -508,14 +533,26 @@
508 DBUG_RETURN(0);533 DBUG_RETURN(0);
509 continue;534 continue;
510 }535 }
511 if (is_prefix(str, ER_PREFIX) || is_prefix(str, WARN_PREFIX))536 if (is_prefix(str, ER_PREFIX) || is_prefix(str, WARN_PREFIX) || is_prefix(str, PADD_PREFIX))
512 {537 {
513 if (!(current_error= parse_error_string(str, rcount)))538 if (is_prefix(str, PADD_PREFIX))
514 {539 {
515 fprintf(stderr, "Failed to parse the error name string\n");540 if (!(current_error= parse_padd_string(str, rcount)))
516 DBUG_RETURN(0);541 {
517 }542 fprintf(stderr, "Failed to parse the error pad string\n");
518 rcount++; /* Count number of unique errors */543 DBUG_RETURN(0);
544 }
545 rcount= current_error->d_code - er_offset; /* Count number of unique errors */
546 }
547 else
548 {
549 if (!(current_error= parse_error_string(str, rcount)))
550 {
551 fprintf(stderr, "Failed to parse the error name string\n");
552 DBUG_RETURN(0);
553 }
554 rcount++; /* Count number of unique errors */
555 }
519556
520 /* add error to the list */557 /* add error to the list */
521 *tail_error= current_error;558 *tail_error= current_error;
@@ -856,78 +893,122 @@
856 DBUG_RETURN(new_message);893 DBUG_RETURN(new_message);
857}894}
858895
859896static struct errors* create_new_error(my_bool is_padding, char *er_name, int d_code, const char *sql_code1, const char *sql_code2)
860/*
861 Parsing the string with error name and codes; returns the pointer to
862 the errors struct
863*/
864
865static struct errors *parse_error_string(char *str, int er_count)
866{897{
867 struct errors *new_error;898 struct errors *new_error;
868 DBUG_ENTER("parse_error_string");899 DBUG_ENTER("create_new_error");
869 DBUG_PRINT("enter", ("str: %s", str));
870
871 /* create a new element */900 /* create a new element */
872 new_error= (struct errors *) my_malloc(sizeof(*new_error), MYF(MY_WME));901 new_error= (struct errors *) my_malloc(sizeof(*new_error), MYF(MY_WME));
873
874 if (my_init_dynamic_array(&new_error->msg, sizeof(struct message), 0, 0))902 if (my_init_dynamic_array(&new_error->msg, sizeof(struct message), 0, 0))
875 DBUG_RETURN(0); /* OOM: Fatal error */903 DBUG_RETURN(0); /* OOM: Fatal error */
876904 new_error->is_padding= is_padding;
877 /* getting the error name */905 DBUG_PRINT("info", ("is_padding: %s", (is_padding ? "true" : "false")));
878 str= skip_delimiters(str);906 new_error->er_name= er_name;
879907 DBUG_PRINT("info", ("er_name: %s", er_name));
880 if (!(new_error->er_name= get_word(&str)))908 new_error->d_code= d_code;
881 DBUG_RETURN(0); /* OOM: Fatal error */909 DBUG_PRINT("info", ("d_code: %d", d_code));
882 DBUG_PRINT("info", ("er_name: %s", new_error->er_name));910 new_error->sql_code1= sql_code1;
911 DBUG_PRINT("info", ("sql_code1: %s", sql_code1));
912 new_error->sql_code2= sql_code2;
913 DBUG_PRINT("info", ("sql_code2: %s", sql_code2));
914 DBUG_RETURN(new_error);
915}
916
917/*
918 Parsing the string with padd syntax (name + error to pad); returns the pointer to
919 the errors struct
920*/
921
922static struct errors *parse_padd_string(char* str, int er_count)
923{
924 char *er_name;
925 uint d_code;
926 char *start;
927 DBUG_ENTER("parse_error_string");
928 DBUG_PRINT("enter", ("str: %s", str));
929
930 start= str;
931 str= skip_delimiters(str);
932
933 /* getting the error name */
934
935 if (!(er_name= get_word(&str)))
936 DBUG_RETURN(0); /* OOM: Fatal error */
937
938 str= skip_delimiters(str);
939
940 if (!(d_code= parse_error_offset(start)))
941 {
942 fprintf(stderr, "Failed to parse the error pad string '%s' '%s' (d_code doesn't parse)!\n",er_name,str);
943 DBUG_RETURN(0);
944 }
945 if (d_code < (uint)(er_offset + er_count))
946 {
947 fprintf(stderr, "Error to padding less current error number!\n");
948 DBUG_RETURN(0);
949 }
950 DBUG_RETURN(create_new_error(TRUE,er_name,d_code,empty_string,empty_string));
951}
952
953/*
954 Parsing the string with error name and codes; returns the pointer to
955 the errors struct
956*/
957
958static struct errors *parse_error_string(char *str, int er_count)
959{
960 char *er_name;
961 int d_code;
962 const char *sql_code1= empty_string;
963 const char *sql_code2= empty_string;
964 DBUG_ENTER("parse_error_string");
965 DBUG_PRINT("enter", ("str: %s", str));
966
967 str= skip_delimiters(str);
968
969 /* getting the error name */
970
971 if (!(er_name= get_word(&str)))
972 DBUG_RETURN(0); /* OOM: Fatal error */
883973
884 str= skip_delimiters(str);974 str= skip_delimiters(str);
885975
886 /* getting the code1 */976 /* getting the code1 */
887977 d_code= er_offset + er_count;
888 new_error->d_code= er_offset + er_count;
889 DBUG_PRINT("info", ("d_code: %d", new_error->d_code));
890978
891 str= skip_delimiters(str);979 str= skip_delimiters(str);
892980
893 /* if we reached EOL => no more codes, but this can happen */981 /* if we reached EOL => no more codes, but this can happen */
894 if (!*str)982 if (!*str)
895 {983 {
896 new_error->sql_code1= empty_string;
897 new_error->sql_code2= empty_string;
898 DBUG_PRINT("info", ("str: %s", str));984 DBUG_PRINT("info", ("str: %s", str));
899 DBUG_RETURN(new_error);985 goto complete_create;
900 }986 }
901
902 /* getting the sql_code 1 */987 /* getting the sql_code 1 */
903988 if (!(sql_code1= get_word(&str)))
904 if (!(new_error->sql_code1= get_word(&str)))
905 DBUG_RETURN(0); /* OOM: Fatal error */989 DBUG_RETURN(0); /* OOM: Fatal error */
906 DBUG_PRINT("info", ("sql_code1: %s", new_error->sql_code1));
907990
908 str= skip_delimiters(str);991 str= skip_delimiters(str);
909992
910 /* if we reached EOL => no more codes, but this can happen */993 /* if we reached EOL => no more codes, but this can happen */
911 if (!*str)994 if (!*str)
912 {995 {
913 new_error->sql_code2= empty_string;
914 DBUG_PRINT("info", ("str: %s", str));996 DBUG_PRINT("info", ("str: %s", str));
915 DBUG_RETURN(new_error);997 goto complete_create;
916 }998 }
917
918 /* getting the sql_code 2 */999 /* getting the sql_code 2 */
919 if (!(new_error->sql_code2= get_word(&str)))1000 if (!(sql_code2= get_word(&str)))
920 DBUG_RETURN(0); /* OOM: Fatal error */1001 DBUG_RETURN(0); /* OOM: Fatal error */
921 DBUG_PRINT("info", ("sql_code2: %s", new_error->sql_code2));
9221002
923 str= skip_delimiters(str);1003 str= skip_delimiters(str);
1004
924 if (*str)1005 if (*str)
925 {1006 {
926 fprintf(stderr, "The error line did not end with sql/odbc code!");1007 fprintf(stderr, "The error line did not end with sql/odbc code!");
927 DBUG_RETURN(0);1008 DBUG_RETURN(0);
928 }1009 }
9291010complete_create:
930 DBUG_RETURN(new_error);1011 DBUG_RETURN(create_new_error(FALSE,er_name,d_code,sql_code1,sql_code2));
931}1012}
9321013
9331014
9341015
=== modified file 'Percona-Server/extra/innochecksum.cc'
--- Percona-Server/extra/innochecksum.cc 2013-03-05 12:46:43 +0000
+++ Percona-Server/extra/innochecksum.cc 2013-05-20 14:30:50 +0000
@@ -44,12 +44,24 @@
44#include "univ.i" /* include all of this */44#include "univ.i" /* include all of this */
4545
46#include "buf0checksum.h" /* buf_calc_page_*() */46#include "buf0checksum.h" /* buf_calc_page_*() */
47#include "dict0mem.h" /* DICT_TF_BITS et al */
47#include "fil0fil.h" /* FIL_* */48#include "fil0fil.h" /* FIL_* */
48#include "fsp0fsp.h" /* fsp_flags_get_page_size() &49#include "fsp0fsp.h" /* fsp_flags_get_page_size() &
49 fsp_flags_get_zip_size() */50 fsp_flags_get_zip_size() */
50#include "mach0data.h" /* mach_read_from_4() */51#include "mach0data.h" /* mach_read_from_4() */
51#include "ut0crc32.h" /* ut_crc32_init() */52#include "ut0crc32.h" /* ut_crc32_init() */
5253
54/** Smallest compressed page size */
55#define PAGE_ZIP_MIN_SIZE (1 << 10)
56
57#define DICT_TF_FORMAT_SHIFT 5 /* file format */
58#define DICT_TF_FORMAT_MASK \
59 ((~(~0 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT))) << DICT_TF_FORMAT_SHIFT)
60#define DICT_TF_FORMAT_51 0 /*!< InnoDB/MySQL up to 5.1 */
61#define DICT_TF_FORMAT_ZIP 1 /*!< InnoDB plugin for 5.1:
62 compressed tables,
63 new BLOB treatment */
64
53#ifdef UNIV_NONINL65#ifdef UNIV_NONINL
54# include "fsp0fsp.ic"66# include "fsp0fsp.ic"
55# include "mach0data.ic"67# include "mach0data.ic"
@@ -65,6 +77,7 @@
65static ulong do_page;77static ulong do_page;
66static my_bool use_end_page;78static my_bool use_end_page;
67static my_bool do_one_page;79static my_bool do_one_page;
80static my_bool display_format;
68ulong srv_page_size; /* replaces declaration in srv0srv.c */81ulong srv_page_size; /* replaces declaration in srv0srv.c */
69static ulong physical_page_size; /* Page size in bytes on disk. */82static ulong physical_page_size; /* Page size in bytes on disk. */
70static ulong logical_page_size; /* Page size when uncompressed. */83static ulong logical_page_size; /* Page size when uncompressed. */
@@ -130,6 +143,8 @@
130 &debug, &debug, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},143 &debug, &debug, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
131 {"count", 'c', "Print the count of pages in the file.",144 {"count", 'c', "Print the count of pages in the file.",
132 &just_count, &just_count, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},145 &just_count, &just_count, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
146 {"format_info", 'f', "Display information about the file format and exit",
147 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
133 {"start_page", 's', "Start on this page number (0 based).",148 {"start_page", 's', "Start on this page number (0 based).",
134 &start_page, &start_page, 0, GET_ULONG, REQUIRED_ARG,149 &start_page, &start_page, 0, GET_ULONG, REQUIRED_ARG,
135 0, 0, (longlong) 2L*1024L*1024L*1024L, 0, 1, 0},150 0, 0, (longlong) 2L*1024L*1024L*1024L, 0, 1, 0},
@@ -174,6 +189,9 @@
174 case 'e':189 case 'e':
175 use_end_page= 1;190 use_end_page= 1;
176 break;191 break;
192 case 'f':
193 display_format= 1;
194 break;
177 case 'p':195 case 'p':
178 end_page= start_page= do_page;196 end_page= start_page= do_page;
179 use_end_page= 1;197 use_end_page= 1;
@@ -211,6 +229,54 @@
211 return 0;229 return 0;
212} /* get_options */230} /* get_options */
213231
232static
233void
234display_format_info(uchar *page)
235{
236 ulint page_type;
237 ulint flags;
238
239 /* Read page type. Pre-5.1.7 InnoDB always have zero in FIL_PAGE_TYPE for the
240 first page, later versions initialize it to FIL_PAGE_TYPE_FSP_HDR. */
241 page_type= mach_read_from_2(page + FIL_PAGE_TYPE);
242
243 /* Read FSP flags from the page header. */
244 flags = mach_read_from_4(page + FSP_HEADER_OFFSET + FSP_SPACE_FLAGS);
245
246 if (!page_type)
247 {
248 printf("Detected file format: Antelope (pre-5.1.7).\n");
249 if (flags != 0) {
250 printf("But FSP_SPACE_FLAGS is non-zero: %lu. Corrupted tablespace?\n",
251 flags);
252 }
253 }
254 else if (page_type == FIL_PAGE_TYPE_FSP_HDR)
255 {
256 ulint format = flags & DICT_TF_FORMAT_MASK >> DICT_TF_FORMAT_SHIFT;
257 ulint zip_size = fsp_flags_get_zip_size(flags);
258
259 if (!flags)
260 {
261 printf("Detected file format: Antelope (5.1.7 or newer).\n");
262 }
263 else if (format == DICT_TF_FORMAT_ZIP)
264 {
265 printf("Detected file format: Barracuda ");
266 if (!zip_size)
267 printf("(not compressed).\n");
268 else
269 printf("(compressed with KEY_BLOCK_SIZE=%lu).\n", zip_size);
270 }
271 else
272 printf("Unknown file format: %lu\n", format);
273 }
274 else
275 {
276 printf("Bogus FIL_PAGE_TYPE value: %lu. Cannot detect the file format.\n",
277 page_type);
278 }
279}
214280
215int main(int argc, char **argv)281int main(int argc, char **argv)
216{282{
@@ -296,8 +362,9 @@
296 printf("InnoChecksum; checking pages in range %lu to %lu\n", start_page, use_end_page ? end_page : (pages - 1));362 printf("InnoChecksum; checking pages in range %lu to %lu\n", start_page, use_end_page ? end_page : (pages - 1));
297 }363 }
298364
299 /* seek to the necessary position */365 /* seek to the necessary position, ignore with -f as we only need to read the
300 if (start_page)366 first page */
367 if (start_page && !display_format)
301 {368 {
302 fd= fileno(f);369 fd= fileno(f);
303 if (!fd)370 if (!fd)
@@ -336,6 +403,13 @@
336 return 1;403 return 1;
337 }404 }
338405
406 if (display_format)
407 {
408 /* for -f, analyze only the first page and exit */
409 display_format_info(buf);
410 return 0;
411 }
412
339 /* check the "stored log sequence numbers" */413 /* check the "stored log sequence numbers" */
340 logseq= mach_read_from_4(buf + FIL_PAGE_LSN + 4);414 logseq= mach_read_from_4(buf + FIL_PAGE_LSN + 4);
341 logseqfield= mach_read_from_4(buf + logical_page_size - FIL_PAGE_END_LSN_OLD_CHKSUM + 4);415 logseqfield= mach_read_from_4(buf + logical_page_size - FIL_PAGE_END_LSN_OLD_CHKSUM + 4);
342416
=== modified file 'Percona-Server/include/atomic/x86-gcc.h'
--- Percona-Server/include/atomic/x86-gcc.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/atomic/x86-gcc.h 2013-05-20 14:30:50 +0000
@@ -108,27 +108,23 @@
108 v=tmp;108 v=tmp;
109109
110/*110/*
111 On some platforms (e.g. Mac OS X and Solaris) the ebx register
112 is held as a pointer to the global offset table. Thus we're not
113 allowed to use the b-register on those platforms when compiling
114 PIC code, to avoid this we push ebx and pop ebx. The new value
115 is copied directly from memory to avoid problems with a implicit
116 manipulation of the stack pointer by the push.
117
118 cmpxchg8b works on both 32-bit platforms and 64-bit platforms but111 cmpxchg8b works on both 32-bit platforms and 64-bit platforms but
119 the code here is only used on 32-bit platforms, on 64-bit112 the code here is only used on 32-bit platforms, on 64-bit
120 platforms the much simpler make_atomic_cas_body32 will work113 platforms the much simpler make_atomic_cas_body32 will work
121 fine.114 fine.
122*/115*/
123#define make_atomic_cas_body64 \116#define make_atomic_cas_body64 \
124 asm volatile ("push %%ebx;" \117 asm volatile ("movl %%edi, -4(%%esp);" \
125 "movl (%%ecx), %%ebx;" \118 "leal %0, %%edi;" \
126 "movl 4(%%ecx), %%ecx;" \119 "xchgl %%ebx, %%esi;" \
127 LOCK_prefix "; cmpxchg8b %0;" \120 LOCK_prefix "; cmpxchg8b (%%edi);" \
128 "setz %2; pop %%ebx" \121 "movl %%esi, %%ebx;" \
129 : "=m" (*a), "+A" (*cmp), "=c" (ret) \122 "movl -4(%%esp), %%edi;" \
130 : "c" (&set), "m" (*a) \123 "setz %1;" \
131 : "memory", "esp")124 : "+m" (*a), "=q" (ret), "+A" (*cmp) \
125 : "S" ((int32)(set & 0xFFFFFFFF)), \
126 "c" ((int32)(set >> 32)) \
127 : "memory", "flags")
132#endif128#endif
133129
134/*130/*
135131
=== modified file 'Percona-Server/include/heap.h'
--- Percona-Server/include/heap.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/heap.h 2013-05-20 14:30:50 +0000
@@ -34,7 +34,17 @@
34#include "my_compare.h"34#include "my_compare.h"
35#include "my_tree.h"35#include "my_tree.h"
3636
37 /* defines used by heap-funktions */37/* Define index limits to be identical to MyISAM ones for compatibility. */
38
39#if MAX_INDEXES > HA_MAX_POSSIBLE_KEY
40#define HP_MAX_KEY HA_MAX_POSSIBLE_KEY /* Max allowed keys */
41#else
42#define HP_MAX_KEY MAX_INDEXES /* Max allowed keys */
43#endif
44
45#define HP_MAX_KEY_LENGTH 1000 /* Max length in bytes */
46
47/* defines used by heap-funktions */
3848
39#define HP_MAX_LEVELS 4 /* 128^5 records is enough */49#define HP_MAX_LEVELS 4 /* 128^5 records is enough */
40#define HP_PTRS_IN_NOD 12850#define HP_PTRS_IN_NOD 128
@@ -131,22 +141,58 @@
131 uint (*get_key_length)(struct st_hp_keydef *keydef, const uchar *key);141 uint (*get_key_length)(struct st_hp_keydef *keydef, const uchar *key);
132} HP_KEYDEF;142} HP_KEYDEF;
133143
144typedef struct st_heap_columndef /* column information */
145{
146 int16 type; /* en_fieldtype */
147 uint32 length; /* length of field */
148 uint32 offset; /* Offset to position in row */
149 uint8 null_bit; /* If column may be 0 */
150 uint16 null_pos; /* position for null marker */
151 uint8 length_bytes; /* length of the size, 1 o 2 bytes */
152} HP_COLUMNDEF;
153
154typedef struct st_heap_dataspace /* control data for data space */
155{
156 HP_BLOCK block;
157 /* Total chunks ever allocated in this dataspace */
158 uint chunk_count;
159 uint del_chunk_count; /* Deleted chunks count */
160 uchar *del_link; /* Link to last deleted chunk */
161 uint chunk_length; /* Total length of one chunk */
162 /* Length of payload that will be placed into one chunk */
163 uint chunk_dataspace_length;
164 /* Offset of the status flag relative to the chunk start */
165 uint offset_status;
166 /* Offset of the linking pointer relative to the chunk start */
167 uint offset_link;
168 /* Test whether records have variable size and so "next" pointer */
169 uint is_variable_size;
170 /* Total size allocated within this data space */
171 ulonglong total_data_length;
172} HP_DATASPACE;
173
134typedef struct st_heap_share174typedef struct st_heap_share
135{175{
136 HP_BLOCK block;
137 HP_KEYDEF *keydef;176 HP_KEYDEF *keydef;
177 HP_COLUMNDEF *column_defs;
178 /* Describes "block", which contains actual records */
179 HP_DATASPACE recordspace;
138 ulong min_records,max_records; /* Params to open */180 ulong min_records,max_records; /* Params to open */
139 ulonglong data_length,index_length,max_table_size;181 ulonglong index_length, max_table_size;
140 uint key_stat_version; /* version to indicate insert/delete */182 uint key_stat_version; /* version to indicate insert/delete */
141 uint records; /* records */183 uint records; /* Actual record (row) count */
142 uint blength; /* records rounded up to 2^n */184 uint blength; /* used_chunk_count rounded up to 2^n */
143 uint deleted; /* Deleted records in database */185 /*
144 uint reclength; /* Length of one record */186 Length of record's fixed part, which contains keys and always fits into the
187 first chunk.
188 */
189 uint fixed_data_length;
190 uint fixed_column_count; /* Number of columns stored in fixed_data_length */
145 uint changed;191 uint changed;
146 uint keys,max_key_length;192 uint keys,max_key_length;
193 uint column_count;
147 uint currently_disabled_keys; /* saved value from "keys" when disabled */194 uint currently_disabled_keys; /* saved value from "keys" when disabled */
148 uint open_count;195 uint open_count;
149 uchar *del_link; /* Link to next block with del. rec */
150 char * name; /* Name of "memory-file" */196 char * name; /* Name of "memory-file" */
151 time_t create_time;197 time_t create_time;
152 THR_LOCK lock;198 THR_LOCK lock;
@@ -156,6 +202,7 @@
156 uint auto_key;202 uint auto_key;
157 uint auto_key_type; /* real type of the auto key segment */203 uint auto_key_type; /* real type of the auto key segment */
158 ulonglong auto_increment;204 ulonglong auto_increment;
205 uint blobs; /* Number of blobs in table */
159} HP_SHARE;206} HP_SHARE;
160207
161struct st_hp_hash_info;208struct st_hp_hash_info;
@@ -165,7 +212,7 @@
165 HP_SHARE *s;212 HP_SHARE *s;
166 uchar *current_ptr;213 uchar *current_ptr;
167 struct st_hp_hash_info *current_hash_ptr;214 struct st_hp_hash_info *current_hash_ptr;
168 ulong current_record,next_block;215 ulong current_record;
169 int lastinx,errkey;216 int lastinx,errkey;
170 int mode; /* Mode of file (READONLY..) */217 int mode; /* Mode of file (READONLY..) */
171 uint opt_flag,update;218 uint opt_flag,update;
@@ -178,6 +225,9 @@
178 my_bool implicit_emptied;225 my_bool implicit_emptied;
179 THR_LOCK_DATA lock;226 THR_LOCK_DATA lock;
180 LIST open_list;227 LIST open_list;
228 uchar *blob_buffer; /* Temporary buffer used to return BLOB values */
229 uint blob_size; /* Current blob_buffer size */
230 uint blob_offset; /* Current offset in blob_buffer */
181} HP_INFO;231} HP_INFO;
182232
183233
@@ -199,6 +249,14 @@
199 open_count to 1. Is only looked at if not internal_table.249 open_count to 1. Is only looked at if not internal_table.
200 */250 */
201 my_bool pin_share;251 my_bool pin_share;
252 uint columns;
253 HP_COLUMNDEF *columndef;
254 uint fixed_key_fieldnr;
255 uint fixed_data_size;
256 uint keys_memory_size;
257 uint max_chunk_size;
258 uint is_dynamic;
259 uint blobs;
202} HP_CREATE_INFO;260} HP_CREATE_INFO;
203261
204 /* Prototypes for heap-functions */262 /* Prototypes for heap-functions */
@@ -215,9 +273,8 @@
215extern int heap_scan(register HP_INFO *info, uchar *record);273extern int heap_scan(register HP_INFO *info, uchar *record);
216extern int heap_delete(HP_INFO *info,const uchar *buff);274extern int heap_delete(HP_INFO *info,const uchar *buff);
217extern int heap_info(HP_INFO *info,HEAPINFO *x,int flag);275extern int heap_info(HP_INFO *info,HEAPINFO *x,int flag);
218extern int heap_create(const char *name,276extern int heap_create(const char *name, HP_CREATE_INFO *create_info,
219 HP_CREATE_INFO *create_info, HP_SHARE **share,277 HP_SHARE **res, my_bool *created_new_share);
220 my_bool *created_new_share);
221extern int heap_delete_table(const char *name);278extern int heap_delete_table(const char *name);
222extern void heap_drop_table(HP_INFO *info);279extern void heap_drop_table(HP_INFO *info);
223extern int heap_extra(HP_INFO *info,enum ha_extra_function function);280extern int heap_extra(HP_INFO *info,enum ha_extra_function function);
224281
=== modified file 'Percona-Server/include/m_string.h'
--- Percona-Server/include/m_string.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/m_string.h 2013-05-20 14:30:50 +0000
@@ -251,6 +251,45 @@
251 @return the last non-space character251 @return the last non-space character
252*/252*/
253253
254#ifdef __x86_64__
255
256#if SIZEOF_LONG != 8
257# error "SIZEOF_LONG != 8"
258#endif
259
260/* Modern x86_64 CPUs do not have penalties for unaligned access */
261
262static inline const uchar *skip_trailing_space(const uchar *ptr, size_t len)
263{
264 const uchar *begin;
265 ulong UNINIT_VAR(val);
266
267 if (unlikely(ptr == NULL))
268 return NULL;
269
270 begin= ptr;
271 ptr= ptr + len - 8;
272
273 while (ptr >= begin && (val= (*(ulong *) ptr) ^ 0x2020202020202020) == 0)
274 ptr-= 8;
275
276 if (likely(ptr >= begin))
277 {
278 do {
279 ptr++;
280 } while (val>>= 8);
281
282 return ptr;
283 }
284
285 for (ptr= ptr + 8; ptr > begin && ptr[-1] == 0x20; ptr--)
286 /* empty */;
287
288 return ptr;
289}
290
291#else
292
254static inline const uchar *skip_trailing_space(const uchar *ptr,size_t len)293static inline const uchar *skip_trailing_space(const uchar *ptr,size_t len)
255{294{
256 const uchar *end= ptr + len;295 const uchar *end= ptr + len;
@@ -276,6 +315,7 @@
276 end--;315 end--;
277 return (end);316 return (end);
278}317}
318#endif
279319
280static inline void lex_string_set(LEX_STRING *lex_str, const char *c_str)320static inline void lex_string_set(LEX_STRING *lex_str, const char *c_str)
281{321{
282322
=== modified file 'Percona-Server/include/my_getopt.h'
--- Percona-Server/include/my_getopt.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/my_getopt.h 2013-05-20 14:30:50 +0000
@@ -128,6 +128,24 @@
128my_bool getopt_compare_strings(const char *s, const char *t, uint length);128my_bool getopt_compare_strings(const char *s, const char *t, uint length);
129ulonglong max_of_int_range(int var_type);129ulonglong max_of_int_range(int var_type);
130130
131/* Get the specific range constraint for the value named. If you do not
132 have the name length availa ble, specify 0. Specify 0 for 'create' to
133 simply obtain the existong value or specify a size value to have the
134 storage allocated if it does not yet exist. */
135extern const void* getopt_constraint_get_max_value(const char *name,
136 size_t length,
137 size_t create);
138extern const void* getopt_constraint_get_min_value(const char *name,
139 size_t length,
140 size_t create);
141extern const my_bool* getopt_constraint_get_hidden_value(const char *name,
142 size_t length,
143 my_bool create);
144extern const my_bool* getopt_constraint_get_readonly_value(const char *name,
145 size_t length,
146 my_bool create);
147
148
131C_MODE_END149C_MODE_END
132150
133#endif /* _my_getopt_h */151#endif /* _my_getopt_h */
134152
=== modified file 'Percona-Server/include/my_sys.h'
--- Percona-Server/include/my_sys.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/my_sys.h 2013-05-20 14:30:50 +0000
@@ -346,8 +346,8 @@
346typedef struct st_dynamic_array346typedef struct st_dynamic_array
347{347{
348 uchar *buffer;348 uchar *buffer;
349 uint elements,max_element;349 ulong elements, max_element;
350 uint alloc_increment;350 ulong alloc_increment;
351 uint size_of_element;351 uint size_of_element;
352} DYNAMIC_ARRAY;352} DYNAMIC_ARRAY;
353353
@@ -788,6 +788,7 @@
788 const char *prefix, size_t cache_size,788 const char *prefix, size_t cache_size,
789 myf cache_myflags);789 myf cache_myflags);
790extern my_bool real_open_cached_file(IO_CACHE *cache);790extern my_bool real_open_cached_file(IO_CACHE *cache);
791extern my_bool truncate_cached_file(IO_CACHE *cache, my_off_t pos);
791extern void close_cached_file(IO_CACHE *cache);792extern void close_cached_file(IO_CACHE *cache);
792File create_temp_file(char *to, const char *dir, const char *pfx,793File create_temp_file(char *to, const char *dir, const char *pfx,
793 int mode, myf MyFlags);794 int mode, myf MyFlags);
@@ -796,22 +797,23 @@
796#define my_init_dynamic_array2(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E)797#define my_init_dynamic_array2(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E)
797#define my_init_dynamic_array2_ci(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E)798#define my_init_dynamic_array2_ci(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E)
798extern my_bool init_dynamic_array2(DYNAMIC_ARRAY *array, uint element_size,799extern my_bool init_dynamic_array2(DYNAMIC_ARRAY *array, uint element_size,
799 void *init_buffer, uint init_alloc,800 void *init_buffer, ulong init_alloc,
800 uint alloc_increment);801 ulong alloc_increment);
801/* init_dynamic_array() function is deprecated */802/* init_dynamic_array() function is deprecated */
802extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array, uint element_size,803extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array, uint element_size,
803 uint init_alloc, uint alloc_increment);804 ulong init_alloc, ulong alloc_increment);
804extern my_bool insert_dynamic(DYNAMIC_ARRAY *array, const void *element);805extern my_bool insert_dynamic(DYNAMIC_ARRAY *array, const void *element);
805extern void *alloc_dynamic(DYNAMIC_ARRAY *array);806extern void *alloc_dynamic(DYNAMIC_ARRAY *array);
806extern void *pop_dynamic(DYNAMIC_ARRAY*);807extern void *pop_dynamic(DYNAMIC_ARRAY*);
807extern my_bool set_dynamic(DYNAMIC_ARRAY *array, const void *element,808extern my_bool set_dynamic(DYNAMIC_ARRAY *array, const void *element,
808 uint array_index);809 ulong idx);
809extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, uint max_elements);810extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, ulong max_elements);
810extern void get_dynamic(DYNAMIC_ARRAY *array, void *element,811extern void get_dynamic(DYNAMIC_ARRAY *array, void *element,
811 uint array_index);812 ulong idx);
812extern void delete_dynamic(DYNAMIC_ARRAY *array);813extern void delete_dynamic(DYNAMIC_ARRAY *array);
813extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);814extern void delete_dynamic_element(DYNAMIC_ARRAY *array, ulong array_index);
814extern void freeze_size(DYNAMIC_ARRAY *array);815extern void freeze_size(DYNAMIC_ARRAY *array);
816extern long get_index_dynamic(DYNAMIC_ARRAY *array, const void *element);
815#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)817#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)
816#define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))818#define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))
817#define push_dynamic(A,B) insert_dynamic((A),(B))819#define push_dynamic(A,B) insert_dynamic((A),(B))
818820
=== modified file 'Percona-Server/include/mysql/plugin.h'
--- Percona-Server/include/mysql/plugin.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/mysql/plugin.h 2013-05-20 14:30:50 +0000
@@ -552,6 +552,22 @@
552/* Increments the row counter, see THD::row_count */552/* Increments the row counter, see THD::row_count */
553void thd_inc_row_count(MYSQL_THD thd);553void thd_inc_row_count(MYSQL_THD thd);
554554
555void increment_thd_innodb_stats(MYSQL_THD thd,
556 unsigned long long trx_id,
557 long io_reads,
558 long long io_read,
559 long io_reads_wait_timer,
560 long lock_que_wait_timer,
561 long que_wait_timer,
562 long page_access);
563unsigned long thd_log_slow_verbosity(const MYSQL_THD thd);
564int thd_opt_slow_log();
565#define EXTENDED_SLOWLOG
566
567#define EXTENDED_FOR_USERSTAT
568
569#define EXTENDED_FOR_COMMIT_ORDERED
570
555/**571/**
556 Create a temporary file.572 Create a temporary file.
557573
@@ -656,6 +672,12 @@
656*/672*/
657void thd_set_ha_data(MYSQL_THD thd, const struct handlerton *hton,673void thd_set_ha_data(MYSQL_THD thd, const struct handlerton *hton,
658 const void *ha_data);674 const void *ha_data);
675
676int thd_command(const MYSQL_THD thd);
677long long thd_start_time(const MYSQL_THD thd);
678void thd_kill(unsigned long id);
679#define EXTENDED_FOR_KILLIDLE
680
659#ifdef __cplusplus681#ifdef __cplusplus
660}682}
661#endif683#endif
662684
=== modified file 'Percona-Server/include/mysql/plugin_audit.h.pp'
--- Percona-Server/include/mysql/plugin_audit.h.pp 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/mysql/plugin_audit.h.pp 2013-05-20 14:30:50 +0000
@@ -233,6 +233,16 @@
233char *thd_security_context(void* thd, char *buffer, unsigned int length,233char *thd_security_context(void* thd, char *buffer, unsigned int length,
234 unsigned int max_query_len);234 unsigned int max_query_len);
235void thd_inc_row_count(void* thd);235void thd_inc_row_count(void* thd);
236void increment_thd_innodb_stats(void* thd,
237 unsigned long long trx_id,
238 long io_reads,
239 long long io_read,
240 long io_reads_wait_timer,
241 long lock_que_wait_timer,
242 long que_wait_timer,
243 long page_access);
244unsigned long thd_log_slow_verbosity(const void* thd);
245int thd_opt_slow_log();
236int mysql_tmpfile(const char *prefix);246int mysql_tmpfile(const char *prefix);
237int thd_killed(const void* thd);247int thd_killed(const void* thd);
238void thd_binlog_pos(const void* thd,248void thd_binlog_pos(const void* thd,
@@ -246,6 +256,9 @@
246void *thd_get_ha_data(const void* thd, const struct handlerton *hton);256void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
247void thd_set_ha_data(void* thd, const struct handlerton *hton,257void thd_set_ha_data(void* thd, const struct handlerton *hton,
248 const void *ha_data);258 const void *ha_data);
259int thd_command(const void* thd);
260long long thd_start_time(const void* thd);
261void thd_kill(unsigned long id);
249struct mysql_event_general262struct mysql_event_general
250{263{
251 unsigned int event_subclass;264 unsigned int event_subclass;
252265
=== modified file 'Percona-Server/include/mysql/plugin_auth.h.pp'
--- Percona-Server/include/mysql/plugin_auth.h.pp 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/mysql/plugin_auth.h.pp 2013-05-20 14:30:50 +0000
@@ -233,6 +233,16 @@
233char *thd_security_context(void* thd, char *buffer, unsigned int length,233char *thd_security_context(void* thd, char *buffer, unsigned int length,
234 unsigned int max_query_len);234 unsigned int max_query_len);
235void thd_inc_row_count(void* thd);235void thd_inc_row_count(void* thd);
236void increment_thd_innodb_stats(void* thd,
237 unsigned long long trx_id,
238 long io_reads,
239 long long io_read,
240 long io_reads_wait_timer,
241 long lock_que_wait_timer,
242 long que_wait_timer,
243 long page_access);
244unsigned long thd_log_slow_verbosity(const void* thd);
245int thd_opt_slow_log();
236int mysql_tmpfile(const char *prefix);246int mysql_tmpfile(const char *prefix);
237int thd_killed(const void* thd);247int thd_killed(const void* thd);
238void thd_binlog_pos(const void* thd,248void thd_binlog_pos(const void* thd,
@@ -246,6 +256,9 @@
246void *thd_get_ha_data(const void* thd, const struct handlerton *hton);256void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
247void thd_set_ha_data(void* thd, const struct handlerton *hton,257void thd_set_ha_data(void* thd, const struct handlerton *hton,
248 const void *ha_data);258 const void *ha_data);
259int thd_command(const void* thd);
260long long thd_start_time(const void* thd);
261void thd_kill(unsigned long id);
249#include <mysql/plugin_auth_common.h>262#include <mysql/plugin_auth_common.h>
250typedef struct st_plugin_vio_info263typedef struct st_plugin_vio_info
251{264{
252265
=== modified file 'Percona-Server/include/mysql/plugin_ftparser.h.pp'
--- Percona-Server/include/mysql/plugin_ftparser.h.pp 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/mysql/plugin_ftparser.h.pp 2013-05-20 14:30:50 +0000
@@ -186,6 +186,16 @@
186char *thd_security_context(void* thd, char *buffer, unsigned int length,186char *thd_security_context(void* thd, char *buffer, unsigned int length,
187 unsigned int max_query_len);187 unsigned int max_query_len);
188void thd_inc_row_count(void* thd);188void thd_inc_row_count(void* thd);
189void increment_thd_innodb_stats(void* thd,
190 unsigned long long trx_id,
191 long io_reads,
192 long long io_read,
193 long io_reads_wait_timer,
194 long lock_que_wait_timer,
195 long que_wait_timer,
196 long page_access);
197unsigned long thd_log_slow_verbosity(const void* thd);
198int thd_opt_slow_log();
189int mysql_tmpfile(const char *prefix);199int mysql_tmpfile(const char *prefix);
190int thd_killed(const void* thd);200int thd_killed(const void* thd);
191void thd_binlog_pos(const void* thd,201void thd_binlog_pos(const void* thd,
@@ -199,6 +209,9 @@
199void *thd_get_ha_data(const void* thd, const struct handlerton *hton);209void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
200void thd_set_ha_data(void* thd, const struct handlerton *hton,210void thd_set_ha_data(void* thd, const struct handlerton *hton,
201 const void *ha_data);211 const void *ha_data);
212int thd_command(const void* thd);
213long long thd_start_time(const void* thd);
214void thd_kill(unsigned long id);
202enum enum_ftparser_mode215enum enum_ftparser_mode
203{216{
204 MYSQL_FTPARSER_SIMPLE_MODE= 0,217 MYSQL_FTPARSER_SIMPLE_MODE= 0,
205218
=== modified file 'Percona-Server/include/mysql_com.h'
--- Percona-Server/include/mysql_com.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/mysql_com.h 2013-05-20 14:30:50 +0000
@@ -31,6 +31,7 @@
3131
32#define SERVER_VERSION_LENGTH 6032#define SERVER_VERSION_LENGTH 60
33#define SQLSTATE_LENGTH 533#define SQLSTATE_LENGTH 5
34#define LIST_PROCESS_HOST_LEN 64
3435
35/*36/*
36 Maximum length of comments37 Maximum length of comments
@@ -153,6 +154,20 @@
153#define REFRESH_DES_KEY_FILE 0x40000L154#define REFRESH_DES_KEY_FILE 0x40000L
154#define REFRESH_USER_RESOURCES 0x80000L155#define REFRESH_USER_RESOURCES 0x80000L
155#define REFRESH_FOR_EXPORT 0x100000L /* FLUSH TABLES ... FOR EXPORT */156#define REFRESH_FOR_EXPORT 0x100000L /* FLUSH TABLES ... FOR EXPORT */
157#define REFRESH_TABLE_STATS 0x200000L /* Refresh table stats my_hash
158 table */
159#define REFRESH_INDEX_STATS 0x400000L /* Refresh index stats my_hash
160 table */
161#define REFRESH_USER_STATS 0x800000L /* Refresh user stats my_hash
162 table */
163#define REFRESH_CLIENT_STATS 0x1000000L /* Refresh client stats my_hash
164 table */
165#define REFRESH_THREAD_STATS 0x2000000L /* Refresh thread stats my_hash
166 table */
167#define REFRESH_FLUSH_PAGE_BITMAPS 0x400000L
168#define REFRESH_RESET_PAGE_BITMAPS 0x800000L
169
170#define PURGE_BITMAPS_TO_LSN 1
156171
157#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */172#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
158#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */173#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
159174
=== modified file 'Percona-Server/include/violite.h'
--- Percona-Server/include/violite.h 2013-03-05 12:46:43 +0000
+++ Percona-Server/include/violite.h 2013-05-20 14:30:50 +0000
@@ -252,7 +252,7 @@
252 my_bool (*was_timeout)(Vio*);252 my_bool (*was_timeout)(Vio*);
253 int (*vioclose)(Vio*);253 int (*vioclose)(Vio*);
254 my_bool (*is_connected)(Vio*);254 my_bool (*is_connected)(Vio*);
255 int (*shutdown)(Vio *, int);255 int (*shutdown)(Vio *, int);
256 my_bool (*has_data) (Vio*);256 my_bool (*has_data) (Vio*);
257 int (*io_wait)(Vio*, enum enum_vio_io_event, int);257 int (*io_wait)(Vio*, enum enum_vio_io_event, int);
258 my_bool (*connect)(Vio*, struct sockaddr *, socklen_t, int);258 my_bool (*connect)(Vio*, struct sockaddr *, socklen_t, int);
259259
=== added directory 'Percona-Server/internal'
=== added directory 'Percona-Server/internal/mysql-test'
=== added directory 'Percona-Server/internal/mysql-test/suite'
=== added directory 'Percona-Server/internal/mysql-test/suite/i_innodb'
=== added directory 'Percona-Server/internal/mysql-test/suite/i_innodb/r'
=== added file 'Percona-Server/internal/mysql-test/suite/i_innodb/r/dummy.result'
--- Percona-Server/internal/mysql-test/suite/i_innodb/r/dummy.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_innodb/r/dummy.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,1 @@
1Dummy innodb test
02
=== added directory 'Percona-Server/internal/mysql-test/suite/i_innodb/t'
=== added file 'Percona-Server/internal/mysql-test/suite/i_innodb/t/dummy.test'
--- Percona-Server/internal/mysql-test/suite/i_innodb/t/dummy.test 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_innodb/t/dummy.test 2013-05-20 14:30:50 +0000
@@ -0,0 +1,3 @@
1# This is a dummy test for innodb, feel free to rename and reuse for real test
2--source include/have_innodb.inc
3--echo Dummy innodb test
04
=== added directory 'Percona-Server/internal/mysql-test/suite/i_main'
=== added directory 'Percona-Server/internal/mysql-test/suite/i_main/r'
=== added file 'Percona-Server/internal/mysql-test/suite/i_main/r/dummy.result'
--- Percona-Server/internal/mysql-test/suite/i_main/r/dummy.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_main/r/dummy.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,1 @@
1This is a dummy
02
=== added file 'Percona-Server/internal/mysql-test/suite/i_main/r/update.result'
--- Percona-Server/internal/mysql-test/suite/i_main/r/update.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_main/r/update.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,17 @@
1#
2# 65745: UPDATE ON INNODB TABLE ENTERS RECURSION
3#
4CREATE TABLE t1 (
5id1 int NOT NULL,
6id2 int NOT NULL,
7a int,
8b int,
9PRIMARY KEY (id1,id2),
10KEY (id1, a)
11) ENGINE=InnoDB DEFAULT CHARSET=utf8;
12INSERT INTO `t1` VALUES (1,1,NULL,1);
13INSERT INTO `t1` VALUES (2,2,1,NULL);
14INSERT INTO `t1` VALUES (2,6,NULL,2);
15UPDATE t1 SET id2 = id2 + 1, b = null WHERE a is null and id1 = 2;
16DROP TABLE t1;
17#
018
=== added directory 'Percona-Server/internal/mysql-test/suite/i_main/t'
=== added file 'Percona-Server/internal/mysql-test/suite/i_main/t/dummy.test'
--- Percona-Server/internal/mysql-test/suite/i_main/t/dummy.test 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_main/t/dummy.test 2013-05-20 14:30:50 +0000
@@ -0,0 +1,2 @@
1# Dummy test testing testing of internal
2echo This is a dummy;
03
=== added file 'Percona-Server/internal/mysql-test/suite/i_main/t/update.test'
--- Percona-Server/internal/mysql-test/suite/i_main/t/update.test 1970-01-01 00:00:00 +0000
+++ Percona-Server/internal/mysql-test/suite/i_main/t/update.test 2013-05-20 14:30:50 +0000
@@ -0,0 +1,21 @@
1--echo #
2--echo # 65745: UPDATE ON INNODB TABLE ENTERS RECURSION
3--echo #
4CREATE TABLE t1 (
5 id1 int NOT NULL,
6 id2 int NOT NULL,
7 a int,
8 b int,
9 PRIMARY KEY (id1,id2),
10 KEY (id1, a)
11 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
12
13INSERT INTO `t1` VALUES (1,1,NULL,1);
14INSERT INTO `t1` VALUES (2,2,1,NULL);
15INSERT INTO `t1` VALUES (2,6,NULL,2);
16# should not hang
17UPDATE t1 SET id2 = id2 + 1, b = null WHERE a is null and id1 = 2;
18
19DROP TABLE t1;
20--echo #
21
022
=== added file 'Percona-Server/man/mysqld.8'
--- Percona-Server/man/mysqld.8 1970-01-01 00:00:00 +0000
+++ Percona-Server/man/mysqld.8 2013-05-20 14:30:50 +0000
@@ -0,0 +1,69 @@
1'\" t
2.\" Title: \fBmysqld\fR
3.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5.\" Date: 03/02/2012
6.\" Manual: MySQL Database System
7.\" Source: MySQL 5.5
8.\" Language: English
9.\"
10.TH "\FBMYSQLD\FR" "8" "03/02/2012" "MySQL 5\&.5" "MySQL Database System"
11.\" -----------------------------------------------------------------
12.\" * set default formatting
13.\" -----------------------------------------------------------------
14.\" disable hyphenation
15.nh
16.\" disable justification (adjust text to left margin only)
17.ad l
18.\" -----------------------------------------------------------------
19.\" * MAIN CONTENT STARTS HERE *
20.\" -----------------------------------------------------------------
21.\" mysqld: MySQL server
22.\" MySQL server: mysqld
23.SH "NAME"
24mysqld \- the MySQL server
25.SH "SYNOPSIS"
26.HP \w'\fBmysqld\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
27\fBmysqld [\fR\fB\fIoptions\fR\fR\fB]\fR
28.SH "DESCRIPTION"
29.PP
30\fBmysqld\fR, also known as MySQL Server, is the main program that does most of the work in a MySQL installation\&. MySQL Server manages access to the MySQL data directory that contains databases and tables\&. The data directory is also the default location for other information such as log files and status files\&.
31.PP
32When MySQL server starts, it listens for network connections from client programs and manages access to databases on behalf of those clients\&.
33.PP
34The
35\fBmysqld\fR
36program has many options that can be specified at startup\&. For a complete list of options, run this command:
37.sp
38.if n \{\
39.RS 4
40.\}
41.nf
42shell> \fBmysqld \-\-verbose \-\-help\fR
43.fi
44.if n \{\
45.RE
46.\}
47.PP
48MySQL Server also has a set of system variables that affect its operation as it runs\&. System variables can be set at server startup, and many of them can be changed at runtime to effect dynamic server reconfiguration\&. MySQL Server also has a set of status variables that provide information about its operation\&. You can monitor these status variables to access runtime performance characteristics\&.
49.PP
50For a full description of MySQL Server command options, system variables, and status variables, see
51Section\ \&5.1, \(lqThe MySQL Server\(rq\&. For information about installing MySQL and setting up the initial configuration, see
52Chapter\ \&2, Installing and Upgrading MySQL\&.
53.SH "COPYRIGHT"
54.br
55.PP
56Copyright \(co 1997, 2012, Oracle and/or its affiliates. All rights reserved.
57.PP
58This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
59.PP
60This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
61.PP
62You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
63.sp
64.SH "SEE ALSO"
65For more information, please refer to the MySQL Reference Manual,
66which may already be installed locally and which is also available
67online at http://dev.mysql.com/doc/.
68.SH AUTHOR
69Oracle Corporation (http://dev.mysql.com/).
070
=== added file 'Percona-Server/mysql-test/include/have_64_keys.inc'
--- Percona-Server/mysql-test/include/have_64_keys.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/have_64_keys.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,12 @@
1# Check that we have MAX_INDEXES=64
2
3--require r/have_64_keys.require
4
5# Check that maximum length of possible_keys and key_len fields is 4096
6# They are defined in THD::send_explain_fields as NAME_CHAR_LEN*MAX_KEY
7# where NAME_CHAR_LEN is always 64 (mysql_com.h) and MAX_KEY is
8# a synonym of MAX_INDEXES
9
10--enable_metadata
11EXPLAIN SELECT 1;
12--disable_metadata
013
=== added file 'Percona-Server/mysql-test/include/log_cleanup.inc'
--- Percona-Server/mysql-test/include/log_cleanup.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/log_cleanup.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,1 @@
1--remove_files_wildcard $MYSQLTEST_VARDIR *.slog
02
=== added file 'Percona-Server/mysql-test/include/log_grep.inc'
--- Percona-Server/mysql-test/include/log_grep.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/log_grep.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,41 @@
1--echo [log_grep.inc] file: $log_file pattern: $grep_pattern
2perl;
3 $log_file= $ENV{'log_file'};
4 $log_file_full_path= $ENV{'log_file_full_path'};
5 $log_slow_rate_test= $ENV{'log_slow_rate_test'};
6 open(FILE, "$log_file_full_path")
7 or die("Cannot open file $log_file_full_path: $!\n");
8
9 if ($log_slow_rate_test) {
10 $one= 0;
11 $two= 0;
12 $three= 0;
13 while(<FILE>) {
14 $one++ if(/'connection_one'/);
15 $two++ if(/'connection_two'/);
16 $three++ if(/'connection_three'/);
17 }
18 $sum= $one + $two + $three;
19 $zero= 0;
20 if ($one == 0) {
21 $zero++;
22 }
23 if ($two == 0) {
24 $zero++;
25 }
26 if ($three == 0) {
27 $zero++;
28 }
29 print "[log_grep.inc] sum: $sum\n";
30 print "[log_grep.inc] zero: $zero\n";
31 }
32 else {
33 $grep_pattern= $ENV{'grep_pattern'};
34 $lines= 0;
35 while(<FILE>) {
36 $lines++ if (/$grep_pattern/);
37 }
38 print "[log_grep.inc] lines: $lines\n";
39 }
40 close(FILE);
41EOF
042
=== added file 'Percona-Server/mysql-test/include/log_start.inc'
--- Percona-Server/mysql-test/include/log_start.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/log_start.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,11 @@
1--let slow_query_log_file_old=`SELECT Variable_value FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE Variable_name = 'slow_query_log_file';`
2--let slow_query_log_old=`SELECT Variable_value FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE Variable_name = 'slow_query_log';`
3--let log_output_old=`SELECT Variable_value FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE Variable_name = 'log_output';`
4--disable_query_log
5--let log_file_full_path = $MYSQLTEST_VARDIR/$log_file.slog
6SET GLOBAL slow_query_log=0;
7SET GLOBAL log_output=FILE;
8--echo [log_start.inc] $log_file
9EVAL SET GLOBAL slow_query_log_file="$log_file_full_path";
10SET GLOBAL slow_query_log=1;
11--enable_query_log
012
=== added file 'Percona-Server/mysql-test/include/log_stop.inc'
--- Percona-Server/mysql-test/include/log_stop.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/log_stop.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,7 @@
1--disable_query_log
2SET GLOBAL slow_query_log=0;
3--echo [log_stop.inc] $log_file
4EVAL SET GLOBAL log_output= $log_output_old;
5EVAL SET GLOBAL slow_query_log_file= "$slow_query_log_file_old";
6EVAL SET GLOBAL slow_query_log= $slow_query_log_old;
7--enable_query_log
08
=== added file 'Percona-Server/mysql-test/include/percona_processlist_row_stats_show.inc'
--- Percona-Server/mysql-test/include/percona_processlist_row_stats_show.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_processlist_row_stats_show.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,7 @@
1--replace_column 1 ### 3 ### 6 ### 7 ###
2SHOW PROCESSLIST;
3
4--replace_column 1 ###
5SELECT id, info, rows_sent, rows_examined FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
6
7SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
08
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,95 @@
1--source include/percona_query_cache_with_comments_clear.inc
2let $query=/* with comment first */select * from t1;
3eval $query;
4--source include/percona_query_cache_with_comments_eval.inc
5
6let $query=# with comment first
7select * from t1;
8--source include/percona_query_cache_with_comments_eval.inc
9
10let $query=-- with comment first
11select * from t1;
12--source include/percona_query_cache_with_comments_eval.inc
13
14let $query=/* with comment first and "quote" */select * from t1;
15--source include/percona_query_cache_with_comments_eval.inc
16
17let $query=# with comment first and "quote"
18select * from t1;
19--source include/percona_query_cache_with_comments_eval.inc
20
21let $query=-- with comment first and "quote"
22select * from t1;
23--source include/percona_query_cache_with_comments_eval.inc
24
25let $query=
26 /* with comment and whitespaces first */select * from t1;
27--source include/percona_query_cache_with_comments_eval.inc
28
29let $query=
30 # with comment and whitespaces first
31select * from t1;
32--source include/percona_query_cache_with_comments_eval.inc
33
34let $query=
35 -- with comment and whitespaces first
36select * from t1;
37--source include/percona_query_cache_with_comments_eval.inc
38
39let $internal=* internal comment *;
40
41let $query=select * /$internal/ from t1;
42--source include/percona_query_cache_with_comments_eval.inc
43let $query=select */$internal/ from t1;
44--source include/percona_query_cache_with_comments_eval.inc
45let $query=select */$internal/from t1;
46--source include/percona_query_cache_with_comments_eval.inc
47
48let $internal=* internal comment with "quote" *;
49
50let $query=select * /$internal/ from t1;
51--source include/percona_query_cache_with_comments_eval.inc
52let $query=select */$internal/ from t1;
53--source include/percona_query_cache_with_comments_eval.inc
54let $query=select */$internal/from t1;
55--source include/percona_query_cache_with_comments_eval.inc
56
57let $query=select * from t1
58;
59--source include/percona_query_cache_with_comments_eval.inc
60
61let $query=select * from t1 ;
62--source include/percona_query_cache_with_comments_eval.inc
63
64let $query=select * from t1 ;
65--source include/percona_query_cache_with_comments_eval.inc
66
67let $query=select * from t1
68/* comment in the end */;
69--source include/percona_query_cache_with_comments_eval.inc
70
71let $query=select * from t1
72/* *\/ */;
73--source include/percona_query_cache_with_comments_eval.inc
74
75let $query=select * from t1
76/* comment in the end */
77;
78--source include/percona_query_cache_with_comments_eval.inc
79
80let $query=select * from t1 #comment in the end;
81--source include/percona_query_cache_with_comments_eval.inc
82
83let $query=select * from t1 #comment in the end
84;
85--source include/percona_query_cache_with_comments_eval.inc
86
87let $query=select * from t1 -- comment in the end;
88--source include/percona_query_cache_with_comments_eval.inc
89
90let $query=select * from t1 -- comment in the end
91;
92--source include/percona_query_cache_with_comments_eval.inc
93
94let $query=select ' \' ' from t1;
95--source include/percona_query_cache_with_comments_eval.inc
096
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments_begin.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments_begin.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments_begin.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,12 @@
1-- source include/have_query_cache.inc
2
3set GLOBAL query_cache_size=1355776;
4
5--disable_warnings
6drop table if exists t1;
7--enable_warnings
8
9create table t1 (a int not null);
10insert into t1 values (1),(2),(3);
11
12--source include/percona_query_cache_with_comments_clear.inc
013
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments_clear.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments_clear.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments_clear.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,5 @@
1# Reset query cache variables.
2flush query cache; # This crashed in some versions
3flush query cache; # This crashed in some versions
4reset query cache;
5flush status;
06
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments_end.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments_end.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments_end.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,3 @@
1DROP TABLE t1;
2SET GLOBAL query_cache_size=default;
3set global query_cache_strip_comments=OFF;
04
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments_eval.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments_eval.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments_eval.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,7 @@
1echo -----------------------------------------------------;
2echo $query;
3echo -----------------------------------------------------;
4--source include/percona_query_cache_with_comments_show.inc
5eval $query;
6eval $query;
7--source include/percona_query_cache_with_comments_show.inc
08
=== added file 'Percona-Server/mysql-test/include/percona_query_cache_with_comments_show.inc'
--- Percona-Server/mysql-test/include/percona_query_cache_with_comments_show.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_query_cache_with_comments_show.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,8 @@
1let $show=show status like "Qcache_queries_in_cache";
2eval $show;
3let $show=show status like "Qcache_inserts";
4eval $show;
5let $show=show status like "Qcache_hits";
6eval $show;
7
8
09
=== added file 'Percona-Server/mysql-test/include/percona_show_slave_status_nolock.inc'
--- Percona-Server/mysql-test/include/percona_show_slave_status_nolock.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_show_slave_status_nolock.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,56 @@
1--echo
2--disable_result_log
3connection slave_lock;
4--echo [slave_lock]
5send SHOW SLAVE STATUS;
6
7connection slave;
8--let $condition= 'SHOW SLAVE STATUS'
9--source include/wait_show_condition.inc
10
11--disable_warnings
12SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
13--enable_warnings
14
15--let current=`SELECT SUBSTR(Variable_value FROM 22) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE Variable_name = 'DEBUG_SYNC'`
16--echo SIGNAL after SHOW SLAVE STATUS is $current
17
18connection slave;
19--echo [slave]
20SET DEBUG_SYNC='now SIGNAL signal.empty';
21
22connection slave_nolock;
23--echo [slave_nolock]
24send SHOW SLAVE STATUS NOLOCK;
25
26connection slave;
27--let $condition= 'SHOW SLAVE STATUS NOLOCK'
28--source include/wait_show_condition.inc
29
30--disable_warnings
31SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
32--enable_warnings
33
34--echo # should be 'signal.after_show_slave_status'
35--let current=`SELECT SUBSTR(Variable_value FROM 22) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE Variable_name = 'DEBUG_SYNC'`
36--echo SIGNAL after SHOW SLAVE STATUS NOLOCK is $current
37
38connection slave;
39--echo [slave]
40SET DEBUG_SYNC='now SIGNAL signal.continue';
41
42connection slave_lock;
43--disable_result_log
44reap;
45--enable_result_log
46
47connection slave_nolock;
48--disable_result_log
49reap;
50--enable_result_log
51
52connection slave;
53--echo [slave]
54SET DEBUG_SYNC='now SIGNAL signal.empty';
55--enable_result_log
56--echo
057
=== added file 'Percona-Server/mysql-test/include/percona_slow_log_verbosity_grep.inc'
--- Percona-Server/mysql-test/include/percona_slow_log_verbosity_grep.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_slow_log_verbosity_grep.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,26 @@
1# Common extensions to the slow query log
2--let grep_pattern = ^# Schema: .+ Last_errno: \d+ Killed: \d+\$
3--source include/log_grep.inc
4--let grep_pattern = ^#.*Rows_affected: \d+ Rows_read: \d+\$
5--source include/log_grep.inc
6--let grep_pattern = ^# Bytes_sent: \d+.*\$
7--source include/log_grep.inc
8# InnoDB
9--let grep_pattern = ^# InnoDB_trx_id: \w+\$
10--source include/log_grep.inc
11# Query plan
12--let grep_pattern = ^# Bytes_sent: \d+ Tmp_tables: \d+ Tmp_disk_tables: \d+ Tmp_table_sizes: \d+\$
13--source include/log_grep.inc
14--let grep_pattern = ^# QC_Hit: (Yes|No) Full_scan: (Yes|No) Full_join: (Yes|No) Tmp_table: (Yes|No) Tmp_table_on_disk: (Yes|No)\$
15--source include/log_grep.inc
16--let grep_pattern = ^# Filesort: (Yes|No) Filesort_on_disk: (Yes|No) Merge_passes: \d+\$
17--source include/log_grep.inc
18# InnoDB
19--let grep_pattern = ^# InnoDB_IO_r_ops: \d+ InnoDB_IO_r_bytes: \d+ InnoDB_IO_r_wait: \d*\.\d*\$
20--source include/log_grep.inc
21--let grep_pattern = ^# InnoDB_rec_lock_wait: \d*\.\d* InnoDB_queue_wait: \d*\.\d*\$
22--source include/log_grep.inc
23--let grep_pattern = ^# InnoDB_pages_distinct: \d+\$
24--source include/log_grep.inc
25--let grep_pattern = ^# No InnoDB statistics available for this query\$
26--source include/log_grep.inc
027
=== added file 'Percona-Server/mysql-test/include/percona_slow_query_log_rate.inc'
--- Percona-Server/mysql-test/include/percona_slow_query_log_rate.inc 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/include/percona_slow_query_log_rate.inc 2013-05-20 14:30:50 +0000
@@ -0,0 +1,37 @@
1--connection default
2
3--source include/count_sessions.inc
4--connect (connection_one,localhost,root,,)
5--connect (connection_two,localhost,root,,)
6--connect (connection_three,localhost,root,,)
7
8--source include/log_start.inc
9
10--let i=2
11--let k=1
12
13while($i)
14{
15--connection connection_one
16inc $k;
17SELECT 'connection_one';
18
19--connection connection_two
20inc $k;
21SELECT 'connection_two';
22
23--connection connection_three
24inc $k;
25SELECT 'connection_three';
26
27dec $i;
28}
29
30--connection default
31--source include/log_stop.inc
32--disconnect connection_one
33--disconnect connection_two
34--disconnect connection_three
35--source include/wait_until_count_sessions.inc
36--let log_slow_rate_test=1
37--source include/log_grep.inc
038
=== modified file 'Percona-Server/mysql-test/r/connect.result'
--- Percona-Server/mysql-test/r/connect.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/connect.result 2013-05-20 14:30:50 +0000
@@ -1,3 +1,4 @@
1set global log_warnings=0;
1drop table if exists t1,t2;2drop table if exists t1,t2;
2show tables;3show tables;
3Tables_in_mysql4Tables_in_mysql
@@ -411,3 +412,4 @@
411# ------------------------------------------------------------------412# ------------------------------------------------------------------
412# -- End of 5.6 tests413# -- End of 5.6 tests
413# ------------------------------------------------------------------414# ------------------------------------------------------------------
415set global log_warnings=1;
414416
=== modified file 'Percona-Server/mysql-test/r/create.result'
--- Percona-Server/mysql-test/r/create.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/create.result 2013-05-20 14:30:50 +0000
@@ -33,10 +33,7 @@
33create table t1 (b char(0) not null, index(b));33create table t1 (b char(0) not null, index(b));
34ERROR 42000: The used storage engine can't index column 'b'34ERROR 42000: The used storage engine can't index column 'b'
35create table t1 (a int not null,b text) engine=heap;35create table t1 (a int not null,b text) engine=heap;
36ERROR 42000: The used table type doesn't support BLOB/TEXT columns
37drop table if exists t1;36drop table if exists t1;
38Warnings:
39Note 1051 Unknown table 'test.t1'
40create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) engine=heap;37create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) engine=heap;
41ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key38ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
42create table not_existing_database.test (a int);39create table not_existing_database.test (a int);
@@ -1897,7 +1894,9 @@
1897 `TIME` int(7) NOT NULL DEFAULT '0',1894 `TIME` int(7) NOT NULL DEFAULT '0',
1898 `STATE` varchar(64) DEFAULT NULL,1895 `STATE` varchar(64) DEFAULT NULL,
1899 `INFO` longtext,1896 `INFO` longtext,
1900 `TIME_MS` bigint(21) NOT NULL DEFAULT '0'1897 `TIME_MS` bigint(21) NOT NULL DEFAULT '0',
1898 `ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT '0',
1899 `ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT '0'
1901) ENGINE=MyISAM DEFAULT CHARSET=utf81900) ENGINE=MyISAM DEFAULT CHARSET=utf8
1902drop table t1;1901drop table t1;
1903create temporary table t1 like information_schema.processlist;1902create temporary table t1 like information_schema.processlist;
@@ -1912,7 +1911,9 @@
1912 `TIME` int(7) NOT NULL DEFAULT '0',1911 `TIME` int(7) NOT NULL DEFAULT '0',
1913 `STATE` varchar(64) DEFAULT NULL,1912 `STATE` varchar(64) DEFAULT NULL,
1914 `INFO` longtext,1913 `INFO` longtext,
1915 `TIME_MS` bigint(21) NOT NULL DEFAULT '0'1914 `TIME_MS` bigint(21) NOT NULL DEFAULT '0',
1915 `ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT '0',
1916 `ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT '0'
1916) ENGINE=MyISAM DEFAULT CHARSET=utf81917) ENGINE=MyISAM DEFAULT CHARSET=utf8
1917drop table t1;1918drop table t1;
1918create table t1 like information_schema.character_sets;1919create table t1 like information_schema.character_sets;
19191920
=== modified file 'Percona-Server/mysql-test/r/ctype_utf8mb4_heap.result'
--- Percona-Server/mysql-test/r/ctype_utf8mb4_heap.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/ctype_utf8mb4_heap.result 2013-05-20 14:30:50 +0000
@@ -1180,6 +1180,8 @@
1180a varchar(255) NOT NULL default '',1180a varchar(255) NOT NULL default '',
1181KEY a (a)1181KEY a (a)
1182) ENGINE=heap DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;1182) ENGINE=heap DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
1183Warnings:
1184Warning 1071 Specified key was too long; max key length is 1000 bytes
1183insert into t1 values (_utf8mb4 0xe880bd);1185insert into t1 values (_utf8mb4 0xe880bd);
1184insert into t1 values (_utf8mb4 0x5b);1186insert into t1 values (_utf8mb4 0x5b);
1185select hex(a) from t1;1187select hex(a) from t1;
@@ -1218,6 +1220,8 @@
1218Warnings:1220Warnings:
1219Note 1051 Unknown table 'test.t1'1221Note 1051 Unknown table 'test.t1'
1220CREATE TABLE t1(a VARCHAR(255), KEY(a)) ENGINE=heap DEFAULT CHARSET=utf8mb4;1222CREATE TABLE t1(a VARCHAR(255), KEY(a)) ENGINE=heap DEFAULT CHARSET=utf8mb4;
1223Warnings:
1224Warning 1071 Specified key was too long; max key length is 1000 bytes
1221INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ╠łbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');1225INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ╠łbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
1222INSERT INTO t1 VALUES('uu');1226INSERT INTO t1 VALUES('uu');
1223check table t1;1227check table t1;
12241228
=== modified file 'Percona-Server/mysql-test/r/derived.result'
--- Percona-Server/mysql-test/r/derived.result 2013-02-12 07:47:19 +0000
+++ Percona-Server/mysql-test/r/derived.result 2013-05-20 14:30:50 +0000
@@ -1530,7 +1530,7 @@
1530heap to myisam.1530heap to myisam.
1531show status like 'Handler_write';1531show status like 'Handler_write';
1532Variable_name Value1532Variable_name Value
1533Handler_write 10211533Handler_write 1011
1534set @@max_heap_table_size= @save_heap_size;1534set @@max_heap_table_size= @save_heap_size;
1535drop table t1;1535drop table t1;
1536#1536#
15371537
=== modified file 'Percona-Server/mysql-test/r/disabled_replication.result'
--- Percona-Server/mysql-test/r/disabled_replication.result 2012-12-14 15:02:07 +0000
+++ Percona-Server/mysql-test/r/disabled_replication.result 2013-05-20 14:30:50 +0000
@@ -1,5 +1,6 @@
1SHOW SLAVE STATUS;1SHOW SLAVE STATUS;
2Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_UUID Master_Info_File SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Master_Retry_Count Master_Bind Last_IO_Error_Timestamp Last_SQL_Error_Timestamp Master_SSL_Crl Master_SSL_Crlpath Retrieved_Gtid_Set Executed_Gtid_Set Auto_Position2Warnings:
3Warning 1617 The master info structure does not exist
3RESET SLAVE;4RESET SLAVE;
4ERROR HY000: Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.5ERROR HY000: Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
5SHOW RELAYLOG EVENTS;6SHOW RELAYLOG EVENTS;
67
=== added file 'Percona-Server/mysql-test/r/group_commit_crash.result'
--- Percona-Server/mysql-test/r/group_commit_crash.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/group_commit_crash.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,101 @@
1call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.');
2CREATE TABLE t1(a CHAR(255),
3b CHAR(255),
4c CHAR(255),
5d CHAR(255),
6id INT AUTO_INCREMENT,
7PRIMARY KEY(id)) ENGINE=InnoDB;
8create table t2 like t1;
9create procedure setcrash(IN i INT)
10begin
11CASE i
12WHEN 1 THEN SET SESSION debug="d,crash_commit_after_prepare";
13WHEN 2 THEN SET SESSION debug="d,crash_commit_after_prepare";
14WHEN 3 THEN SET SESSION debug="d,crash_commit_after_prepare";
15WHEN 4 THEN SET SESSION debug="d,crash_commit_after_prepare";
16# WHEN 2 THEN SET SESSION debug="d,crash_commit_after_log";
17# WHEN 3 THEN SET SESSION debug="d,crash_before_writing_xid";
18# WHEN 4 THEN SET SESSION debug="d,crash_commit_after";
19WHEN 5 THEN SET SESSION debug="d,crash_commit_before";
20ELSE BEGIN END;
21END CASE;
22end //
23FLUSH TABLES;
24INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
25INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
26INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
27INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
28INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
29INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
30INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
31INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
32INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
33INSERT INTO t2(a, b, c, d) VALUES ('a', 'b', 'c', 'd');
34RESET MASTER;
35START TRANSACTION;
36insert into t1 select * from t2;
37Warnings:
38Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
39call setcrash(5);
40COMMIT;
41Got one of the listed errors
42SELECT * FROM t1 ORDER BY id;
43a b c d id
44SHOW BINLOG EVENTS LIMIT 2,1;
45Log_name Pos Event_type Server_id End_log_pos Info
46delete from t1;
47RESET MASTER;
48START TRANSACTION;
49insert into t1 select * from t2;
50Warnings:
51Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
52call setcrash(4);
53COMMIT;
54Got one of the listed errors
55SELECT * FROM t1 ORDER BY id;
56a b c d id
57SHOW BINLOG EVENTS LIMIT 2,1;
58Log_name Pos Event_type Server_id End_log_pos Info
59delete from t1;
60RESET MASTER;
61START TRANSACTION;
62insert into t1 select * from t2;
63Warnings:
64Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
65call setcrash(3);
66COMMIT;
67Got one of the listed errors
68SELECT * FROM t1 ORDER BY id;
69a b c d id
70SHOW BINLOG EVENTS LIMIT 2,1;
71Log_name Pos Event_type Server_id End_log_pos Info
72delete from t1;
73RESET MASTER;
74START TRANSACTION;
75insert into t1 select * from t2;
76Warnings:
77Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
78call setcrash(2);
79COMMIT;
80Got one of the listed errors
81SELECT * FROM t1 ORDER BY id;
82a b c d id
83SHOW BINLOG EVENTS LIMIT 2,1;
84Log_name Pos Event_type Server_id End_log_pos Info
85delete from t1;
86RESET MASTER;
87START TRANSACTION;
88insert into t1 select * from t2;
89Warnings:
90Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
91call setcrash(1);
92COMMIT;
93Got one of the listed errors
94SELECT * FROM t1 ORDER BY id;
95a b c d id
96SHOW BINLOG EVENTS LIMIT 2,1;
97Log_name Pos Event_type Server_id End_log_pos Info
98delete from t1;
99DROP TABLE t1;
100DROP TABLE t2;
101DROP PROCEDURE setcrash;
0102
=== added file 'Percona-Server/mysql-test/r/have_64_keys.require'
--- Percona-Server/mysql-test/r/have_64_keys.require 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/have_64_keys.require 2013-05-20 14:30:50 +0000
@@ -0,0 +1,14 @@
1EXPLAIN SELECT 1;
2Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3def id 8 3 1 N 32929 0 63
4def select_type 253 19 6 N 1 31 8
5def table 253 64 0 Y 0 31 8
6def type 253 10 0 Y 0 31 8
7def possible_keys 253 4096 0 Y 0 31 8
8def key 253 64 0 Y 0 31 8
9def key_len 253 4096 0 Y 0 31 8
10def ref 253 1024 0 Y 0 31 8
11def rows 8 10 0 Y 32928 0 63
12def Extra 253 255 14 N 1 31 8
13id select_type table type possible_keys key key_len ref rows Extra
141 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
015
=== modified file 'Percona-Server/mysql-test/r/information_schema.result'
--- Percona-Server/mysql-test/r/information_schema.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/information_schema.result 2013-05-20 14:30:50 +0000
@@ -54,10 +54,12 @@
54select * from v1;54select * from v1;
55c55c
56CHARACTER_SETS56CHARACTER_SETS
57CLIENT_STATISTICS
57COLLATIONS58COLLATIONS
58COLLATION_CHARACTER_SET_APPLICABILITY59COLLATION_CHARACTER_SET_APPLICABILITY
59COLUMNS60COLUMNS
60COLUMN_PRIVILEGES61COLUMN_PRIVILEGES
62INDEX_STATISTICS
61ENGINES63ENGINES
62EVENTS64EVENTS
63FILES65FILES
@@ -82,9 +84,12 @@
82TABLESPACES84TABLESPACES
83TABLE_CONSTRAINTS85TABLE_CONSTRAINTS
84TABLE_PRIVILEGES86TABLE_PRIVILEGES
87TABLE_STATISTICS
85TEMPORARY_TABLES88TEMPORARY_TABLES
89THREAD_STATISTICS
86TRIGGERS90TRIGGERS
87USER_PRIVILEGES91USER_PRIVILEGES
92USER_STATISTICS
88VIEWS93VIEWS
89XTRADB_INTERNAL_HASH_TABLES94XTRADB_INTERNAL_HASH_TABLES
90XTRADB_RSEG95XTRADB_RSEG
@@ -128,7 +133,9 @@
128TABLESPACES TABLESPACES133TABLESPACES TABLESPACES
129TABLE_CONSTRAINTS TABLE_CONSTRAINTS134TABLE_CONSTRAINTS TABLE_CONSTRAINTS
130TABLE_PRIVILEGES TABLE_PRIVILEGES135TABLE_PRIVILEGES TABLE_PRIVILEGES
136TABLE_STATISTICS TABLE_STATISTICS
131TEMPORARY_TABLES TEMPORARY_TABLES137TEMPORARY_TABLES TEMPORARY_TABLES
138THREAD_STATISTICS THREAD_STATISTICS
132TRIGGERS TRIGGERS139TRIGGERS TRIGGERS
133tables_priv tables_priv140tables_priv tables_priv
134time_zone time_zone141time_zone time_zone
@@ -149,7 +156,9 @@
149TABLESPACES TABLESPACES156TABLESPACES TABLESPACES
150TABLE_CONSTRAINTS TABLE_CONSTRAINTS157TABLE_CONSTRAINTS TABLE_CONSTRAINTS
151TABLE_PRIVILEGES TABLE_PRIVILEGES158TABLE_PRIVILEGES TABLE_PRIVILEGES
159TABLE_STATISTICS TABLE_STATISTICS
152TEMPORARY_TABLES TEMPORARY_TABLES160TEMPORARY_TABLES TEMPORARY_TABLES
161THREAD_STATISTICS THREAD_STATISTICS
153TRIGGERS TRIGGERS162TRIGGERS TRIGGERS
154tables_priv tables_priv163tables_priv tables_priv
155time_zone time_zone164time_zone time_zone
@@ -170,7 +179,9 @@
170TABLESPACES TABLESPACES179TABLESPACES TABLESPACES
171TABLE_CONSTRAINTS TABLE_CONSTRAINTS180TABLE_CONSTRAINTS TABLE_CONSTRAINTS
172TABLE_PRIVILEGES TABLE_PRIVILEGES181TABLE_PRIVILEGES TABLE_PRIVILEGES
182TABLE_STATISTICS TABLE_STATISTICS
173TEMPORARY_TABLES TEMPORARY_TABLES183TEMPORARY_TABLES TEMPORARY_TABLES
184THREAD_STATISTICS THREAD_STATISTICS
174TRIGGERS TRIGGERS185TRIGGERS TRIGGERS
175tables_priv tables_priv186tables_priv tables_priv
176time_zone time_zone187time_zone time_zone
@@ -657,14 +668,16 @@
657where table_schema='information_schema' limit 2;668where table_schema='information_schema' limit 2;
658TABLE_NAME TABLE_TYPE ENGINE669TABLE_NAME TABLE_TYPE ENGINE
659CHARACTER_SETS SYSTEM VIEW MEMORY670CHARACTER_SETS SYSTEM VIEW MEMORY
660COLLATIONS SYSTEM VIEW MEMORY671CLIENT_STATISTICS SYSTEM VIEW MEMORY
661show tables from information_schema like "T%";672show tables from information_schema like "T%";
662Tables_in_information_schema (T%)673Tables_in_information_schema (T%)
663TABLES674TABLES
664TABLESPACES675TABLESPACES
665TABLE_CONSTRAINTS676TABLE_CONSTRAINTS
666TABLE_PRIVILEGES677TABLE_PRIVILEGES
678TABLE_STATISTICS
667TEMPORARY_TABLES679TEMPORARY_TABLES
680THREAD_STATISTICS
668TRIGGERS681TRIGGERS
669create database information_schema;682create database information_schema;
670ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'683ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
@@ -675,7 +688,9 @@
675TABLESPACES SYSTEM VIEW688TABLESPACES SYSTEM VIEW
676TABLE_CONSTRAINTS SYSTEM VIEW689TABLE_CONSTRAINTS SYSTEM VIEW
677TABLE_PRIVILEGES SYSTEM VIEW690TABLE_PRIVILEGES SYSTEM VIEW
691TABLE_STATISTICS SYSTEM VIEW
678TEMPORARY_TABLES SYSTEM VIEW692TEMPORARY_TABLES SYSTEM VIEW
693THREAD_STATISTICS SYSTEM VIEW
679TRIGGERS SYSTEM VIEW694TRIGGERS SYSTEM VIEW
680create table t1(a int);695create table t1(a int);
681ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'696ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
@@ -689,7 +704,9 @@
689TABLESPACES704TABLESPACES
690TABLE_CONSTRAINTS705TABLE_CONSTRAINTS
691TABLE_PRIVILEGES706TABLE_PRIVILEGES
707TABLE_STATISTICS
692TEMPORARY_TABLES708TEMPORARY_TABLES
709THREAD_STATISTICS
693TRIGGERS710TRIGGERS
694select table_name from tables where table_name='user';711select table_name from tables where table_name='user';
695table_name712table_name
@@ -891,6 +908,7 @@
891COLUMN_PRIVILEGES TABLE_NAME select908COLUMN_PRIVILEGES TABLE_NAME select
892FILES TABLE_NAME select909FILES TABLE_NAME select
893GLOBAL_TEMPORARY_TABLES TABLE_NAME select910GLOBAL_TEMPORARY_TABLES TABLE_NAME select
911INDEX_STATISTICS TABLE_NAME select
894INNODB_BUFFER_PAGE TABLE_NAME select912INNODB_BUFFER_PAGE TABLE_NAME select
895INNODB_BUFFER_PAGE_LRU TABLE_NAME select913INNODB_BUFFER_PAGE_LRU TABLE_NAME select
896INNODB_CMP_PER_INDEX table_name select914INNODB_CMP_PER_INDEX table_name select
@@ -902,6 +920,7 @@
902TABLES TABLE_NAME select920TABLES TABLE_NAME select
903TABLE_CONSTRAINTS TABLE_NAME select921TABLE_CONSTRAINTS TABLE_NAME select
904TABLE_PRIVILEGES TABLE_NAME select922TABLE_PRIVILEGES TABLE_NAME select
923TABLE_STATISTICS TABLE_NAME select
905TEMPORARY_TABLES TABLE_NAME select924TEMPORARY_TABLES TABLE_NAME select
906VIEWS TABLE_NAME select925VIEWS TABLE_NAME select
907delete from mysql.user where user='mysqltest_4';926delete from mysql.user where user='mysqltest_4';
@@ -912,7 +931,7 @@
912AND table_name not like 'ndb%' AND table_name not like 'innodb_%'931AND table_name not like 'ndb%' AND table_name not like 'innodb_%'
913GROUP BY TABLE_SCHEMA;932GROUP BY TABLE_SCHEMA;
914table_schema count(*)933table_schema count(*)
915information_schema 36934information_schema 41
916mysql 25935mysql 25
917create table t1 (i int, j int);936create table t1 (i int, j int);
918create trigger trg1 before insert on t1 for each row937create trigger trg1 before insert on t1 for each row
@@ -1353,6 +1372,7 @@
1353group by t.table_name order by num1, t.table_name;1372group by t.table_name order by num1, t.table_name;
1354table_name group_concat(t.table_schema, '.', t.table_name) num11373table_name group_concat(t.table_schema, '.', t.table_name) num1
1355CHARACTER_SETS information_schema.CHARACTER_SETS 11374CHARACTER_SETS information_schema.CHARACTER_SETS 1
1375CLIENT_STATISTICS information_schema.CLIENT_STATISTICS 1
1356COLLATIONS information_schema.COLLATIONS 11376COLLATIONS information_schema.COLLATIONS 1
1357COLLATION_CHARACTER_SET_APPLICABILITY information_schema.COLLATION_CHARACTER_SET_APPLICABILITY 11377COLLATION_CHARACTER_SET_APPLICABILITY information_schema.COLLATION_CHARACTER_SET_APPLICABILITY 1
1358COLUMNS information_schema.COLUMNS 11378COLUMNS information_schema.COLUMNS 1
@@ -1363,6 +1383,7 @@
1363GLOBAL_STATUS information_schema.GLOBAL_STATUS 11383GLOBAL_STATUS information_schema.GLOBAL_STATUS 1
1364GLOBAL_TEMPORARY_TABLES information_schema.GLOBAL_TEMPORARY_TABLES 11384GLOBAL_TEMPORARY_TABLES information_schema.GLOBAL_TEMPORARY_TABLES 1
1365GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 11385GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 1
1386INDEX_STATISTICS information_schema.INDEX_STATISTICS 1
1366KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 11387KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
1367OPTIMIZER_TRACE information_schema.OPTIMIZER_TRACE 11388OPTIMIZER_TRACE information_schema.OPTIMIZER_TRACE 1
1368PARAMETERS information_schema.PARAMETERS 11389PARAMETERS information_schema.PARAMETERS 1
@@ -1381,9 +1402,12 @@
1381TABLESPACES information_schema.TABLESPACES 11402TABLESPACES information_schema.TABLESPACES 1
1382TABLE_CONSTRAINTS information_schema.TABLE_CONSTRAINTS 11403TABLE_CONSTRAINTS information_schema.TABLE_CONSTRAINTS 1
1383TABLE_PRIVILEGES information_schema.TABLE_PRIVILEGES 11404TABLE_PRIVILEGES information_schema.TABLE_PRIVILEGES 1
1405TABLE_STATISTICS information_schema.TABLE_STATISTICS 1
1384TEMPORARY_TABLES information_schema.TEMPORARY_TABLES 11406TEMPORARY_TABLES information_schema.TEMPORARY_TABLES 1
1407THREAD_STATISTICS information_schema.THREAD_STATISTICS 1
1385TRIGGERS information_schema.TRIGGERS 11408TRIGGERS information_schema.TRIGGERS 1
1386USER_PRIVILEGES information_schema.USER_PRIVILEGES 11409USER_PRIVILEGES information_schema.USER_PRIVILEGES 1
1410USER_STATISTICS information_schema.USER_STATISTICS 1
1387VIEWS information_schema.VIEWS 11411VIEWS information_schema.VIEWS 1
1388XTRADB_INTERNAL_HASH_TABLES information_schema.XTRADB_INTERNAL_HASH_TABLES 11412XTRADB_INTERNAL_HASH_TABLES information_schema.XTRADB_INTERNAL_HASH_TABLES 1
1389XTRADB_READ_VIEW information_schema.XTRADB_READ_VIEW 11413XTRADB_READ_VIEW information_schema.XTRADB_READ_VIEW 1
@@ -1758,6 +1782,10 @@
1758length(CAST(b AS CHAR))1782length(CAST(b AS CHAR))
175920178320
1760DROP TABLE ubig;1784DROP TABLE ubig;
1785grant usage on *.* to mysqltest_1@localhost;
1786select 1 from information_schema.tables where table_schema=repeat('a', 2000);
17871
1788drop user mysqltest_1@localhost;
1761End of 5.1 tests.1789End of 5.1 tests.
1762create function f1 (p1 int, p2 datetime, p3 decimal(10,2))1790create function f1 (p1 int, p2 datetime, p3 decimal(10,2))
1763returns char(10) return null;1791returns char(10) return null;
17641792
=== modified file 'Percona-Server/mysql-test/r/information_schema_db.result'
--- Percona-Server/mysql-test/r/information_schema_db.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/information_schema_db.result 2013-05-20 14:30:50 +0000
@@ -6,10 +6,12 @@
6show tables where Tables_in_information_schema NOT LIKE 'Innodb%';6show tables where Tables_in_information_schema NOT LIKE 'Innodb%';
7Tables_in_information_schema7Tables_in_information_schema
8CHARACTER_SETS8CHARACTER_SETS
9CLIENT_STATISTICS
9COLLATIONS10COLLATIONS
10COLLATION_CHARACTER_SET_APPLICABILITY11COLLATION_CHARACTER_SET_APPLICABILITY
11COLUMNS12COLUMNS
12COLUMN_PRIVILEGES13COLUMN_PRIVILEGES
14INDEX_STATISTICS
13ENGINES15ENGINES
14EVENTS16EVENTS
15FILES17FILES
@@ -34,9 +36,12 @@
34TABLESPACES36TABLESPACES
35TABLE_CONSTRAINTS37TABLE_CONSTRAINTS
36TABLE_PRIVILEGES38TABLE_PRIVILEGES
39TABLE_STATISTICS
37TEMPORARY_TABLES40TEMPORARY_TABLES
41THREAD_STATISTICS
38TRIGGERS42TRIGGERS
39USER_PRIVILEGES43USER_PRIVILEGES
44USER_STATISTICS
40VIEWS45VIEWS
41XTRADB_INTERNAL_HASH_TABLES46XTRADB_INTERNAL_HASH_TABLES
42XTRADB_RSEG47XTRADB_RSEG
@@ -47,7 +52,9 @@
47TABLESPACES52TABLESPACES
48TABLE_CONSTRAINTS53TABLE_CONSTRAINTS
49TABLE_PRIVILEGES54TABLE_PRIVILEGES
55TABLE_STATISTICS
50TEMPORARY_TABLES56TEMPORARY_TABLES
57THREAD_STATISTICS
51TRIGGERS58TRIGGERS
52create database `inf%`;59create database `inf%`;
53create database mbase;60create database mbase;
5461
=== modified file 'Percona-Server/mysql-test/r/mysqld--help-notwin.result'
--- Percona-Server/mysql-test/r/mysqld--help-notwin.result 2013-03-21 06:31:46 +0000
+++ Percona-Server/mysql-test/r/mysqld--help-notwin.result 2013-05-20 14:30:50 +0000
@@ -186,6 +186,8 @@
186 disallowed statements include CREATE TEMPORARY TABLE186 disallowed statements include CREATE TEMPORARY TABLE
187 inside transactions, all updates to non-transactional187 inside transactions, all updates to non-transactional
188 tables, and CREATE TABLE ... SELECT.188 tables, and CREATE TABLE ... SELECT.
189 --enforce-storage-engine=name
190 Force the use of a storage engine for new tables
189 --eq-range-index-dive-limit=# 191 --eq-range-index-dive-limit=#
190 The optimizer will use existing index statistics instead192 The optimizer will use existing index statistics instead
191 of doing index dives for equality ranges if the number of193 of doing index dives for equality ranges if the number of
@@ -332,9 +334,32 @@
332 --log-slow-admin-statements 334 --log-slow-admin-statements
333 Log slow OPTIMIZE, ANALYZE, ALTER and other335 Log slow OPTIMIZE, ANALYZE, ALTER and other
334 administrative statements to the slow log if it is open.336 administrative statements to the slow log if it is open.
337 --log-slow-filter=name
338 Log only the queries that followed certain execution
339 plan. Multiple flags allowed in a comma-separated string.
340 [qc_miss, full_scan, full_join, tmp_table,
341 tmp_table_on_disk, filesort, filesort_on_disk]
342 --log-slow-rate-limit=#
343 Rate limit statement writes to slow log to only those
344 from every (1/log_slow_rate_limit) session.
345 --log-slow-rate-type=name
346 Choose the log_slow_rate_limit behavior: session or
347 query. When you choose 'session' - every
348 %log_slow_rate_limit connection will be processed to slow
349 query log. When you choose 'query' - every
350 %log_slow_rate_limit query will be processed to slow
351 query log. [session, query]
335 --log-slow-slave-statements 352 --log-slow-slave-statements
336 Log slow statements executed by slave thread to the slow353 Log queries replayed be the slave SQL thread
337 log if it is open.354 --log-slow-sp-statements
355 Log slow statements executed by stored procedure to the
356 slow log if it is open.
357 (Defaults to on; use --skip-log-slow-sp-statements to disable.)
358 --log-slow-verbosity=name
359 Choose how verbose the messages to your slow log will be.
360 Multiple flags allowed in a comma-separated string.
361 [microtime, query_plan, innodb, profiling,
362 profiling_use_getrusage]
338 --log-tc=name Path to transaction coordinator log (used for363 --log-tc=name Path to transaction coordinator log (used for
339 transactions that affect more than one storage engine,364 transactions that affect more than one storage engine,
340 when binary log is disabled).365 when binary log is disabled).
@@ -347,6 +372,9 @@
347 --log_queries_not_using_indexes is set.372 --log_queries_not_using_indexes is set.
348 -W, --log-warnings[=#] 373 -W, --log-warnings[=#]
349 Log some not critical warnings to the log file374 Log some not critical warnings to the log file
375 --log-warnings-suppress=name
376 disable logging of enumerated warnings: 1592: unsafe
377 statements for binary logging; possible values : [1592]
350 --long-query-time=# Log all queries that have taken more than long_query_time378 --long-query-time=# Log all queries that have taken more than long_query_time
351 seconds to execute to file. The argument will be treated379 seconds to execute to file. The argument will be treated
352 as a decimal value with microsecond precision380 as a decimal value with microsecond precision
@@ -378,6 +406,11 @@
378 --max-binlog-dump-events=# 406 --max-binlog-dump-events=#
379 Option used by mysql-test for debugging and testing of407 Option used by mysql-test for debugging and testing of
380 replication.408 replication.
409 --max-binlog-files=#
410 Maximum number of binlog files. Used with
411 --max-binlog-size this can be used to limit the total
412 amount of disk space used for the binlog. Default is 0,
413 don't limit.
381 --max-binlog-size=# Binary log will be rotated automatically when the size414 --max-binlog-size=# Binary log will be rotated automatically when the size
382 exceeds this value. Will also apply to relay logs if415 exceeds this value. Will also apply to relay logs if
383 max_relay_log_size is 0416 max_relay_log_size is 0
@@ -684,6 +717,10 @@
684 The minimum size for blocks allocated by the query cache717 The minimum size for blocks allocated by the query cache
685 --query-cache-size=# 718 --query-cache-size=#
686 The memory allocated to store results from old queries719 The memory allocated to store results from old queries
720 --query-cache-strip-comments
721 Enable and disable optimisation "strip comment for query
722 cache" - optimisation strip all comments from query while
723 search query result in query cache
687 --query-cache-type=name 724 --query-cache-type=name
688 OFF = Don't cache or retrieve results. ON = Cache all725 OFF = Don't cache or retrieve results. ON = Cache all
689 results except SELECT SQL_NO_CACHE ... queries. DEMAND =726 results except SELECT SQL_NO_CACHE ... queries. DEMAND =
@@ -806,9 +843,10 @@
806 --secure-auth Disallow authentication for accounts that have old843 --secure-auth Disallow authentication for accounts that have old
807 (pre-4.1) passwords844 (pre-4.1) passwords
808 (Defaults to on; use --skip-secure-auth to disable.)845 (Defaults to on; use --skip-secure-auth to disable.)
809 --secure-file-priv=name 846 --secure-file-priv[=name]
810 Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to847 Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to
811 files within specified directory848 files within specified directory. If no argument is
849 specified disable loading files.
812 --server-id=# Uniquely identifies the server instance in the community850 --server-id=# Uniquely identifies the server instance in the community
813 of replication partners851 of replication partners
814 --server-id-bits=# Set number of significant bits in server-id852 --server-id-bits=# Set number of significant bits in server-id
@@ -900,6 +938,18 @@
900 Log slow queries to given log file. Defaults logging to938 Log slow queries to given log file. Defaults logging to
901 hostname-slow.log. Must be enabled to activate other slow939 hostname-slow.log. Must be enabled to activate other slow
902 log options940 log options
941 --slow-query-log-timestamp-always
942 Timestamp is printed for all records of the slow log even
943 if they are same time.
944 --slow-query-log-timestamp-precision=name
945 Select the timestamp precision for use in the slow query
946 log. [second, microsecond]
947 --slow-query-log-use-global-control=name
948 Choose flags, wich always use the global variables.
949 Multiple flags allowed in a comma-separated string.
950 [none, log_slow_filter, log_slow_rate_limit,
951 log_slow_verbosity, long_query_time,
952 min_examined_row_limit, all]
903 --socket=name Socket file to use for connection953 --socket=name Socket file to use for connection
904 --sort-buffer-size=# 954 --sort-buffer-size=#
905 Each thread that needs to do a sort allocates a buffer of955 Each thread that needs to do a sort allocates a buffer of
@@ -947,6 +997,8 @@
947 Define threads usage for handling queries, one of997 Define threads usage for handling queries, one of
948 one-thread-per-connection, no-threads, pool-of-threads998 one-thread-per-connection, no-threads, pool-of-threads
949 --thread-stack=# The stack size for each thread999 --thread-stack=# The stack size for each thread
1000 --thread-statistics Control TABLE_STATISTICS running, when userstat is
1001 enabled
950 --time-format=name The TIME format (ignored)1002 --time-format=name The TIME format (ignored)
951 --timed-mutexes Specify whether to time mutexes (only InnoDB mutexes are1003 --timed-mutexes Specify whether to time mutexes (only InnoDB mutexes are
952 currently supported)1004 currently supported)
@@ -975,8 +1027,19 @@
975 of the underlying table and the query uses a LIMIT clause1027 of the underlying table and the query uses a LIMIT clause
976 (usually get from GUI tools)1028 (usually get from GUI tools)
977 -u, --user=name Run mysqld daemon as user.1029 -u, --user=name Run mysqld daemon as user.
1030 --userstat Control USER_STATISTICS, CLIENT_STATISTICS,
1031 THREAD_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS
1032 running
1033 --utility-user=name Specifies a MySQL user that will be added to the internal
1034 list of users and recognized as the utility user.
1035 --utility-user-password=name
1036 Specifies the password required for the utility user.
1037 --utility-user-schema-access=name
1038 Specifies the schemas that the utility user has access to
1039 in a comma delimited list.
978 -v, --verbose Used with --help option for detailed help.1040 -v, --verbose Used with --help option for detailed help.
979 -V, --version Output version information and exit.1041 -V, --version Output version information and exit.
1042 -V, --version Output version information and exit.
980 --wait-timeout=# The number of seconds the server waits for activity on a1043 --wait-timeout=# The number of seconds the server waits for activity on a
981 connection before closing it1044 connection before closing it
982 --xtradb-internal-hash-tables[=name] 1045 --xtradb-internal-hash-tables[=name]
@@ -1037,6 +1100,7 @@
1037div-precision-increment 41100div-precision-increment 4
1038end-markers-in-json FALSE1101end-markers-in-json FALSE
1039enforce-gtid-consistency FALSE1102enforce-gtid-consistency FALSE
1103enforce-storage-engine (No default value)
1040eq-range-index-dive-limit 101104eq-range-index-dive-limit 10
1041event-scheduler OFF1105event-scheduler OFF
1042expand-fast-index-creation FALSE1106expand-fast-index-creation FALSE
@@ -1088,11 +1152,17 @@
1088log-short-format FALSE1152log-short-format FALSE
1089log-slave-updates FALSE1153log-slave-updates FALSE
1090log-slow-admin-statements FALSE1154log-slow-admin-statements FALSE
1155log-slow-filter
1156log-slow-rate-limit 1
1157log-slow-rate-type session
1091log-slow-slave-statements FALSE1158log-slow-slave-statements FALSE
1159log-slow-sp-statements TRUE
1160log-slow-verbosity
1092log-tc tc.log1161log-tc tc.log
1093log-tc-size 245761162log-tc-size 24576
1094log-throttle-queries-not-using-indexes 01163log-throttle-queries-not-using-indexes 0
1095log-warnings 11164log-warnings 1
1165log-warnings-suppress
1096long-query-time 101166long-query-time 10
1097low-priority-updates FALSE1167low-priority-updates FALSE
1098lower-case-table-names 11168lower-case-table-names 1
@@ -1103,6 +1173,7 @@
1103max-allowed-packet 41943041173max-allowed-packet 4194304
1104max-binlog-cache-size 184467440737095475201174max-binlog-cache-size 18446744073709547520
1105max-binlog-dump-events 01175max-binlog-dump-events 0
1176max-binlog-files 0
1106max-binlog-size 10737418241177max-binlog-size 1073741824
1107max-binlog-stmt-cache-size 184467440737095475201178max-binlog-stmt-cache-size 18446744073709547520
1108max-connect-errors 1001179max-connect-errors 100
@@ -1202,6 +1273,7 @@
1202query-cache-limit 10485761273query-cache-limit 1048576
1203query-cache-min-res-unit 40961274query-cache-min-res-unit 4096
1204query-cache-size 10485761275query-cache-size 1048576
1276query-cache-strip-comments FALSE
1205query-cache-type OFF1277query-cache-type OFF
1206query-cache-wlock-invalidate FALSE1278query-cache-wlock-invalidate FALSE
1207query-prealloc-size 81921279query-prealloc-size 8192
@@ -1248,6 +1320,9 @@
1248slave-type-conversions 1320slave-type-conversions
1249slow-launch-time 21321slow-launch-time 2
1250slow-query-log FALSE1322slow-query-log FALSE
1323slow-query-log-timestamp-always FALSE
1324slow-query-log-timestamp-precision second
1325slow-query-log-use-global-control
1251sort-buffer-size 2621441326sort-buffer-size 262144
1252sporadic-binlog-dump-fail FALSE1327sporadic-binlog-dump-fail FALSE
1253sql-mode NO_ENGINE_SUBSTITUTION1328sql-mode NO_ENGINE_SUBSTITUTION
@@ -1264,6 +1339,7 @@
1264thread-cache-size 91339thread-cache-size 9
1265thread-handling one-thread-per-connection1340thread-handling one-thread-per-connection
1266thread-stack 2621441341thread-stack 262144
1342thread-statistics FALSE
1267time-format %H:%i:%s1343time-format %H:%i:%s
1268timed-mutexes FALSE1344timed-mutexes FALSE
1269tmp-table-size 167772161345tmp-table-size 16777216
@@ -1272,6 +1348,10 @@
1272transaction-prealloc-size 40961348transaction-prealloc-size 4096
1273transaction-read-only FALSE1349transaction-read-only FALSE
1274updatable-views-with-limit YES1350updatable-views-with-limit YES
1351userstat FALSE
1352utility-user (No default value)
1353utility-user-password (No default value)
1354utility-user-schema-access (No default value)
1275verbose TRUE1355verbose TRUE
1276wait-timeout 288001356wait-timeout 28800
1277xtradb-internal-hash-tables ON1357xtradb-internal-hash-tables ON
12781358
=== modified file 'Percona-Server/mysql-test/r/mysqld--help-win.result'
--- Percona-Server/mysql-test/r/mysqld--help-win.result 2013-03-21 06:31:46 +0000
+++ Percona-Server/mysql-test/r/mysqld--help-win.result 2013-05-20 14:30:50 +0000
@@ -191,6 +191,12 @@
191 of doing index dives for equality ranges if the number of191 of doing index dives for equality ranges if the number of
192 equality ranges for the index is larger than or equal to192 equality ranges for the index is larger than or equal to
193 this number. If set to 0, index dives are always used.193 this number. If set to 0, index dives are always used.
194 --enforce-storage-engine=name
195 Force the use of a storage engine for new tables
196 --engine-condition-pushdown
197 Push supported query conditions to the storage engine.
198 Deprecated, use --optimizer-switch instead.
199 (Defaults to on; use --skip-engine-condition-pushdown to disable.)
194 --event-scheduler[=name] 200 --event-scheduler[=name]
195 Enable the event scheduler. Possible values are ON, OFF,201 Enable the event scheduler. Possible values are ON, OFF,
196 and DISABLED (keep the event scheduler completely202 and DISABLED (keep the event scheduler completely
@@ -377,6 +383,11 @@
377 --max-binlog-dump-events=# 383 --max-binlog-dump-events=#
378 Option used by mysql-test for debugging and testing of384 Option used by mysql-test for debugging and testing of
379 replication.385 replication.
386 --max-binlog-files=#
387 Maximum number of binlog files. Used with
388 --max-binlog-size this can be used to limit the total
389 amount of disk space used for the binlog. Default is 0,
390 don't limit.
380 --max-binlog-size=# Binary log will be rotated automatically when the size391 --max-binlog-size=# Binary log will be rotated automatically when the size
381 exceeds this value. Will also apply to relay logs if392 exceeds this value. Will also apply to relay logs if
382 max_relay_log_size is 0393 max_relay_log_size is 0
@@ -801,14 +812,16 @@
801 not sure, leave this option unset812 not sure, leave this option unset
802 --report-user=name The account user name of the slave to be reported to the813 --report-user=name The account user name of the slave to be reported to the
803 master during slave registration814 master during slave registration
815 --safe-mode Skip some optimize stages (for testing). Deprecated.
804 --safe-user-create Don't allow new user creation by the user who has no816 --safe-user-create Don't allow new user creation by the user who has no
805 write privileges to the mysql.user table.817 write privileges to the mysql.user table.
806 --secure-auth Disallow authentication for accounts that have old818 --secure-auth Disallow authentication for accounts that have old
807 (pre-4.1) passwords819 (pre-4.1) passwords
808 (Defaults to on; use --skip-secure-auth to disable.)820 (Defaults to on; use --skip-secure-auth to disable.)
809 --secure-file-priv=name 821 --secure-file-priv[=name]
810 Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to822 Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to
811 files within specified directory823 files within specified directory. If no argument is
824 specified disable loading files.
812 --server-id=# Uniquely identifies the server instance in the community825 --server-id=# Uniquely identifies the server instance in the community
813 of replication partners826 of replication partners
814 --server-id-bits=# Set number of significant bits in server-id827 --server-id-bits=# Set number of significant bits in server-id
@@ -983,6 +996,13 @@
983 of the underlying table and the query uses a LIMIT clause996 of the underlying table and the query uses a LIMIT clause
984 (usually get from GUI tools)997 (usually get from GUI tools)
985 -u, --user=name Run mysqld daemon as user.998 -u, --user=name Run mysqld daemon as user.
999 --utility-user=name Specifies a MySQL user that will be added to the internal
1000 list of users and recognized as the utility user.
1001 --utility-user-password=name
1002 Specifies the password required for the utility user.
1003 --utility-user-schema-access=name
1004 Specifies the schemas that the utility user has access to
1005 in a comma delimited list.
986 -v, --verbose Used with --help option for detailed help.1006 -v, --verbose Used with --help option for detailed help.
987 -V, --version Output version information and exit.1007 -V, --version Output version information and exit.
988 --wait-timeout=# The number of seconds the server waits for activity on a1008 --wait-timeout=# The number of seconds the server waits for activity on a
@@ -1035,6 +1055,8 @@
1035end-markers-in-json FALSE1055end-markers-in-json FALSE
1036enforce-gtid-consistency FALSE1056enforce-gtid-consistency FALSE
1037eq-range-index-dive-limit 101057eq-range-index-dive-limit 10
1058enforce-storage-engine (No default value)
1059engine-condition-pushdown TRUE
1038event-scheduler OFF1060event-scheduler OFF
1039expand-fast-index-creation FALSE1061expand-fast-index-creation FALSE
1040expire-logs-days 01062expire-logs-days 0
@@ -1099,6 +1121,7 @@
1099max-allowed-packet 41943041121max-allowed-packet 4194304
1100max-binlog-cache-size 184467440737095475201122max-binlog-cache-size 18446744073709547520
1101max-binlog-dump-events 01123max-binlog-dump-events 0
1124max-binlog-files 0
1102max-binlog-size 10737418241125max-binlog-size 1073741824
1103max-binlog-stmt-cache-size 184467440737095475201126max-binlog-stmt-cache-size 18446744073709547520
1104max-connect-errors 1001127max-connect-errors 100
@@ -1272,6 +1295,9 @@
1272transaction-prealloc-size 40961295transaction-prealloc-size 4096
1273transaction-read-only FALSE1296transaction-read-only FALSE
1274updatable-views-with-limit YES1297updatable-views-with-limit YES
1298utility-user (No default value)
1299utility-user-password (No default value)
1300utility-user-schema-access (No default value)
1275verbose TRUE1301verbose TRUE
1276wait-timeout 288001302wait-timeout 28800
12771303
12781304
=== modified file 'Percona-Server/mysql-test/r/mysqlshow.result'
--- Percona-Server/mysql-test/r/mysqlshow.result 2013-03-05 12:46:43 +0000
+++ Percona-Server/mysql-test/r/mysqlshow.result 2013-05-20 14:30:50 +0000
@@ -80,10 +80,12 @@
80| Tables |80| Tables |
81+---------------------------------------+81+---------------------------------------+
82| CHARACTER_SETS |82| CHARACTER_SETS |
83| CLIENT_STATISTICS |
83| COLLATIONS |84| COLLATIONS |
84| COLLATION_CHARACTER_SET_APPLICABILITY |85| COLLATION_CHARACTER_SET_APPLICABILITY |
85| COLUMNS |86| COLUMNS |
86| COLUMN_PRIVILEGES |87| COLUMN_PRIVILEGES |
88| INDEX_STATISTICS |
87| ENGINES |89| ENGINES |
88| EVENTS |90| EVENTS |
89| FILES |91| FILES |
@@ -108,9 +110,12 @@
108| TABLESPACES |110| TABLESPACES |
109| TABLE_CONSTRAINTS |111| TABLE_CONSTRAINTS |
110| TABLE_PRIVILEGES |112| TABLE_PRIVILEGES |
113| TABLE_STATISTICS |
111| TEMPORARY_TABLES |114| TEMPORARY_TABLES |
115| THREAD_STATISTICS |
112| TRIGGERS |116| TRIGGERS |
113| USER_PRIVILEGES |117| USER_PRIVILEGES |
118| USER_STATISTICS |
114| VIEWS |119| VIEWS |
115| INNODB_CMP |120| INNODB_CMP |
116| XTRADB_INTERNAL_HASH_TABLES |121| XTRADB_INTERNAL_HASH_TABLES |
@@ -130,7 +135,7 @@
130| INNODB_LOCK_WAITS |135| INNODB_LOCK_WAITS |
131| INNODB_SYS_FIELDS |136| INNODB_SYS_FIELDS |
132| INNODB_CMPMEM |137| INNODB_CMPMEM |
133| INNODB_BUFFER_PAGE |138| INNODB_CHANGED_PAGES |
134| INNODB_SYS_COLUMNS |139| INNODB_SYS_COLUMNS |
135| INNODB_FT_INDEX_TABLE |140| INNODB_FT_INDEX_TABLE |
136| INNODB_CMP_PER_INDEX_RESET |141| INNODB_CMP_PER_INDEX_RESET |
@@ -144,16 +149,19 @@
144| INNODB_SYS_TABLES |149| INNODB_SYS_TABLES |
145| INNODB_FT_DEFAULT_STOPWORD |150| INNODB_FT_DEFAULT_STOPWORD |
146| INNODB_FT_CONFIG |151| INNODB_FT_CONFIG |
152| INNODB_BUFFER_PAGE |
147+---------------------------------------+153+---------------------------------------+
148Database: INFORMATION_SCHEMA154Database: INFORMATION_SCHEMA
149+---------------------------------------+155+---------------------------------------+
150| Tables |156| Tables |
151+---------------------------------------+157+---------------------------------------+
152| CHARACTER_SETS |158| CHARACTER_SETS |
159| CLIENT_STATISTICS |
153| COLLATIONS |160| COLLATIONS |
154| COLLATION_CHARACTER_SET_APPLICABILITY |161| COLLATION_CHARACTER_SET_APPLICABILITY |
155| COLUMNS |162| COLUMNS |
156| COLUMN_PRIVILEGES |163| COLUMN_PRIVILEGES |
164| INDEX_STATISTICS |
157| ENGINES |165| ENGINES |
158| EVENTS |166| EVENTS |
159| FILES |167| FILES |
@@ -178,9 +186,12 @@
178| TABLESPACES |186| TABLESPACES |
179| TABLE_CONSTRAINTS |187| TABLE_CONSTRAINTS |
180| TABLE_PRIVILEGES |188| TABLE_PRIVILEGES |
189| TABLE_STATISTICS |
181| TEMPORARY_TABLES |190| TEMPORARY_TABLES |
191| THREAD_STATISTICS |
182| TRIGGERS |192| TRIGGERS |
183| USER_PRIVILEGES |193| USER_PRIVILEGES |
194| USER_STATISTICS |
184| VIEWS |195| VIEWS |
185| INNODB_CMP |196| INNODB_CMP |
186| XTRADB_INTERNAL_HASH_TABLES |197| XTRADB_INTERNAL_HASH_TABLES |
@@ -200,7 +211,7 @@
200| INNODB_LOCK_WAITS |211| INNODB_LOCK_WAITS |
201| INNODB_SYS_FIELDS |212| INNODB_SYS_FIELDS |
202| INNODB_CMPMEM |213| INNODB_CMPMEM |
203| INNODB_BUFFER_PAGE |214| INNODB_CHANGED_PAGES |
204| INNODB_SYS_COLUMNS |215| INNODB_SYS_COLUMNS |
205| INNODB_FT_INDEX_TABLE |216| INNODB_FT_INDEX_TABLE |
206| INNODB_CMP_PER_INDEX_RESET |217| INNODB_CMP_PER_INDEX_RESET |
@@ -214,6 +225,7 @@
214| INNODB_SYS_TABLES |225| INNODB_SYS_TABLES |
215| INNODB_FT_DEFAULT_STOPWORD |226| INNODB_FT_DEFAULT_STOPWORD |
216| INNODB_FT_CONFIG |227| INNODB_FT_CONFIG |
228| INNODB_BUFFER_PAGE |
217+---------------------------------------+229+---------------------------------------+
218Wildcard: inf_rmation_schema230Wildcard: inf_rmation_schema
219+--------------------+231+--------------------+
220232
=== added file 'Percona-Server/mysql-test/r/percona_bug1008278.result'
--- Percona-Server/mysql-test/r/percona_bug1008278.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug1008278.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,11 @@
1include/master-slave.inc
2Warnings:
3Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
5[connection master]
6DROP TABLE IF EXISTS t;
7CREATE TABLE t(id INT,data CHAR(30));
8INSERT INTO t VALUES
9(1,"aaaaabbbbbcccccdddddeeeeefffff");
10DROP TABLE t;
11include/rpl_end.inc
012
=== added file 'Percona-Server/mysql-test/r/percona_bug1008609.result'
--- Percona-Server/mysql-test/r/percona_bug1008609.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug1008609.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,1 @@
1OK
02
=== added file 'Percona-Server/mysql-test/r/percona_bug1017192.result'
--- Percona-Server/mysql-test/r/percona_bug1017192.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug1017192.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,10 @@
1SET DEBUG_SYNC='reset';
2CREATE TABLE IF NOT EXISTS t1 (`a` INT) ENGINE=InnoDB;
3INSERT INTO t1 VALUES (1),(2),(3),(4);
4SET DEBUG_SYNC='after_copy_data_between_tables SIGNAL run_show_innodb_status
5 WAIT_FOR show_innodb_status_done';
6ALTER TABLE t1 PARTITION BY HASH (`a`) PARTITIONS 4 ;
7SET DEBUG_SYNC='now WAIT_FOR run_show_innodb_status';
8SHOW ENGINE INNODB STATUS;
9SET DEBUG_SYNC='now SIGNAL show_innodb_status_done';
10DROP TABLE t1;
011
=== added file 'Percona-Server/mysql-test/r/percona_bug1035225.result'
--- Percona-Server/mysql-test/r/percona_bug1035225.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug1035225.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,32 @@
1CREATE TABLE t(
2id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
3k INT,
4c CHAR(1),
5UNIQUE KEY(k)) ENGINE=InnoDB;
6#
7# Connection 1
8#
9SET DEBUG_SYNC='ha_write_row_end SIGNAL continue2 WAIT_FOR continue1';
10affected rows: 0
11INSERT INTO t(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1';
12#
13# Connection 2
14#
15SET DEBUG_SYNC='start_ha_write_row WAIT_FOR continue2';
16affected rows: 0
17SET DEBUG_SYNC='after_mysql_insert SIGNAL continue1';
18affected rows: 0
19INSERT INTO t(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
20affected rows: 3
21info: Records: 3 Duplicates: 0 Warnings: 0
22affected rows: 4
23info: Records: 3 Duplicates: 1 Warnings: 0
24SET DEBUG_SYNC='RESET';
25SELECT * FROM t ORDER BY k;
26id k c
271 1 NULL
284 2 1
292 3 NULL
305 4 NULL
316 5 NULL
32DROP TABLE t;
033
=== added file 'Percona-Server/mysql-test/r/percona_bug45702.result'
--- Percona-Server/mysql-test/r/percona_bug45702.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug45702.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,21 @@
1CREATE TABLE t1 (a BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=MyISAM;
2INSERT INTO t1 VALUES (), (), (), (), (), (), (), ();
3INSERT INTO t1 SELECT NULL FROM t1;
4INSERT INTO t1 SELECT NULL FROM t1;
5INSERT INTO t1 SELECT NULL FROM t1;
6INSERT INTO t1 SELECT NULL FROM t1;
7INSERT INTO t1 SELECT NULL FROM t1;
8INSERT INTO t1 SELECT NULL FROM t1;
9INSERT INTO t1 SELECT NULL FROM t1;
10INSERT INTO t1 SELECT NULL FROM t1;
11INSERT INTO t1 SELECT NULL FROM t1;
12SET @old_myisam_sort_buffer_size = @@myisam_sort_buffer_size;
13SET @@myisam_sort_buffer_size = 4 * 1024 * 1024 * 1024;
14REPAIR TABLE t1;
15Table Op Msg_type Msg_text
16test.t1 repair status OK
17- recovering (with sort) MyISAM-table 'MYSQLD_DATADIR/test/t1'
18Data records: 4096
19- Fixing index 1
20SET @@myisam_sort_buffer_size = @old_myisam_sort_buffer_size;
21DROP TABLE t1;
022
=== added file 'Percona-Server/mysql-test/r/percona_bug643149.result'
--- Percona-Server/mysql-test/r/percona_bug643149.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug643149.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,21 @@
1SET @old_slow_query_log_file=@@global.slow_query_log_file;
2SET GLOBAL slow_query_log=on;
3SET LOCAL log_slow_verbosity='profiling';
4SET LOCAL long_query_time=0;
5SET GLOBAL slow_query_log_file='MYSQLTEST_VARDIR/percona_bug643149_slow.log';;
6SELECT 1;
71
81
9# User@Host: root[root] @ localhost [] Id: X
10# Schema: test Last_errno: X Killed: X
11# Query_time: X.X Lock_time: X.X Rows_sent: X Rows_examined: X Rows_affected: X Rows_read: X
12# Bytes_sent: X
13# Profile_starting: X.X Profile_starting_cpu: X.X Profile_Opening_tables: X.X Profile_Opening_tables_cpu: X.X Profile_query_end: X.X Profile_query_end_cpu: X.X Profile_closing_tables: X.X Profile_closing_tables_cpu: X.X Profile_freeing_items: X.X Profile_freeing_items_cpu: X.X Profile_logging_slow_query: X.X Profile_logging_slow_query_cpu: X.X
14# Profile_total: X.X Profile_total_cpu: X.X
15# User@Host: root[root] @ localhost [] Id: X
16# Schema: test Last_errno: X Killed: X
17# Query_time: X.X Lock_time: X.X Rows_sent: X Rows_examined: X Rows_affected: X Rows_read: X
18# Bytes_sent: X
19# Profile_starting: X.X Profile_starting_cpu: X.X Profile_checking_permissions: X.X Profile_checking_permissions_cpu: X.X Profile_Opening_tables: X.X Profile_Opening_tables_cpu: X.X Profile_init: X.X Profile_init_cpu: X.X Profile_optimizing: X.X Profile_optimizing_cpu: X.X Profile_executing: X.X Profile_executing_cpu: X.X Profile_end: X.X Profile_end_cpu: X.X Profile_query_end: X.X Profile_query_end_cpu: X.X Profile_closing_tables: X.X Profile_closing_tables_cpu: X.X Profile_freeing_items: X.X Profile_freeing_items_cpu: X.X Profile_logging_slow_query: X.X Profile_logging_slow_query_cpu: X.X
20# Profile_total: X.X Profile_total_cpu: X.X
21SET GLOBAL slow_query_log_file=@old_slow_query_log_file;
022
=== added file 'Percona-Server/mysql-test/r/percona_bug856404.result'
--- Percona-Server/mysql-test/r/percona_bug856404.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_bug856404.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,8 @@
1DROP TABLE IF EXISTS table17_int;
2DROP TABLE IF EXISTS table30_int;
3CREATE TABLE `table17_int` (pk integer auto_increment primary key, `col_char_10_not_null_key` char(10), `col_enum_not_null_key` int);
4CREATE TABLE `table30_int` (pk integer auto_increment primary key, `col_enum_not_null_key` int);
5SELECT X . `pk` FROM `table17_int` AS X LEFT JOIN `table30_int` AS Y USING ( `col_enum_not_null_key` ) WHERE X . `col_char_10_not_null_key` != ' you need to translate Views labels into other languages, consider installing the <a href=\" !path\">Internationalization</a> package\'s Views translation module.' LIMIT 7 /*Generated by THREAD_ID 1*/;
6pk
7DROP TABLE table17_int;
8DROP TABLE table30_int;
09
=== added file 'Percona-Server/mysql-test/r/percona_enforce_storage_engine.result'
--- Percona-Server/mysql-test/r/percona_enforce_storage_engine.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_enforce_storage_engine.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,36 @@
1drop table if exists t1;
2SET @old_sql_mode= @@session.sql_mode;
3CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISAM;
4SHOW CREATE TABLE t1;
5Table Create Table
6t1 CREATE TABLE `t1` (
7 `c1` int(11) NOT NULL AUTO_INCREMENT,
8 `c2` varchar(10) DEFAULT NULL,
9 PRIMARY KEY (`c1`)
10) ENGINE=MyISAM DEFAULT CHARSET=latin1
11DROP TABLE t1;
12SET SESSION sql_mode='';
13CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
14Warnings:
15Note 1266 Using storage engine MyISAM for table 't1'
16SHOW CREATE TABLE t1;
17Table Create Table
18t1 CREATE TABLE `t1` (
19 `c1` int(11) NOT NULL AUTO_INCREMENT,
20 `c2` varchar(10) DEFAULT NULL,
21 PRIMARY KEY (`c1`)
22) ENGINE=MyISAM DEFAULT CHARSET=latin1
23DROP TABLE t1;
24SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION';
25CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISAM;
26SHOW CREATE TABLE t1;
27Table Create Table
28t1 CREATE TABLE `t1` (
29 `c1` int(11) NOT NULL AUTO_INCREMENT,
30 `c2` varchar(10) DEFAULT NULL,
31 PRIMARY KEY (`c1`)
32) ENGINE=MyISAM DEFAULT CHARSET=latin1
33DROP TABLE t1;
34CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
35ERROR 42000: Unknown storage engine 'InnoDB'
36SET SESSION sql_mode=@old_sql_mode;
037
=== added file 'Percona-Server/mysql-test/r/percona_enhanced_options_modifiers.result'
--- Percona-Server/mysql-test/r/percona_enhanced_options_modifiers.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_enhanced_options_modifiers.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,142 @@
1SET @TEMP=@@GLOBAL.AUTO_INCREMENT_INCREMENT;
2SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=1;
3SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
4@@GLOBAL.AUTO_INCREMENT_INCREMENT
51
6SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=2;
7SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
8@@GLOBAL.AUTO_INCREMENT_INCREMENT
92
10SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=15;
11SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
12@@GLOBAL.AUTO_INCREMENT_INCREMENT
1315
14SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=@TEMP;
15SET @TEMP=@@LOCAL.AUTO_INCREMENT_INCREMENT;
16SET @@LOCAL.AUTO_INCREMENT_INCREMENT=1;
17SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
18@@LOCAL.AUTO_INCREMENT_INCREMENT
191
20SET @@LOCAL.AUTO_INCREMENT_INCREMENT=2;
21SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
22@@LOCAL.AUTO_INCREMENT_INCREMENT
232
24SET @@LOCAL.AUTO_INCREMENT_INCREMENT=15;
25SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
26@@LOCAL.AUTO_INCREMENT_INCREMENT
2715
28SET @@LOCAL.AUTO_INCREMENT_INCREMENT=@TEMP;
29SET @@GLOBAL.AUTO_INCREMENT_OFFSET=5;
30SET @@LOCAL.AUTO_INCREMENT_OFFSET=5;
31SELECT @@GLOBAL.AUTOCOMMIT;
32@@GLOBAL.AUTOCOMMIT
331
34SELECT @@LOCAL.AUTOCOMMIT;
35@@LOCAL.AUTOCOMMIT
361
37SET @@GLOBAL.AUTOCOMMIT= TRUE;
38SET @@LOCAL.AUTOCOMMIT= TRUE;
39SET @TEMP=@@GLOBAL.INNODB_IO_CAPACITY;
40SET @@GLOBAL.INNODB_IO_CAPACITY=100;
41SELECT @@GLOBAL.INNODB_IO_CAPACITY;
42@@GLOBAL.INNODB_IO_CAPACITY
43100
44SET @@GLOBAL.INNODB_IO_CAPACITY=300;
45SELECT @@GLOBAL.INNODB_IO_CAPACITY;
46@@GLOBAL.INNODB_IO_CAPACITY
47300
48SET @@GLOBAL.INNODB_IO_CAPACITY=160;
49SELECT @@GLOBAL.INNODB_IO_CAPACITY;
50@@GLOBAL.INNODB_IO_CAPACITY
51160
52SET @@GLOBAL.INNODB_IO_CAPACITY=@TEMP;
53SET @@GLOBAL.INNODB_SPIN_WAIT_DELAY=10;
54SET @@GLOBAL.INNODB_READ_AHEAD_THRESHOLD=32;
55SET @TEMP=@@GLOBAL.AUTO_INCREMENT_INCREMENT;
56SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=1;
57Warnings:
58Warning 1292 Truncated incorrect auto_increment_increment value: '1'
59SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
60@@GLOBAL.AUTO_INCREMENT_INCREMENT
615
62SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=2;
63Warnings:
64Warning 1292 Truncated incorrect auto_increment_increment value: '2'
65SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
66@@GLOBAL.AUTO_INCREMENT_INCREMENT
675
68SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=15;
69Warnings:
70Warning 1292 Truncated incorrect auto_increment_increment value: '15'
71SELECT @@GLOBAL.AUTO_INCREMENT_INCREMENT;
72@@GLOBAL.AUTO_INCREMENT_INCREMENT
7310
74SET @@GLOBAL.AUTO_INCREMENT_INCREMENT=@TEMP;
75SET @TEMP=@@LOCAL.AUTO_INCREMENT_INCREMENT;
76SET @@LOCAL.AUTO_INCREMENT_INCREMENT=1;
77Warnings:
78Warning 1292 Truncated incorrect auto_increment_increment value: '1'
79SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
80@@LOCAL.AUTO_INCREMENT_INCREMENT
815
82SET @@LOCAL.AUTO_INCREMENT_INCREMENT=2;
83Warnings:
84Warning 1292 Truncated incorrect auto_increment_increment value: '2'
85SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
86@@LOCAL.AUTO_INCREMENT_INCREMENT
875
88SET @@LOCAL.AUTO_INCREMENT_INCREMENT=15;
89Warnings:
90Warning 1292 Truncated incorrect auto_increment_increment value: '15'
91SELECT @@LOCAL.AUTO_INCREMENT_INCREMENT;
92@@LOCAL.AUTO_INCREMENT_INCREMENT
9310
94SET @@LOCAL.AUTO_INCREMENT_INCREMENT=@TEMP;
95SET @@GLOBAL.AUTO_INCREMENT_OFFSET=5;
96ERROR HY000: Variable 'auto_increment_offset' is a read only variable
97SET @@LOCAL.AUTO_INCREMENT_OFFSET=5;
98ERROR HY000: Variable 'auto_increment_offset' is a read only variable
99SELECT @@GLOBAL.AUTOCOMMIT;
100ERROR HY000: Unknown system variable 'AUTOCOMMIT'
101SELECT @@LOCAL.AUTOCOMMIT;
102ERROR HY000: Unknown system variable 'AUTOCOMMIT'
103SET @@GLOBAL.AUTOCOMMIT= TRUE;
104ERROR HY000: Unknown system variable 'AUTOCOMMIT'
105SET @@LOCAL.AUTOCOMMIT= TRUE;
106ERROR HY000: Unknown system variable 'AUTOCOMMIT'
107SET @TEMP=@@GLOBAL.INNODB_IO_CAPACITY;
108SET @@GLOBAL.INNODB_IO_CAPACITY=100;
109Warnings:
110Warning 1292 Truncated incorrect innodb_io_capacity value: '100'
111SELECT @@GLOBAL.INNODB_IO_CAPACITY;
112@@GLOBAL.INNODB_IO_CAPACITY
113150
114SET @@GLOBAL.INNODB_IO_CAPACITY=300;
115SELECT @@GLOBAL.INNODB_IO_CAPACITY;
116@@GLOBAL.INNODB_IO_CAPACITY
117300
118SET @@GLOBAL.INNODB_IO_CAPACITY=160;
119SELECT @@GLOBAL.INNODB_IO_CAPACITY;
120@@GLOBAL.INNODB_IO_CAPACITY
121160
122SET @@GLOBAL.INNODB_IO_CAPACITY=@TEMP;
123SET @@GLOBAL.INNODB_SPIN_WAIT_DELAY=10;
124ERROR HY000: Variable 'innodb_spin_wait_delay' is a read only variable
125SET @@GLOBAL.INNODB_READ_AHEAD_THRESHOLD=32;
126ERROR HY000: Unknown system variable 'INNODB_READ_AHEAD_THRESHOLD'
127SET @@GLOBAL.AUTO_INCREMENT_OFFSET=5;
128ERROR HY000: Variable 'auto_increment_offset' is a read only variable
129SET @@LOCAL.AUTO_INCREMENT_OFFSET=5;
130ERROR HY000: Variable 'auto_increment_offset' is a read only variable
131SELECT @@GLOBAL.AUTOCOMMIT;
132ERROR HY000: Unknown system variable 'AUTOCOMMIT'
133SELECT @@LOCAL.AUTOCOMMIT;
134ERROR HY000: Unknown system variable 'AUTOCOMMIT'
135SET @@GLOBAL.AUTOCOMMIT= TRUE;
136ERROR HY000: Unknown system variable 'AUTOCOMMIT'
137SET @@LOCAL.AUTOCOMMIT= TRUE;
138ERROR HY000: Unknown system variable 'AUTOCOMMIT'
139SET @@GLOBAL.INNODB_SPIN_WAIT_DELAY=10;
140ERROR HY000: Variable 'innodb_spin_wait_delay' is a read only variable
141SET @@GLOBAL.INNODB_READ_AHEAD_THRESHOLD=72;
142ERROR HY000: Unknown system variable 'INNODB_READ_AHEAD_THRESHOLD'
0143
=== modified file 'Percona-Server/mysql-test/r/percona_expand_fast_index_creation.result'
--- Percona-Server/mysql-test/r/percona_expand_fast_index_creation.result 2013-01-25 11:46:09 +0000
+++ Percona-Server/mysql-test/r/percona_expand_fast_index_creation.result 2013-05-20 14:30:50 +0000
@@ -76,3 +76,67 @@
76107610
77DROP TABLE idx;77DROP TABLE idx;
78DROP TABLE t;78DROP TABLE t;
79CREATE TABLE t1(
80id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
81a CHAR(1) NOT NULL,
82b CHAR(36) NOT NULL) ENGINE=InnoDB;
83INSERT INTO t1(a,b) VALUES ('a','b');
84INSERT INTO t1(a,b) SELECT a,b FROM t1;
85INSERT INTO t1(a,b) SELECT a,b FROM t1;
86INSERT INTO t1(a,b) SELECT a,b FROM t1;
87INSERT INTO t1(a,b) SELECT a,b FROM t1;
88ALTER TABLE t1 ADD KEY (a);
89affected rows: 0
90info: Records: 0 Duplicates: 0 Warnings: 0
91EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
92id 1
93select_type SIMPLE
94table t1
95type ALL
96possible_keys a
97key NULL
98key_len NULL
99ref NULL
100rows 16
101Extra NULL
102id 1
103select_type SIMPLE
104table t2
105type ALL
106possible_keys a
107key NULL
108key_len NULL
109ref NULL
110rows 16
111Extra Using where; Using join buffer (Block Nested Loop)
112ALTER TABLE t1 DROP KEY a;
113SET expand_fast_index_creation = 1;
114SELECT @@expand_fast_index_creation;
115@@expand_fast_index_creation
1161
117ALTER TABLE t1 ADD KEY (a);
118affected rows: 0
119info: Records: 0 Duplicates: 0 Warnings: 0
120EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
121id 1
122select_type SIMPLE
123table t1
124type ALL
125possible_keys a
126key NULL
127key_len NULL
128ref NULL
129rows 16
130Extra NULL
131id 1
132select_type SIMPLE
133table t2
134type ALL
135possible_keys a
136key NULL
137key_len NULL
138ref NULL
139rows 16
140Extra Using where; Using join buffer (Block Nested Loop)
141SET expand_fast_index_creation = 0;
142DROP TABLE t1;
79143
=== added file 'Percona-Server/mysql-test/r/percona_heap_blob.result'
--- Percona-Server/mysql-test/r/percona_heap_blob.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_blob.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,918 @@
1SET @old_default_storage_engine=@@default_storage_engine;
2SET default_storage_engine=MEMORY;
3drop table if exists t1,t2,t3,t4,t5,t6,t7;
4CREATE TABLE t1 (a blob, b text, c blob(250), d text(70000), e text(70000000));
5show columns from t1;
6Field Type Null Key Default Extra
7a blob YES NULL
8b text YES NULL
9c tinyblob YES NULL
10d mediumtext YES NULL
11e longtext YES NULL
12CREATE TABLE t2 (a char(255), b varbinary(70000), c varchar(70000000));
13Warnings:
14Note 1246 Converting column 'b' from VARBINARY to BLOB
15Note 1246 Converting column 'c' from VARCHAR to TEXT
16CREATE TABLE t4 (c varchar(65530) character set utf8 not null);
17Warnings:
18Note 1246 Converting column 'c' from VARCHAR to TEXT
19show columns from t2;
20Field Type Null Key Default Extra
21a char(255) YES NULL
22b mediumblob YES NULL
23c longtext YES NULL
24create table t3 (a long, b long byte);
25show create TABLE t3;
26Table Create Table
27t3 CREATE TABLE `t3` (
28 `a` mediumtext,
29 `b` mediumblob
30) ENGINE=MEMORY DEFAULT CHARSET=latin1
31show create TABLE t4;
32Table Create Table
33t4 CREATE TABLE `t4` (
34 `c` mediumtext CHARACTER SET utf8 NOT NULL
35) ENGINE=MEMORY DEFAULT CHARSET=latin1
36drop table t1,t2,t3,t4;
37CREATE TABLE t1 (a char(257) default "hello");
38ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
39CREATE TABLE t2 (a char(256));
40ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
41CREATE TABLE t1 (a varchar(70000) default "hello");
42ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
43CREATE TABLE t2 (a blob default "hello");
44ERROR 42000: BLOB/TEXT column 'a' can't have a default value
45drop table if exists t1,t2;
46create table t1 (nr int(5) not null auto_increment,b blob,str char(10), primary key (nr));
47insert into t1 values (null,"a","A");
48insert into t1 values (null,"bbb","BBB");
49insert into t1 values (null,"ccc","CCC");
50select last_insert_id();
51last_insert_id()
523
53select * from t1,t1 as t2;
54nr b str nr b str
551 a A 1 a A
562 bbb BBB 1 a A
573 ccc CCC 1 a A
581 a A 2 bbb BBB
592 bbb BBB 2 bbb BBB
603 ccc CCC 2 bbb BBB
611 a A 3 ccc CCC
622 bbb BBB 3 ccc CCC
633 ccc CCC 3 ccc CCC
64drop table t1;
65create table t1 (a text);
66insert into t1 values ('where');
67update t1 set a='Where';
68select * from t1;
69a
70Where
71drop table t1;
72create table t1 (t text,c char(10),b blob, d varbinary(10)) collate latin1_general_cs;
73insert into t1 values (NULL,NULL,NULL,NULL);
74insert into t1 values ("","","","");
75insert into t1 values ("hello","hello","hello","hello");
76insert into t1 values ("HELLO","HELLO","HELLO","HELLO");
77insert into t1 values ("HELLO MY","HELLO MY","HELLO MY","HELLO MY");
78insert into t1 values ("a","a","a","a");
79insert into t1 values (1,1,1,1);
80insert into t1 values (NULL,NULL,NULL,NULL);
81update t1 set c="",b=null where c="1";
82lock tables t1 READ;
83show full fields from t1;
84Field Type Collation Null Key Default Extra Privileges Comment
85t text latin1_general_cs YES NULL #
86c char(10) latin1_general_cs YES NULL #
87b blob NULL YES NULL #
88d varbinary(10) NULL YES NULL #
89lock tables t1 WRITE;
90show full fields from t1;
91Field Type Collation Null Key Default Extra Privileges Comment
92t text latin1_general_cs YES NULL #
93c char(10) latin1_general_cs YES NULL #
94b blob NULL YES NULL #
95d varbinary(10) NULL YES NULL #
96unlock tables;
97select t from t1 where t like "hello";
98t
99hello
100select c from t1 where c like "hello";
101c
102hello
103select b from t1 where b like "hello";
104b
105hello
106select d from t1 where d like "hello";
107d
108hello
109select c from t1 having c like "hello";
110c
111hello
112select d from t1 having d like "hello";
113d
114hello
115select t from t1 where t like "%HELLO%";
116t
117HELLO
118HELLO MY
119select c from t1 where c like "%HELLO%";
120c
121HELLO
122HELLO MY
123select b from t1 where b like "%HELLO%";
124b
125HELLO
126HELLO MY
127select d from t1 where d like "%HELLO%";
128d
129HELLO
130HELLO MY
131select c from t1 having c like "%HELLO%";
132c
133HELLO
134HELLO MY
135select d from t1 having d like "%HELLO%";
136d
137HELLO
138HELLO MY
139select d from t1 having d like "%HE%LLO%";
140d
141HELLO
142HELLO MY
143select t from t1 order by t;
144t
145NULL
146NULL
147
1481
149a
150HELLO
151HELLO MY
152hello
153select c from t1 order by c;
154c
155NULL
156NULL
157
158
159a
160HELLO
161HELLO MY
162hello
163select b from t1 order by b;
164b
165NULL
166NULL
167NULL
168
169HELLO
170HELLO MY
171a
172hello
173select d from t1 order by d;
174d
175NULL
176NULL
177
1781
179HELLO
180HELLO MY
181a
182hello
183select distinct t from t1;
184t
185NULL
186
187hello
188HELLO
189HELLO MY
190a
1911
192select distinct b from t1;
193b
194NULL
195
196hello
197HELLO
198HELLO MY
199a
200select distinct t from t1 order by t;
201t
202NULL
203
2041
205a
206HELLO
207HELLO MY
208hello
209select distinct b from t1 order by b;
210b
211NULL
212
213HELLO
214HELLO MY
215a
216hello
217select t from t1 group by t;
218t
219NULL
220
2211
222a
223HELLO
224HELLO MY
225hello
226select b from t1 group by b;
227b
228NULL
229
230HELLO
231HELLO MY
232a
233hello
234select distinct c from t1;
235c
236NULL
237
238hello
239HELLO
240HELLO MY
241a
242select distinct d from t1;
243d
244NULL
245
246hello