summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authormkindahl@dl145k.mysql.com <>2006-07-11 12:17:19 +0200
committermkindahl@dl145k.mysql.com <>2006-07-11 12:17:19 +0200
commit9415b241395aca49afb44b8a34ca4daaa7aecb65 (patch)
treea7de1f862d3573e58eb4ee35c13d673028cafbf0 /sql/sp_head.h
parent512d1c7ff3513a1712997394cc5b75108e840fd3 (diff)
parent0581033b3b159e93b29e93a655708d4112ca7665 (diff)
downloadmariadb-git-9415b241395aca49afb44b8a34ca4daaa7aecb65.tar.gz
Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.1-new-rpl
into dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.1-merge
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h
index 2fd38b7176c..4712647b6f4 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -117,7 +117,8 @@ public:
/* Is set if a procedure with COMMIT (implicit or explicit) | ROLLBACK */
HAS_COMMIT_OR_ROLLBACK= 128,
LOG_SLOW_STATEMENTS= 256, // Used by events
- LOG_GENERAL_LOG= 512 // Used by events
+ LOG_GENERAL_LOG= 512, // Used by events
+ BINLOG_ROW_BASED_IF_MIXED= 1024
};
/* TYPE_ENUM_FUNCTION, TYPE_ENUM_PROCEDURE or TYPE_ENUM_TRIGGER */
@@ -342,6 +343,25 @@ public:
int show_routine_code(THD *thd);
#endif
+ /*
+ This method is intended for attributes of a routine which need
+ to propagate upwards to the LEX of the caller (when a property of a
+ sp_head needs to "taint" the caller).
+ */
+ void propagate_attributes(LEX *lex)
+ {
+#ifdef HAVE_ROW_BASED_REPLICATION
+ /*
+ If this routine needs row-based binary logging, the entire top statement
+ too (we cannot switch from statement-based to row-based only for this
+ routine, as in statement-based the top-statement may be binlogged and
+ the substatements not).
+ */
+ if (m_flags & BINLOG_ROW_BASED_IF_MIXED)
+ lex->binlog_row_based_if_mixed= TRUE;
+#endif
+ }
+
private: