summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorunknown <cbell/Chuck@mysql_cab_desk.>2007-02-26 14:30:44 -0500
committerunknown <cbell/Chuck@mysql_cab_desk.>2007-02-26 14:30:44 -0500
commit1636d00fa7fd6ff2b8d5a0117efc44d7997860fb (patch)
tree98b999d0b64cff83861d0e19ff89a040e7969f07 /sql/sql_class.cc
parentdc8b4bacc5bb76540cb33cfdcaecf916b716fa89 (diff)
parent3a8a519acb3cb44ce861375a3343b04dc812ee66 (diff)
downloadmariadb-git-1636d00fa7fd6ff2b8d5a0117efc44d7997860fb.tar.gz
Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 61625260262..3c91e3e8fb7 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -2050,6 +2050,10 @@ void THD::reset_sub_statement_state(Sub_statement_state *backup,
if (!lex->requires_prelocking() || is_update_query(lex->sql_command))
options&= ~OPTION_BIN_LOG;
+
+ if ((backup->options & OPTION_BIN_LOG) && is_update_query(lex->sql_command))
+ mysql_bin_log.start_union_events(this, this->query_id);
+
/* Disable result sets */
client_capabilities &= ~CLIENT_MULTI_RESULTS;
in_sub_stmt|= new_state;
@@ -2096,6 +2100,9 @@ void THD::restore_sub_statement_state(Sub_statement_state *backup)
sent_row_count= backup->sent_row_count;
client_capabilities= backup->client_capabilities;
+ if ((options & OPTION_BIN_LOG) && is_update_query(lex->sql_command))
+ mysql_bin_log.stop_union_events(this);
+
/*
The following is added to the old values as we are interested in the
total complexity of the query