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

Proposed by Laurynas Biveinis
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 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) Approve
Percona core 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.
Revision history for this message
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.

Revision history for this message
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
Revision history for this message
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...

Revision history for this message
Laurynas Biveinis (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?

Revision history for this message
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!

Revision history for this message
Alexey Kopytov (akopytov) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Alexey Kopytov (akopytov) :
review: Approve
Revision history for this message
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
247HELLO
248HELLO MY
249a
2501
251select distinct c from t1 order by c;
252c
253NULL
254
255a
256HELLO
257HELLO MY
258hello
259select distinct d from t1 order by d;
260d
261NULL
262
2631
264HELLO
265HELLO MY
266a
267hello
268select c from t1 group by c;
269c
270NULL
271
272a
273HELLO
274HELLO MY
275hello
276select d from t1 group by d;
277d
278NULL
279
2801
281HELLO
282HELLO MY
283a
284hello
285select distinct * from t1;
286t c b d
287NULL NULL NULL NULL
288
289hello hello hello hello
290HELLO HELLO HELLO HELLO
291HELLO MY HELLO MY HELLO MY HELLO MY
292a a a a
2931 NULL 1
294select t,count(*) from t1 group by t;
295t count(*)
296NULL 2
297 1
2981 1
299a 1
300HELLO 1
301HELLO MY 1
302hello 1
303select b,count(*) from t1 group by b;
304b count(*)
305NULL 3
306 1
307HELLO 1
308HELLO MY 1
309a 1
310hello 1
311select c,count(*) from t1 group by c;
312c count(*)
313NULL 2
314 2
315a 1
316HELLO 1
317HELLO MY 1
318hello 1
319select d,count(*) from t1 group by d;
320d count(*)
321NULL 2
322 1
3231 1
324HELLO 1
325HELLO MY 1
326a 1
327hello 1
328drop table t1;
329CREATE TABLE t1 (
330t1_id bigint(21) NOT NULL auto_increment,
331_field_72 varchar(128) DEFAULT '' NOT NULL,
332_field_95 varchar(32),
333_field_115 tinyint(4) DEFAULT '0' NOT NULL,
334_field_122 tinyint(4) DEFAULT '0' NOT NULL,
335_field_126 tinyint(4),
336_field_134 tinyint(4),
337PRIMARY KEY (t1_id),
338UNIQUE _field_72 (_field_72),
339KEY _field_115 (_field_115),
340KEY _field_122 (_field_122)
341);
342INSERT INTO t1 VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',0,1,NULL,NULL);
343INSERT INTO t1 VALUES (2,'hroberts','7415275a8c95952901e42b13a6b78566',0,1,NULL,NULL);
344INSERT INTO t1 VALUES (3,'guest','d41d8cd98f00b204e9800998ecf8427e',1,0,NULL,NULL);
345CREATE TABLE t2 (
346seq_0_id bigint(21) DEFAULT '0' NOT NULL,
347seq_1_id bigint(21) DEFAULT '0' NOT NULL,
348PRIMARY KEY (seq_0_id,seq_1_id)
349);
350INSERT INTO t2 VALUES (1,1);
351INSERT INTO t2 VALUES (2,1);
352INSERT INTO t2 VALUES (2,2);
353CREATE TABLE t3 (
354t3_id bigint(21) NOT NULL auto_increment,
355_field_131 varchar(128),
356_field_133 tinyint(4) DEFAULT '0' NOT NULL,
357_field_135 datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
358_field_137 tinyint(4),
359_field_139 datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
360_field_140 blob,
361_field_142 tinyint(4) DEFAULT '0' NOT NULL,
362_field_145 tinyint(4) DEFAULT '0' NOT NULL,
363_field_148 tinyint(4) DEFAULT '0' NOT NULL,
364PRIMARY KEY (t3_id),
365KEY _field_133 (_field_133),
366KEY _field_135 (_field_135),
367KEY _field_139 (_field_139),
368KEY _field_142 (_field_142),
369KEY _field_145 (_field_145),
370KEY _field_148 (_field_148)
371);
372INSERT INTO t3 VALUES (1,'test job 1',0,'0000-00-00 00:00:00',0,'1999-02-25 22:43:32','test\r\njob\r\n1',0,0,0);
373INSERT INTO t3 VALUES (2,'test job 2',0,'0000-00-00 00:00:00',0,'1999-02-26 21:08:04','',0,0,0);
374CREATE TABLE t4 (
375seq_0_id bigint(21) DEFAULT '0' NOT NULL,
376seq_1_id bigint(21) DEFAULT '0' NOT NULL,
377PRIMARY KEY (seq_0_id,seq_1_id)
378);
379INSERT INTO t4 VALUES (1,1);
380INSERT INTO t4 VALUES (2,1);
381CREATE TABLE t5 (
382t5_id bigint(21) NOT NULL auto_increment,
383_field_149 tinyint(4),
384_field_156 varchar(128) DEFAULT '' NOT NULL,
385_field_157 varchar(128) DEFAULT '' NOT NULL,
386_field_158 varchar(128) DEFAULT '' NOT NULL,
387_field_159 varchar(128) DEFAULT '' NOT NULL,
388_field_160 varchar(128) DEFAULT '' NOT NULL,
389_field_161 varchar(128) DEFAULT '' NOT NULL,
390PRIMARY KEY (t5_id),
391KEY _field_156 (_field_156),
392KEY _field_157 (_field_157),
393KEY _field_158 (_field_158),
394KEY _field_159 (_field_159),
395KEY _field_160 (_field_160),
396KEY _field_161 (_field_161)
397);
398INSERT INTO t5 VALUES (1,0,'tomato','','','','','');
399INSERT INTO t5 VALUES (2,0,'cilantro','','','','','');
400CREATE TABLE t6 (
401seq_0_id bigint(21) DEFAULT '0' NOT NULL,
402seq_1_id bigint(21) DEFAULT '0' NOT NULL,
403PRIMARY KEY (seq_0_id,seq_1_id)
404);
405INSERT INTO t6 VALUES (1,1);
406INSERT INTO t6 VALUES (1,2);
407INSERT INTO t6 VALUES (2,2);
408CREATE TABLE t7 (
409t7_id bigint(21) NOT NULL auto_increment,
410_field_143 tinyint(4),
411_field_165 varchar(32),
412_field_166 smallint(6) DEFAULT '0' NOT NULL,
413PRIMARY KEY (t7_id),
414KEY _field_166 (_field_166)
415);
416INSERT INTO t7 VALUES (1,0,'High',1);
417INSERT INTO t7 VALUES (2,0,'Medium',2);
418INSERT INTO t7 VALUES (3,0,'Low',3);
419select replace(t3._field_140, "\r","^M"),t3_id,min(t3._field_131), min(t3._field_135), min(t3._field_139), min(t3._field_137), min(link_alias_142._field_165), min(link_alias_133._field_72), min(t3._field_145), min(link_alias_148._field_156), replace(min(t3._field_140), "\r","^M"),t3.t3_id from t3 left join t4 on t4.seq_0_id = t3.t3_id left join t7 link_alias_142 on t4.seq_1_id = link_alias_142.t7_id left join t6 on t6.seq_0_id = t3.t3_id left join t1 link_alias_133 on t6.seq_1_id = link_alias_133.t1_id left join t2 on t2.seq_0_id = t3.t3_id left join t5 link_alias_148 on t2.seq_1_id = link_alias_148.t5_id where t3.t3_id in (1) group by t3.t3_id order by link_alias_142._field_166, _field_139, link_alias_133._field_72, _field_135, link_alias_148._field_156;
420replace(t3._field_140, "\r","^M") t3_id min(t3._field_131) min(t3._field_135) min(t3._field_139) min(t3._field_137) min(link_alias_142._field_165) min(link_alias_133._field_72) min(t3._field_145) min(link_alias_148._field_156) replace(min(t3._field_140), "\r","^M") t3_id
421test^M
422job^M
4231 1 test job 1 0000-00-00 00:00:00 1999-02-25 22:43:32 0 High admin 0 tomato test^M
424job^M
4251 1
426drop table t1,t2,t3,t4,t5,t6,t7;
427create table t1 (a blob);
428insert into t1 values ("empty"),("");
429select a,reverse(a) from t1;
430a reverse(a)
431empty ytpme
432
433drop table t1;
434create table t1 (id integer auto_increment unique,imagem LONGBLOB not null default '');
435Warnings:
436Warning 1101 BLOB/TEXT column 'imagem' can't have a default value
437insert into t1 (id) values (1);
438select
439charset(load_file('../../std_data/words.dat')),
440collation(load_file('../../std_data/words.dat')),
441coercibility(load_file('../../std_data/words.dat'));
442charset(load_file('../../std_data/words.dat')) collation(load_file('../../std_data/words.dat')) coercibility(load_file('../../std_data/words.dat'))
443binary binary 4
444explain extended select
445charset(load_file('MYSQLTEST_VARDIR/std_data/words.dat')),
446collation(load_file('MYSQLTEST_VARDIR/std_data/words.dat')),
447coercibility(load_file('MYSQLTEST_VARDIR/std_data/words.dat'));
448id select_type table type possible_keys key key_len ref rows filtered Extra
4491 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
450Warnings:
451Note 1003 /* select#1 */ select charset(load_file('MYSQLTEST_VARDIR/std_data/words.dat')) AS `charset(load_file('MYSQLTEST_VARDIR/std_data/words.dat'))`,collation(load_file('MYSQLTEST_VARDIR/std_data/words.dat')) AS `collation(load_file('MYSQLTEST_VARDIR/std_data/words.dat'))`,coercibility(load_file('MYSQLTEST_VARDIR/std_data/words.dat')) AS `coercibility(load_file('MYSQLTEST_VARDIR/std_data/words.dat'))`
452update t1 set imagem=load_file('MYSQLTEST_VARDIR/std_data/words.dat') where id=1;
453select if(imagem is null, "ERROR", "OK"),length(imagem) from t1 where id = 1;
454if(imagem is null, "ERROR", "OK") length(imagem)
455OK 581
456drop table t1;
457create table t1 select load_file('MYSQLTEST_VARDIR/std_data/words.dat') l;
458show full fields from t1;
459Field Type Collation Null Key Default Extra Privileges Comment
460l longblob NULL YES NULL #
461drop table t1;
462create table t1 (id integer primary key auto_increment, txt text not null);
463insert into t1 (txt) values ('Chevy ');
464select * from t1 where txt='Chevy';
465id txt
4661 Chevy
467select * from t1 where txt='Chevy ';
468id txt
4691 Chevy
470select * from t1 where txt='Chevy ' or txt='Chevy';
471id txt
4721 Chevy
473select * from t1 where txt='Chevy' or txt='Chevy ';
474id txt
4751 Chevy
476select * from t1 where id='1' or id='2';
477id txt
4781 Chevy
479insert into t1 (txt) values('Ford');
480select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
481id txt
4821 Chevy
4832 Ford
484select * from t1 where txt='Chevy' or txt='Chevy ';
485id txt
4861 Chevy
487select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
488id txt
4891 Chevy
490select * from t1 where txt in ('Chevy ','Chevy');
491id txt
4921 Chevy
493select * from t1 where txt in ('Chevy');
494id txt
4951 Chevy
496select * from t1 where txt between 'Chevy' and 'Chevy';
497id txt
4981 Chevy
499select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
500id txt
5011 Chevy
502select * from t1 where txt between 'Chevy' and 'Chevy ';
503id txt
5041 Chevy
505select * from t1 where txt < 'Chevy ';
506id txt
507select * from t1 where txt <= 'Chevy';
508id txt
5091 Chevy
510select * from t1 where txt > 'Chevy';
511id txt
5122 Ford
513select * from t1 where txt >= 'Chevy';
514id txt
5151 Chevy
5162 Ford
517drop table t1;
518create table t1 (id integer primary key auto_increment, txt text);
519insert into t1 (txt) values ('Chevy'), ('Chevy '), (NULL);
520select * from t1 where txt='Chevy' or txt is NULL;
521id txt
5221 Chevy
5232 Chevy
5243 NULL
525explain select * from t1 where txt='Chevy' or txt is NULL;
526id select_type table type possible_keys key key_len ref rows Extra
5271 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
528select * from t1 where txt='Chevy ';
529id txt
5301 Chevy
5312 Chevy
532select * from t1 where txt='Chevy ' or txt='Chevy';
533id txt
5341 Chevy
5352 Chevy
536select * from t1 where txt='Chevy' or txt='Chevy ';
537id txt
5381 Chevy
5392 Chevy
540select * from t1 where id='1' or id='2';
541id txt
5421 Chevy
5432 Chevy
544insert into t1 (txt) values('Ford');
545select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
546id txt
5471 Chevy
5482 Chevy
5494 Ford
550select * from t1 where txt='Chevy' or txt='Chevy ';
551id txt
5521 Chevy
5532 Chevy
554select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
555id txt
5561 Chevy
5572 Chevy
558select * from t1 where txt in ('Chevy ','Chevy');
559id txt
5601 Chevy
5612 Chevy
562select * from t1 where txt in ('Chevy');
563id txt
5641 Chevy
5652 Chevy
566select * from t1 where txt between 'Chevy' and 'Chevy';
567id txt
5681 Chevy
5692 Chevy
570select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
571id txt
5721 Chevy
5732 Chevy
574select * from t1 where txt between 'Chevy' and 'Chevy ';
575id txt
5761 Chevy
5772 Chevy
578select * from t1 where txt < 'Chevy ';
579id txt
580select * from t1 where txt < 'Chevy ' or txt is NULL;
581id txt
5823 NULL
583select * from t1 where txt <= 'Chevy';
584id txt
5851 Chevy
5862 Chevy
587select * from t1 where txt > 'Chevy';
588id txt
5894 Ford
590select * from t1 where txt >= 'Chevy';
591id txt
5921 Chevy
5932 Chevy
5944 Ford
595alter table t1 modify column txt blob;
596explain select * from t1 where txt='Chevy' or txt is NULL;
597id select_type table type possible_keys key key_len ref rows Extra
5981 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where
599select * from t1 where txt='Chevy' or txt is NULL;
600id txt
6011 Chevy
6023 NULL
603explain select * from t1 where txt='Chevy' or txt is NULL order by txt;
604id select_type table type possible_keys key key_len ref rows Extra
6051 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where; Using filesort
606select * from t1 where txt='Chevy' or txt is NULL order by txt;
607id txt
6083 NULL
6091 Chevy
610drop table t1;
611CREATE TABLE t1 ( i int(11) NOT NULL default '0', c text NOT NULL, d varchar(1) NOT NULL DEFAULT ' ', PRIMARY KEY (i));
612INSERT t1 (i, c) VALUES (1,''),(2,''),(3,'asdfh'),(4,'');
613select max(i) from t1 where c = '';
614max(i)
6154
616drop table t1;
617CREATE table t1 (a blob);
618insert into t1 values ('b'),('a\0'),('a'),('a '),('aa'),(NULL);
619select hex(a) from t1 order by a;
620hex(a)
621NULL
62261
6236100
6246120
6256161
62662
627select hex(concat(a,'\0')) as b from t1 order by concat(a,'\0');
628b
629NULL
6306100
631610000
632612000
633616100
6346200
635alter table t1 modify a varbinary(5);
636select hex(a) from t1 order by a;
637hex(a)
638NULL
63961
6406100
6416120
6426161
64362
644select hex(concat(a,'\0')) as b from t1 order by concat(a,'\0');
645b
646NULL
6476100
648610000
649612000
650616100
6516200
652alter table t1 modify a char(5);
653select hex(a) from t1 order by a;
654hex(a)
655NULL
6566100
65761
65861
6596161
66062
661select hex(concat(a,'\0')) as b from t1 order by concat(a,'\0');
662b
663NULL
664610000
6656100
6666100
667616100
6686200
669alter table t1 modify a binary(5);
670select hex(a) from t1 order by a;
671hex(a)
672NULL
6736100000000
6746100000000
6756100000000
6766161000000
6776200000000
678select hex(concat(a,'\0')) as b from t1 order by concat(a,'\0');
679b
680NULL
681610000000000
682610000000000
683610000000000
684616100000000
685620000000000
686drop table t1;
687create table t1 (a text default '');
688Warnings:
689Warning 1101 BLOB/TEXT column 'a' can't have a default value
690show create table t1;
691Table Create Table
692t1 CREATE TABLE `t1` (
693 `a` text
694) ENGINE=MEMORY DEFAULT CHARSET=latin1
695insert into t1 values (default);
696select * from t1;
697a
698NULL
699drop table t1;
700set @@sql_mode='TRADITIONAL';
701create table t1 (a text default '');
702ERROR 42000: BLOB/TEXT column 'a' can't have a default value
703set @@sql_mode='';
704CREATE TABLE t (c TEXT CHARSET ASCII);
705INSERT INTO t (c) VALUES (REPEAT('1',65537));
706Warnings:
707Warning 1265 Data truncated for column 'c' at row 1
708INSERT INTO t (c) VALUES (REPEAT('2',65536));
709Warnings:
710Warning 1265 Data truncated for column 'c' at row 1
711INSERT INTO t (c) VALUES (REPEAT('3',65535));
712SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
713LENGTH(c) CHAR_LENGTH(c)
71465535 65535
71565535 65535
71665535 65535
717DROP TABLE t;
718drop table if exists b15776;
719create table b15776 (data blob(2147483647));
720drop table b15776;
721create table b15776 (data blob(-1));
722ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
723create table b15776 (data blob(2147483648));
724drop table b15776;
725create table b15776 (data blob(4294967294));
726drop table b15776;
727create table b15776 (data blob(4294967295));
728drop table b15776;
729create table b15776 (data blob(4294967296));
730ERROR 42000: Display width out of range for column 'data' (max = 4294967295)
731CREATE TABLE b15776 (a blob(2147483647), b blob(2147483648), c blob(4294967295), a1 text(2147483647), b1 text(2147483648), c1 text(4294967295) );
732show columns from b15776;
733Field Type Null Key Default Extra
734a longblob YES NULL
735b longblob YES NULL
736c longblob YES NULL
737a1 longtext YES NULL
738b1 longtext YES NULL
739c1 longtext YES NULL
740drop table b15776;
741CREATE TABLE b15776 (a blob(4294967296));
742ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
743CREATE TABLE b15776 (a text(4294967296));
744ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
745CREATE TABLE b15776 (a blob(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
746ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
747CREATE TABLE b15776 (a text(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
748ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
749CREATE TABLE b15776 (a int(0));
750INSERT INTO b15776 values (NULL), (1), (42), (654);
751SELECT * from b15776 ORDER BY a;
752a
753NULL
7541
75542
756654
757DROP TABLE b15776;
758CREATE TABLE b15776 (a int(-1));
759ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
760CREATE TABLE b15776 (a int(255));
761DROP TABLE b15776;
762CREATE TABLE b15776 (a int(256));
763ERROR 42000: Display width out of range for column 'a' (max = 255)
764CREATE TABLE b15776 (data blob(-1));
765ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
766CREATE TABLE b15776 (a char(2147483647));
767ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
768CREATE TABLE b15776 (a char(2147483648));
769ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
770CREATE TABLE b15776 (a char(4294967295));
771ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
772CREATE TABLE b15776 (a char(4294967296));
773ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
774CREATE TABLE b15776 (a year(4));
775INSERT INTO b15776 VALUES (42);
776SELECT * FROM b15776;
777a
7782042
779DROP TABLE b15776;
780CREATE TABLE b15776 (a year(4294967296));
781ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
782CREATE TABLE b15776 (a year(-2));
783ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
784CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
785ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
786CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
787ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
788CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
789ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
790CREATE TABLE b15776 select cast(null as char(4294967295));
791show columns from b15776;
792Field Type Null Key Default Extra
793cast(null as char(4294967295)) char(0) YES NULL
794drop table b15776;
795CREATE TABLE b15776 select cast(null as nchar(4294967295));
796show columns from b15776;
797Field Type Null Key Default Extra
798cast(null as nchar(4294967295)) char(0) YES NULL
799drop table b15776;
800CREATE TABLE b15776 select cast(null as binary(4294967295));
801show columns from b15776;
802Field Type Null Key Default Extra
803cast(null as binary(4294967295)) binary(0) YES NULL
804drop table b15776;
805explain select cast(1 as char(4294967295));
806id select_type table type possible_keys key key_len ref rows Extra
8071 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
808explain select cast(1 as nchar(4294967295));
809id select_type table type possible_keys key key_len ref rows Extra
8101 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
811explain select cast(1 as binary(4294967295));
812id select_type table type possible_keys key key_len ref rows Extra
8131 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
814explain select cast(1 as char(4294967296));
815ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
816explain select cast(1 as nchar(4294967296));
817ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
818explain select cast(1 as binary(4294967296));
819ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
820explain select cast(1 as decimal(-1));
821ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
822explain select cast(1 as decimal(64, 30));
823id select_type table type possible_keys key key_len ref rows Extra
8241 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
825explain select cast(1 as decimal(64, 999999999999999999999999999999));
826Got one of the listed errors
827explain select cast(1 as decimal(4294967296));
828Got one of the listed errors
829explain select cast(1 as decimal(999999999999999999999999999999999999));
830Got one of the listed errors
831explain select convert(1, char(4294967295));
832id select_type table type possible_keys key key_len ref rows Extra
8331 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
834explain select convert(1, char(4294967296));
835ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
836explain select convert(1, char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
837ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
838explain select convert(1, nchar(4294967295));
839id select_type table type possible_keys key key_len ref rows Extra
8401 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
841explain select convert(1, nchar(4294967296));
842ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
843explain select convert(1, nchar(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
844ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
845explain select convert(1, binary(4294967295));
846id select_type table type possible_keys key key_len ref rows Extra
8471 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
848explain select convert(1, binary(4294967296));
849ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
850explain select convert(1, binary(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
851ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295)
852End of 5.0 tests
853CREATE TABLE t1(id INT NOT NULL);
854CREATE TABLE t2(id INT NOT NULL, c TEXT NOT NULL);
855INSERT INTO t1 VALUES (1);
856INSERT INTO t2 VALUES (1, '');
857UPDATE t2 SET c = REPEAT('1', 70000);
858Warnings:
859Warning 1265 Data truncated for column 'c' at row 1
860SELECT LENGTH(c) FROM t2;
861LENGTH(c)
86265535
863UPDATE t1 LEFT JOIN t2 USING(id) SET t2.c = REPEAT('1', 70000) WHERE t1.id = 1;
864Warnings:
865Warning 1265 Data truncated for column 'c' at row 1
866SELECT LENGTH(c) FROM t2;
867LENGTH(c)
86865535
869DROP TABLE t1, t2;
870# Bug #52160: crash and inconsistent results when grouping
871# by a function and column
872CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
873CREATE TABLE t1(a CHAR(1));
874INSERT INTO t1 VALUES ('0'), ('0');
875SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
876COUNT(*)
8772
878DROP FUNCTION f1;
879DROP TABLE t1;
880SET @old_max_heap_table_size = @@global.max_heap_table_size;
881SET @old_max_allowed_packet = @@global.max_allowed_packet;
882SET GLOBAL max_heap_table_size = 18 * 1024 * 1024;
883SET GLOBAL max_allowed_packet = 24 * 1024 * 1024;
884drop table if exists t1;
885CREATE TABLE t1 (data LONGBLOB);
886INSERT INTO t1 (data) VALUES (NULL);
887UPDATE t1 set data=repeat('a',18*1024*1024);
888select length(data) from t1;
889length(data)
89018874368
891delete from t1 where left(data,1)='a';
892truncate table t1;
893INSERT INTO t1 (data) VALUES (repeat('a',1*1024*1024));
894INSERT INTO t1 (data) VALUES (repeat('b',16*1024*1024-1024));
895delete from t1 where left(data,1)='b';
896UPDATE t1 set data=repeat('c',17*1024*1024);
897delete from t1 where left(data,1)='c';
898INSERT INTO t1 set data=repeat('a',18*1024*1024);
899select length(data) from t1;
900length(data)
90118874368
902alter table t1 modify data blob;
903select length(data) from t1;
904length(data)
9050
906drop table t1;
907CREATE TABLE t1 (data BLOB);
908INSERT INTO t1 (data) VALUES (NULL);
909UPDATE t1 set data=repeat('a',18*1024*1024);
910Warnings:
911Warning 1265 Data truncated for column 'data' at row 1
912select length(data) from t1;
913length(data)
91465535
915drop table t1;
916SET GLOBAL max_allowed_packet = @old_max_allowed_packet;
917SET GLOBAL max_heap_table_size = @old_max_heap_table_size;
918SET default_storage_engine=@old_default_storage_engine;
0919
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug783366.result'
--- Percona-Server/mysql-test/r/percona_heap_bug783366.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug783366.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,14 @@
1drop table if exists t1;
2CREATE TABLE t1 (
3f1 VARCHAR ( 128 ) ,
4f2 VARCHAR ( 32 ),
5PRIMARY KEY ( f2 ( 2 ) , f1 )
6)
7ENGINE=HEAP KEY_BLOCK_SIZE = 512;
8INSERT IGNORE INTO t1 VALUES ( 'te' , 'm') , ( NULL , 'think' );
9Warnings:
10Warning 1048 Column 'f1' cannot be null
11INSERT IGNORE INTO t1 VALUES ( 'te' , 'm') , ( NULL , 'think' );
12Warnings:
13Warning 1048 Column 'f1' cannot be null
14DROP TABLE t1;
015
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug783451.result'
--- Percona-Server/mysql-test/r/percona_heap_bug783451.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug783451.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,124 @@
1DROP TABLE IF EXISTS local_1_1;
2CREATE TABLE IF NOT EXISTS local_1_1 ( f1 VARCHAR ( 32 ) NOT NULL , f2 VARCHAR ( 128 ) NOT NULL DEFAULT 'cboepfaobilcchabvglgjdbynog' , f3 VARCHAR ( 32 ) NOT NULL , f4 VARBINARY ( 32 ) NOT NULL , f5 VARBINARY ( 1024 ) DEFAULT 'ycboepfao' , KEY ( f1 /* ( 2 ) */ , f2 /* ( 2 ) */ ) ) ENGINE=HEAP KEY_BLOCK_SIZE = 512;
3INSERT IGNORE INTO local_1_1 VALUES ( REPEAT( 'ervydbimvmbqmsowdbsa' , 1 ) , 'v' , NULL , NULL , REPEAT( 'mervydbimvmbqms' , 5 ) ) , ( 'p' , 6 , 'n' , REPEAT( 'imervydbimvmbqmsowdbs' , 4 ) , 'do' ) , ( NULL , NULL , REPEAT( 'himervydbimvmbqmsowdbsaybudvwaamvhempuublmia' , 6 ) , REPEAT('X', POW(2, 20) * 2) , REPEAT('X', POW(2, 20) * 2) ) , ( REPEAT('X', POW(2, 20) * 2) , REPEAT( 'Y' , 763 ) , NULL , REPEAT('X', POW(2, 20) * 2) , NULL ) , ( REPEAT('X', POW(2, 20) * 2) , 'time' , 'how' , 2 , REPEAT( 'Y' , 107 ) ) , ( REPEAT( 'hyshimervydbimvmbqmsowdbsaybud' , 5 ) , 2 , 8 , NULL , REPEAT('X', POW(2, 20) * 2) ) , ( 'come' , NULL , 'i' , NULL , REPEAT('X', POW(2, 20) * 2) );
4Warnings:
5Warning 1048 Column 'f3' cannot be null
6Warning 1048 Column 'f4' cannot be null
7Warning 1265 Data truncated for column 'f4' at row 2
8Warning 1048 Column 'f1' cannot be null
9Warning 1048 Column 'f2' cannot be null
10Warning 1265 Data truncated for column 'f3' at row 3
11Warning 1265 Data truncated for column 'f4' at row 3
12Warning 1265 Data truncated for column 'f5' at row 3
13Warning 1265 Data truncated for column 'f1' at row 4
14Warning 1265 Data truncated for column 'f2' at row 4
15Warning 1048 Column 'f3' cannot be null
16Warning 1265 Data truncated for column 'f4' at row 4
17Warning 1265 Data truncated for column 'f1' at row 5
18Warning 1265 Data truncated for column 'f1' at row 6
19Warning 1048 Column 'f4' cannot be null
20Warning 1265 Data truncated for column 'f5' at row 6
21Warning 1048 Column 'f2' cannot be null
22Warning 1048 Column 'f4' cannot be null
23Warning 1265 Data truncated for column 'f5' at row 7
24INSERT IGNORE INTO local_1_1 VALUES ( 'ok' , NULL , REPEAT( 'Y' , 651 ) , 2 , 5 ) , ( REPEAT( 'zylcdzkfrqpihyshimervydbimvmbqmsowdbsaybu' , 3 ) , REPEAT( 'Y' , 282 ) , REPEAT( 'X' , 0 ) , REPEAT( 'Y' , 369 ) , 'g' ) , ( 'think' , REPEAT('X', POW(2, 20) * 2), NULL , NULL , REPEAT('X', POW(2, 20) * 2) ) , ( REPEAT( 'Y' , 468 ) , REPEAT( 'dfvbrzylcd' , 6 ) , REPEAT( 'Y' , 264 ) , NULL , 'c' ) , ( NULL , NULL , REPEAT( 'srdfvbrzylcdzkfrqpihyshimervydbimvmbqms' , 0 ) , REPEAT( 'Y' , 244 ) , 7 ) , ( REPEAT( 'Y' , 0 ) , 'how' , 'going' , 'q' , NULL );
25Warnings:
26Warning 1048 Column 'f2' cannot be null
27Warning 1265 Data truncated for column 'f3' at row 1
28Warning 1265 Data truncated for column 'f1' at row 2
29Warning 1265 Data truncated for column 'f2' at row 2
30Warning 1265 Data truncated for column 'f4' at row 2
31Warning 1265 Data truncated for column 'f2' at row 3
32Warning 1048 Column 'f3' cannot be null
33Warning 1048 Column 'f4' cannot be null
34Warning 1265 Data truncated for column 'f5' at row 3
35Warning 1265 Data truncated for column 'f1' at row 4
36Warning 1265 Data truncated for column 'f3' at row 4
37Warning 1048 Column 'f4' cannot be null
38Warning 1048 Column 'f1' cannot be null
39Warning 1048 Column 'f2' cannot be null
40Warning 1265 Data truncated for column 'f4' at row 5
41INSERT IGNORE INTO local_1_1 VALUES ( REPEAT('X', POW(2, 20) * 2) , NULL , NULL , NULL , REPEAT('X', POW(2, 20) * 2) ) , ( REPEAT('X', POW(2, 20) * 2) , NULL , REPEAT('X', POW(2, 20) * 2) , 'this' , 'e' ) , ( NULL , 'think' , NULL , 'were' , NULL ) , ( 9 , 'l' , 'c' , 3 , REPEAT( 'geysrdfvbrzylcdzkfrqpihyshimervydbi' , 5 ) ) , ( NULL , NULL , NULL , 'h' , 'w' );
42Warnings:
43Warning 1265 Data truncated for column 'f1' at row 1
44Warning 1048 Column 'f2' cannot be null
45Warning 1048 Column 'f3' cannot be null
46Warning 1048 Column 'f4' cannot be null
47Warning 1265 Data truncated for column 'f5' at row 1
48Warning 1265 Data truncated for column 'f1' at row 2
49Warning 1048 Column 'f2' cannot be null
50Warning 1265 Data truncated for column 'f3' at row 2
51Warning 1048 Column 'f1' cannot be null
52Warning 1048 Column 'f3' cannot be null
53Warning 1048 Column 'f1' cannot be null
54Warning 1048 Column 'f2' cannot be null
55Warning 1048 Column 'f3' cannot be null
56INSERT IGNORE INTO local_1_1 SELECT * FROM local_1_1;
57INSERT IGNORE INTO local_1_1 SELECT * FROM local_1_1;
58UPDATE local_1_1 SET f5 = REPEAT ('X', 215566);
59Warnings:
60Warning 1265 Data truncated for column 'f5' at row 1
61Warning 1265 Data truncated for column 'f5' at row 2
62Warning 1265 Data truncated for column 'f5' at row 3
63Warning 1265 Data truncated for column 'f5' at row 4
64Warning 1265 Data truncated for column 'f5' at row 5
65Warning 1265 Data truncated for column 'f5' at row 6
66Warning 1265 Data truncated for column 'f5' at row 7
67Warning 1265 Data truncated for column 'f5' at row 8
68Warning 1265 Data truncated for column 'f5' at row 9
69Warning 1265 Data truncated for column 'f5' at row 10
70Warning 1265 Data truncated for column 'f5' at row 11
71Warning 1265 Data truncated for column 'f5' at row 12
72Warning 1265 Data truncated for column 'f5' at row 13
73Warning 1265 Data truncated for column 'f5' at row 14
74Warning 1265 Data truncated for column 'f5' at row 15
75Warning 1265 Data truncated for column 'f5' at row 16
76Warning 1265 Data truncated for column 'f5' at row 17
77Warning 1265 Data truncated for column 'f5' at row 18
78Warning 1265 Data truncated for column 'f5' at row 19
79Warning 1265 Data truncated for column 'f5' at row 20
80Warning 1265 Data truncated for column 'f5' at row 21
81Warning 1265 Data truncated for column 'f5' at row 22
82Warning 1265 Data truncated for column 'f5' at row 23
83Warning 1265 Data truncated for column 'f5' at row 24
84Warning 1265 Data truncated for column 'f5' at row 25
85Warning 1265 Data truncated for column 'f5' at row 26
86Warning 1265 Data truncated for column 'f5' at row 27
87Warning 1265 Data truncated for column 'f5' at row 28
88Warning 1265 Data truncated for column 'f5' at row 29
89Warning 1265 Data truncated for column 'f5' at row 30
90Warning 1265 Data truncated for column 'f5' at row 31
91Warning 1265 Data truncated for column 'f5' at row 32
92Warning 1265 Data truncated for column 'f5' at row 33
93Warning 1265 Data truncated for column 'f5' at row 34
94Warning 1265 Data truncated for column 'f5' at row 35
95Warning 1265 Data truncated for column 'f5' at row 36
96Warning 1265 Data truncated for column 'f5' at row 37
97Warning 1265 Data truncated for column 'f5' at row 38
98Warning 1265 Data truncated for column 'f5' at row 39
99Warning 1265 Data truncated for column 'f5' at row 40
100Warning 1265 Data truncated for column 'f5' at row 41
101Warning 1265 Data truncated for column 'f5' at row 42
102Warning 1265 Data truncated for column 'f5' at row 43
103Warning 1265 Data truncated for column 'f5' at row 44
104Warning 1265 Data truncated for column 'f5' at row 45
105Warning 1265 Data truncated for column 'f5' at row 46
106Warning 1265 Data truncated for column 'f5' at row 47
107Warning 1265 Data truncated for column 'f5' at row 48
108Warning 1265 Data truncated for column 'f5' at row 49
109Warning 1265 Data truncated for column 'f5' at row 50
110Warning 1265 Data truncated for column 'f5' at row 51
111Warning 1265 Data truncated for column 'f5' at row 52
112Warning 1265 Data truncated for column 'f5' at row 53
113Warning 1265 Data truncated for column 'f5' at row 54
114Warning 1265 Data truncated for column 'f5' at row 55
115Warning 1265 Data truncated for column 'f5' at row 56
116Warning 1265 Data truncated for column 'f5' at row 57
117Warning 1265 Data truncated for column 'f5' at row 58
118Warning 1265 Data truncated for column 'f5' at row 59
119Warning 1265 Data truncated for column 'f5' at row 60
120Warning 1265 Data truncated for column 'f5' at row 61
121Warning 1265 Data truncated for column 'f5' at row 62
122Warning 1265 Data truncated for column 'f5' at row 63
123Warning 1265 Data truncated for column 'f5' at row 64
124DROP TABLE local_1_1;
0125
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug784464.result'
--- Percona-Server/mysql-test/r/percona_heap_bug784464.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug784464.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,58 @@
1CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
2PRIMARY KEY (f1)) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
3SHOW TABLE STATUS LIKE 't1';
4Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
5t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC
6DROP TABLE t1;
7CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
8PRIMARY KEY (f1)) KEY_BLOCK_SIZE=33 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
9ERROR 42000: Incorrect usage/placement of 'key_block_size'
10SHOW TABLE STATUS LIKE 't1';
11Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
12CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
13PRIMARY KEY (f1)) KEY_BLOCK_SIZE=34 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
14SHOW TABLE STATUS LIKE 't1';
15Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
16t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=34
17DROP TABLE t1;
18CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
19PRIMARY KEY (f1)) KEY_BLOCK_SIZE=123 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
20SHOW TABLE STATUS LIKE 't1';
21Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
22t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=123
23DROP TABLE t1;
24CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
25PRIMARY KEY (f1)) KEY_BLOCK_SIZE=1000 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
26SHOW TABLE STATUS LIKE 't1';
27Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
28t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=1000
29DROP TABLE t1;
30CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
31PRIMARY KEY (f1)) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
32SHOW TABLE STATUS LIKE 't1';
33Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
34t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC
35DROP TABLE t1;
36CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
37PRIMARY KEY (f1)) KEY_BLOCK_SIZE=33 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
38ERROR 42000: Incorrect usage/placement of 'key_block_size'
39SHOW TABLE STATUS LIKE 't1';
40Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
41CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
42PRIMARY KEY (f1)) KEY_BLOCK_SIZE=34 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
43SHOW TABLE STATUS LIKE 't1';
44Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
45t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=34
46DROP TABLE t1;
47CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
48PRIMARY KEY (f1)) KEY_BLOCK_SIZE=121 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
49SHOW TABLE STATUS LIKE 't1';
50Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
51t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=121
52DROP TABLE t1;
53CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
54PRIMARY KEY (f1)) KEY_BLOCK_SIZE=1000 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
55SHOW TABLE STATUS LIKE 't1';
56Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
57t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=1000
58DROP TABLE t1;
059
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug784464_32bit.result'
--- Percona-Server/mysql-test/r/percona_heap_bug784464_32bit.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug784464_32bit.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,12 @@
1CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
2PRIMARY KEY (f1)) KEY_BLOCK_SIZE=124 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
3SHOW TABLE STATUS LIKE 't1';
4Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
5t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=124
6DROP TABLE t1;
7CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
8PRIMARY KEY (f1)) KEY_BLOCK_SIZE=122 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
9SHOW TABLE STATUS LIKE 't1';
10Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
11t1 MEMORY 10 Dynamic 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=122
12DROP TABLE t1;
013
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug784464_64bit.result'
--- Percona-Server/mysql-test/r/percona_heap_bug784464_64bit.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug784464_64bit.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,12 @@
1CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(32), f3 VARCHAR(32), f4 VARCHAR(32),
2PRIMARY KEY (f1)) KEY_BLOCK_SIZE=124 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
3SHOW TABLE STATUS LIKE 't1';
4Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
5t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=124
6DROP TABLE t1;
7CREATE TABLE t1 (f1 VARCHAR(32), f2 VARCHAR(96),
8PRIMARY KEY (f1)) KEY_BLOCK_SIZE=122 ENGINE=HEAP ROW_FORMAT=DYNAMIC;
9SHOW TABLE STATUS LIKE 't1';
10Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
11t1 MEMORY 10 Fixed 0 X 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC KEY_BLOCK_SIZE=122
12DROP TABLE t1;
013
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug784468.result'
--- Percona-Server/mysql-test/r/percona_heap_bug784468.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug784468.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,15 @@
1CREATE TABLE t1 ( f1 VARCHAR(30)) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
2SHOW TABLE STATUS LIKE 't1';
3Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
4t1 MEMORY 10 Fixed 0 32 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC
5DROP TABLE t1;
6CREATE TABLE t1 ( f1 VARCHAR(31)) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
7SHOW TABLE STATUS LIKE 't1';
8Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
9t1 MEMORY 10 Fixed 0 33 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC
10DROP TABLE t1;
11CREATE TABLE t1 ( f1 VARCHAR(32)) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
12SHOW TABLE STATUS LIKE 't1';
13Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
14t1 MEMORY 10 Fixed 0 34 0 X 0 0 NULL X X NULL latin1_swedish_ci NULL row_format=DYNAMIC
15DROP TABLE t1;
016
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug788544.result'
--- Percona-Server/mysql-test/r/percona_heap_bug788544.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug788544.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,9 @@
1CREATE TABLE t1 (f2 VARCHAR (32), f4 LONGBLOB, f5 TEXT) ENGINE=HEAP;
2INSERT INTO t1 VALUES ('a', NULL, NULL),
3('b' , REPEAT('a' , 593338), REPEAT('a', 800));
4UPDATE t1 SET f2 = 'c' WHERE f4 = 'd';
5SELECT LENGTH(f2), LENGTH(f4), LENGTH(f5) FROM t1;
6LENGTH(f2) LENGTH(f4) LENGTH(f5)
71 NULL NULL
81 593338 800
9DROP TABLE t1;
010
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug788576.result'
--- Percona-Server/mysql-test/r/percona_heap_bug788576.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug788576.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,19 @@
1CREATE TABLE t1 (f1 VARCHAR (32), f2 VARCHAR (128), f3 VARBINARY (128),
2f4 VARBINARY (512), f5 VARBINARY (1024),
3KEY (f2(1))) ENGINE=HEAP ROW_FORMAT=DYNAMIC;
4INSERT IGNORE INTO t1 VALUES (2, NULL, 6, REPEAT('glugcgqk', 5), 'look'),
5(REPEAT( 'kglugcgqkin', 6), 'if', 'was', NULL, NULL),
6(NULL, NULL, NULL, NULL, 7);
7Warnings:
8Warning 1265 Data truncated for column 'f1' at row 2
9SELECT * FROM t1;
10f1 f2 f3 f4 f5
112 NULL 6 glugcgqkglugcgqkglugcgqkglugcgqkglugcgqk look
12kglugcgqkinkglugcgqkinkglugcgqki if was NULL NULL
13NULL NULL NULL NULL 7
14DELETE FROM t1 WHERE f5 <=> NULL;
15SELECT * FROM t1;
16f1 f2 f3 f4 f5
172 NULL 6 glugcgqkglugcgqkglugcgqkglugcgqkglugcgqk look
18NULL NULL NULL NULL 7
19DROP TABLE t1;
020
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug788722.result'
--- Percona-Server/mysql-test/r/percona_heap_bug788722.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug788722.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,18 @@
1CREATE TABLE IF NOT EXISTS local_1_1 (f1 VARCHAR (32) NOT NULL,
2f2 VARCHAR (128) NOT NULL,
3f3 BLOB NOT NULL,
4f4 TEXT,
5f5 BLOB (1024),
6PRIMARY KEY (f1),
7KEY (f1 , f2)
8) ENGINE=HEAP ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE = 2048;
9INSERT IGNORE INTO local_1_1 VALUES
10(REPEAT('egqeqfxwaejpqixuvvtentruyqadxiybjdfqjspfbyjdjczrrwjnagkzsoagatqookhsgtrvvbxacppljfzaseidqggxvuirm' , 5), NULL, NULL, NULL, REPEAT('hegqeqfxwaejpqixuvvtentruyqadxiy', 1)),
11('you', NULL, 0, REPEAT("X", 2048) , 0);
12Warnings:
13Warning 1265 Data truncated for column 'f1' at row 1
14Warning 1048 Column 'f2' cannot be null
15Warning 1048 Column 'f3' cannot be null
16Warning 1048 Column 'f2' cannot be null
17INSERT IGNORE INTO local_1_1 SELECT * FROM local_1_1;
18DROP TABLE local_1_1;
019
=== added file 'Percona-Server/mysql-test/r/percona_heap_bug789131.result'
--- Percona-Server/mysql-test/r/percona_heap_bug789131.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_bug789131.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,7 @@
1CREATE TABLE t1 (f1 VARCHAR (128), f2 VARCHAR (128), f3 VARBINARY (512),
2f4 TEXT (65525), f5 VARCHAR (128), KEY (f1(1))) ENGINE=HEAP;
3INSERT IGNORE INTO t1 VALUES
4( 'o' , "" , NULL , "" , 0 ) ,
5(NULL, "" , "" , "" , 'f' ) ;
6INSERT IGNORE INTO t1 SELECT * FROM t1;
7DROP TABLE t1;
08
=== added file 'Percona-Server/mysql-test/r/percona_heap_var.result'
--- Percona-Server/mysql-test/r/percona_heap_var.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_heap_var.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,194 @@
1drop table if exists t1;
2set @@session.max_heap_table_size=16*1024*1024;
3create table t1 (a int not null, b varchar(400), c int, primary key (a), key (c)) engine=heap comment="testing heaps" key_block_size=128;
4ERROR 42000: Incorrect usage/placement of 'key_block_size'
5create table t1 (a int not null, b int, c varchar(400), primary key (a), key (b)) engine=heap comment="testing heaps" key_block_size=4;
6ERROR 42000: Incorrect usage/placement of 'key_block_size'
7create table t1 (a int not null, b int, c varchar(400), d varchar(400), primary key (a), key (b)) engine=heap comment="testing heaps" key_block_size=24;
8show table status like "t1";
9Name t1
10Engine MEMORY
11Version 10
12Row_format Dynamic
13Rows 0
14Avg_row_length X
15Data_length X
16Max_data_length X
17Index_length X
18Data_free X
19Auto_increment X
20Create_time X
21Update_time X
22Check_time X
23Collation latin1_swedish_ci
24Checksum NULL
25Create_options KEY_BLOCK_SIZE=24
26Comment testing heaps
27insert into t1 values (1,1,'012',NULL), (2,2,'0123456789',NULL), (3,3,'012345678901234567890123456789',NULL), (4,4,NULL,'0123456789012345678901234567890123456789012345678901234567890123456789');
28select * from t1;
29a b c d
301 1 012 NULL
312 2 0123456789 NULL
323 3 012345678901234567890123456789 NULL
334 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
34delete from t1 where a = 3;
35select * from t1;
36a b c d
371 1 012 NULL
382 2 0123456789 NULL
394 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
40insert into t1 values (5,5,NULL,'0123'), (6,6,NULL,'0123');
41select * from t1;
42a b c d
431 1 012 NULL
442 2 0123456789 NULL
456 6 NULL 0123
465 5 NULL 0123
474 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
48update t1 set c = '012345678901234567890123456789' where a = 2;
49select * from t1;
50a b c d
511 1 012 NULL
522 2 012345678901234567890123456789 NULL
536 6 NULL 0123
545 5 NULL 0123
554 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
56update t1 set c = '0123456789' where a = 2;
57select * from t1;
58a b c d
591 1 012 NULL
602 2 0123456789 NULL
616 6 NULL 0123
625 5 NULL 0123
634 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
64insert into t1 values (7,7,'0123',NULL), (8,8,'0123',NULL);
65select * from t1;
66a b c d
671 1 012 NULL
682 2 0123456789 NULL
696 6 NULL 0123
705 5 NULL 0123
714 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
727 7 0123 NULL
738 8 0123 NULL
74show table status like "t1";
75Name t1
76Engine MEMORY
77Version 10
78Row_format Dynamic
79Rows 7
80Avg_row_length X
81Data_length X
82Max_data_length X
83Index_length X
84Data_free X
85Auto_increment X
86Create_time X
87Update_time X
88Check_time X
89Collation latin1_swedish_ci
90Checksum NULL
91Create_options KEY_BLOCK_SIZE=24
92Comment testing heaps
93alter table t1 key_block_size = 0;
94show table status like "t1";
95Name t1
96Engine MEMORY
97Version 10
98Row_format Dynamic
99Rows 7
100Avg_row_length X
101Data_length X
102Max_data_length X
103Index_length X
104Data_free X
105Auto_increment X
106Create_time X
107Update_time X
108Check_time X
109Collation latin1_swedish_ci
110Checksum NULL
111Create_options
112Comment testing heaps
113alter table t1 row_format = dynamic;
114show table status like "t1";
115Name t1
116Engine MEMORY
117Version 10
118Row_format Dynamic
119Rows 7
120Avg_row_length X
121Data_length X
122Max_data_length X
123Index_length X
124Data_free X
125Auto_increment X
126Create_time X
127Update_time X
128Check_time X
129Collation latin1_swedish_ci
130Checksum NULL
131Create_options row_format=DYNAMIC KEY_BLOCK_SIZE=X
132Comment testing heaps
133alter table t1 key_block_size = 128, max_rows = 10001;
134show table status like "t1";
135Name t1
136Engine MEMORY
137Version 10
138Row_format Dynamic
139Rows 7
140Avg_row_length X
141Data_length X
142Max_data_length X
143Index_length X
144Data_free X
145Auto_increment X
146Create_time X
147Update_time X
148Check_time X
149Collation latin1_swedish_ci
150Checksum NULL
151Create_options max_rows=10001 row_format=DYNAMIC KEY_BLOCK_SIZE=128
152Comment testing heaps
153select * from t1;
154a b c d
1551 1 012 NULL
1562 2 0123456789 NULL
1576 6 NULL 0123
1585 5 NULL 0123
1594 4 NULL 0123456789012345678901234567890123456789012345678901234567890123456789
1607 7 0123 NULL
1618 8 0123 NULL
162delete from t1;
163select * from t1;
164a b c d
165call mtr.add_suppression("The table 't1' is full");
166select count(*) from t1;
167count(*)
16810001
169insert into t1 values (100000,100000,NULL,'0123'), (100000,100000,NULL,'0123');
170ERROR HY000: The table 't1' is full
171show table status like "t1";
172Name t1
173Engine MEMORY
174Version 10
175Row_format Dynamic
176Rows 10001
177Avg_row_length X
178Data_length X
179Max_data_length X
180Index_length X
181Data_free X
182Auto_increment X
183Create_time X
184Update_time X
185Check_time X
186Collation latin1_swedish_ci
187Checksum NULL
188Create_options max_rows=10001 row_format=DYNAMIC KEY_BLOCK_SIZE=128
189Comment testing heaps
190select count(*) from t1;
191count(*)
19210001
193set @@session.max_heap_table_size=default;
194drop table t1;
0195
=== added file 'Percona-Server/mysql-test/r/percona_innodb_deadlock_count.result'
--- Percona-Server/mysql-test/r/percona_innodb_deadlock_count.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_innodb_deadlock_count.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,28 @@
1# Establish connection con1 (user=root)
2# Establish connection con2 (user=root)
3# Establish connection con3 (user=root)
4# Drop test table
5drop table if exists t;
6# Create test table
7create table t(a INT PRIMARY KEY, b INT) engine=InnoDB;
8# Insert two rows to test table
9insert into t values(2,1);
10insert into t values(1,2);
11# Switch to connection con1
12BEGIN;
13SELECT b FROM t WHERE a=1 FOR UPDATE;
14# Switch to connection con2
15BEGIN;
16SELECT b FROM t WHERE a=2 FOR UPDATE;
17# Switch to connection con1
18SELECT b FROM t WHERE a=2 FOR UPDATE;
19# Switch to connection con2
20SELECT b FROM t WHERE a=1 FOR UPDATE;
21# Switch to connection con1
22ROLLBACK;
23# Switch to connection con2
24ROLLBACK;
25# Switch to connection con3
26Deadlocks: 1
27# Drop test table
28drop table t;
029
=== added file 'Percona-Server/mysql-test/r/percona_innodb_fake_changes.result'
--- Percona-Server/mysql-test/r/percona_innodb_fake_changes.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_innodb_fake_changes.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,119 @@
1DROP TABLE IF EXISTS t1, t2, t3;
2# Checking variables
3SHOW VARIABLES LIKE 'innodb_fake_changes';
4Variable_name Value
5innodb_fake_changes OFF
6SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
7VARIABLE_VALUE
8OFF
9SET innodb_fake_changes=1;
10SHOW VARIABLES LIKE 'innodb_fake_changes';
11Variable_name Value
12innodb_fake_changes ON
13SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
14VARIABLE_VALUE
15ON
16SET innodb_fake_changes=default;
17SHOW VARIABLES LIKE 'innodb_fake_changes';
18Variable_name Value
19innodb_fake_changes OFF
20SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
21VARIABLE_VALUE
22OFF
23# Explicit COMMIT should fail when innodb_fake_changes is enabled
24# DML should be fine
25SET @@GLOBAL.userstat= TRUE;
26CREATE TABLE t1 (a INT) ENGINE=InnoDB;
27INSERT INTO t1 VALUES (1);
28SET autocommit=0;
29SET innodb_fake_changes=1;
30BEGIN;
31INSERT INTO t1 VALUES (2);
32UPDATE t1 SET a=0;
33DELETE FROM t1 LIMIT 1;
34SELECT * FROM t1;
35a
361
37COMMIT;
38ERROR HY000: Got error 131 during COMMIT
39SET innodb_fake_changes=default;
40# Verify that the fake changes to t1 did not leak through
41CHECK TABLE t1;
42Table Op Msg_type Msg_text
43test.t1 check status OK
44should_be_1
451
46should_be_0
470
48should_be_0
490
50should_be_0
510
52should_be_0
530
54should_be_0
550
56should_be_0
570
58should_be_0
590
60DROP TABLE t1;
61# DDL must result in error
62CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
63SET autocommit=0;
64SET innodb_fake_changes=1;
65BEGIN;
66CREATE TABLE t2 (a INT) ENGINE=InnoDB;
67ERROR HY000: Table storage engine for 't2' doesn't have this option
68DROP TABLE t1;
69ERROR 42S02: Unknown table 'test.t1'
70TRUNCATE TABLE t1;
71ERROR HY000: Got error 131 during COMMIT
72ALTER TABLE t1 ENGINE=MyISAM;
73ERROR HY000: Got error 131 during COMMIT
74ROLLBACK;
75SET innodb_fake_changes=0;
76INSERT INTO t1 VALUES (1), (2);
77COMMIT;
78CREATE TABLE t2 (a INT PRIMARY KEY, b INT, INDEX b_ind (b),
79FOREIGN KEY (b) REFERENCES t1(a) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB;
80INSERT INTO t2 VALUES (1, 1);
81INSERT INTO t2 VALUES (2, 2);
82COMMIT;
83SET innodb_fake_changes=1;
84DELETE FROM t1 WHERE a=1;
85UPDATE t1 SET a=3 WHERE a=2;
86COMMIT;
87ERROR HY000: Got error 131 during COMMIT
88should_be_1
891
90should_be_0
910
92should_be_0
930
94should_be_0
950
96should_be_0
970
98should_be_0
990
100should_be_0
1010
102SET innodb_fake_changes=0;
103DROP TABLE t2;
104CREATE TABLE t3 (a INT primary key, b text) ENGINE=InnoDB;
105INSERT INTO t3 VALUES (1,'');
106COMMIT;
107SET innodb_fake_changes=1;
108UPDATE t3 set b=lpad('b',11000,'c') where a=1;
109COMMIT;
110ERROR HY000: Got error 131 during COMMIT
111SET innodb_fake_changes=default;
112# Verify that the fake changes to t3 did not leak through
113CHECK TABLE t3;
114Table Op Msg_type Msg_text
115test.t3 check status OK
116should_be_1
1171
118DROP TABLE t1, t3;
119SET @@GLOBAL.userstat= default;
0120
=== added file 'Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_898306.result'
--- Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_898306.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_898306.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,43 @@
1DROP TABLE IF EXISTS t1;
2CREATE TABLE t1 (a INT primary key, b int, unique key (b)) ENGINE=InnoDB;
3INSERT INTO t1 VALUES (1,1);
4SET autocommit=1;
5SET innodb_fake_changes=1;
6# Confirm that duplicate key errors on REPLACE works
7REPLACE INTO t1 VALUES (1,1);
8ERROR HY000: Got error 131 during COMMIT
9REPLACE INTO t1 VALUES (1,2);
10ERROR HY000: Got error 131 during COMMIT
11# Confirm that duplicate key errors are OK
12BEGIN;
13REPLACE INTO t1 VALUES (1,2);
14SELECT * from t1;
15a b
161 1
17REPLACE INTO t1 VALUES (1,1);
18SELECT * from t1;
19a b
201 1
21ROLLBACK;
22BEGIN;
23REPLACE INTO t1 VALUES (2,1);
24ERROR 23000: Duplicate entry '1' for key 'b'
25INSERT INTO t1 VALUES (1,1);
26ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
27INSERT INTO t1 VALUES (1,2);
28ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
29INSERT INTO t1 VALUES (2,1);
30ERROR 23000: Duplicate entry '1' for key 'b'
31ROLLBACK;
32INSERT INTO t1 VALUES (1,1) ON DUPLICATE KEY UPDATE b=b+10;
33ERROR HY000: Got error 131 during COMMIT
34INSERT INTO t1 VALUES (1,2) ON DUPLICATE KEY UPDATE b=b+10;
35ERROR HY000: Got error 131 during COMMIT
36SET innodb_fake_changes=0;
37SELECT * from t1;
38a b
391 1
40CHECK TABLE t1;
41Table Op Msg_type Msg_text
42test.t1 check status OK
43DROP TABLE t1;
044
=== added file 'Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_917942.result'
--- Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_917942.result 1970-01-01 00:00:00 +0000
+++ Percona-Server/mysql-test/r/percona_innodb_fake_changes_bug_917942.result 2013-05-20 14:30:50 +0000
@@ -0,0 +1,151 @@
1DROP TABLE IF EXISTS t1;
2Test compressed
3CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, v VARCHAR(200), t TEXT) ENGINE=INNODB KEY_BLOCK_SIZE=8;
4INSERT INTO t1 VALUES(NULL, LPAD("v", 2, "b"), LPAD("a", 100, "b"));
5SET innodb_fake_changes=1;
6INSERT INTO t1 VALUES(1, "foo", LPAD("a", 4600, "b")) ON DUPLICATE KEY UPDATE T = VALUES(T);
7ERROR HY000: Got error 131 during COMMIT
8UPDATE t1 SET T = LPAD("A", 4600, "b");
9ERROR HY000: Got error 131 during COMMIT
10SET innodb_fake_changes=0;
11CHECK TABLE t1;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches