From: Christopher Powers Date: August 4 2010 3:48pm Subject: bzr push into mysql-next-mr-wl4896 branch (chris.powers:3159 to 3160) List-Archive: http://lists.mysql.com/commits/115037 Message-Id: <20100804154807.132221DB0310@xeno.mysql.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1278105255967750527==" --===============1278105255967750527== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3160 Christopher Powers 2010-08-04 Merged with next-mr Integrated WL 4895 "Performance Schema Table IO" Integrated bug 55087, "Performance schema: optimization of the instrumentation interface" removed: include/mysql/psi/mysql_network.h added: storage/perfschema/table_helper.h.moved modified: include/mysql/psi/mysql_socket.h include/mysql/psi/psi_abi_v1.h.pp include/mysql/psi/psi_abi_v2.h.pp sql/mysqld.cc storage/perfschema/pfs.cc storage/perfschema/table_events_waits.cc storage/perfschema/table_helper.h 3159 Christopher Powers 2010-08-03 [merge] merge removed: dbug/sanity.c include/config-netware.h include/help_end.h include/help_start.h mysql-test/suite/perfschema/r/pfs_upgrade.result mysql-test/suite/perfschema/t/pfs_upgrade.test mysql-test/suite/rpl/r/rpl_temp_temporary.result mysql-test/suite/rpl/t/rpl_temp_temporary-master.opt mysql-test/suite/rpl/t/rpl_temp_temporary.test mysql-test/suite/sys_vars/inc/rpl_recovery_rank_basic.inc mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic_32.test mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic_64.test mysql-test/t/mysql-bug45236-master.opt mysys/mf_util.c mysys/my_netware.c mysys/my_realloc.c mysys/safemalloc.c netware/ netware/BUILD/ netware/BUILD/apply-patch netware/BUILD/compile-AUTOTOOLS netware/BUILD/compile-linux-tools netware/BUILD/compile-netware-END netware/BUILD/compile-netware-START netware/BUILD/compile-netware-all netware/BUILD/compile-netware-debug netware/BUILD/compile-netware-max netware/BUILD/compile-netware-max-debug netware/BUILD/compile-netware-src netware/BUILD/compile-netware-standard netware/BUILD/create-patch netware/BUILD/cron-build netware/BUILD/crontab netware/BUILD/knetware.imp netware/BUILD/mwasmnlm netware/BUILD/mwccnlm netware/BUILD/mwenv netware/BUILD/mwldnlm netware/BUILD/nwbuild netware/BUILD/openssl.imp netware/BUILD/save-patch netware/Makefile.am netware/comp_err.def netware/install_test_db.ncf netware/libmysql.def netware/libmysqlmain.c netware/my_manage.c netware/my_manage.h netware/my_print_defaults.def netware/myisam_ftdump.def netware/myisamchk.def netware/myisamlog.def netware/myisampack.def netware/mysql.def netware/mysql.xdc netware/mysql_client_test.def netware/mysql_fix_privilege_tables.pl netware/mysql_install_db.c netware/mysql_install_db.def netware/mysql_secure_installation.pl netware/mysql_test_run.c netware/mysql_test_run.def netware/mysql_upgrade.def netware/mysql_waitpid.def netware/mysqladmin.def netware/mysqlbinlog.def netware/mysqlcheck.def netware/mysqld.def netware/mysqld_safe.c netware/mysqld_safe.def netware/mysqldump.def netware/mysqlimport.def netware/mysqlshow.def netware/mysqlslap.def netware/mysqltest.def netware/perror.def netware/replace.def netware/resolve_stack_dump.def netware/resolveip.def netware/static_init_db.sql sql/my_lock.c sql/repl_failsafe.cc sql/repl_failsafe.h sql/thr_malloc.h.moved storage/perfschema/table_helper.h strings/bcmp.c added: Doxyfile-wl4895 config/ac-macros/maintainer.m4 include/my_compiler.h include/mysql/psi/mysql_table.h mysql-test/collections/disabled-per-push.list mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test mysql-test/include/ctype_unicode520.inc mysql-test/include/ctype_unicode_latin.inc mysql-test/include/rpl_diff_tables.inc mysql-test/r/server_uuid_embedded.result mysql-test/r/single_delete_update.result mysql-test/std_data/intersect-bug50389.tsv mysql-test/suite/innodb/r/innodb_bug54044.result mysql-test/suite/innodb/t/innodb_bug54044.test mysql-test/suite/perfschema/include/pfs_upgrade.inc mysql-test/suite/perfschema/include/table_io_basic_dml.inc mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc mysql-test/suite/perfschema/include/table_io_result_helper.inc mysql-test/suite/perfschema/include/table_io_setup_helper.inc mysql-test/suite/perfschema/r/csv_table_io.result mysql-test/suite/perfschema/r/indexed_table_io.result mysql-test/suite/perfschema/r/innodb_table_io.result mysql-test/suite/perfschema/r/memory_table_io.result mysql-test/suite/perfschema/r/merge_table_io.result mysql-test/suite/perfschema/r/multi_table_io.result mysql-test/suite/perfschema/r/myisam_table_io.result mysql-test/suite/perfschema/r/part_table_io.result mysql-test/suite/perfschema/r/pfs_upgrade_lc0.result mysql-test/suite/perfschema/r/pfs_upgrade_lc1.result mysql-test/suite/perfschema/r/pfs_upgrade_lc2.result mysql-test/suite/perfschema/r/privilege_table_io.result mysql-test/suite/perfschema/r/rollback_table_io.result mysql-test/suite/perfschema/r/start_server_no_table_hdl.result mysql-test/suite/perfschema/r/start_server_no_table_inst.result mysql-test/suite/perfschema/r/start_server_nothing.result mysql-test/suite/perfschema/r/temp_table_io.result mysql-test/suite/perfschema/r/thread_cache.result mysql-test/suite/perfschema/r/trigger_table_io.result mysql-test/suite/perfschema/r/view_table_io.result mysql-test/suite/perfschema/t/csv_table_io.test mysql-test/suite/perfschema/t/indexed_table_io.test mysql-test/suite/perfschema/t/innodb_table_io.test mysql-test/suite/perfschema/t/memory_table_io.test mysql-test/suite/perfschema/t/merge_table_io.test mysql-test/suite/perfschema/t/multi_table_io.test mysql-test/suite/perfschema/t/myisam_table_io.test mysql-test/suite/perfschema/t/part_table_io.test mysql-test/suite/perfschema/t/pfs_upgrade_lc0.test mysql-test/suite/perfschema/t/pfs_upgrade_lc1.test mysql-test/suite/perfschema/t/pfs_upgrade_lc2.test mysql-test/suite/perfschema/t/privilege_table_io.test mysql-test/suite/perfschema/t/rollback_table_io.test mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt mysql-test/suite/perfschema/t/start_server_no_table_hdl.test mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt mysql-test/suite/perfschema/t/start_server_no_table_inst.test mysql-test/suite/perfschema/t/start_server_nothing-master.opt mysql-test/suite/perfschema/t/start_server_nothing.test mysql-test/suite/perfschema/t/temp_table_io.test mysql-test/suite/perfschema/t/thread_cache.test mysql-test/suite/perfschema/t/trigger_table_io.test mysql-test/suite/perfschema/t/view_table_io.test mysql-test/suite/rpl/r/rpl_current_user.result mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result mysql-test/suite/rpl/r/rpl_savepoint.result mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result mysql-test/suite/rpl/t/rpl_current_user.cnf mysql-test/suite/rpl/t/rpl_current_user.test mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test mysql-test/suite/rpl/t/rpl_savepoint.test mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test mysql-test/t/server_uuid_embedded.test mysql-test/t/single_delete_update.test sql/sql_bootstrap.cc sql/sql_bootstrap.h storage/perfschema/table_helper.h unittest/mysys/my_malloc-t.c renamed: mysql-test/r/analyse.result => mysql-test/r/func_analyse.result mysql-test/t/analyse.test => mysql-test/t/func_analyse.test modified: .bzrignore BUILD-CMAKE BUILD/SETUP.sh BUILD/build_mccge.sh BUILD/check-cpu BUILD/compile-ia64-debug-max CMakeLists.txt* Makefile.am client/CMakeLists.txt* client/client_priv.h client/completion_hash.cc client/mysql.cc client/mysql_upgrade.c client/mysqladmin.cc client/mysqlbinlog.cc client/mysqlcheck.c client/mysqldump.c client/mysqlimport.c client/mysqlshow.c client/mysqlslap.c client/mysqltest.cc client/readline.cc client/sql_string.h cmake/build_configurations/mysql_release.cmake cmake/configure.pl cmake/install_layout.cmake* cmake/install_macros.cmake cmake/os/AIX.cmake cmake/os/FreeBSD.cmake cmake/os/Windows.cmake cmake/os/WindowsCache.cmake cmake/package_name.cmake cmake/ssl.cmake cmd-line-utils/readline/Makefile.am config.h.cmake config/ac-macros/misc.m4 configure.cmake configure.in dbug/CMakeLists.txt* dbug/Makefile.am dbug/dbug.c dbug/dbug_analyze.c dbug/user.r extra/CMakeLists.txt* extra/comp_err.c extra/my_print_defaults.c extra/mysql_waitpid.c extra/perror.c extra/replace.c extra/resolve_stack_dump.c extra/resolveip.c extra/yassl/CMakeLists.txt* extra/yassl/include/yassl_int.hpp extra/yassl/src/crypto_wrapper.cpp extra/yassl/src/socket_wrapper.cpp extra/yassl/taocrypt/CMakeLists.txt* extra/yassl/taocrypt/include/blowfish.hpp extra/yassl/taocrypt/include/misc.hpp extra/yassl/taocrypt/include/runtime.hpp extra/yassl/taocrypt/src/aes.cpp extra/yassl/taocrypt/src/algebra.cpp extra/yassl/taocrypt/src/blowfish.cpp extra/yassl/taocrypt/src/integer.cpp extra/yassl/taocrypt/src/misc.cpp extra/yassl/taocrypt/src/random.cpp extra/yassl/taocrypt/src/twofish.cpp extra/yassl/testsuite/test.hpp include/Makefile.am include/config-win.h include/hash.h include/lf.h include/m_ctype.h include/m_string.h include/my_alarm.h include/my_bitmap.h include/my_dbug.h include/my_global.h include/my_list.h include/my_net.h include/my_nosys.h include/my_pthread.h include/my_stacktrace.h include/my_sys.h include/my_time.h include/myisam.h include/mysql.h include/mysql/psi/psi.h include/mysys_err.h libmysql/CMakeLists.txt* libmysql/Makefile.am libmysql/Makefile.shared libmysql/dll.c libmysql/get_password.c libmysql/libmysql.c libmysqld/CMakeLists.txt libmysqld/Makefile.am libmysqld/examples/Makefile.am libmysqld/lib_sql.cc libmysqld/libmysqld.c mysql-test/collections/default.daily mysql-test/collections/default.experimental mysql-test/collections/default.push mysql-test/collections/mysql-next-mr.push mysql-test/collections/mysql-trunk.push mysql-test/extra/binlog_tests/binlog.test mysql-test/extra/binlog_tests/database.test mysql-test/extra/binlog_tests/drop_temp_table.test mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test mysql-test/extra/rpl_tests/rpl_conflicts.test mysql-test/include/ctype_numconv.inc mysql-test/include/diff_tables.inc mysql-test/include/mtr_check.sql mysql-test/include/mtr_warnings.sql mysql-test/include/mysqld--help.inc mysql-test/include/parser_bug21114.inc* mysql-test/include/show_msg.inc* mysql-test/include/show_msg80.inc* mysql-test/lib/My/Handles.pm* mysql-test/lib/My/SafeProcess/safe_kill_win.cc* mysql-test/lib/My/SafeProcess/safe_process.cc mysql-test/lib/My/SafeProcess/safe_process_win.cc* mysql-test/lib/mtr_cases.pm mysql-test/lib/v1/mtr_misc.pl mysql-test/lib/v1/mtr_report.pl mysql-test/lib/v1/mysql-test-run.pl mysql-test/mysql-stress-test.pl mysql-test/mysql-test-run.pl mysql-test/r/bug46080.result* mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ldml.result mysql-test/r/ctype_uca.result mysql-test/r/ctype_ucs.result mysql-test/r/ctype_utf16_uca.result mysql-test/r/ctype_utf32_uca.result mysql-test/r/error_simulation.result mysql-test/r/func_digest.result mysql-test/r/func_in.result mysql-test/r/func_like.result mysql-test/r/group_by.result mysql-test/r/having.result mysql-test/r/information_schema.result mysql-test/r/information_schema_parameters.result mysql-test/r/information_schema_routines.result mysql-test/r/key.result mysql-test/r/loaddata.result mysql-test/r/log_state.result mysql-test/r/lowercase_mixed_tmpdir_innodb.result* mysql-test/r/lowercase_table2.result mysql-test/r/lowercase_view.result mysql-test/r/merge.result mysql-test/r/mysql_upgrade.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/mysqldump.result mysql-test/r/partition_innodb.result mysql-test/r/range.result mysql-test/r/rpl_mysqldump_slave.result mysql-test/r/select.result mysql-test/r/sp_trans_log.result mysql-test/r/subselect.result mysql-test/r/subselect4.result mysql-test/r/update.result mysql-test/r/variables.result mysql-test/std_data/Index.xml mysql-test/suite/binlog/r/binlog_base64_flag.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_multi_engine.result mysql-test/suite/binlog/r/binlog_row_binlog.result mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/r/binlog_stm_binlog.result mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result* mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_base64_flag.test mysql-test/suite/binlog/t/binlog_killed_simulate.test mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result mysql-test/suite/engines/funcs/t/db_alter_collate_utf8.test mysql-test/suite/funcs_1/r/is_basics_mixed.result mysql-test/suite/funcs_1/r/is_columns_innodb.result mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_columns_memory.result mysql-test/suite/funcs_1/r/is_columns_myisam.result mysql-test/suite/funcs_1/r/is_columns_mysql.result mysql-test/suite/funcs_1/r/is_engines_myisam.result mysql-test/suite/ibmdb2i/include/have_i54.inc* mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result* mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result* mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test* mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test* mysql-test/suite/innodb/r/innodb_mysql.result mysql-test/suite/innodb/t/innodb_mysql.test mysql-test/suite/ndb/r/ndb_binlog_format.result mysql-test/suite/ndb/t/disabled.def mysql-test/suite/perfschema/include/start_server_common.inc mysql-test/suite/perfschema/r/dml_events_waits_current.result mysql-test/suite/perfschema/r/dml_events_waits_history.result mysql-test/suite/perfschema/r/dml_events_waits_history_long.result mysql-test/suite/perfschema/r/dml_setup_instruments.result mysql-test/suite/perfschema/r/func_file_io.result mysql-test/suite/perfschema/r/func_mutex.result mysql-test/suite/perfschema/r/myisam_file_io.result mysql-test/suite/perfschema/r/no_threads.result mysql-test/suite/perfschema/r/selects.result mysql-test/suite/perfschema/r/server_init.result mysql-test/suite/perfschema/r/start_server_no_cond_class.result mysql-test/suite/perfschema/r/start_server_no_cond_inst.result mysql-test/suite/perfschema/r/start_server_no_file_class.result mysql-test/suite/perfschema/r/start_server_no_file_inst.result mysql-test/suite/perfschema/r/start_server_no_mutex_class.result mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result mysql-test/suite/perfschema/r/start_server_no_thread_class.result mysql-test/suite/perfschema/r/start_server_no_thread_inst.result mysql-test/suite/perfschema/r/start_server_off.result mysql-test/suite/perfschema/r/start_server_on.result mysql-test/suite/perfschema/t/dml_events_waits_current.test mysql-test/suite/perfschema/t/dml_events_waits_history.test mysql-test/suite/perfschema/t/dml_events_waits_history_long.test mysql-test/suite/perfschema/t/func_file_io.test mysql-test/suite/perfschema/t/func_mutex.test mysql-test/suite/perfschema/t/misc.test mysql-test/suite/perfschema/t/myisam_file_io.test mysql-test/suite/perfschema/t/no_threads.test mysql-test/suite/perfschema/t/selects.test mysql-test/suite/perfschema/t/server_init.test mysql-test/suite/rpl/extension/bhs/rpl_1slave_base.cnf mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result mysql-test/suite/rpl/r/rpl_concurrency_error.result mysql-test/suite/rpl/r/rpl_drop_temp.result mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result mysql-test/suite/rpl/r/rpl_row_conflicts.result mysql-test/suite/rpl/r/rpl_server_uuid.result mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result mysql-test/suite/rpl/r/rpl_stm_conflicts.result mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result mysql-test/suite/rpl/r/rpl_stm_until.result mysql-test/suite/rpl/rpl_1slave_base.cnf mysql-test/suite/rpl/t/rpl_drop_temp.test mysql-test/suite/rpl/t/rpl_ip_mix.cnf mysql-test/suite/rpl/t/rpl_ip_mix2.cnf mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.cnf mysql-test/suite/rpl/t/rpl_ipv6.cnf mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test mysql-test/suite/rpl/t/rpl_server_uuid.test mysql-test/suite/rpl/t/rpl_stm_until.test mysql-test/suite/rpl_ndb/my.cnf mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test mysql-test/suite/sys_vars/inc/collation_basic.inc mysql-test/suite/sys_vars/r/collation_connection_basic.result mysql-test/suite/sys_vars/r/collation_database_basic.result mysql-test/suite/sys_vars/r/collation_server_basic.result mysql-test/suite/sys_vars/r/sql_select_limit_func.result mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test mysql-test/suite/sys_vars/t/sql_select_limit_func.test mysql-test/t/bug46080-master.opt mysql-test/t/ctype_ldml.test mysql-test/t/ctype_uca.test mysql-test/t/ctype_ucs.test mysql-test/t/ctype_utf16.test mysql-test/t/ctype_utf16_uca.test mysql-test/t/ctype_utf32_uca.test mysql-test/t/disabled.def mysql-test/t/error_simulation.test mysql-test/t/func_digest.test mysql-test/t/func_in.test mysql-test/t/func_like.test mysql-test/t/group_by.test mysql-test/t/having.test mysql-test/t/information_schema.test mysql-test/t/innodb_mysql_lock2.test mysql-test/t/key.test mysql-test/t/loaddata.test mysql-test/t/lowercase_table2.test mysql-test/t/lowercase_view.test mysql-test/t/merge.test mysql-test/t/mysql_delimiter_19799.sql* mysql-test/t/mysql_upgrade.test mysql-test/t/mysqlbinlog.test mysql-test/t/mysqlbinlog2.test mysql-test/t/mysqldump.test mysql-test/t/partition_innodb.test mysql-test/t/range.test mysql-test/t/rpl_mysqldump_slave.test mysql-test/t/select.test mysql-test/t/sp_trans_log.test mysql-test/t/subselect.test mysql-test/t/subselect4.test mysql-test/t/update.test mysql-test/t/variables.test mysql-test/t/windows.test* mysys/CMakeLists.txt* mysys/Makefile.am mysys/array.c mysys/charset-def.c mysys/charset.c mysys/default.c mysys/default_modify.c mysys/errors.c mysys/hash.c mysys/lf_alloc-pin.c mysys/lf_dynarray.c mysys/lf_hash.c mysys/list.c mysys/mf_cache.c mysys/mf_dirname.c mysys/mf_fn_ext.c mysys/mf_iocache.c mysys/mf_keycache.c mysys/mf_keycaches.c mysys/mf_loadpath.c mysys/mf_pack.c mysys/mf_path.c mysys/mf_sort.c mysys/mf_tempdir.c mysys/mf_tempfile.c mysys/mf_unixpath.c mysys/mf_wfile.c mysys/my_alloc.c mysys/my_bitmap.c mysys/my_clock.c mysys/my_compress.c mysys/my_copy.c mysys/my_delete.c mysys/my_error.c mysys/my_file.c mysys/my_fopen.c mysys/my_gethwaddr.c mysys/my_getopt.c mysys/my_getsystime.c mysys/my_getwd.c mysys/my_handler.c mysys/my_init.c mysys/my_largepage.c mysys/my_lib.c mysys/my_lock.c mysys/my_lockmem.c mysys/my_malloc.c mysys/my_mess.c mysys/my_mmap.c mysys/my_once.c mysys/my_open.c mysys/my_pthread.c mysys/my_rdtsc.c mysys/my_redel.c mysys/my_sleep.c mysys/my_static.c mysys/my_static.h mysys/my_windac.c mysys/queues.c mysys/stacktrace.c mysys/string.c mysys/test_charset.c mysys/testhash.c mysys/thr_alarm.c mysys/thr_lock.c mysys/tree.c mysys/trie.c packaging/WiX/CMakeLists.txt packaging/WiX/CPackWixConfig.cmake packaging/WiX/ca/CMakeLists.txt packaging/WiX/create_msi.cmake.in packaging/WiX/mysql_server.wxs.in plugin/daemon_example/Makefile.am plugin/daemon_example/daemon_example.cc plugin/semisync/Makefile.am plugin/semisync/semisync_master.h regex/CMakeLists.txt* regex/regcomp.c scripts/CMakeLists.txt* scripts/Makefile.am scripts/comp_sql.c scripts/make_binary_distribution.sh scripts/mysql_config.pl.in scripts/mysql_config.sh scripts/mysql_secure_installation.pl.in scripts/mysql_secure_installation.sh scripts/mysql_system_tables.sql scripts/mysql_system_tables_fix.sql scripts/mysqld_safe.sh scripts/mysqlhotcopy.sh sql-common/client.c sql-common/my_time.c sql/CMakeLists.txt* sql/Makefile.am sql/authors.h sql/binlog.cc sql/binlog.h sql/client_settings.h sql/contributors.h sql/custom_conf.h sql/debug_sync.cc sql/debug_sync.h sql/derror.cc sql/derror.h sql/des_key_file.cc sql/des_key_file.h sql/discover.cc sql/discover.h sql/event_data_objects.cc sql/event_data_objects.h sql/event_db_repository.cc sql/event_db_repository.h sql/event_parse_data.cc sql/event_parse_data.h sql/event_queue.cc sql/event_queue.h sql/event_scheduler.cc* sql/event_scheduler.h sql/examples/CMakeLists.txt* sql/field.cc sql/field_conv.cc sql/filesort.cc sql/filesort.h sql/frm_crypt.cc sql/frm_crypt.h sql/gen_lex_hash.cc sql/gstream.cc sql/gstream.h sql/ha_ndbcluster.cc sql/ha_ndbcluster.h sql/ha_ndbcluster_binlog.cc sql/ha_ndbcluster_binlog.h sql/ha_ndbcluster_cond.cc sql/ha_ndbcluster_cond.h sql/ha_ndbcluster_tables.h sql/ha_partition.cc sql/ha_partition.h sql/handler.cc sql/handler.h sql/hash_filo.cc sql/hash_filo.h sql/hostname.cc sql/hostname.h sql/init.cc sql/init.h sql/item.cc sql/item.h sql/item_buff.cc sql/item_cmpfunc.cc sql/item_cmpfunc.h sql/item_create.cc sql/item_create.h sql/item_func.cc sql/item_func.h sql/item_geofunc.cc sql/item_geofunc.h sql/item_row.cc sql/item_row.h sql/item_strfunc.cc sql/item_strfunc.h sql/item_subselect.cc sql/item_subselect.h sql/item_sum.cc sql/item_sum.h sql/item_timefunc.cc sql/item_timefunc.h sql/item_xmlfunc.cc sql/item_xmlfunc.h sql/key.cc sql/key.h sql/keycaches.cc sql/keycaches.h sql/lex.h sql/lex_symbol.h sql/lock.cc sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/log_event_old.cc sql/log_event_old.h sql/main.cc sql/mdl.cc sql/mdl.h sql/mf_iocache.cc sql/my_decimal.cc sql/my_decimal.h sql/mysqld.h sql/mysqld_suffix.h sql/net_serv.cc sql/opt_range.cc sql/opt_range.h sql/opt_sum.cc sql/parse_file.cc sql/parse_file.h sql/partition_element.h sql/partition_info.cc sql/partition_info.h sql/procedure.cc sql/procedure.h sql/protocol.cc sql/protocol.h sql/records.cc sql/records.h sql/replication.h sql/rpl_filter.cc sql/rpl_filter.h sql/rpl_handler.cc sql/rpl_handler.h sql/rpl_injector.cc sql/rpl_injector.h sql/rpl_master.cc sql/rpl_master.h sql/rpl_mi.cc sql/rpl_mi.h sql/rpl_record.cc sql/rpl_record.h sql/rpl_record_old.h sql/rpl_reporting.cc sql/rpl_reporting.h sql/rpl_rli.cc sql/rpl_rli.h sql/rpl_slave.cc sql/rpl_slave.h sql/rpl_tblmap.cc sql/rpl_tblmap.h sql/rpl_utility.cc sql/rpl_utility.h sql/scheduler.cc sql/scheduler.h sql/set_var.cc sql/set_var.h sql/sha2.cc sql/sp.cc sql/sp.h sql/sp_cache.cc sql/sp_cache.h sql/sp_head.cc sql/sp_head.h sql/sp_pcontext.cc sql/sp_pcontext.h sql/sp_rcontext.cc sql/sp_rcontext.h sql/spatial.cc sql/spatial.h sql/sql_acl.cc sql/sql_acl.h sql/sql_alloc_error_handler.cc sql/sql_analyse.cc sql/sql_analyse.h sql/sql_array.h sql/sql_audit.cc sql/sql_audit.h sql/sql_base.cc sql/sql_base.h sql/sql_binlog.cc sql/sql_binlog.h sql/sql_bitmap.h sql/sql_cache.cc sql/sql_cache.h sql/sql_class.cc sql/sql_class.h sql/sql_client.cc sql/sql_connect.cc sql/sql_connect.h sql/sql_const.h sql/sql_crypt.cc sql/sql_crypt.h sql/sql_cursor.cc sql/sql_cursor.h sql/sql_db.cc sql/sql_db.h sql/sql_delete.cc sql/sql_delete.h sql/sql_derived.cc sql/sql_derived.h sql/sql_do.cc sql/sql_do.h sql/sql_error.cc sql/sql_error.h sql/sql_handler.cc sql/sql_handler.h sql/sql_help.cc sql/sql_help.h sql/sql_insert.cc sql/sql_insert.h sql/sql_lex.cc sql/sql_lex.h sql/sql_list.cc sql/sql_list.h sql/sql_load.cc sql/sql_load.h sql/sql_locale.cc sql/sql_locale.h sql/sql_manager.cc sql/sql_manager.h sql/sql_map.cc sql/sql_map.h sql/sql_olap.cc sql/sql_parse.cc sql/sql_parse.h sql/sql_partition.cc sql/sql_partition.h sql/sql_plist.h sql/sql_plugin.cc sql/sql_plugin.h sql/sql_plugin_services.h sql/sql_prepare.cc sql/sql_prepare.h sql/sql_priv.h sql/sql_profile.cc sql/sql_profile.h sql/sql_rename.cc sql/sql_rename.h sql/sql_select.cc sql/sql_select.h sql/sql_servers.cc sql/sql_servers.h sql/sql_show.cc sql/sql_show.h sql/sql_signal.cc sql/sql_signal.h sql/sql_sort.h sql/sql_string.cc sql/sql_string.h sql/sql_table.cc sql/sql_table.h sql/sql_tablespace.cc sql/sql_tablespace.h sql/sql_test.cc sql/sql_test.h sql/sql_time.cc sql/sql_time.h sql/sql_trigger.cc sql/sql_trigger.h sql/sql_truncate.cc sql/sql_udf.cc sql/sql_udf.h sql/sql_union.cc sql/sql_union.h sql/sql_update.cc sql/sql_update.h sql/sql_view.cc sql/sql_view.h sql/sql_yacc.yy sql/strfunc.cc sql/strfunc.h sql/structs.h sql/sys_vars.cc sql/sys_vars.h sql/sys_vars_shared.h sql/table.cc sql/table.h sql/thr_malloc.cc sql/thr_malloc.h sql/transaction.cc sql/transaction.h sql/tzfile.h sql/tztime.cc sql/tztime.h sql/udf_example.c sql/uniques.cc sql/unireg.cc sql/unireg.h storage/archive/Makefile.am storage/archive/archive_reader.c storage/archive/ha_archive.cc storage/blackhole/Makefile.am storage/blackhole/ha_blackhole.cc storage/csv/Makefile.am storage/csv/ha_tina.cc storage/csv/ha_tina.h storage/csv/transparent_file.cc storage/example/Makefile.am storage/example/ha_example.cc storage/federated/Makefile.am storage/federated/ha_federated.cc storage/heap/CMakeLists.txt* storage/heap/ha_heap.cc storage/heap/hp_block.c storage/heap/hp_close.c storage/heap/hp_create.c storage/heap/hp_hash.c storage/heap/hp_open.c storage/heap/hp_rename.c storage/heap/hp_test2.c storage/ibmdb2i/Makefile.am storage/ibmdb2i/db2i_constraints.cc storage/ibmdb2i/db2i_conversion.cc storage/ibmdb2i/db2i_file.cc storage/ibmdb2i/db2i_file.h storage/ibmdb2i/db2i_global.h storage/ibmdb2i/db2i_ileBridge.cc storage/ibmdb2i/db2i_ileBridge.h storage/ibmdb2i/ha_ibmdb2i.cc storage/innobase/CMakeLists.txt storage/innobase/Makefile.am storage/innobase/dict/dict0crea.c storage/innobase/handler/ha_innodb.cc storage/innobase/include/os0file.h storage/innobase/include/os0file.ic storage/innobase/include/srv0start.h storage/innobase/include/sync0rw.ic storage/innobase/include/sync0sync.ic storage/innobase/include/univ.i storage/innobase/include/ut0dbg.h storage/innobase/os/os0file.c storage/innobase/os/os0proc.c storage/innobase/os/os0thread.c storage/innobase/row/row0merge.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0dbg.c storage/innobase/ut/ut0mem.c storage/myisam/CMakeLists.txt* storage/myisam/ft_boolean_search.c storage/myisam/ft_nlq_search.c storage/myisam/ft_stopwords.c storage/myisam/ha_myisam.cc storage/myisam/mi_check.c storage/myisam/mi_close.c storage/myisam/mi_create.c storage/myisam/mi_dynrec.c storage/myisam/mi_log.c storage/myisam/mi_open.c storage/myisam/mi_packrec.c storage/myisam/mi_preload.c storage/myisam/mi_search.c storage/myisam/mi_static.c storage/myisam/mi_test2.c storage/myisam/mi_test3.c storage/myisam/mi_unique.c storage/myisam/mi_write.c storage/myisam/myisam_ftdump.c storage/myisam/myisamchk.c storage/myisam/myisamdef.h storage/myisam/myisamlog.c storage/myisam/myisampack.c storage/myisam/rt_index.c storage/myisam/sort.c storage/myisammrg/CMakeLists.txt* storage/myisammrg/ha_myisammrg.cc storage/myisammrg/myrg_close.c storage/myisammrg/myrg_open.c storage/ndb/config/win-lib.am storage/ndb/config/win-prg.am storage/ndb/include/util/NdbAutoPtr.hpp storage/ndb/src/common/portlib/NdbMutex.c storage/ndb/src/mgmapi/mgmapi.cpp storage/ndb/src/mgmapi/ndb_logevent.cpp storage/ndb/src/mgmclient/main.cpp storage/ndb/src/mgmsrv/main.cpp storage/ndb/src/ndbapi/DictCache.cpp storage/ndb/test/ndbapi/testIndexStat.cpp storage/ndb/tools/restore/consumer_restore.cpp storage/perfschema/pfs.cc storage/perfschema/unittest/CMakeLists.txt storage/perfschema/unittest/Makefile.am storage/perfschema/unittest/conf.txt storage/perfschema/unittest/pfs-t.cc storage/perfschema/unittest/pfs_instr-t.cc storage/perfschema/unittest/pfs_instr_class-t.cc strings/CMakeLists.txt* strings/Makefile.am strings/conf_to_src.c strings/ctype-big5.c strings/ctype-bin.c strings/ctype-cp932.c strings/ctype-czech.c strings/ctype-euc_kr.c strings/ctype-eucjpms.c strings/ctype-extra.c strings/ctype-gb2312.c strings/ctype-gbk.c strings/ctype-latin1.c strings/ctype-mb.c strings/ctype-simple.c strings/ctype-sjis.c strings/ctype-tis620.c strings/ctype-uca.c strings/ctype-ucs2.c strings/ctype-ujis.c strings/ctype-utf8.c strings/ctype-win1250ch.c strings/ctype.c strings/do_ctype.c strings/int2str.c strings/my_strtoll10.c strings/str_test.c strings/strtol.c strings/strtoul.c strings/uca-dump.c strings/xml.c tests/CMakeLists.txt* tests/mysql_client_test.c tests/thread_test.c unittest/mysys/CMakeLists.txt unittest/mysys/Makefile.am vio/CMakeLists.txt* vio/test-ssl.c vio/test-sslclient.c vio/test-sslserver.c vio/vio.c vio/viossl.c vio/viosslfactories.c vio/viotest-ssl.c win/mysql_manifest.cmake* zlib/CMakeLists.txt* === removed file 'include/mysql/psi/mysql_network.h' --- a/include/mysql/psi/mysql_network.h 2010-05-10 19:16:42 +0000 +++ b/include/mysql/psi/mysql_network.h 1970-01-01 00:00:00 +0000 @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; version 2 of the -License. - -This program 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. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -02110-1301 USA -*/ - -#ifndef MYSQL_NETWORK_H -#define MYSQL_NETWORK_H - -/* For strlen() */ -#include -/* For MY_STAT */ -#include -/* For my_chsize */ -#include - -/** - @file mysql/psi/mysql_network.h -[...] -*/ - -#include "mysql/psi/psi.h" - -/** - @defgroup Network_instrumentation Network Instrumentation - @ingroup Instrumentation_interface - @{ -*/ - - -/** @} (end of group Network_instrumentation) */ - -#endif - === modified file 'include/mysql/psi/mysql_socket.h' --- a/include/mysql/psi/mysql_socket.h 2010-07-29 19:56:17 +0000 +++ b/include/mysql/psi/mysql_socket.h 2010-08-04 15:47:50 +0000 @@ -42,6 +42,24 @@ Foundation, Inc., 51 Franklin St, Fifth */ /** + @def MYSQL_SOCKET_WAIT_VARIABLES + Instrumentation helper for socket waits. + This instrumentation declares local variables. + Do not use a ';' after this macro + @param LOCKER the locker + @param STATE the locker state + @sa MYSQL_START_SOCKET_WAIT. + @sa MYSQL_END_SOCKET_WAIT. +*/ +#ifdef HAVE_PSI_INTERFACE + #define MYSQL_SOCKET_WAIT_VARIABLES(LOCKER, STATE) \ + PSI_socket_locker* LOCKER; \ + PSI_socket_locker_state STATE; +#else + #define MYSQL_SOCKET_WAIT_VARIABLES(LOCKER, STATE) +#endif + +/** @def MYSQL_START_SOCKET_WAIT Instrumentation helper for socket waits. This instrumentation marks the start of a wait event. @@ -56,7 +74,7 @@ Foundation, Inc., 51 Franklin St, Fifth inline_mysql_start_socket_wait(PSI, OP, INDEX, FLAGS, __FILE__, __LINE__) #else #define MYSQL_START_SOCKET_WAIT(PSI, OP, INDEX, FLAGS) \ - NULL + do {} while (0) #endif /** @@ -74,20 +92,23 @@ Foundation, Inc., 51 Franklin St, Fifth #endif + #ifdef HAVE_PSI_INTERFACE /** Instrumentation calls for MYSQL_START_SOCKET_WAIT. @sa MYSQL_START_SOCKET_WAIT. */ -static inline struct PSI_socket_locker * -inline_mysql_start_socket_wait(struct PSI_socket *psi, enum PSI_socket_operation op, +static inline PSI_socket_locker * +inline_mysql_start_socket_wait(PSI_socket_locker_state *state, + PSI_socket *psi, enum PSI_socket_operation op, uint index, ulong flags, const char *src_file, int src_line) { - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + if (likely(PSI_server && psi)) { - locker= PSI_server->get_thread_socket_locker(psi, op); + locker= PSI_server->get_thread_socket_locker(state, psi, op); if (likely(locker != NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -99,7 +120,7 @@ inline_mysql_start_socket_wait(struct PS @sa MYSQL_END_SOCKET_WAIT. */ static inline void -inline_mysql_end_socket_wait(struct PSI_socket_locker *locker) +inline_mysql_end_socket_wait(PSI_socket_locker *locker) { if (likely(locker != NULL)) PSI_server->end_socket_wait(locker); @@ -290,7 +311,7 @@ struct st_mysql_socket for binary compatibility of the @c MYSQL_FILE interface. */ - struct PSI_socket *m_psi; + PSI_socket *m_psi; }; /** @@ -340,10 +361,12 @@ inline_mysql_socket_socketpair int result = 0; #if 0 //TBD #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_CREATE); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_CREATE); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -369,10 +392,12 @@ inline_mysql_socket_bind { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_BIND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_BIND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -400,10 +425,12 @@ inline_mysql_socket_getsockname { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_BIND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_BIND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -428,10 +455,12 @@ inline_mysql_socket_connect { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_CONNECT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_CONNECT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -456,10 +485,12 @@ inline_mysql_socket_getpeername { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_BIND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_BIND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -484,10 +515,12 @@ inline_mysql_socket_send { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_SEND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_SEND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -512,10 +545,12 @@ inline_mysql_socket_recv { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_RECV); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_RECV); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -540,10 +575,12 @@ inline_mysql_socket_sendto { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_SEND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_SEND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -568,10 +605,12 @@ inline_mysql_socket_recvfrom { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_RECV); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_RECV); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -596,10 +635,12 @@ inline_mysql_socket_sendmsg { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_SEND); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_SEND); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -624,10 +665,12 @@ inline_mysql_socket_recvmsg { ssize_t result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_RECV); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_RECV); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -652,10 +695,12 @@ inline_mysql_socket_getsockopt { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_OPT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_OPT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -680,10 +725,12 @@ inline_mysql_socket_setsockopt { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_OPT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_OPT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -708,10 +755,12 @@ inline_mysql_socket_listen { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_CONNECT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_CONNECT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -736,12 +785,14 @@ inline_mysql_socket_accept { MYSQL_SOCKET socket_accept = {0, NULL}; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, &socket_accept.fd) : NULL; if (likely(PSI_server != NULL && socket_accept.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(socket_accept.m_psi, PSI_SOCKET_CONNECT); + locker= PSI_server->get_thread_socket_locker(&state, socket_accept.m_psi, PSI_SOCKET_CONNECT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -772,7 +823,9 @@ inline_mysql_socket_accept4 { MYSQL_SOCKET socket_accept = {0, NULL}; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, &socket_accept.fd) : NULL; if (likely(PSI_server != NULL && socket_accept.m_psi != NULL)) @@ -806,10 +859,12 @@ inline_mysql_socket_close { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_CLOSE); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_CLOSE); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -834,10 +889,12 @@ inline_mysql_socket_shutdown { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_SHUTDOWN); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_SHUTDOWN); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -862,10 +919,12 @@ inline_mysql_socket_sockatmark { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_STAT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_STAT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } @@ -890,10 +949,12 @@ inline_mysql_socket_isfdtype { int result; #ifdef HAVE_PSI_INTERFACE - struct PSI_socket_locker *locker= NULL; + PSI_socket_locker *locker= NULL; + PSI_socket_locker_state state; + if (likely(PSI_server != NULL && mysql_socket.m_psi != NULL)) { - locker= PSI_server->get_thread_socket_locker(mysql_socket.m_psi, PSI_SOCKET_STAT); + locker= PSI_server->get_thread_socket_locker(&state, mysql_socket.m_psi, PSI_SOCKET_STAT); if (likely(locker !=NULL)) PSI_server->start_socket_wait(locker, src_file, src_line); } === modified file 'include/mysql/psi/psi_abi_v1.h.pp' --- a/include/mysql/psi/psi_abi_v1.h.pp 2010-08-04 03:19:48 +0000 +++ b/include/mysql/psi/psi_abi_v1.h.pp 2010-08-04 15:47:50 +0000 @@ -8,6 +8,7 @@ struct PSI_table_share; struct PSI_table; struct PSI_thread; struct PSI_file; +struct PSI_socket; struct PSI_table_locker; struct PSI_bootstrap { @@ -63,11 +64,25 @@ enum PSI_table_operation PSI_TABLE_UPDATE_ROW= 4, PSI_TABLE_DELETE_ROW= 5 }; +enum PSI_socket_operation +{ + PSI_SOCKET_CREATE= 0, + PSI_SOCKET_CONNECT= 1, + PSI_SOCKET_BIND= 2, + PSI_SOCKET_CLOSE= 3, + PSI_SOCKET_SEND= 4, + PSI_SOCKET_RECV= 5, + PSI_SOCKET_SEEK= 6, + PSI_SOCKET_OPT= 7, + PSI_SOCKET_STAT= 8, + PSI_SOCKET_SHUTDOWN= 9 +}; typedef unsigned int PSI_mutex_key; typedef unsigned int PSI_rwlock_key; typedef unsigned int PSI_cond_key; typedef unsigned int PSI_thread_key; typedef unsigned int PSI_file_key; +typedef unsigned int PSI_socket_key; struct PSI_mutex_info_v1 { PSI_mutex_key *m_key; @@ -98,6 +113,12 @@ struct PSI_file_info_v1 const char *m_name; int m_flags; }; +struct PSI_socket_info_v1 +{ + PSI_socket_key *m_key; + const char *m_name; + int m_flags; +}; struct PSI_mutex_locker_state_v1 { uint m_flags; @@ -164,6 +185,19 @@ struct PSI_table_locker_state_v1 int m_src_line; void *m_wait; }; +struct PSI_socket_locker_state_v1 +{ + uint m_flags; + struct PSI_socket *m_socket; + struct PSI_thread *m_thread; + size_t m_number_of_bytes; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + enum PSI_socket_operation m_operation; + const char* m_src_file; + int m_src_line; + void *m_wait; +}; typedef void (*register_mutex_v1_t) (const char *category, struct PSI_mutex_info_v1 *info, int count); typedef void (*register_rwlock_v1_t) @@ -174,6 +208,8 @@ typedef void (*register_thread_v1_t) (const char *category, struct PSI_thread_info_v1 *info, int count); typedef void (*register_file_v1_t) (const char *category, struct PSI_file_info_v1 *info, int count); +typedef void (*register_socket_v1_t) + (const char *category, struct PSI_socket_info_v1 *info, int count); typedef struct PSI_mutex* (*init_mutex_v1_t) (PSI_mutex_key key, const void *identity); typedef void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex); @@ -183,6 +219,9 @@ typedef void (*destroy_rwlock_v1_t)(stru typedef struct PSI_cond* (*init_cond_v1_t) (PSI_cond_key key, const void *identity); typedef void (*destroy_cond_v1_t)(struct PSI_cond *cond); +typedef struct PSI_socket* (*init_socket_v1_t) + (PSI_socket_key key, const void *identity); +typedef void (*destroy_socket_v1_t)(struct PSI_socket *socket); typedef struct PSI_table_share* (*get_table_share_v1_t) (my_bool temporary, struct TABLE_SHARE *share); typedef void (*release_table_share_v1_t)(struct PSI_table_share *share); @@ -231,6 +270,9 @@ typedef struct PSI_file_locker* (*get_th typedef struct PSI_file_locker* (*get_thread_file_descriptor_locker_v1_t) (struct PSI_file_locker_state_v1 *state, File file, enum PSI_file_operation op); +typedef struct PSI_socket_locker* (*get_thread_socket_locker_v1_t) + (struct PSI_socket_locker_state_v1 *state, + struct PSI_socket *socket, enum PSI_socket_operation op); typedef void (*unlock_mutex_v1_t) (struct PSI_mutex *mutex); typedef void (*unlock_rwlock_v1_t) @@ -268,6 +310,18 @@ typedef void (*start_file_wait_v1_t) const char *src_file, uint src_line); typedef void (*end_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count); +typedef void (*start_socket_wait_v1_t) + (struct PSI_socket_locker *locker, + const char *src_file, uint src_line); +typedef void (*end_socket_wait_v1_t) + (struct PSI_socket_locker *locker); +typedef void (*set_socket_descriptor_v1_t)(struct PSI_socket *socket, + uint fd); +typedef void (*set_socket_address_v1_t)(struct PSI_socket *socket, + const struct sockaddr * addr); +typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket, + uint fd, + const struct sockaddr * addr); struct PSI_v1 { register_mutex_v1_t register_mutex; @@ -275,12 +329,15 @@ struct PSI_v1 register_cond_v1_t register_cond; register_thread_v1_t register_thread; register_file_v1_t register_file; + register_socket_v1_t register_socket; init_mutex_v1_t init_mutex; destroy_mutex_v1_t destroy_mutex; init_rwlock_v1_t init_rwlock; destroy_rwlock_v1_t destroy_rwlock; init_cond_v1_t init_cond; destroy_cond_v1_t destroy_cond; + init_socket_v1_t init_socket; + destroy_socket_v1_t destroy_socket; get_table_share_v1_t get_table_share; release_table_share_v1_t release_table_share; drop_table_share_v1_t drop_table_share; @@ -301,6 +358,7 @@ struct PSI_v1 get_thread_file_name_locker_v1_t get_thread_file_name_locker; get_thread_file_stream_locker_v1_t get_thread_file_stream_locker; get_thread_file_descriptor_locker_v1_t get_thread_file_descriptor_locker; + get_thread_socket_locker_v1_t get_thread_socket_locker; unlock_mutex_v1_t unlock_mutex; unlock_rwlock_v1_t unlock_rwlock; signal_cond_v1_t signal_cond; @@ -321,6 +379,11 @@ struct PSI_v1 end_file_open_wait_and_bind_to_descriptor; start_file_wait_v1_t start_file_wait; end_file_wait_v1_t end_file_wait; + start_socket_wait_v1_t start_socket_wait; + end_socket_wait_v1_t end_socket_wait; + set_socket_descriptor_v1_t set_socket_descriptor; + set_socket_address_v1_t set_socket_address; + set_socket_info_v1_t set_socket_info; }; typedef struct PSI_v1 PSI; typedef struct PSI_mutex_info_v1 PSI_mutex_info; @@ -328,10 +391,12 @@ typedef struct PSI_rwlock_info_v1 PSI_rw typedef struct PSI_cond_info_v1 PSI_cond_info; typedef struct PSI_thread_info_v1 PSI_thread_info; typedef struct PSI_file_info_v1 PSI_file_info; +typedef struct PSI_socket_info_v1 PSI_socket_info; typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v1 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v1 PSI_file_locker_state; typedef struct PSI_table_locker_state_v1 PSI_table_locker_state; +typedef struct PSI_socket_locker_state_v1 PSI_socket_locker_state; extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; C_MODE_END === modified file 'include/mysql/psi/psi_abi_v2.h.pp' --- a/include/mysql/psi/psi_abi_v2.h.pp 2010-08-04 03:19:48 +0000 +++ b/include/mysql/psi/psi_abi_v2.h.pp 2010-08-04 15:47:50 +0000 @@ -8,6 +8,7 @@ struct PSI_table_share; struct PSI_table; struct PSI_thread; struct PSI_file; +struct PSI_socket; struct PSI_table_locker; struct PSI_bootstrap { @@ -63,11 +64,25 @@ enum PSI_table_operation PSI_TABLE_UPDATE_ROW= 4, PSI_TABLE_DELETE_ROW= 5 }; +enum PSI_socket_operation +{ + PSI_SOCKET_CREATE= 0, + PSI_SOCKET_CONNECT= 1, + PSI_SOCKET_BIND= 2, + PSI_SOCKET_CLOSE= 3, + PSI_SOCKET_SEND= 4, + PSI_SOCKET_RECV= 5, + PSI_SOCKET_SEEK= 6, + PSI_SOCKET_OPT= 7, + PSI_SOCKET_STAT= 8, + PSI_SOCKET_SHUTDOWN= 9 +}; typedef unsigned int PSI_mutex_key; typedef unsigned int PSI_rwlock_key; typedef unsigned int PSI_cond_key; typedef unsigned int PSI_thread_key; typedef unsigned int PSI_file_key; +typedef unsigned int PSI_socket_key; struct PSI_v2 { int placeholder; @@ -112,16 +127,22 @@ struct PSI_table_locker_state_v2 { int placeholder; }; +struct PSI_socket_locker_state_v2 +{ + int placeholder; +}; typedef struct PSI_v2 PSI; typedef struct PSI_mutex_info_v2 PSI_mutex_info; typedef struct PSI_rwlock_info_v2 PSI_rwlock_info; typedef struct PSI_cond_info_v2 PSI_cond_info; typedef struct PSI_thread_info_v2 PSI_thread_info; typedef struct PSI_file_info_v2 PSI_file_info; +typedef struct PSI_socket_info_v2 PSI_socket_info; typedef struct PSI_mutex_locker_state_v2 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v2 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v2 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v2 PSI_file_locker_state; typedef struct PSI_table_locker_state_v2 PSI_table_locker_state; +typedef struct PSI_socket_locker_state_v2 PSI_socket_locker_state; extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; C_MODE_END === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2010-08-04 03:19:48 +0000 +++ b/sql/mysqld.cc 2010-08-04 15:47:50 +0000 @@ -5308,8 +5308,8 @@ void handle_connections_sockets() { if (socket_errno != SOCKET_EINTR) { - if (!select_errors++ && !abort_loop) /* purecov: inspected */ - sql_print_error("mysqld: Got error %d from select",socket_errno); /* purecov: inspected */ + if (!select_errors++ && !abort_loop) /* purecov: inspected */ + sql_print_error("mysqld: Got error %d from select",socket_errno); /* purecov: inspected */ } MAYBE_BROKEN_SYSCALL continue; @@ -5364,18 +5364,17 @@ void handle_connections_sockets() for (uint retry=0; retry < MAX_ACCEPT_RETRY; retry++) { size_socket length= sizeof(struct sockaddr_storage); - new_sock= mysql_socket_accept(key_socket_handle_connection, sock, (struct sockaddr *)(&cAddr), &length); - &length); - if (new_sock != INVALID_SOCKET || + new_sock= mysql_socket_accept(key_socket_handle_connection, sock, + (struct sockaddr *)(&cAddr), &length); if (mysql_socket_getfd(new_sock) != INVALID_SOCKET || - (socket_errno != SOCKET_EINTR && socket_errno != SOCKET_EAGAIN)) - break; + (socket_errno != SOCKET_EINTR && socket_errno != SOCKET_EAGAIN)) + break; MAYBE_BROKEN_SYSCALL; #if !defined(NO_FCNTL_NONBLOCK) if (!(test_flags & TEST_BLOCKING)) { - if (retry == MAX_ACCEPT_RETRY - 1) - fcntl(mysql_socket_getfd(sock), F_SETFL, flags); // Try without O_NONBLOCK + if (retry == MAX_ACCEPT_RETRY - 1) + fcntl(mysql_socket_getfd(sock), F_SETFL, flags); // Try without O_NONBLOCK } #endif } @@ -5386,10 +5385,10 @@ void handle_connections_sockets() if (mysql_socket_getfd(new_sock) == INVALID_SOCKET) { if ((error_count++ & 255) == 0) // This can happen often - sql_perror("Error in accept"); + sql_perror("Error in accept"); MAYBE_BROKEN_SYSCALL; if (socket_errno == SOCKET_ENFILE || socket_errno == SOCKET_EMFILE) - sleep(1); // Give other threads some time + sleep(1); // Give other threads some time continue; } @@ -5397,33 +5396,34 @@ void handle_connections_sockets() { if (mysql_socket_getfd(sock) == mysql_socket_getfd(ip_sock)) { - struct request_info req; - signal(SIGCHLD, SIG_DFL); - request_init(&req, RQ_DAEMON, libwrapName, RQ_FILE, mysql_socket_getfd(new_sock), NULL); //TBD cwp - my_fromhost(&req); - if (!my_hosts_access(&req)) - { - /* - This may be stupid but refuse() includes an exit(0) - which we surely don't want... - clean_exit() - same stupid thing ... - */ - syslog(deny_severity, "refused connect from %s", - my_eval_client(&req)); - - /* - C++ sucks (the gibberish in front just translates the supplied - sink function pointer in the req structure from a void (*sink)(); - to a void(*sink)(int) if you omit the cast, the C++ compiler - will cry... - */ - if (req.sink) - ((void (*)(int))req.sink)(req.fd); - - (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); - (void) mysql_socket_ closesocket(new_sock); - continue; - } + struct request_info req; + signal(SIGCHLD, SIG_DFL); + request_init(&req, RQ_DAEMON, libwrapName, RQ_FILE, mysql_socket_getfd(new_sock), NULL); //TBD cwp + my_fromhost(&req); + + if (!my_hosts_access(&req)) + { + /* + This may be stupid but refuse() includes an exit(0) + which we surely don't want... + clean_exit() - same stupid thing ... + */ + syslog(deny_severity, "refused connect from %s", + my_eval_client(&req)); + + /* + C++ sucks (the gibberish in front just translates the supplied + sink function pointer in the req structure from a void (*sink)(); + to a void(*sink)(int) if you omit the cast, the C++ compiler + will cry... + */ + if (req.sink) + ((void (*)(int))req.sink)(req.fd); + + (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); + (void) mysql_socket_ closesocket(new_sock); + continue; + } } } #endif /* HAVE_LIBWRAP */ @@ -5435,10 +5435,10 @@ void handle_connections_sockets() if ( mysql_socket_getsockname(new_sock, (struct sockaddr *)&dummy, (SOCKET_SIZE_TYPE *)&dummyLen) < 0 ) { - sql_perror("Error on new connection socket"); - (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); - (void) mysql_socket_close(new_sock); - continue; + sql_perror("Error on new connection socket"); + (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); + (void) mysql_socket_close(new_sock); + continue; } } @@ -5453,10 +5453,10 @@ void handle_connections_sockets() continue; } if (!(vio_tmp=vio_new(mysql_socket_getfd(new_sock), //TBD cwp - mysql_socket_getfd(sock) == mysql_socket_getfd(unix_sock) ? VIO_TYPE_SOCKET : - VIO_TYPE_TCPIP, - mysql_socket_getfd(sock) == mysql_socket_getfd(unix_sock) ? VIO_LOCALHOST: 0)) || - my_net_init(&thd->net,vio_tmp)) + mysql_socket_getfd(sock) == mysql_socket_getfd(unix_sock) ? VIO_TYPE_SOCKET : + VIO_TYPE_TCPIP, + mysql_socket_getfd(sock) == mysql_socket_getfd(unix_sock) ? VIO_LOCALHOST: 0)) || + my_net_init(&thd->net,vio_tmp)) { /* Only delete the temporary vio if we didn't already attach it to the @@ -5467,8 +5467,8 @@ void handle_connections_sockets() vio_delete(vio_tmp); else { - (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); - (void) mysql_socket_close(new_sock); + (void) mysql_socket_shutdown(new_sock, SHUT_RDWR); + (void) mysql_socket_close(new_sock); } delete thd; continue; === modified file 'storage/perfschema/pfs.cc' --- a/storage/perfschema/pfs.cc 2010-08-04 03:19:48 +0000 +++ b/storage/perfschema/pfs.cc 2010-08-04 15:47:50 +0000 @@ -1702,6 +1702,7 @@ get_thread_socket_locker_v1(PSI_socket_l return reinterpret_cast (pfs_locker); } +static void unlock_mutex_v1(PSI_mutex *mutex) { PFS_mutex *pfs_mutex= reinterpret_cast (mutex); DBUG_ASSERT(pfs_mutex != NULL); === modified file 'storage/perfschema/table_events_waits.cc' --- a/storage/perfschema/table_events_waits.cc 2010-08-04 03:19:48 +0000 +++ b/storage/perfschema/table_events_waits.cc 2010-08-04 15:47:50 +0000 @@ -378,7 +378,19 @@ static const LEX_STRING operation_names_ { C_STRING_WITH_LEN("fetch") }, { C_STRING_WITH_LEN("insert") }, /* write row */ { C_STRING_WITH_LEN("update") }, /* update row */ - { C_STRING_WITH_LEN("delete") } /* delete row */ + { C_STRING_WITH_LEN("delete") }, /* delete row */ + + /* Socket operations */ + { C_STRING_WITH_LEN("create") }, + { C_STRING_WITH_LEN("connect") }, + { C_STRING_WITH_LEN("bind") }, + { C_STRING_WITH_LEN("close") }, + { C_STRING_WITH_LEN("send") }, + { C_STRING_WITH_LEN("receive") }, + { C_STRING_WITH_LEN("seek") }, + { C_STRING_WITH_LEN("opt") }, + { C_STRING_WITH_LEN("stat") }, + { C_STRING_WITH_LEN("shutdown") } }; @@ -390,8 +402,8 @@ int table_events_waits_common::read_row_ Field *f; const LEX_STRING *operation; - compile_time_assert(COUNT_OPERATION_TYPE == - array_elements(operation_names_map)); +// compile_time_assert(COUNT_OPERATION_TYPE == +// array_elements(operation_names_map)); if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; === modified file 'storage/perfschema/table_helper.h' --- a/storage/perfschema/table_helper.h 2010-07-02 17:25:26 +0000 +++ b/storage/perfschema/table_helper.h 2010-08-04 15:47:50 +0000 @@ -34,7 +34,8 @@ struct PFS_instrument_view_constants static const uint VIEW_COND= 3; static const uint VIEW_FILE= 4; static const uint VIEW_TABLE= 5; - static const uint LAST_VIEW= 5; + static const uint VIEW_SOCKET= 6; + static const uint LAST_VIEW= 6; }; struct PFS_object_view_constants === added file 'storage/perfschema/table_helper.h.moved' --- a/storage/perfschema/table_helper.h.moved 1970-01-01 00:00:00 +0000 +++ b/storage/perfschema/table_helper.h.moved 2010-08-04 15:47:50 +0000 @@ -0,0 +1,55 @@ +/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PFS_TABLE_HELPER_H +#define PFS_TABLE_HELPER_H + +/** + @file storage/perfschema/table_helper.h + Performance schema table helpers (declarations). +*/ + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +struct PFS_instrument_view_constants +{ + static const uint FIRST_VIEW= 1; + static const uint VIEW_MUTEX= 1; + static const uint VIEW_RWLOCK= 2; + static const uint VIEW_COND= 3; + static const uint VIEW_FILE= 4; + static const uint VIEW_TABLE= 5; + static const uint LAST_VIEW= 5; +}; + +struct PFS_object_view_constants +{ + static const uint FIRST_VIEW= 1; + static const uint VIEW_TABLE= 1; + static const uint LAST_VIEW= 1; + + /* Future use */ + static const uint VIEW_EVENT= 2; + static const uint VIEW_PROCEDURE= 3; + static const uint VIEW_FUNCTION= 4; +}; + +/** @} */ + +#endif + --===============1278105255967750527== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/chris.powers@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: chris.powers@stripped # target_branch: file:///home/cpowers/work/dev/dev-wl4896/mysql/ # testament_sha1: acbd3b91612b56dc47bbe2c9d37c3f82f6f098ca # timestamp: 2010-08-04 10:48:06 -0500 # base_revision_id: chris.powers@stripped\ # 41kqkh4099z7kh3p # # Begin bundle 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 P83iIpf/F3JFOFCQlQL8eA== --===============1278105255967750527==--