summaryrefslogtreecommitdiff
path: root/sql/structs.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2016-08-16 10:24:12 +0400
committerAlexander Barkov <bar@mariadb.org>2017-04-05 15:02:43 +0400
commit4b61495576bc240392d7aaaec38ecac8631e447c (patch)
tree709a45ba786bcc894ed9752ea7fb603f1b9da866 /sql/structs.h
parentd2b007d6bc8458d3451bb28cc7319e39dae00e7d (diff)
downloadmariadb-git-4b61495576bc240392d7aaaec38ecac8631e447c.tar.gz
MDEV-10411 Providing compatibility for basic PL/SQL constructs
Part 9: EXCEPTION handlers EXCEPTION is now supported in inner blocks.
Diffstat (limited to 'sql/structs.h')
-rw-r--r--sql/structs.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/sql/structs.h b/sql/structs.h
index 24a96276c4e..f0c3926e424 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -628,12 +628,20 @@ public:
int dyncol_type() const { return m_type; }
};
-struct Lex_spblock_st
+
+struct Lex_spblock_handlers_st
+{
+public:
+ int hndlrs;
+ void init(int count) { hndlrs= count; }
+};
+
+
+struct Lex_spblock_st: public Lex_spblock_handlers_st
{
public:
int vars;
int conds;
- int hndlrs;
int curs;
void init()
{
@@ -653,6 +661,11 @@ class Lex_spblock: public Lex_spblock_st
{
public:
Lex_spblock() { init(); }
+ Lex_spblock(const Lex_spblock_handlers_st &other)
+ {
+ vars= conds= curs= 0;
+ hndlrs= other.hndlrs;
+ }
};
#endif /* STRUCTS_INCLUDED */