From 5aec3d0f8d68ef3932de43f16ced48b0b3950f7a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 29 May 2007 22:17:09 +0300 Subject: [PATCH] bug#22725 merge with 5.0 sql/sql_class.cc: THD::binlog_query receives killed status arg with default the same for Query_log_event sql/sql_class.h: relocation public binlog_query down to the point where killed_state is declared --- sql/sql_class.cc | 9 ++++---- sql/sql_class.h | 53 ++++++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 87cf9b16d24..2359c5c4ae0 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -3048,9 +3048,9 @@ void THD::binlog_delete_pending_rows_event() RETURN VALUE Error code, or 0 if no error. */ -int THD::binlog_query(THD::enum_binlog_query_type qtype, - char const *query, ulong query_len, - bool is_trans, bool suppress_use) +int THD::binlog_query(THD::enum_binlog_query_type qtype, char const *query, + ulong query_len, bool is_trans, bool suppress_use, + THD::killed_state killed_status_arg) { DBUG_ENTER("THD::binlog_query"); DBUG_PRINT("enter", ("qtype=%d, query='%s'", qtype, query)); @@ -3089,7 +3089,8 @@ int THD::binlog_query(THD::enum_binlog_query_type qtype, flush the pending rows event if necessary. */ { - Query_log_event qinfo(this, query, query_len, is_trans, suppress_use); + Query_log_event qinfo(this, query, query_len, is_trans, suppress_use, + killed_status_arg); qinfo.flags|= LOG_EVENT_UPDATE_TABLE_MAP_VERSION_F; /* Binlog table maps will be irrelevant after a Query_log_event diff --git a/sql/sql_class.h b/sql/sql_class.h index a75b774b7a3..9a527323dfe 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1079,32 +1079,6 @@ public: } #endif /* MYSQL_CLIENT */ -#ifndef MYSQL_CLIENT -public: - enum enum_binlog_query_type { - /* - The query can be logged row-based or statement-based - */ - ROW_QUERY_TYPE, - - /* - The query has to be logged statement-based - */ - STMT_QUERY_TYPE, - - /* - The query represents a change to a table in the "mysql" - database and is currently mapped to ROW_QUERY_TYPE. - */ - MYSQL_QUERY_TYPE, - QUERY_TYPE_COUNT - }; - - int binlog_query(enum_binlog_query_type qtype, - char const *query, ulong query_len, - bool is_trans, bool suppress_use); -#endif - public: struct st_transactions { @@ -1491,6 +1465,33 @@ public: void close_active_vio(); #endif void awake(THD::killed_state state_to_set); + +#ifndef MYSQL_CLIENT + enum enum_binlog_query_type { + /* + The query can be logged row-based or statement-based + */ + ROW_QUERY_TYPE, + + /* + The query has to be logged statement-based + */ + STMT_QUERY_TYPE, + + /* + The query represents a change to a table in the "mysql" + database and is currently mapped to ROW_QUERY_TYPE. + */ + MYSQL_QUERY_TYPE, + QUERY_TYPE_COUNT + }; + + int binlog_query(enum_binlog_query_type qtype, + char const *query, ulong query_len, + bool is_trans, bool suppress_use, + THD::killed_state killed_err_arg= THD::KILLED_NO_VALUE); +#endif + /* For enter_cond() / exit_cond() to work the mutex must be got before enter_cond(); this mutex is then released by exit_cond().