2741 Alexey Kopytov 2008-10-17 [merge]
Merge of 6.0-main into 6.0-dtrace.
removed:
mysql-test/r/rpl_slave-running.result
mysql-test/r/rpl_slave-stopped.result
mysql-test/suite/funcs_1/r/falcon_storedproc.result
mysql-test/suite/funcs_1/r/memory_storedproc.result
mysql-test/suite/funcs_1/r/myisam_storedproc.result
mysql-test/suite/funcs_1/r/ndb_storedproc.result
mysql-test/suite/funcs_1/t/falcon_storedproc.test
mysql-test/suite/funcs_1/t/innodb_storedproc.test
mysql-test/suite/funcs_1/t/memory_storedproc.test
mysql-test/suite/funcs_1/t/myisam_storedproc.test
mysql-test/suite/funcs_1/t/ndb_storedproc.test
mysql-test/suite/parts/inc/partition_auto_increment.inc
mysql-test/suite/parts/r/partition_auto_increment_innodb.result
mysql-test/suite/parts/r/partition_auto_increment_myisam.result
mysql-test/suite/parts/t/partition_alter2_ndb.test
mysql-test/suite/parts/t/partition_auto_increment_innodb.test
mysql-test/suite/parts/t/partition_auto_increment_myisam.test
mysql-test/suite/rpl/r/rpl_colSize.result
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
storage/archive/azio.h
added:
mysql-test/extra/rpl_tests/rpl_blackhole.test
mysql-test/r/rpl_slave-running.result
mysql-test/r/rpl_slave-stopped.result
mysql-test/suite/backup/
mysql-test/suite/backup/r/
mysql-test/suite/backup/r/backup_commit_backup.result
mysql-test/suite/backup/t/
mysql-test/suite/backup/t/backup_commit_backup.test
mysql-test/suite/backup/t/disabled.def
mysql-test/suite/backup_engines/include/backup_ptr.inc
mysql-test/suite/backup_engines/include/backup_ptr_commit.inc
mysql-test/suite/backup_engines/include/backup_ptr_objects.inc
mysql-test/suite/backup_engines/include/not_have_falcon.inc
mysql-test/suite/backup_engines/include/not_have_innodb.inc
mysql-test/suite/backup_engines/include/not_have_memory.inc
mysql-test/suite/backup_engines/include/not_have_myisam.inc
mysql-test/suite/backup_engines/r/backup_ptr_commit_mixed.result
mysql-test/suite/backup_engines/r/backup_ptr_commit_row.result
mysql-test/suite/backup_engines/r/backup_ptr_commit_stmt.result
mysql-test/suite/backup_engines/r/backup_ptr_mixed.result
mysql-test/suite/backup_engines/r/backup_ptr_objects_mixed.result
mysql-test/suite/backup_engines/r/backup_ptr_objects_row.result
mysql-test/suite/backup_engines/r/backup_ptr_objects_stmt.result
mysql-test/suite/backup_engines/r/backup_ptr_row.result
mysql-test/suite/backup_engines/r/backup_ptr_stmt.result
mysql-test/suite/backup_engines/t/backup_ptr_commit_mixed.test
mysql-test/suite/backup_engines/t/backup_ptr_commit_row.test
mysql-test/suite/backup_engines/t/backup_ptr_commit_stmt.test
mysql-test/suite/backup_engines/t/backup_ptr_mixed.test
mysql-test/suite/backup_engines/t/backup_ptr_objects_mixed.test
mysql-test/suite/backup_engines/t/backup_ptr_objects_row.test
mysql-test/suite/backup_engines/t/backup_ptr_objects_stmt.test
mysql-test/suite/backup_engines/t/backup_ptr_row.test
mysql-test/suite/backup_engines/t/backup_ptr_stmt.test
mysql-test/suite/binlog/r/binlog_grant.result
mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result
mysql-test/suite/binlog/r/binlog_stm_row.result
mysql-test/suite/binlog/t/binlog_grant.test
mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test
mysql-test/suite/binlog/t/binlog_stm_row.test
mysql-test/suite/funcs_1/storedproc/param_check.inc
mysql-test/suite/large_tests/r/lock_tables_big.result
mysql-test/suite/large_tests/t/lock_tables_big.test
mysql-test/suite/parts/inc/partition_alter2_2.inc
mysql-test/suite/parts/inc/partition_auto_increment.inc
mysql-test/suite/parts/r/partition_alter2_2_innodb.result
mysql-test/suite/parts/r/partition_alter2_2_myisam.result
mysql-test/suite/parts/r/partition_auto_increment_archive.result
mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
mysql-test/suite/parts/r/partition_auto_increment_innodb.result
mysql-test/suite/parts/r/partition_auto_increment_memory.result
mysql-test/suite/parts/r/partition_auto_increment_myisam.result
mysql-test/suite/parts/r/partition_auto_increment_ndb.result
mysql-test/suite/parts/t/partition_alter2_2_innodb.test
mysql-test/suite/parts/t/partition_alter2_2_myisam.test
mysql-test/suite/parts/t/partition_auto_increment_archive.test
mysql-test/suite/parts/t/partition_auto_increment_blackhole.test
mysql-test/suite/parts/t/partition_auto_increment_innodb.test
mysql-test/suite/parts/t/partition_auto_increment_memory.test
mysql-test/suite/parts/t/partition_auto_increment_myisam.test
mysql-test/suite/parts/t/partition_auto_increment_ndb.test
mysql-test/suite/rpl/r/rpl_binlog_query_filter_rules.result
mysql-test/suite/rpl/r/rpl_blackhole.result
mysql-test/suite/rpl/r/rpl_colSize.result
mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules-master.opt
mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules.test
mysql-test/suite/rpl/t/rpl_blackhole.test
mysys/my_winerr.c
mysys/my_winfile.c
storage/archive/azio.h
win/build-vs9.bat.moved
win/build-vs9_x64.bat.moved
renamed:
mysql-test/r/backup.result => mysql-test/suite/backup/r/backup.result
mysql-test/r/backup_backupdir.result =>
mysql-test/suite/backup/r/backup_backupdir.result
mysql-test/r/backup_blob.result => mysql-test/suite/backup/r/backup_blob.result
mysql-test/r/backup_charsets.result =>
mysql-test/suite/backup/r/backup_charsets.result
mysql-test/r/backup_commit_blocker.result =>
mysql-test/suite/backup/r/backup_commit_blocker.result
mysql-test/r/backup_commit_restore.result =>
mysql-test/suite/backup/r/backup_commit_restore.result
mysql-test/r/backup_compression.result =>
mysql-test/suite/backup/r/backup_compression.result
mysql-test/r/backup_concurrent.result =>
mysql-test/suite/backup/r/backup_concurrent.result
mysql-test/r/backup_db_grants.result =>
mysql-test/suite/backup/r/backup_db_grants.result
mysql-test/r/backup_ddl_blocker.result =>
mysql-test/suite/backup/r/backup_ddl_blocker.result
mysql-test/r/backup_default.result => mysql-test/suite/backup/r/backup_default.result
mysql-test/r/backup_errors.result => mysql-test/suite/backup/r/backup_errors.result
mysql-test/r/backup_fkey.result => mysql-test/suite/backup/r/backup_fkey.result
mysql-test/r/backup_lock_myisam.result =>
mysql-test/suite/backup/r/backup_lock_myisam.result
mysql-test/r/backup_logs.result => mysql-test/suite/backup/r/backup_logs.result
mysql-test/r/backup_logs_output.result =>
mysql-test/suite/backup/r/backup_logs_output.result
mysql-test/r/backup_many_dbs.result =>
mysql-test/suite/backup/r/backup_many_dbs.result
mysql-test/r/backup_multi_blocks.result =>
mysql-test/suite/backup/r/backup_multi_blocks.result
mysql-test/r/backup_myisam1.result => mysql-test/suite/backup/r/backup_myisam1.result
mysql-test/r/backup_myisam2.result => mysql-test/suite/backup/r/backup_myisam2.result
mysql-test/r/backup_no_be.result => mysql-test/suite/backup/r/backup_no_be.result
mysql-test/r/backup_no_data.result => mysql-test/suite/backup/r/backup_no_data.result
mysql-test/r/backup_no_engine.result =>
mysql-test/suite/backup/r/backup_no_engine.result
mysql-test/r/backup_nodata_driver.result =>
mysql-test/suite/backup/r/backup_nodata_driver.result
mysql-test/r/backup_objects.result => mysql-test/suite/backup/r/backup_objects.result
mysql-test/r/backup_procedures.result =>
mysql-test/suite/backup/r/backup_procedures.result
mysql-test/r/backup_securefilepriv.result =>
mysql-test/suite/backup/r/backup_securefilepriv.result
mysql-test/r/backup_security.result =>
mysql-test/suite/backup/r/backup_security.result
mysql-test/r/backup_snapshot.result =>
mysql-test/suite/backup/r/backup_snapshot.result
mysql-test/r/backup_tablespace.result =>
mysql-test/suite/backup/r/backup_tablespace.result
mysql-test/r/backup_timeout.result => mysql-test/suite/backup/r/backup_timeout.result
mysql-test/r/backup_triggers_and_events.result =>
mysql-test/suite/backup/r/backup_triggers_and_events.result
mysql-test/r/backup_view_on_view.result =>
mysql-test/suite/backup/r/backup_view_on_view.result
mysql-test/r/backup_views.result => mysql-test/suite/backup/r/backup_views.result
mysql-test/suite/backup => mysql-test/suite/backup_engines
mysql-test/suite/funcs_1/r/innodb_storedproc.result =>
mysql-test/suite/funcs_1/r/storedproc.result
mysql-test/suite/funcs_1/storedproc/storedproc_master.inc =>
mysql-test/suite/funcs_1/t/storedproc.test
mysql-test/suite/parts/inc/partition_alter2.inc =>
mysql-test/suite/parts/inc/partition_alter2_1.inc
mysql-test/suite/parts/r/partition_alter2_innodb.result =>
mysql-test/suite/parts/r/partition_alter2_1_innodb.result
mysql-test/suite/parts/r/partition_alter2_myisam.result =>
mysql-test/suite/parts/r/partition_alter2_1_myisam.result
mysql-test/suite/parts/t/partition_alter2_innodb.test =>
mysql-test/suite/parts/t/partition_alter2_1_innodb.test
mysql-test/suite/parts/t/partition_alter2_myisam.test =>
mysql-test/suite/parts/t/partition_alter2_1_myisam.test
mysql-test/suite/rpl/t/rpl_truncate_7ndb_2-master.opt =>
mysql-test/suite/rpl_ndb_big/t/rpl_truncate_7ndb_2-master.opt
mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb_2.result =>
mysql-test/suite/rpl_ndb_big/r/rpl_truncate_7ndb_2.result
mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test =>
mysql-test/suite/rpl_ndb_big/t/rpl_truncate_7ndb_2.test
mysql-test/t/backup.test => mysql-test/suite/backup/t/backup.test
mysql-test/t/backup_backupdir.test => mysql-test/suite/backup/t/backup_backupdir.test
mysql-test/t/backup_blob.test => mysql-test/suite/backup/t/backup_blob.test
mysql-test/t/backup_charsets.test => mysql-test/suite/backup/t/backup_charsets.test
mysql-test/t/backup_commit_blocker.test =>
mysql-test/suite/backup/t/backup_commit_blocker.test
mysql-test/t/backup_commit_restore.test =>
mysql-test/suite/backup/t/backup_commit_restore.test
mysql-test/t/backup_compression.test =>
mysql-test/suite/backup/t/backup_compression.test
mysql-test/t/backup_concurrent.test =>
mysql-test/suite/backup/t/backup_concurrent.test
mysql-test/t/backup_db_grants.test => mysql-test/suite/backup/t/backup_db_grants.test
mysql-test/t/backup_ddl_blocker.test =>
mysql-test/suite/backup/t/backup_ddl_blocker.test
mysql-test/t/backup_default.test => mysql-test/suite/backup/t/backup_default.test
mysql-test/t/backup_errors.test => mysql-test/suite/backup/t/backup_errors.test
mysql-test/t/backup_fkey.test => mysql-test/suite/backup/t/backup_fkey.test
mysql-test/t/backup_lock_myisam.test =>
mysql-test/suite/backup/t/backup_lock_myisam.test
mysql-test/t/backup_logs.test => mysql-test/suite/backup/t/backup_logs.test
mysql-test/t/backup_logs_output.test =>
mysql-test/suite/backup/t/backup_logs_output.test
mysql-test/t/backup_many_dbs.test => mysql-test/suite/backup/t/backup_many_dbs.test
mysql-test/t/backup_multi_blocks.test =>
mysql-test/suite/backup/t/backup_multi_blocks.test
mysql-test/t/backup_myisam1-master.opt =>
mysql-test/suite/backup/t/backup_myisam1-master.opt
mysql-test/t/backup_myisam1.test => mysql-test/suite/backup/t/backup_myisam1.test
mysql-test/t/backup_myisam2.test => mysql-test/suite/backup/t/backup_myisam2.test
mysql-test/t/backup_no_be.test => mysql-test/suite/backup/t/backup_no_be.test
mysql-test/t/backup_no_data.test => mysql-test/suite/backup/t/backup_no_data.test
mysql-test/t/backup_no_engine.test => mysql-test/suite/backup/t/backup_no_engine.test
mysql-test/t/backup_nodata_driver.test =>
mysql-test/suite/backup/t/backup_nodata_driver.test
mysql-test/t/backup_objects.test => mysql-test/suite/backup/t/backup_objects.test
mysql-test/t/backup_procedures.test =>
mysql-test/suite/backup/t/backup_procedures.test
mysql-test/t/backup_securefilepriv-master.opt =>
mysql-test/suite/backup/t/backup_securefilepriv-master.opt
mysql-test/t/backup_securefilepriv.test =>
mysql-test/suite/backup/t/backup_securefilepriv.test
mysql-test/t/backup_security.test => mysql-test/suite/backup/t/backup_security.test
mysql-test/t/backup_snapshot.opt => mysql-test/suite/backup/t/backup_snapshot.opt
mysql-test/t/backup_snapshot.test => mysql-test/suite/backup/t/backup_snapshot.test
mysql-test/t/backup_tablespace.test =>
mysql-test/suite/backup/t/backup_tablespace.test
mysql-test/t/backup_timeout.test => mysql-test/suite/backup/t/backup_timeout.test
mysql-test/t/backup_triggers_and_events.test =>
mysql-test/suite/backup/t/backup_triggers_and_events.test
mysql-test/t/backup_view_on_view.test =>
mysql-test/suite/backup/t/backup_view_on_view.test
mysql-test/t/backup_views.test => mysql-test/suite/backup/t/backup_views.test
modified:
.bzrignore
BUILD/compile-solaris-amd64-forte*
BUILD/compile-solaris-amd64-forte-debug
BUILD/compile-solaris-sparc
BUILD/compile-solaris-sparc-forte*
CMakeLists.txt
Makefile.am
client/mysqlbinlog.cc
client/mysqldump.c
client/mysqlslap.c
client/readline.cc
configure.in
extra/Makefile.am
include/config-win.h
include/hash.h
include/my_dir.h
include/my_global.h
include/my_sys.h
include/thr_lock.h
libmysql/CMakeLists.txt
man/Makefile.am
mysql-test/extra/binlog_tests/binlog.test
mysql-test/extra/binlog_tests/blackhole.test
mysql-test/extra/binlog_tests/innodb_stat.test
mysql-test/extra/rpl_tests/rpl_EE_err.test
mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
mysql-test/extra/rpl_tests/rpl_row_basic.test
mysql-test/include/grant_cache.inc
mysql-test/include/index_merge1.inc
mysql-test/include/mix1.inc
mysql-test/include/ndb_backup_print.inc
mysql-test/lib/mtr_cases.pl
mysql-test/lib/mtr_report.pl
mysql-test/mysql-test-run.pl
mysql-test/r/auto_increment.result
mysql-test/r/compare.result
mysql-test/r/create.result
mysql-test/r/ctype_cp932_binlog_stm.result
mysql-test/r/ctype_latin2_ch.result
mysql-test/r/ctype_ldml.result
mysql-test/r/ctype_ucs.result
mysql-test/r/ctype_utf8.result
mysql-test/r/default.result
mysql-test/r/distinct.result
mysql-test/r/events_2.result
mysql-test/r/federated.result
mysql-test/r/federated_bug_25714.result
mysql-test/r/func_group.result
mysql-test/r/func_regexp.result
mysql-test/r/grant2.result
mysql-test/r/grant_cache_no_prot.result
mysql-test/r/grant_cache_ps_prot.result
mysql-test/r/index_merge_myisam.result
mysql-test/r/information_schema_db.result
mysql-test/r/innodb-semi-consistent.result
mysql-test/r/innodb.result
mysql-test/r/innodb_mysql.result
mysql-test/r/join.result
mysql-test/r/loaddata.result
mysql-test/r/lock_multi.result
mysql-test/r/log_basic.result
mysql-test/r/log_state.result
mysql-test/r/log_tables.result
mysql-test/r/mysqldump-max.result
mysql-test/r/mysqldump.result
mysql-test/r/partition.result
mysql-test/r/partition_error.result
mysql-test/r/slow_launch_time_func.result
mysql-test/r/sp-error.result
mysql-test/r/sp.result
mysql-test/r/status.result
mysql-test/r/trigger-trans.result
mysql-test/r/tx_isolation_func.result
mysql-test/r/type_datetime.result
mysql-test/r/type_set.result
mysql-test/r/union.result
mysql-test/r/user_var.result
mysql-test/r/view_grant.result
mysql-test/std_data/Index.xml
mysql-test/suite/backup_engines/t/backup_functions.test
mysql-test/suite/backup_engines/t/backup_procedures.test
mysql-test/suite/backup_engines/t/backup_triggers.test
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_innodb_stat.result
mysql-test/suite/binlog/r/binlog_stm_binlog.result
mysql-test/suite/binlog/r/binlog_stm_blackhole.result
mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result
mysql-test/suite/binlog/t/binlog_killed.test
mysql-test/suite/binlog/t/binlog_killed_simulate.test
mysql-test/suite/binlog/t/binlog_multi_engine.test
mysql-test/suite/binlog/t/binlog_start_comment.test
mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test
mysql-test/suite/falcon/r/falcon_bug_22175.result
mysql-test/suite/falcon/r/rpl_bug_33688.result
mysql-test/suite/falcon/r/rpl_falcon_bug_37221.result
mysql-test/suite/falcon/t/falcon_bug_22175.test
mysql-test/suite/falcon/t/rpl_bug_33688.test
mysql-test/suite/falcon/t/rpl_falcon_bug_37221.test
mysql-test/suite/funcs_1/views/func_view.inc
mysql-test/suite/ndb/t/disabled.def
mysql-test/suite/ndb/t/ndb_alter_table_online.test
mysql-test/suite/ndb/t/ndb_restore_print.test
mysql-test/suite/ndb_team/t/ndb_autodiscover.test
mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test
mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
mysql-test/suite/parts/r/partition_alter1_1_innodb.result
mysql-test/suite/parts/r/partition_alter1_1_myisam.result
mysql-test/suite/parts/r/partition_auto_increment_falcon.result
mysql-test/suite/parts/r/partition_basic_innodb.result
mysql-test/suite/parts/r/partition_basic_myisam.result
mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
mysql-test/suite/parts/t/disabled.def
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
mysql-test/suite/rpl/r/rpl_row_create_table.result
mysql-test/suite/rpl/r/rpl_sp.result
mysql-test/suite/rpl/r/rpl_temporary.result
mysql-test/suite/rpl/t/disabled.def
mysql-test/suite/rpl/t/rpl_row_create_table.test
mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
mysql-test/suite/rpl/t/rpl_temporary.test
mysql-test/suite/rpl_ndb_big/r/rpl_ndb_log.result
mysql-test/suite/rpl_ndb_big/r/rpl_row_basic_7ndb.result
mysql-test/t/auto_increment.test
mysql-test/t/compare.test
mysql-test/t/create.test
mysql-test/t/ctype_big5.test
mysql-test/t/ctype_latin2_ch.test
mysql-test/t/ctype_ucs.test
mysql-test/t/ctype_utf8.test
mysql-test/t/default.test
mysql-test/t/disabled.def
mysql-test/t/distinct.test
mysql-test/t/drop-no_root.test
mysql-test/t/events_2.test
mysql-test/t/federated.test
mysql-test/t/federated_bug_25714.test
mysql-test/t/func_group.test
mysql-test/t/func_regexp.test
mysql-test/t/grant2.test
mysql-test/t/information_schema_db.test
mysql-test/t/innodb-semi-consistent.test
mysql-test/t/innodb.test
mysql-test/t/join.test
mysql-test/t/loaddata.test
mysql-test/t/loadxml.test
mysql-test/t/lock_multi.test
mysql-test/t/log_basic.test
mysql-test/t/log_state.test
mysql-test/t/log_tables.test
mysql-test/t/mysqlbinlog_base64.test
mysql-test/t/mysqldump-max.test
mysql-test/t/mysqldump.test
mysql-test/t/outfile.test
mysql-test/t/partition.test
mysql-test/t/partition_error.test
mysql-test/t/partition_mgm_err2.test
mysql-test/t/ps.test
mysql-test/t/ps_1general.test
mysql-test/t/query_cache.test
mysql-test/t/rpl_slave_allow_batching_basic.test
mysql-test/t/rpl_slave_compressed_protocol_basic.test
mysql-test/t/rpl_slave_exec_mode_basic.test
mysql-test/t/slow_launch_time_func.test
mysql-test/t/sp-error.test
mysql-test/t/sp.test
mysql-test/t/status.test
mysql-test/t/subselect3.test
mysql-test/t/symlink.test
mysql-test/t/trigger-trans.test
mysql-test/t/tx_isolation_func.test
mysql-test/t/type_datetime.test
mysql-test/t/type_set.test
mysql-test/t/union.test
mysql-test/t/user_var.test
mysql-test/t/view_grant.test
mysys/CMakeLists.txt
mysys/Makefile.am
mysys/default_modify.c
mysys/hash.c
mysys/my_chsize.c
mysys/my_create.c
mysys/my_delete.c
mysys/my_dup.c
mysys/my_file.c
mysys/my_fopen.c
mysys/my_fstream.c
mysys/my_getncpus.c
mysys/my_lib.c
mysys/my_lock.c
mysys/my_mmap.c
mysys/my_open.c
mysys/my_pread.c
mysys/my_quick.c
mysys/my_read.c
mysys/my_seek.c
mysys/my_static.c
mysys/my_sync.c
mysys/my_write.c
mysys/mysys_priv.h
scripts/make_binary_distribution.sh
scripts/make_win_bin_dist
scripts/mysql_system_tables_data.sql
sql/backup/backup_info.cc
sql/backup/data_backup.cc
sql/backup/image_info.h
sql/backup/kernel.cc
sql/backup/logger.h
sql/backup/stream_v1.c
sql/backup/stream_v1_transport.c
sql/discover.cc
sql/event_db_repository.cc
sql/event_parse_data.cc
sql/event_parse_data.h
sql/field.cc
sql/field.h
sql/ha_partition.cc
sql/ha_partition.h
sql/handler.cc
sql/handler.h
sql/hostname.cc
sql/item.cc
sql/item.h
sql/item_cmpfunc.cc
sql/item_cmpfunc.h
sql/item_func.cc
sql/item_func.h
sql/key.cc
sql/lock.cc
sql/log.cc
sql/log.h
sql/log_event.cc
sql/mysql_priv.h
sql/mysqld.cc
sql/opt_range.cc
sql/parse_file.cc
sql/parse_file.h
sql/partition_info.h
sql/scheduler.cc
sql/set_var.cc
sql/set_var.h
sql/share/errmsg.txt
sql/si_logs.cc
sql/si_logs.h
sql/si_objects.cc
sql/sp_head.cc
sql/sql_acl.cc
sql/sql_base.cc
sql/sql_cache.cc
sql/sql_class.cc
sql/sql_class.h
sql/sql_connect.cc
sql/sql_db.cc
sql/sql_derived.cc
sql/sql_insert.cc
sql/sql_lex.cc
sql/sql_lex.h
sql/sql_load.cc
sql/sql_parse.cc
sql/sql_partition.cc
sql/sql_select.cc
sql/sql_show.cc
sql/sql_show.h
sql/sql_table.cc
sql/sql_union.cc
sql/sql_update.cc
sql/sql_view.cc
sql/sql_yacc.yy
sql/table.cc
sql/table.h
storage/archive/ha_archive.cc
storage/blackhole/ha_blackhole.cc
storage/blackhole/ha_blackhole.h
storage/csv/ha_tina.cc
storage/falcon/Interlock.h
storage/innobase/handler/ha_innodb.cc
storage/maria/CMakeLists.txt
storage/myisam/mi_locking.c
storage/myisam/myisam_ftdump.c
strings/ctype-czech.c
support-files/my-huge.cnf.sh
support-files/my-innodb-heavy-4G.cnf.sh
support-files/my-large.cnf.sh
support-files/my-medium.cnf.sh
support-files/my-small.cnf.sh
support-files/mysql.spec.sh
vio/viosocket.c
win/README
win/create_manifest.js
zlib/gzio.c
mysql-test/suite/backup/r/backup.result
mysql-test/suite/backup/r/backup_errors.result
mysql-test/suite/funcs_1/r/storedproc.result
mysql-test/suite/funcs_1/t/storedproc.test
mysql-test/suite/parts/inc/partition_alter2_1.inc
mysql-test/suite/parts/r/partition_alter2_1_innodb.result
mysql-test/suite/parts/r/partition_alter2_1_myisam.result
mysql-test/suite/parts/t/partition_alter2_1_innodb.test
mysql-test/suite/parts/t/partition_alter2_1_myisam.test
mysql-test/suite/rpl_ndb_big/r/rpl_truncate_7ndb_2.result
mysql-test/suite/rpl_ndb_big/t/rpl_truncate_7ndb_2.test
mysql-test/suite/backup/t/backup.test
mysql-test/suite/backup/t/backup_errors.test
mysql-test/suite/backup/t/backup_no_data.test
=== modified file 'libmysql/Makefile.am'
--- a/libmysql/Makefile.am 2008-09-29 17:47:27 +0000
+++ b/libmysql/Makefile.am 2008-10-10 16:23:30 +0000
@@ -67,6 +67,8 @@ link_sources:
done; \
rm -f net.c; \
@LN_CP_F@ $(top_srcdir)/sql/net_serv.cc net.c ; \
+ rm -f probes.h; \
+ @LN_CP_F@ $(top_srcdir)/sql/probes.h probes.h
rm -f password.c; \
@LN_CP_F@ $(top_srcdir)/sql/password.c password.c
echo timestamp > link_sources
=== modified file 'libmysql/Makefile.shared'
--- a/libmysql/Makefile.shared 2008-05-29 15:44:11 +0000
+++ b/libmysql/Makefile.shared 2008-10-02 12:08:09 +0000
@@ -107,7 +107,7 @@ clean-local:
`echo $(sql_cmn_objects) | sed "s;\.lo;.c;g"` \
$(CHARSET_SRCS) $(CHARSET_OBJS) \
$(mystringsextra) $(mysysheaders) $(vioheaders) \
- net.c
+ net.c probes.h
conf_to_src_SOURCES = conf_to_src.c
conf_to_src_LDADD=
=== modified file 'sql/Makefile.am'
--- a/sql/Makefile.am 2008-10-01 12:09:26 +0000
+++ b/sql/Makefile.am 2008-10-10 16:23:30 +0000
@@ -31,10 +31,19 @@ EXTRA_PROGRAMS = gen_lex_hash
bin_PROGRAMS = mysql_tzinfo_to_sql
DTRACE = @DTRACE@
DTRACEFLAGS = @DTRACEFLAGS@
-DTRACEFILES = handler.o \
- filesort.o \
- sql_insert.o \
+DTRACEFILES = filesort.o \
+ handler.o \
+ mysqld.o \
+ net_serv.o \
+ scheduler.o \
+ sp_head.o \
+ sql_cache.o \
+ sql_connect.o \
+ sql_cursor.o \
sql_delete.o \
+ sql_insert.o \
+ sql_parse.o \
+ sql_prepare.o \
sql_select.o \
sql_update.o
@@ -218,8 +227,10 @@ install-exec-hook:
SUFFIXES : .d
-.d.o : $(DTRACEFILES)
+.d.o :
$(DTRACE) $(DTRACEFLAGS) -G -s $< $(DTRACEFILES)
+probes.o : $(DTRACEFILES)
+
# Don't update the files from bitkeeper
%::SCCS/s.%
=== modified file 'sql/filesort.cc'
--- a/sql/filesort.cc 2008-07-23 09:43:50 +0000
+++ b/sql/filesort.cc 2008-10-10 16:23:30 +0000
@@ -121,7 +121,7 @@ ha_rows filesort(THD *thd, TABLE *table,
TABLE_LIST *tab= table->pos_in_table_list;
Item_subselect *subselect= tab ? tab->containing_subselect() : 0;
- MYSQL_FILESORT_START();
+ MYSQL_FILESORT_START(table->s->db.str, table->s->table_name.str);
/*
Release InnoDB's adaptive hash index latch (if holding) before
@@ -333,8 +333,10 @@ ha_rows filesort(THD *thd, TABLE *table,
#endif
memcpy(&table->sort, &table_sort, sizeof(FILESORT_INFO));
DBUG_PRINT("exit",("records: %ld", (long) records));
- MYSQL_FILESORT_END();
- DBUG_RETURN(error ? HA_POS_ERROR : records);
+ if (error)
+ records= HA_POS_ERROR;
+ MYSQL_FILESORT_DONE(error, records);
+ DBUG_RETURN(records);
} /* filesort */
=== modified file 'sql/handler.cc'
--- a/sql/handler.cc 2008-10-08 13:55:20 +0000
+++ b/sql/handler.cc 2008-10-17 17:47:16 +0000
@@ -5270,13 +5270,51 @@ int handler::ha_external_lock(THD *thd,
*/
DBUG_ASSERT(next_insert_id == 0);
+ if (MYSQL_HANDLER_RDLOCK_START_ENABLED() ||
+ MYSQL_HANDLER_WRLOCK_START_ENABLED() ||
+ MYSQL_HANDLER_UNLOCK_START_ENABLED())
+ {
+ if (lock_type == F_RDLCK)
+ {
+ MYSQL_HANDLER_RDLOCK_START(table_share->db.str,
+ table_share->table_name.str);
+ }
+ else if (lock_type == F_WRLCK)
+ {
+ MYSQL_HANDLER_WRLOCK_START(table_share->db.str,
+ table_share->table_name.str);
+ }
+ else if (lock_type == F_UNLCK)
+ {
+ MYSQL_HANDLER_UNLOCK_START(table_share->db.str,
+ table_share->table_name.str);
+ }
+ }
+
/*
We cache the table flags if the locking succeeded. Otherwise, we
keep them as they were when they were fetched in ha_open().
*/
- MYSQL_EXTERNAL_LOCK(lock_type);
-
int error= external_lock(thd, lock_type);
+
+ if (MYSQL_HANDLER_RDLOCK_DONE_ENABLED() ||
+ MYSQL_HANDLER_WRLOCK_DONE_ENABLED() ||
+ MYSQL_HANDLER_UNLOCK_DONE_ENABLED())
+ {
+ if (lock_type == F_RDLCK)
+ {
+ MYSQL_HANDLER_RDLOCK_DONE(error);
+ }
+ else if (lock_type == F_WRLCK)
+ {
+ MYSQL_HANDLER_WRLOCK_DONE(error);
+ }
+ else if (lock_type == F_UNLCK)
+ {
+ MYSQL_HANDLER_UNLOCK_DONE(error);
+ }
+ }
+
if (error == 0)
cached_table_flags= table_flags();
DBUG_RETURN(error);
@@ -5310,15 +5348,16 @@ int handler::ha_write_row(uchar *buf)
int error;
Log_func *log_func= Write_rows_log_event::binlog_row_logging_function;
DBUG_ENTER("handler::ha_write_row");
- MYSQL_INSERT_ROW_START();
+ MYSQL_INSERT_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
-
- if (unlikely(error= write_row(buf)))
+ error= write_row(buf);
+ MYSQL_INSERT_ROW_DONE(error);
+
+ if (unlikely(error != 0))
DBUG_RETURN(error);
if (unlikely(error= binlog_log_row(table, 0, buf, log_func)))
DBUG_RETURN(error); /* purecov: inspected */
- MYSQL_INSERT_ROW_END();
DBUG_RETURN(0);
}
@@ -5334,9 +5373,12 @@ int handler::ha_update_row(const uchar *
*/
DBUG_ASSERT(new_data == table->record[0]);
+ MYSQL_UPDATE_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
+ error= update_row(old_data, new_data);
+ MYSQL_UPDATE_ROW_DONE(error);
- if (unlikely(error= update_row(old_data, new_data)))
+ if (unlikely(error != 0))
return error;
if (unlikely(error= binlog_log_row(table, old_data, new_data, log_func)))
return error;
@@ -5348,9 +5390,12 @@ int handler::ha_delete_row(const uchar *
int error;
Log_func *log_func= Delete_rows_log_event::binlog_row_logging_function;
+ MYSQL_DELETE_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
+ error= delete_row(buf);
+ MYSQL_DELETE_ROW_DONE(error);
- if (unlikely(error= delete_row(buf)))
+ if (unlikely(error != 0))
return error;
if (unlikely(error= binlog_log_row(table, buf, 0, log_func)))
return error;
=== modified file 'sql/mysql_priv.h'
--- a/sql/mysql_priv.h 2008-10-13 14:10:00 +0000
+++ b/sql/mysql_priv.h 2008-10-17 17:47:16 +0000
@@ -46,6 +46,11 @@
#ifdef HAVE_DTRACE
#define _DTRACE_VERSION 1
+#else
+#undef _DTRACE_VERSION
+#endif
+#ifdef EMBEDDED_LIBRARY
+#undef _DTRACE_VERSION
#endif
#include "probes.h"
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2008-10-13 14:10:00 +0000
+++ b/sql/mysqld.cc 2008-10-17 17:47:16 +0000
@@ -1918,6 +1918,7 @@ void close_connection(THD *thd, uint err
}
if (lock)
(void) pthread_mutex_unlock(&LOCK_thread_count);
+ MYSQL_CONNECTION_DONE((int) errcode, thd->thread_id);
DBUG_VOID_RETURN;
}
#endif /* EMBEDDED_LIBRARY */
=== modified file 'sql/net_serv.cc'
--- a/sql/net_serv.cc 2008-05-29 15:44:11 +0000
+++ b/sql/net_serv.cc 2008-10-02 12:08:09 +0000
@@ -58,6 +58,13 @@
#define MYSQL_CLIENT
#endif /*EMBEDDED_LIBRARY */
+#ifdef HAVE_DTRACE
+/* Limit DTrace probes to server code for now */
+#ifndef MYSQL_SERVER
+#undef _DTRACE_VERSION
+#endif
+#endif
+#include "probes.h"
/*
The following handles the differences when this is linked between the
@@ -364,8 +371,12 @@ my_bool
my_net_write(NET *net,const uchar *packet,size_t len)
{
uchar buff[NET_HEADER_SIZE];
+ my_bool rc;
if (unlikely(!net->vio)) /* nowhere to write */
return 0;
+
+ MYSQL_NET_WRITE_START(len);
+
/*
Big packets are handled by splitting them in packets of MAX_PACKET_LENGTH
length. The last packet is always a packet that is < MAX_PACKET_LENGTH.
@@ -378,7 +389,10 @@ my_net_write(NET *net,const uchar *packe
buff[3]= (uchar) net->pkt_nr++;
if (net_write_buff(net, buff, NET_HEADER_SIZE) ||
net_write_buff(net, packet, z_size))
+ {
+ MYSQL_NET_WRITE_DONE(1);
return 1;
+ }
packet += z_size;
len-= z_size;
}
@@ -386,11 +400,16 @@ my_net_write(NET *net,const uchar *packe
int3store(buff,len);
buff[3]= (uchar) net->pkt_nr++;
if (net_write_buff(net, buff, NET_HEADER_SIZE))
+ {
+ MYSQL_NET_WRITE_DONE(1);
return 1;
+ }
#ifndef DEBUG_DATA_PACKETS
DBUG_DUMP("packet_header", buff, NET_HEADER_SIZE);
#endif
- return test(net_write_buff(net,packet,len));
+ rc= test(net_write_buff(net,packet,len));
+ MYSQL_NET_WRITE_DONE(rc);
+ return rc;
}
/**
@@ -428,9 +447,12 @@ net_write_command(NET *net,uchar command
ulong length=len+1+head_len; /* 1 extra byte for command */
uchar buff[NET_HEADER_SIZE+1];
uint header_size=NET_HEADER_SIZE+1;
+ my_bool rc;
DBUG_ENTER("net_write_command");
DBUG_PRINT("enter",("length: %lu", (ulong) len));
+ MYSQL_NET_WRITE_START(length);
+
buff[4]=command; /* For first packet */
if (length >= MAX_PACKET_LENGTH)
@@ -444,7 +466,10 @@ net_write_command(NET *net,uchar command
if (net_write_buff(net, buff, header_size) ||
net_write_buff(net, header, head_len) ||
net_write_buff(net, packet, len))
- DBUG_RETURN(1);
+ {
+ MYSQL_NET_WRITE_DONE(1);
+ DBUG_RETURN(1);
+ }
packet+= len;
length-= MAX_PACKET_LENGTH;
len= MAX_PACKET_LENGTH;
@@ -455,9 +480,11 @@ net_write_command(NET *net,uchar command
}
int3store(buff,length);
buff[3]= (uchar) net->pkt_nr++;
- DBUG_RETURN(test(net_write_buff(net, buff, header_size) ||
- (head_len && net_write_buff(net, header, head_len)) ||
- net_write_buff(net, packet, len) || net_flush(net)));
+ rc= test(net_write_buff(net, buff, header_size) ||
+ (head_len && net_write_buff(net, header, head_len)) ||
+ net_write_buff(net, packet, len) || net_flush(net));
+ MYSQL_NET_WRITE_DONE(rc);
+ DBUG_RETURN(rc);
}
/**
@@ -985,6 +1012,8 @@ my_net_read(NET *net)
{
size_t len, complen;
+ MYSQL_NET_READ_START();
+
#ifdef HAVE_COMPRESS
if (!net->compress)
{
@@ -1008,6 +1037,7 @@ my_net_read(NET *net)
net->read_pos = net->buff + net->where_b;
if (len != packet_error)
net->read_pos[len]=0; /* Safeguard for mysql_use_result */
+ MYSQL_NET_READ_DONE(0, len);
return len;
#ifdef HAVE_COMPRESS
}
@@ -1091,7 +1121,10 @@ my_net_read(NET *net)
net->where_b=buf_length;
if ((packet_len = my_real_read(net,&complen)) == packet_error)
+ {
+ MYSQL_NET_READ_DONE(1, 0);
return packet_error;
+ }
if (my_uncompress(net->buff + net->where_b, packet_len,
&complen))
{
@@ -1100,6 +1133,7 @@ my_net_read(NET *net)
#ifdef MYSQL_SERVER
my_error(ER_NET_UNCOMPRESS_ERROR, MYF(0));
#endif
+ MYSQL_NET_READ_DONE(1, 0);
return packet_error;
}
buf_length+= complen;
@@ -1114,6 +1148,7 @@ my_net_read(NET *net)
net->read_pos[len]=0; /* Safeguard for mysql_use_result */
}
#endif /* HAVE_COMPRESS */
+ MYSQL_NET_READ_DONE(0, len);
return len;
}
=== modified file 'sql/probes.d'
--- a/sql/probes.d 2007-09-21 07:09:31 +0000
+++ b/sql/probes.d 2008-10-02 12:08:09 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2005 MySQL AB
+/* Copyright (C) 2008 MySQL AB
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
@@ -13,18 +13,142 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/*
+ The actual probe names in DTrace scripts will replace '__' by '-'. Thus
+ insert__row__start will be insert-row-start.
+
+ Recommendations for adding new probes:
+
+ - each probe should have the minimal set of arguments required to
+ unambiguously identify the context in which the probe fires. Redundant
+ probes (i.e. the ones that can be obtained in user scripts from previous
+ probes' arguments or otherwise) may be added for convenience.
+
+ - try to avoid computationally expensive probe arguments. If impossible,
+ use *_ENABLED() macros to check if the probe is activated before
+ performing expensive calculations for a probe argument.
+
+ - all *-done probes should have a status argument wherever applicable to make
+ it possible for user scripts to figure out whether the completed operation
+ was successful or not.
+
+ - for all status arguments, a non-zero value should be returned on error or
+ failure, 0 should be returned on success.
+*/
+
provider mysql {
-probe external_lock(int);
-probe insert_row_start();
-probe insert_row_end();
-probe filesort_start();
-probe filesort_end();
-probe delete_start();
-probe delete_end();
-probe insert_start();
-probe insert_end();
-probe select_start();
-probe select_end();
-probe update_start();
-probe update_end();
+
+ /* The following ones fire when creating or closing a client connection */
+ probe connection__start(unsigned long conn_id, char *user, char *host);
+ probe connection__done(int status, unsigned long conn_id);
+
+ /*
+ Fire at the start/end of any client command processing (including SQL
+ queries).
+ */
+ probe command__start(unsigned long conn_id, int command,
+ char *user, char *host);
+ probe command__done(int status);
+
+ /*
+ The following probes fire at the start/end of any SQL query processing,
+ respectively.
+
+ query_start() has a lot of parameters that can be used to pick up
+ parameters for a lot of other probes here. For simplicity reasons we also
+ add the query string to most other DTrace probes as well. Hostname is
+ either the hostname or the IP address of the MySQL Client.
+ */
+ probe query__start(char *query,
+ unsigned long conn_id,
+ char *db_name,
+ char *user,
+ char *host);
+ probe query__done(int status);
+
+ /* Fire at the start/end of SQL query parsing */
+ probe query__parse__start(char *query);
+ probe query__parse__done(int status);
+
+ /* Track whether the query hits the query cache or not */
+ probe query__cache__hit(char *query, unsigned long rows);
+ probe query__cache__miss(char *query);
+
+ /*
+ This probe fires when the actual query execution starts, i.e. after
+ parsing and checking the query cache, but before privilege checks,
+ optimizing, etc.
+
+ Query means also all independent queries of a stored procedure and prepared
+ statements. Also the stored procedure itself is a query.
+
+ exec_type is:
+ 0: Executed query from sql_parse, top-level query (sql_parse.cc)
+ 1: Executed prepared statement (sql_prepare.cc)
+ 2: Executed cursor statement (sql_cursor.cc)
+ 3: Executed query in stored procedure (sp_head.cc)
+ */
+ probe query__exec__start(char *query,
+ unsigned long connid,
+ char *db_name,
+ char *user,
+ char *host,
+ int exec_type);
+ probe query__exec__done(int status);
+
+ /* These probes fire when performing write operations towards any handler */
+ probe insert__row__start(char *db, char *table);
+ probe insert__row__done(int status);
+ probe update__row__start(char *db, char *table);
+ probe update__row__done(int status);
+ probe delete__row__start(char *db, char *table);
+ probe delete__row__done(int status);
+
+ /*
+ These probes fire when calling external_lock for any handler
+ depending on the lock type being acquired or released.
+ */
+ probe handler__rdlock__start(char *db, char *table);
+ probe handler__wrlock__start(char *db, char *table);
+ probe handler__unlock__start(char *db, char *table);
+ probe handler__rdlock__done(int status);
+ probe handler__wrlock__done(int status);
+ probe handler__unlock__done(int status);
+
+ /*
+ These probes fire when a filesort activity happens in a query.
+ */
+ probe filesort__start(char *db, char *table);
+ probe filesort__done(int status, unsigned long rows);
+ /*
+ The query types SELECT, INSERT, INSERT AS SELECT, UPDATE, UPDATE with
+ multiple tables, DELETE, DELETE with multiple tables are all probed.
+ The start probe always contains the query text.
+ */
+ probe select__start(char *query);
+ probe select__done(int status, unsigned long rows);
+ probe insert__start(char *query);
+ probe insert__done(int status, unsigned long rows);
+ probe insert__select__start(char *query);
+ probe insert__select__done(int status, unsigned long rows);
+ probe update__start(char *query);
+ probe update__done(int status,
+ unsigned long rowsmatches, unsigned long rowschanged);
+ probe multi__update__start(char *query);
+ probe multi__update__done(int status,
+ unsigned long rowsmatches, unsigned long rowschanged);
+ probe delete__start(char *query);
+ probe delete__done(int status, unsigned long rows);
+ probe multi__delete__start(char *query);
+ probe multi__delete__done(int status, unsigned long rows);
+
+ /*
+ These probes can be used to measure the time waiting for network traffic
+ or identify network-related problems.
+ */
+ probe net__read__start();
+ probe net__read__done(int status, unsigned long bytes);
+ probe net__write__start(unsigned long bytes);
+ probe net__write__done(int status);
+
};
=== modified file 'sql/probes.h'
--- a/sql/probes.h 2008-07-08 13:49:57 +0000
+++ b/sql/probes.h 2008-10-10 16:23:30 +0000
@@ -13,114 +13,362 @@ extern "C" {
#if _DTRACE_VERSION && defined(HAVE_DTRACE)
-#define MYSQL_DELETE_END() \
- __dtrace_mysql___delete_end()
-#define MYSQL_DELETE_END_ENABLED() \
- __dtraceenabled_mysql___delete_end()
-#define MYSQL_DELETE_START() \
- __dtrace_mysql___delete_start()
+#define MYSQL_COMMAND_DONE(arg0) \
+ __dtrace_mysql___command__done(arg0)
+#define MYSQL_COMMAND_DONE_ENABLED() \
+ __dtraceenabled_mysql___command__done()
+#define MYSQL_COMMAND_START(arg0, arg1, arg2, arg3) \
+ __dtrace_mysql___command__start(arg0, arg1, arg2, arg3)
+#define MYSQL_COMMAND_START_ENABLED() \
+ __dtraceenabled_mysql___command__start()
+#define MYSQL_CONNECTION_DONE(arg0, arg1) \
+ __dtrace_mysql___connection__done(arg0, arg1)
+#define MYSQL_CONNECTION_DONE_ENABLED() \
+ __dtraceenabled_mysql___connection__done()
+#define MYSQL_CONNECTION_START(arg0, arg1, arg2) \
+ __dtrace_mysql___connection__start(arg0, arg1, arg2)
+#define MYSQL_CONNECTION_START_ENABLED() \
+ __dtraceenabled_mysql___connection__start()
+#define MYSQL_DELETE_DONE(arg0, arg1) \
+ __dtrace_mysql___delete__done(arg0, arg1)
+#define MYSQL_DELETE_DONE_ENABLED() \
+ __dtraceenabled_mysql___delete__done()
+#define MYSQL_DELETE_ROW_DONE(arg0) \
+ __dtrace_mysql___delete__row__done(arg0)
+#define MYSQL_DELETE_ROW_DONE_ENABLED() \
+ __dtraceenabled_mysql___delete__row__done()
+#define MYSQL_DELETE_ROW_START(arg0, arg1) \
+ __dtrace_mysql___delete__row__start(arg0, arg1)
+#define MYSQL_DELETE_ROW_START_ENABLED() \
+ __dtraceenabled_mysql___delete__row__start()
+#define MYSQL_DELETE_START(arg0) \
+ __dtrace_mysql___delete__start(arg0)
#define MYSQL_DELETE_START_ENABLED() \
- __dtraceenabled_mysql___delete_start()
-#define MYSQL_EXTERNAL_LOCK(arg0) \
- __dtrace_mysql___external_lock(arg0)
-#define MYSQL_EXTERNAL_LOCK_ENABLED() \
- __dtraceenabled_mysql___external_lock()
-#define MYSQL_FILESORT_END() \
- __dtrace_mysql___filesort_end()
-#define MYSQL_FILESORT_END_ENABLED() \
- __dtraceenabled_mysql___filesort_end()
-#define MYSQL_FILESORT_START() \
- __dtrace_mysql___filesort_start()
+ __dtraceenabled_mysql___delete__start()
+#define MYSQL_FILESORT_DONE(arg0, arg1) \
+ __dtrace_mysql___filesort__done(arg0, arg1)
+#define MYSQL_FILESORT_DONE_ENABLED() \
+ __dtraceenabled_mysql___filesort__done()
+#define MYSQL_FILESORT_START(arg0, arg1) \
+ __dtrace_mysql___filesort__start(arg0, arg1)
#define MYSQL_FILESORT_START_ENABLED() \
- __dtraceenabled_mysql___filesort_start()
-#define MYSQL_INSERT_END() \
- __dtrace_mysql___insert_end()
-#define MYSQL_INSERT_END_ENABLED() \
- __dtraceenabled_mysql___insert_end()
-#define MYSQL_INSERT_ROW_END() \
- __dtrace_mysql___insert_row_end()
-#define MYSQL_INSERT_ROW_END_ENABLED() \
- __dtraceenabled_mysql___insert_row_end()
-#define MYSQL_INSERT_ROW_START() \
- __dtrace_mysql___insert_row_start()
+ __dtraceenabled_mysql___filesort__start()
+#define MYSQL_HANDLER_RDLOCK_DONE(arg0) \
+ __dtrace_mysql___handler__rdlock__done(arg0)
+#define MYSQL_HANDLER_RDLOCK_DONE_ENABLED() \
+ __dtraceenabled_mysql___handler__rdlock__done()
+#define MYSQL_HANDLER_RDLOCK_START(arg0, arg1) \
+ __dtrace_mysql___handler__rdlock__start(arg0, arg1)
+#define MYSQL_HANDLER_RDLOCK_START_ENABLED() \
+ __dtraceenabled_mysql___handler__rdlock__start()
+#define MYSQL_HANDLER_UNLOCK_DONE(arg0) \
+ __dtrace_mysql___handler__unlock__done(arg0)
+#define MYSQL_HANDLER_UNLOCK_DONE_ENABLED() \
+ __dtraceenabled_mysql___handler__unlock__done()
+#define MYSQL_HANDLER_UNLOCK_START(arg0, arg1) \
+ __dtrace_mysql___handler__unlock__start(arg0, arg1)
+#define MYSQL_HANDLER_UNLOCK_START_ENABLED() \
+ __dtraceenabled_mysql___handler__unlock__start()
+#define MYSQL_HANDLER_WRLOCK_DONE(arg0) \
+ __dtrace_mysql___handler__wrlock__done(arg0)
+#define MYSQL_HANDLER_WRLOCK_DONE_ENABLED() \
+ __dtraceenabled_mysql___handler__wrlock__done()
+#define MYSQL_HANDLER_WRLOCK_START(arg0, arg1) \
+ __dtrace_mysql___handler__wrlock__start(arg0, arg1)
+#define MYSQL_HANDLER_WRLOCK_START_ENABLED() \
+ __dtraceenabled_mysql___handler__wrlock__start()
+#define MYSQL_INSERT_DONE(arg0, arg1) \
+ __dtrace_mysql___insert__done(arg0, arg1)
+#define MYSQL_INSERT_DONE_ENABLED() \
+ __dtraceenabled_mysql___insert__done()
+#define MYSQL_INSERT_ROW_DONE(arg0) \
+ __dtrace_mysql___insert__row__done(arg0)
+#define MYSQL_INSERT_ROW_DONE_ENABLED() \
+ __dtraceenabled_mysql___insert__row__done()
+#define MYSQL_INSERT_ROW_START(arg0, arg1) \
+ __dtrace_mysql___insert__row__start(arg0, arg1)
#define MYSQL_INSERT_ROW_START_ENABLED() \
- __dtraceenabled_mysql___insert_row_start()
-#define MYSQL_INSERT_START() \
- __dtrace_mysql___insert_start()
+ __dtraceenabled_mysql___insert__row__start()
+#define MYSQL_INSERT_SELECT_DONE(arg0, arg1) \
+ __dtrace_mysql___insert__select__done(arg0, arg1)
+#define MYSQL_INSERT_SELECT_DONE_ENABLED() \
+ __dtraceenabled_mysql___insert__select__done()
+#define MYSQL_INSERT_SELECT_START(arg0) \
+ __dtrace_mysql___insert__select__start(arg0)
+#define MYSQL_INSERT_SELECT_START_ENABLED() \
+ __dtraceenabled_mysql___insert__select__start()
+#define MYSQL_INSERT_START(arg0) \
+ __dtrace_mysql___insert__start(arg0)
#define MYSQL_INSERT_START_ENABLED() \
- __dtraceenabled_mysql___insert_start()
-#define MYSQL_SELECT_END() \
- __dtrace_mysql___select_end()
-#define MYSQL_SELECT_END_ENABLED() \
- __dtraceenabled_mysql___select_end()
-#define MYSQL_SELECT_START() \
- __dtrace_mysql___select_start()
+ __dtraceenabled_mysql___insert__start()
+#define MYSQL_MULTI_DELETE_DONE(arg0, arg1) \
+ __dtrace_mysql___multi__delete__done(arg0, arg1)
+#define MYSQL_MULTI_DELETE_DONE_ENABLED() \
+ __dtraceenabled_mysql___multi__delete__done()
+#define MYSQL_MULTI_DELETE_START(arg0) \
+ __dtrace_mysql___multi__delete__start(arg0)
+#define MYSQL_MULTI_DELETE_START_ENABLED() \
+ __dtraceenabled_mysql___multi__delete__start()
+#define MYSQL_MULTI_UPDATE_DONE(arg0, arg1, arg2) \
+ __dtrace_mysql___multi__update__done(arg0, arg1, arg2)
+#define MYSQL_MULTI_UPDATE_DONE_ENABLED() \
+ __dtraceenabled_mysql___multi__update__done()
+#define MYSQL_MULTI_UPDATE_START(arg0) \
+ __dtrace_mysql___multi__update__start(arg0)
+#define MYSQL_MULTI_UPDATE_START_ENABLED() \
+ __dtraceenabled_mysql___multi__update__start()
+#define MYSQL_NET_READ_DONE(arg0, arg1) \
+ __dtrace_mysql___net__read__done(arg0, arg1)
+#define MYSQL_NET_READ_DONE_ENABLED() \
+ __dtraceenabled_mysql___net__read__done()
+#define MYSQL_NET_READ_START() \
+ __dtrace_mysql___net__read__start()
+#define MYSQL_NET_READ_START_ENABLED() \
+ __dtraceenabled_mysql___net__read__start()
+#define MYSQL_NET_WRITE_DONE(arg0) \
+ __dtrace_mysql___net__write__done(arg0)
+#define MYSQL_NET_WRITE_DONE_ENABLED() \
+ __dtraceenabled_mysql___net__write__done()
+#define MYSQL_NET_WRITE_START(arg0) \
+ __dtrace_mysql___net__write__start(arg0)
+#define MYSQL_NET_WRITE_START_ENABLED() \
+ __dtraceenabled_mysql___net__write__start()
+#define MYSQL_QUERY_CACHE_HIT(arg0, arg1) \
+ __dtrace_mysql___query__cache__hit(arg0, arg1)
+#define MYSQL_QUERY_CACHE_HIT_ENABLED() \
+ __dtraceenabled_mysql___query__cache__hit()
+#define MYSQL_QUERY_CACHE_MISS(arg0) \
+ __dtrace_mysql___query__cache__miss(arg0)
+#define MYSQL_QUERY_CACHE_MISS_ENABLED() \
+ __dtraceenabled_mysql___query__cache__miss()
+#define MYSQL_QUERY_DONE(arg0) \
+ __dtrace_mysql___query__done(arg0)
+#define MYSQL_QUERY_DONE_ENABLED() \
+ __dtraceenabled_mysql___query__done()
+#define MYSQL_QUERY_EXEC_DONE(arg0) \
+ __dtrace_mysql___query__exec__done(arg0)
+#define MYSQL_QUERY_EXEC_DONE_ENABLED() \
+ __dtraceenabled_mysql___query__exec__done()
+#define MYSQL_QUERY_EXEC_START(arg0, arg1, arg2, arg3, arg4, arg5) \
+ __dtrace_mysql___query__exec__start(arg0, arg1, arg2, arg3, arg4, arg5)
+#define MYSQL_QUERY_EXEC_START_ENABLED() \
+ __dtraceenabled_mysql___query__exec__start()
+#define MYSQL_QUERY_PARSE_DONE(arg0) \
+ __dtrace_mysql___query__parse__done(arg0)
+#define MYSQL_QUERY_PARSE_DONE_ENABLED() \
+ __dtraceenabled_mysql___query__parse__done()
+#define MYSQL_QUERY_PARSE_START(arg0) \
+ __dtrace_mysql___query__parse__start(arg0)
+#define MYSQL_QUERY_PARSE_START_ENABLED() \
+ __dtraceenabled_mysql___query__parse__start()
+#define MYSQL_QUERY_START(arg0, arg1, arg2, arg3, arg4) \
+ __dtrace_mysql___query__start(arg0, arg1, arg2, arg3, arg4)
+#define MYSQL_QUERY_START_ENABLED() \
+ __dtraceenabled_mysql___query__start()
+#define MYSQL_SELECT_DONE(arg0, arg1) \
+ __dtrace_mysql___select__done(arg0, arg1)
+#define MYSQL_SELECT_DONE_ENABLED() \
+ __dtraceenabled_mysql___select__done()
+#define MYSQL_SELECT_START(arg0) \
+ __dtrace_mysql___select__start(arg0)
#define MYSQL_SELECT_START_ENABLED() \
- __dtraceenabled_mysql___select_start()
-#define MYSQL_UPDATE_END() \
- __dtrace_mysql___update_end()
-#define MYSQL_UPDATE_END_ENABLED() \
- __dtraceenabled_mysql___update_end()
-#define MYSQL_UPDATE_START() \
- __dtrace_mysql___update_start()
+ __dtraceenabled_mysql___select__start()
+#define MYSQL_UPDATE_DONE(arg0, arg1, arg2) \
+ __dtrace_mysql___update__done(arg0, arg1, arg2)
+#define MYSQL_UPDATE_DONE_ENABLED() \
+ __dtraceenabled_mysql___update__done()
+#define MYSQL_UPDATE_ROW_DONE(arg0) \
+ __dtrace_mysql___update__row__done(arg0)
+#define MYSQL_UPDATE_ROW_DONE_ENABLED() \
+ __dtraceenabled_mysql___update__row__done()
+#define MYSQL_UPDATE_ROW_START(arg0, arg1) \
+ __dtrace_mysql___update__row__start(arg0, arg1)
+#define MYSQL_UPDATE_ROW_START_ENABLED() \
+ __dtraceenabled_mysql___update__row__start()
+#define MYSQL_UPDATE_START(arg0) \
+ __dtrace_mysql___update__start(arg0)
#define MYSQL_UPDATE_START_ENABLED() \
- __dtraceenabled_mysql___update_start()
+ __dtraceenabled_mysql___update__start()
-extern void __dtrace_mysql___delete_end(void);
-extern int __dtraceenabled_mysql___delete_end(void);
-extern void __dtrace_mysql___delete_start(void);
-extern int __dtraceenabled_mysql___delete_start(void);
-extern void __dtrace_mysql___external_lock(int);
-extern int __dtraceenabled_mysql___external_lock(void);
-extern void __dtrace_mysql___filesort_end(void);
-extern int __dtraceenabled_mysql___filesort_end(void);
-extern void __dtrace_mysql___filesort_start(void);
-extern int __dtraceenabled_mysql___filesort_start(void);
-extern void __dtrace_mysql___insert_end(void);
-extern int __dtraceenabled_mysql___insert_end(void);
-extern void __dtrace_mysql___insert_row_end(void);
-extern int __dtraceenabled_mysql___insert_row_end(void);
-extern void __dtrace_mysql___insert_row_start(void);
-extern int __dtraceenabled_mysql___insert_row_start(void);
-extern void __dtrace_mysql___insert_start(void);
-extern int __dtraceenabled_mysql___insert_start(void);
-extern void __dtrace_mysql___select_end(void);
-extern int __dtraceenabled_mysql___select_end(void);
-extern void __dtrace_mysql___select_start(void);
-extern int __dtraceenabled_mysql___select_start(void);
-extern void __dtrace_mysql___update_end(void);
-extern int __dtraceenabled_mysql___update_end(void);
-extern void __dtrace_mysql___update_start(void);
-extern int __dtraceenabled_mysql___update_start(void);
+extern void __dtrace_mysql___command__done(int);
+extern int __dtraceenabled_mysql___command__done(void);
+extern void __dtrace_mysql___command__start(unsigned long, int, char *, char *);
+extern int __dtraceenabled_mysql___command__start(void);
+extern void __dtrace_mysql___connection__done(int, unsigned long);
+extern int __dtraceenabled_mysql___connection__done(void);
+extern void __dtrace_mysql___connection__start(unsigned long, char *, char *);
+extern int __dtraceenabled_mysql___connection__start(void);
+extern void __dtrace_mysql___delete__done(int, unsigned long);
+extern int __dtraceenabled_mysql___delete__done(void);
+extern void __dtrace_mysql___delete__row__done(int);
+extern int __dtraceenabled_mysql___delete__row__done(void);
+extern void __dtrace_mysql___delete__row__start(char *, char *);
+extern int __dtraceenabled_mysql___delete__row__start(void);
+extern void __dtrace_mysql___delete__start(char *);
+extern int __dtraceenabled_mysql___delete__start(void);
+extern void __dtrace_mysql___filesort__done(int, unsigned long);
+extern int __dtraceenabled_mysql___filesort__done(void);
+extern void __dtrace_mysql___filesort__start(char *, char *);
+extern int __dtraceenabled_mysql___filesort__start(void);
+extern void __dtrace_mysql___handler__rdlock__done(int);
+extern int __dtraceenabled_mysql___handler__rdlock__done(void);
+extern void __dtrace_mysql___handler__rdlock__start(char *, char *);
+extern int __dtraceenabled_mysql___handler__rdlock__start(void);
+extern void __dtrace_mysql___handler__unlock__done(int);
+extern int __dtraceenabled_mysql___handler__unlock__done(void);
+extern void __dtrace_mysql___handler__unlock__start(char *, char *);
+extern int __dtraceenabled_mysql___handler__unlock__start(void);
+extern void __dtrace_mysql___handler__wrlock__done(int);
+extern int __dtraceenabled_mysql___handler__wrlock__done(void);
+extern void __dtrace_mysql___handler__wrlock__start(char *, char *);
+extern int __dtraceenabled_mysql___handler__wrlock__start(void);
+extern void __dtrace_mysql___insert__done(int, unsigned long);
+extern int __dtraceenabled_mysql___insert__done(void);
+extern void __dtrace_mysql___insert__row__done(int);
+extern int __dtraceenabled_mysql___insert__row__done(void);
+extern void __dtrace_mysql___insert__row__start(char *, char *);
+extern int __dtraceenabled_mysql___insert__row__start(void);
+extern void __dtrace_mysql___insert__select__done(int, unsigned long);
+extern int __dtraceenabled_mysql___insert__select__done(void);
+extern void __dtrace_mysql___insert__select__start(char *);
+extern int __dtraceenabled_mysql___insert__select__start(void);
+extern void __dtrace_mysql___insert__start(char *);
+extern int __dtraceenabled_mysql___insert__start(void);
+extern void __dtrace_mysql___multi__delete__done(int, unsigned long);
+extern int __dtraceenabled_mysql___multi__delete__done(void);
+extern void __dtrace_mysql___multi__delete__start(char *);
+extern int __dtraceenabled_mysql___multi__delete__start(void);
+extern void __dtrace_mysql___multi__update__done(int, unsigned long, unsigned long);
+extern int __dtraceenabled_mysql___multi__update__done(void);
+extern void __dtrace_mysql___multi__update__start(char *);
+extern int __dtraceenabled_mysql___multi__update__start(void);
+extern void __dtrace_mysql___net__read__done(int, unsigned long);
+extern int __dtraceenabled_mysql___net__read__done(void);
+extern void __dtrace_mysql___net__read__start(void);
+extern int __dtraceenabled_mysql___net__read__start(void);
+extern void __dtrace_mysql___net__write__done(int);
+extern int __dtraceenabled_mysql___net__write__done(void);
+extern void __dtrace_mysql___net__write__start(unsigned long);
+extern int __dtraceenabled_mysql___net__write__start(void);
+extern void __dtrace_mysql___query__cache__hit(char *, unsigned long);
+extern int __dtraceenabled_mysql___query__cache__hit(void);
+extern void __dtrace_mysql___query__cache__miss(char *);
+extern int __dtraceenabled_mysql___query__cache__miss(void);
+extern void __dtrace_mysql___query__done(int);
+extern int __dtraceenabled_mysql___query__done(void);
+extern void __dtrace_mysql___query__exec__done(int);
+extern int __dtraceenabled_mysql___query__exec__done(void);
+extern void __dtrace_mysql___query__exec__start(char *, unsigned long, char *, char *,
char *, int);
+extern int __dtraceenabled_mysql___query__exec__start(void);
+extern void __dtrace_mysql___query__parse__done(int);
+extern int __dtraceenabled_mysql___query__parse__done(void);
+extern void __dtrace_mysql___query__parse__start(char *);
+extern int __dtraceenabled_mysql___query__parse__start(void);
+extern void __dtrace_mysql___query__start(char *, unsigned long, char *, char *, char *);
+extern int __dtraceenabled_mysql___query__start(void);
+extern void __dtrace_mysql___select__done(int, unsigned long);
+extern int __dtraceenabled_mysql___select__done(void);
+extern void __dtrace_mysql___select__start(char *);
+extern int __dtraceenabled_mysql___select__start(void);
+extern void __dtrace_mysql___update__done(int, unsigned long, unsigned long);
+extern int __dtraceenabled_mysql___update__done(void);
+extern void __dtrace_mysql___update__row__done(int);
+extern int __dtraceenabled_mysql___update__row__done(void);
+extern void __dtrace_mysql___update__row__start(char *, char *);
+extern int __dtraceenabled_mysql___update__row__start(void);
+extern void __dtrace_mysql___update__start(char *);
+extern int __dtraceenabled_mysql___update__start(void);
#else
-#define MYSQL_DELETE_END()
-#define MYSQL_DELETE_END_ENABLED() (0)
-#define MYSQL_DELETE_START()
+#define MYSQL_COMMAND_DONE(arg0)
+#define MYSQL_COMMAND_DONE_ENABLED() (0)
+#define MYSQL_COMMAND_START(arg0, arg1, arg2, arg3)
+#define MYSQL_COMMAND_START_ENABLED() (0)
+#define MYSQL_CONNECTION_DONE(arg0, arg1)
+#define MYSQL_CONNECTION_DONE_ENABLED() (0)
+#define MYSQL_CONNECTION_START(arg0, arg1, arg2)
+#define MYSQL_CONNECTION_START_ENABLED() (0)
+#define MYSQL_DELETE_DONE(arg0, arg1)
+#define MYSQL_DELETE_DONE_ENABLED() (0)
+#define MYSQL_DELETE_ROW_DONE(arg0)
+#define MYSQL_DELETE_ROW_DONE_ENABLED() (0)
+#define MYSQL_DELETE_ROW_START(arg0, arg1)
+#define MYSQL_DELETE_ROW_START_ENABLED() (0)
+#define MYSQL_DELETE_START(arg0)
#define MYSQL_DELETE_START_ENABLED() (0)
-#define MYSQL_EXTERNAL_LOCK(arg0)
-#define MYSQL_EXTERNAL_LOCK_ENABLED() (0)
-#define MYSQL_FILESORT_END()
-#define MYSQL_FILESORT_END_ENABLED() (0)
-#define MYSQL_FILESORT_START()
+#define MYSQL_FILESORT_DONE(arg0, arg1)
+#define MYSQL_FILESORT_DONE_ENABLED() (0)
+#define MYSQL_FILESORT_START(arg0, arg1)
#define MYSQL_FILESORT_START_ENABLED() (0)
-#define MYSQL_INSERT_END()
-#define MYSQL_INSERT_END_ENABLED() (0)
-#define MYSQL_INSERT_ROW_END()
-#define MYSQL_INSERT_ROW_END_ENABLED() (0)
-#define MYSQL_INSERT_ROW_START()
+#define MYSQL_HANDLER_RDLOCK_DONE(arg0)
+#define MYSQL_HANDLER_RDLOCK_DONE_ENABLED() (0)
+#define MYSQL_HANDLER_RDLOCK_START(arg0, arg1)
+#define MYSQL_HANDLER_RDLOCK_START_ENABLED() (0)
+#define MYSQL_HANDLER_UNLOCK_DONE(arg0)
+#define MYSQL_HANDLER_UNLOCK_DONE_ENABLED() (0)
+#define MYSQL_HANDLER_UNLOCK_START(arg0, arg1)
+#define MYSQL_HANDLER_UNLOCK_START_ENABLED() (0)
+#define MYSQL_HANDLER_WRLOCK_DONE(arg0)
+#define MYSQL_HANDLER_WRLOCK_DONE_ENABLED() (0)
+#define MYSQL_HANDLER_WRLOCK_START(arg0, arg1)
+#define MYSQL_HANDLER_WRLOCK_START_ENABLED() (0)
+#define MYSQL_INSERT_DONE(arg0, arg1)
+#define MYSQL_INSERT_DONE_ENABLED() (0)
+#define MYSQL_INSERT_ROW_DONE(arg0)
+#define MYSQL_INSERT_ROW_DONE_ENABLED() (0)
+#define MYSQL_INSERT_ROW_START(arg0, arg1)
#define MYSQL_INSERT_ROW_START_ENABLED() (0)
-#define MYSQL_INSERT_START()
+#define MYSQL_INSERT_SELECT_DONE(arg0, arg1)
+#define MYSQL_INSERT_SELECT_DONE_ENABLED() (0)
+#define MYSQL_INSERT_SELECT_START(arg0)
+#define MYSQL_INSERT_SELECT_START_ENABLED() (0)
+#define MYSQL_INSERT_START(arg0)
#define MYSQL_INSERT_START_ENABLED() (0)
-#define MYSQL_SELECT_END()
-#define MYSQL_SELECT_END_ENABLED() (0)
-#define MYSQL_SELECT_START()
+#define MYSQL_MULTI_DELETE_DONE(arg0, arg1)
+#define MYSQL_MULTI_DELETE_DONE_ENABLED() (0)
+#define MYSQL_MULTI_DELETE_START(arg0)
+#define MYSQL_MULTI_DELETE_START_ENABLED() (0)
+#define MYSQL_MULTI_UPDATE_DONE(arg0, arg1, arg2)
+#define MYSQL_MULTI_UPDATE_DONE_ENABLED() (0)
+#define MYSQL_MULTI_UPDATE_START(arg0)
+#define MYSQL_MULTI_UPDATE_START_ENABLED() (0)
+#define MYSQL_NET_READ_DONE(arg0, arg1)
+#define MYSQL_NET_READ_DONE_ENABLED() (0)
+#define MYSQL_NET_READ_START()
+#define MYSQL_NET_READ_START_ENABLED() (0)
+#define MYSQL_NET_WRITE_DONE(arg0)
+#define MYSQL_NET_WRITE_DONE_ENABLED() (0)
+#define MYSQL_NET_WRITE_START(arg0)
+#define MYSQL_NET_WRITE_START_ENABLED() (0)
+#define MYSQL_QUERY_CACHE_HIT(arg0, arg1)
+#define MYSQL_QUERY_CACHE_HIT_ENABLED() (0)
+#define MYSQL_QUERY_CACHE_MISS(arg0)
+#define MYSQL_QUERY_CACHE_MISS_ENABLED() (0)
+#define MYSQL_QUERY_DONE(arg0)
+#define MYSQL_QUERY_DONE_ENABLED() (0)
+#define MYSQL_QUERY_EXEC_DONE(arg0)
+#define MYSQL_QUERY_EXEC_DONE_ENABLED() (0)
+#define MYSQL_QUERY_EXEC_START(arg0, arg1, arg2, arg3, arg4, arg5)
+#define MYSQL_QUERY_EXEC_START_ENABLED() (0)
+#define MYSQL_QUERY_PARSE_DONE(arg0)
+#define MYSQL_QUERY_PARSE_DONE_ENABLED() (0)
+#define MYSQL_QUERY_PARSE_START(arg0)
+#define MYSQL_QUERY_PARSE_START_ENABLED() (0)
+#define MYSQL_QUERY_START(arg0, arg1, arg2, arg3, arg4)
+#define MYSQL_QUERY_START_ENABLED() (0)
+#define MYSQL_SELECT_DONE(arg0, arg1)
+#define MYSQL_SELECT_DONE_ENABLED() (0)
+#define MYSQL_SELECT_START(arg0)
#define MYSQL_SELECT_START_ENABLED() (0)
-#define MYSQL_UPDATE_END()
-#define MYSQL_UPDATE_END_ENABLED() (0)
-#define MYSQL_UPDATE_START()
+#define MYSQL_UPDATE_DONE(arg0, arg1, arg2)
+#define MYSQL_UPDATE_DONE_ENABLED() (0)
+#define MYSQL_UPDATE_ROW_DONE(arg0)
+#define MYSQL_UPDATE_ROW_DONE_ENABLED() (0)
+#define MYSQL_UPDATE_ROW_START(arg0, arg1)
+#define MYSQL_UPDATE_ROW_START_ENABLED() (0)
+#define MYSQL_UPDATE_START(arg0)
#define MYSQL_UPDATE_START_ENABLED() (0)
#endif
=== modified file 'sql/scheduler.cc'
--- a/sql/scheduler.cc 2008-10-07 20:09:02 +0000
+++ b/sql/scheduler.cc 2008-10-17 17:47:16 +0000
@@ -602,6 +602,8 @@ pthread_handler_t libevent_thread_proc(v
else
{
/* login successful */
+ MYSQL_CONNECTION_START(thd->thread_id, thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip);
thd->scheduler.logged_in= TRUE;
prepare_new_connection_state(thd);
if (!libevent_needs_immediate_processing(thd))
=== modified file 'sql/sp_head.cc'
--- a/sql/sp_head.cc 2008-10-08 09:27:11 +0000
+++ b/sql/sp_head.cc 2008-10-17 17:47:16 +0000
@@ -2901,7 +2901,14 @@ sp_instr_stmt::print(String *str)
int
sp_instr_stmt::exec_core(THD *thd, uint *nextp)
{
+ MYSQL_QUERY_EXEC_START(thd->query,
+ thd->thread_id,
+ (char *) (thd->db ? thd->db: ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip,
+ 3);
int res= mysql_execute_command(thd);
+ MYSQL_QUERY_EXEC_DONE(res);
*nextp= m_ip+1;
return res;
}
=== modified file 'sql/sql_cache.cc'
--- a/sql/sql_cache.cc 2008-09-30 14:07:24 +0000
+++ b/sql/sql_cache.cc 2008-10-17 17:47:16 +0000
@@ -1482,12 +1482,14 @@ def_week_frmt: %lu",
thd->status_var.last_query_cost= 0.0;
thd->main_da.disable_status();
+ MYSQL_QUERY_CACHE_HIT(thd->query, (ulong) thd->limit_found_rows);
BLOCK_UNLOCK_RD(query_block);
DBUG_RETURN(1); // Result sent to client
err_unlock:
STRUCT_UNLOCK(&structure_guard_mutex);
err:
+ MYSQL_QUERY_CACHE_MISS(thd->query);
DBUG_RETURN(0); // Query was not cached
}
=== modified file 'sql/sql_connect.cc'
--- a/sql/sql_connect.cc 2008-07-23 08:52:08 +0000
+++ b/sql/sql_connect.cc 2008-10-17 17:47:16 +0000
@@ -1144,6 +1144,9 @@ pthread_handler_t handle_one_connection(
if (login_connection(thd))
goto end_thread;
+ MYSQL_CONNECTION_START(thd->thread_id, thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip);
+
prepare_new_connection_state(thd);
while (!net->error && net->vio != 0 &&
=== modified file 'sql/sql_cursor.cc'
--- a/sql/sql_cursor.cc 2008-09-04 18:30:34 +0000
+++ b/sql/sql_cursor.cc 2008-10-10 16:23:30 +0000
@@ -167,8 +167,14 @@ int mysql_open_cursor(THD *thd, uint fla
thd->lock_id= sensitive_cursor->get_lock_id();
thd->cursor= sensitive_cursor;
}
-
+ MYSQL_QUERY_EXEC_START(thd->query,
+ thd->thread_id,
+ (char *) (thd->db ? thd->db : ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip,
+ 2);
rc= mysql_execute_command(thd);
+ MYSQL_QUERY_EXEC_DONE(rc);
lex->result= save_result;
thd->lock_id= &thd->main_lock_id;
=== modified file 'sql/sql_delete.cc'
--- a/sql/sql_delete.cc 2008-07-26 16:38:20 +0000
+++ b/sql/sql_delete.cc 2008-10-10 16:23:30 +0000
@@ -37,7 +37,7 @@ bool mysql_delete(THD *thd, TABLE_LIST *
bool reset_auto_increment)
{
bool will_batch;
- int error, loc_error;
+ int error, loc_error, res;
TABLE *table;
SQL_SELECT *select=0;
READ_RECORD info;
@@ -52,11 +52,15 @@ bool mysql_delete(THD *thd, TABLE_LIST *
DBUG_ENTER("mysql_delete");
if (open_and_lock_tables(thd, table_list))
+ {
+ MYSQL_DELETE_DONE(1, 0);
DBUG_RETURN(TRUE);
+ }
if (!(table= table_list->table))
{
my_error(ER_VIEW_DELETE_MERGE_VIEW, MYF(0),
table_list->view_db.str, table_list->view_name.str);
+ MYSQL_DELETE_DONE(1, 0);
DBUG_RETURN(TRUE);
}
thd_proc_info(thd, "init");
@@ -160,7 +164,7 @@ bool mysql_delete(THD *thd, TABLE_LIST *
{
free_underlaid_joins(thd, select_lex);
thd->row_count_func= 0;
- MYSQL_DELETE_END();
+ MYSQL_DELETE_DONE(0, 0);
my_ok(thd, (ha_rows) thd->row_count_func); // No matching records
DBUG_RETURN(0);
}
@@ -178,7 +182,7 @@ bool mysql_delete(THD *thd, TABLE_LIST *
delete select;
free_underlaid_joins(thd, select_lex);
thd->row_count_func= 0;
- MYSQL_DELETE_END();
+ MYSQL_DELETE_DONE(0, 0);
my_ok(thd, (ha_rows) thd->row_count_func);
/*
We don't need to call reset_auto_increment in this case, because
@@ -401,17 +405,18 @@ cleanup:
DEBUG_SYNC(thd, "at_delete_end");
- MYSQL_DELETE_END();
if (error < 0 || (thd->lex->ignore && !thd->is_fatal_error))
{
thd->row_count_func= deleted;
my_ok(thd, (ha_rows) thd->row_count_func);
DBUG_PRINT("info",("%ld records deleted",(long) deleted));
}
- DBUG_RETURN(error >= 0 || thd->is_error());
+ res= error >= 0 || thd->is_error();
+ MYSQL_DELETE_DONE(res, (ulong) deleted);
+ DBUG_RETURN(res);
err:
- MYSQL_DELETE_END();
+ MYSQL_DELETE_DONE(1, 0);
DBUG_RETURN(TRUE);
}
@@ -745,6 +750,7 @@ bool multi_delete::send_data(List<Item>
}
}
}
+ MYSQL_MULTI_DELETE_DONE(0, (ulong) deleted);
DBUG_RETURN(0);
}
=== modified file 'sql/sql_insert.cc'
--- a/sql/sql_insert.cc 2008-10-08 11:46:49 +0000
+++ b/sql/sql_insert.cc 2008-10-17 17:47:16 +0000
@@ -605,18 +605,25 @@ bool mysql_insert(THD *thd,TABLE_LIST *t
{
my_error(ER_DELAYED_INSERT_TABLE_LOCKED, MYF(0),
table_list->table_name);
+ MYSQL_INSERT_DONE(1, 0);
DBUG_RETURN(TRUE);
}
if (table_list->lock_type == TL_WRITE_DELAYED)
{
if (open_and_lock_for_insert_delayed(thd, table_list))
+ {
+ MYSQL_INSERT_DONE(1, 0);
DBUG_RETURN(TRUE);
+ }
}
else
{
if (open_and_lock_tables(thd, table_list))
+ {
+ MYSQL_INSERT_DONE(1, 0);
DBUG_RETURN(TRUE);
+ }
}
lock_type= table_list->lock_type;
@@ -987,7 +994,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *t
::my_ok(thd, (ulong) thd->row_count_func, id, buff);
}
thd->abort_on_warning= 0;
- MYSQL_INSERT_END();
+ MYSQL_INSERT_DONE(0, (ulong) thd->row_count_func);
DBUG_RETURN(FALSE);
abort:
@@ -1000,7 +1007,7 @@ abort:
if (!joins_freed)
free_underlaid_joins(thd, &thd->lex->select_lex);
thd->abort_on_warning= 0;
- MYSQL_INSERT_END();
+ MYSQL_INSERT_DONE(1, 0);
DBUG_RETURN(TRUE);
}
@@ -3257,6 +3264,7 @@ bool select_insert::send_eof()
if (error)
{
table->file->print_error(error,MYF(0));
+ MYSQL_INSERT_SELECT_DONE(error, 0);
DBUG_RETURN(1);
}
char buff[160];
@@ -3276,6 +3284,7 @@ bool select_insert::send_eof()
thd->first_successful_insert_id_in_prev_stmt :
(info.copied ? autoinc_value_of_last_inserted_row : 0));
::my_ok(thd, (ulong) thd->row_count_func, id, buff);
+ MYSQL_INSERT_SELECT_DONE(0, (ulong) thd->row_count_func);
DBUG_RETURN(0);
}
@@ -3329,6 +3338,12 @@ void select_insert::abort() {
table->file->ha_release_auto_increment();
}
+ if (MYSQL_INSERT_SELECT_DONE_ENABLED())
+ {
+ MYSQL_INSERT_SELECT_DONE(0, (ulong) (info.copied + info.deleted +
+ info.updated));
+ }
+
DBUG_VOID_RETURN;
}
=== modified file 'sql/sql_parse.cc'
--- a/sql/sql_parse.cc 2008-10-08 11:46:49 +0000
+++ b/sql/sql_parse.cc 2008-10-17 17:47:16 +0000
@@ -794,7 +794,10 @@ bool dispatch_command(enum enum_server_c
#if defined(ENABLED_PROFILING)
thd->profiling.start_new_query();
#endif
-
+ MYSQL_COMMAND_START(thd->thread_id, command,
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip);
+
thd->command=command;
/*
Commands which always take a long time are logged into
@@ -986,6 +989,10 @@ bool dispatch_command(enum enum_server_c
{
if (alloc_query(thd, packet, packet_length))
break; // fatal error is set
+ MYSQL_QUERY_START(thd->query, thd->thread_id,
+ (char *) (thd->db ? thd->db : ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip);
char *packet_end= thd->query + thd->query_length;
/* 'b' stands for 'buffer' parameter', special for 'my_snprintf' */
const char* end_of_stmt= NULL;
@@ -1026,12 +1033,22 @@ bool dispatch_command(enum enum_server_c
length--;
}
+ if (MYSQL_QUERY_DONE_ENABLED())
+ {
+ MYSQL_QUERY_DONE(thd->is_error());
+ }
+
#if defined(ENABLED_PROFILING)
thd->profiling.finish_current_query();
thd->profiling.start_new_query("continuing");
thd->profiling.set_query_source(beginning_of_next_stmt, length);
#endif
+ MYSQL_QUERY_START(thd->query, thd->thread_id,
+ (char *) (thd->db ? thd->db : ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip);
+
pthread_mutex_lock(&LOCK_thread_count);
thd->query_length= length;
thd->query= beginning_of_next_stmt;
@@ -1419,7 +1436,17 @@ bool dispatch_command(enum enum_server_c
#if defined(ENABLED_PROFILING)
thd->profiling.finish_current_query();
#endif
-
+ if (MYSQL_QUERY_DONE_ENABLED() || MYSQL_COMMAND_DONE_ENABLED())
+ {
+ int res;
+ res= (int) thd->is_error();
+ if (command == COM_QUERY)
+ {
+ MYSQL_QUERY_DONE(res);
+ }
+ MYSQL_COMMAND_DONE(res);
+ }
+
DBUG_RETURN(error);
}
@@ -2858,6 +2885,7 @@ ddl_blocker_err:
break;
DBUG_ASSERT(select_lex->offset_limit == 0);
unit->set_limit(select_lex);
+ MYSQL_UPDATE_START(thd->query);
res= (up_result= mysql_update(thd, all_tables,
select_lex->item_list,
lex->value_list,
@@ -2917,7 +2945,7 @@ ddl_blocker_err:
#ifdef HAVE_REPLICATION
} /* unlikely */
#endif
-
+ MYSQL_MULTI_UPDATE_START(thd->query);
res= mysql_multi_update(thd, all_tables,
&select_lex->item_list,
&lex->value_list,
@@ -2970,6 +2998,7 @@ ddl_blocker_err:
break;
}
+ MYSQL_INSERT_START(thd->query);
res= mysql_insert(thd, all_tables, lex->field_list, lex->many_values,
lex->update_list, lex->value_list,
lex->duplicates, lex->ignore);
@@ -3013,6 +3042,8 @@ ddl_blocker_err:
if (!(res= open_and_lock_tables(thd, all_tables)))
{
+ MYSQL_INSERT_SELECT_START(thd->query);
+
/* Skip first table, which is the table we are inserting in */
TABLE_LIST *second_table= first_table->next_local;
select_lex->table_list.first= (uchar*) second_table;
@@ -3097,6 +3128,7 @@ ddl_blocker_err:
break;
}
+ MYSQL_DELETE_START(thd->query);
res = mysql_delete(thd, all_tables, select_lex->where,
&select_lex->order_list,
unit->select_limit_cnt, select_lex->options,
@@ -3127,6 +3159,7 @@ ddl_blocker_err:
goto error;
thd_proc_info(thd, "init");
+ MYSQL_MULTI_DELETE_START(thd->query);
if ((res= open_and_lock_tables(thd, all_tables)))
break;
@@ -5516,6 +5549,7 @@ void mysql_init_multi_delete(LEX *lex)
void mysql_parse(THD *thd, const char *inBuf, uint length,
const char ** found_semicolon)
{
+ int error;
DBUG_ENTER("mysql_parse");
DBUG_EXECUTE_IF("parser_debug", turn_parser_debug_on(););
@@ -5584,7 +5618,15 @@ void mysql_parse(THD *thd, const char *i
thd->server_status|= SERVER_MORE_RESULTS_EXISTS;
}
lex->set_trg_event_type_for_tables();
- mysql_execute_command(thd);
+ MYSQL_QUERY_EXEC_START(thd->query,
+ thd->thread_id,
+ (char *) (thd->db ? thd->db : ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip,
+ 0);
+
+ error= mysql_execute_command(thd);
+ MYSQL_QUERY_EXEC_DONE(error);
}
}
}
@@ -7518,6 +7560,8 @@ bool parse_sql(THD *thd,
bool mysql_parse_status;
DBUG_ASSERT(thd->m_parser_state == NULL);
+ MYSQL_QUERY_PARSE_START(thd->query);
+
/* Backup creation context. */
Object_creation_ctx *backup_ctx= NULL;
@@ -7549,6 +7593,8 @@ bool parse_sql(THD *thd,
/* That's it. */
+ MYSQL_QUERY_PARSE_DONE(mysql_parse_status || thd->is_fatal_error);
+
return mysql_parse_status || thd->is_fatal_error;
}
=== modified file 'sql/sql_prepare.cc'
--- a/sql/sql_prepare.cc 2008-08-07 17:52:43 +0000
+++ b/sql/sql_prepare.cc 2008-10-10 16:23:30 +0000
@@ -3568,7 +3568,14 @@ bool Prepared_statement::execute(String
if (query_cache_send_result_to_client(thd, thd->query,
thd->query_length) <= 0)
{
+ MYSQL_QUERY_EXEC_START(thd->query,
+ thd->thread_id,
+ (char *) (thd->db ? thd->db : ""),
+ thd->security_ctx->priv_user,
+ (char *) thd->security_ctx->host_or_ip,
+ 1);
error= mysql_execute_command(thd);
+ MYSQL_QUERY_EXEC_DONE(error);
}
}
=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc 2008-10-03 09:55:06 +0000
+++ b/sql/sql_select.cc 2008-10-17 17:47:16 +0000
@@ -31,6 +31,7 @@
#include "mysql_priv.h"
#include "sql_select.h"
#include "sql_cursor.h"
+
#include <m_ctype.h>
#include <my_bit.h>
#include <hash.h>
@@ -271,7 +272,7 @@ bool handle_select(THD *thd, LEX *lex, s
bool res;
register SELECT_LEX *select_lex = &lex->select_lex;
DBUG_ENTER("handle_select");
- MYSQL_SELECT_START();
+ MYSQL_SELECT_START(thd->query);
if (select_lex->master_unit()->is_union() ||
select_lex->master_unit()->fake_select_lex)
@@ -305,7 +306,8 @@ bool handle_select(THD *thd, LEX *lex, s
if (unlikely(res))
result->abort();
- MYSQL_SELECT_END();
+ MYSQL_SELECT_DONE((int) res, (ulong) thd->limit_found_rows);
+
DBUG_RETURN(res);
}
=== modified file 'sql/sql_update.cc'
--- a/sql/sql_update.cc 2008-10-09 16:13:03 +0000
+++ b/sql/sql_update.cc 2008-10-17 17:47:16 +0000
@@ -209,7 +209,10 @@ int mysql_update(THD *thd,
for ( ; ; )
{
if (open_tables(thd, &table_list, &table_count, 0))
+ {
+ MYSQL_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
if (table_list->multitable_view)
{
@@ -218,21 +221,27 @@ int mysql_update(THD *thd,
/* pass counter value */
thd->lex->table_count= table_count;
/* convert to multiupdate */
+ MYSQL_UPDATE_DONE(2, 0, 0);
DBUG_RETURN(2);
}
if (!lock_tables(thd, table_list, table_count, 0, &need_reopen))
break;
if (!need_reopen)
+ {
+ MYSQL_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
close_tables_for_reopen(thd, &table_list, FALSE);
}
if (mysql_handle_derived(thd->lex, &mysql_derived_prepare) ||
(thd->fill_derived_tables() &&
mysql_handle_derived(thd->lex, &mysql_derived_filling)))
+ {
+ MYSQL_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
- MYSQL_UPDATE_START();
thd_proc_info(thd, "init");
table= table_list->table;
@@ -292,7 +301,7 @@ int mysql_update(THD *thd,
if (select_lex->inner_refs_list.elements &&
fix_inner_refs(thd, all_fields, select_lex, select_lex->ref_pointer_array))
{
- MYSQL_UPDATE_END();
+ MYSQL_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(-1);
}
@@ -321,8 +330,8 @@ int mysql_update(THD *thd,
if (prune_partitions(thd, table, conds))
{
free_underlaid_joins(thd, select_lex);
- MYSQL_UPDATE_END();
my_ok(thd); // No matching records
+ MYSQL_UPDATE_DONE(0, 0, 0);
DBUG_RETURN(0);
}
#endif
@@ -337,8 +346,8 @@ int mysql_update(THD *thd,
free_underlaid_joins(thd, select_lex);
if (error)
goto abort; // Error in where
- MYSQL_UPDATE_END();
my_ok(thd); // No matching records
+ MYSQL_UPDATE_DONE(0, 0, 0);
DBUG_RETURN(0);
}
if (!select && limit != HA_POS_ERROR)
@@ -811,7 +820,6 @@ int mysql_update(THD *thd,
id= thd->arg_of_last_insert_id_function ?
thd->first_successful_insert_id_in_prev_stmt : 0;
- MYSQL_UPDATE_END();
if (error < 0)
{
char buff[STRING_BUFFER_USUAL_SIZE];
@@ -824,7 +832,10 @@ int mysql_update(THD *thd,
}
thd->count_cuted_fields= CHECK_FIELD_IGNORE; /* calc cuted fields */
thd->abort_on_warning= 0;
- DBUG_RETURN((error >= 0 || thd->is_error()) ? 1 : 0);
+
+ res= (error >= 0 || thd->is_error()) ? 1 : 0;
+ MYSQL_UPDATE_DONE(res, (ulong) found, (ulong) updated);
+ DBUG_RETURN(res);
err:
delete select;
@@ -837,7 +848,7 @@ err:
thd->abort_on_warning= 0;
abort:
- MYSQL_UPDATE_END();
+ MYSQL_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
}
@@ -1622,7 +1633,10 @@ bool multi_update::send_data(List<Item>
*values_for_table[offset], 0,
table->triggers,
TRG_EVENT_UPDATE))
+ {
+ MYSQL_MULTI_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
found++;
if (!can_compare_record || compare_record(table))
@@ -1635,7 +1649,10 @@ bool multi_update::send_data(List<Item>
if (error == VIEW_CHECK_SKIP)
continue;
else if (error == VIEW_CHECK_ERROR)
+ {
+ MYSQL_MULTI_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
}
if (!updated++)
{
@@ -1665,6 +1682,7 @@ bool multi_update::send_data(List<Item>
prepare_record_for_error_message(error, table);
table->file->print_error(error,MYF(flags));
+ MYSQL_MULTI_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
}
}
@@ -1689,7 +1707,10 @@ bool multi_update::send_data(List<Item>
if (table->triggers &&
table->triggers->process_triggers(thd, TRG_EVENT_UPDATE,
TRG_ACTION_AFTER, TRUE))
+ {
+ MYSQL_MULTI_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1);
+ }
}
else
{
@@ -1732,12 +1753,14 @@ bool multi_update::send_data(List<Item>
error, 1))
{
do_update=0;
+ MYSQL_MULTI_UPDATE_DONE(1, 0, 0);
DBUG_RETURN(1); // Not a table_is_full error
}
found++;
}
}
}
+ MYSQL_UPDATE_DONE(0, (ulong) found, (ulong) updated);
DBUG_RETURN(0);
}
| Thread |
|---|
| • bzr push into mysql-6.0 branch (alexeyk:2741) | Alexey Kopytov | 20 Oct |