summaryrefslogtreecommitdiff
path: root/sql/structs.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-03-10 14:11:07 +0400
committerAlexander Barkov <bar@mariadb.org>2017-04-05 15:02:59 +0400
commit84c55a5668db582aa92dd2ccf076fbb783894b12 (patch)
treec6fccd62b326cae532b50965b37889d363111940 /sql/structs.h
parentf429b5a834439e4f0c76e893487e33027d76b74b (diff)
downloadmariadb-git-84c55a5668db582aa92dd2ccf076fbb783894b12.tar.gz
MDEV-10581 sql_mode=ORACLE: Explicit cursor FOR LOOP
MDEV-12098 sql_mode=ORACLE: Implicit cursor FOR loop
Diffstat (limited to 'sql/structs.h')
-rw-r--r--sql/structs.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sql/structs.h b/sql/structs.h
index e0fb05f05da..1b3c0b7a7f2 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -674,22 +674,37 @@ public:
};
+struct Lex_for_loop_bounds_st
+{
+public:
+ class sp_assignment_lex *m_index;
+ class sp_assignment_lex *m_upper_bound;
+ int8 m_direction;
+ bool m_implicit_cursor;
+ bool is_for_loop_cursor() const { return m_upper_bound == NULL; }
+};
+
+
struct Lex_for_loop_st
{
public:
class sp_variable *m_index;
class sp_variable *m_upper_bound;
- int m_direction;
+ int m_cursor_offset;
+ int8 m_direction;
+ bool m_implicit_cursor;
void init()
{
m_index= 0;
m_upper_bound= 0;
m_direction= 0;
+ m_implicit_cursor= false;
}
void init(const Lex_for_loop_st &other)
{
*this= other;
}
+ bool is_for_loop_cursor() const { return m_upper_bound == NULL; }
};