summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2019-10-31 10:58:06 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2019-10-31 10:58:06 +0100
commit55b2281a5da38f66dca5e2180672f570c33676df (patch)
tree9cbb719b71ff8f29e657ff1d468f4270c714d5b5 /sql/sql_class.h
parentd6d621cec18251b55202bbd362315b3c1ed90181 (diff)
parent259edb1f60b5d4e9061a81e90c5a8ec9d0741751 (diff)
downloadmariadb-git-55b2281a5da38f66dca5e2180672f570c33676df.tar.gz
Merge branch '10.2' into 10.3
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 43c902e84ef..6bec4dafd74 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -1620,12 +1620,16 @@ public:
/**
@class Sub_statement_state
@brief Used to save context when executing a function or trigger
+
+ operations on stat tables aren't technically a sub-statement, but they are
+ similar in a sense that they cannot change the transaction status.
*/
/* Defines used for Sub_statement_state::in_sub_stmt */
#define SUB_STMT_TRIGGER 1
#define SUB_STMT_FUNCTION 2
+#define SUB_STMT_STAT_TABLES 4
class Sub_statement_state
@@ -6545,6 +6549,22 @@ class Sql_mode_save
sql_mode_t old_mode; // SQL mode saved at construction time.
};
+class Switch_to_definer_security_ctx
+{
+ public:
+ Switch_to_definer_security_ctx(THD *thd, TABLE_LIST *table) :
+ m_thd(thd), m_sctx(thd->security_ctx)
+ {
+ if (table->security_ctx)
+ thd->security_ctx= table->security_ctx;
+ }
+ ~Switch_to_definer_security_ctx() { m_thd->security_ctx = m_sctx; }
+
+ private:
+ THD *m_thd;
+ Security_context *m_sctx;
+};
+
/**
This class resembles the SQL Standard schema qualified object name: