summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-07-03 14:02:05 +0400
committerAlexander Barkov <bar@mariadb.com>2018-07-03 14:02:05 +0400
commite61568ee9305c6c93c1a9f298a7fe04532881f24 (patch)
treec80b0967460f7c4f8743831690f7369e11c73722 /sql/sp_head.h
parent4b0cedf82d8d8ba582648dcb4a2620c146862a43 (diff)
parentc3289d27eef39a47fed2ce1ff239013ed6870f39 (diff)
downloadmariadb-git-e61568ee9305c6c93c1a9f298a7fe04532881f24.tar.gz
Merge remote-tracking branch 'origin/10.3' into 10.4
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h22
1 files changed, 8 insertions, 14 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h
index 5c9183f79ab..3ec8bba1b50 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -1001,12 +1001,10 @@ public:
class sp_lex_cursor: public sp_lex_local, public Query_arena
{
- LEX_CSTRING m_cursor_name;
public:
sp_lex_cursor(THD *thd, const LEX *oldlex, MEM_ROOT *mem_root_arg)
:sp_lex_local(thd, oldlex),
- Query_arena(mem_root_arg, STMT_INITIALIZED_FOR_SP),
- m_cursor_name(null_clex_str)
+ Query_arena(mem_root_arg, STMT_INITIALIZED_FOR_SP)
{ }
sp_lex_cursor(THD *thd, const LEX *oldlex)
:sp_lex_local(thd, oldlex),
@@ -1034,8 +1032,6 @@ public:
thd->free_list= NULL;
return false;
}
- const LEX_CSTRING *cursor_name() const { return &m_cursor_name; }
- void set_cursor_name(const LEX_CSTRING *name) { m_cursor_name= *name; }
};
@@ -1210,10 +1206,6 @@ public:
m_lex->safe_to_cache_query= 0;
}
- const LEX_CSTRING *cursor_name() const
- {
- return m_lex->cursor_name();
- }
private:
LEX *m_lex;
@@ -1682,8 +1674,6 @@ public:
{ return m_handler; }
private:
-
-private:
/// Handler.
sp_handler *m_handler;
@@ -1762,7 +1752,8 @@ private:
/** This is DECLARE CURSOR */
-class sp_instr_cpush : public sp_instr
+class sp_instr_cpush : public sp_instr,
+ public sp_cursor
{
sp_instr_cpush(const sp_instr_cpush &); /**< Prevent use of these */
void operator=(sp_instr_cpush &);
@@ -1861,11 +1852,14 @@ class sp_instr_cursor_copy_struct: public sp_instr
sp_instr_cursor_copy_struct(const sp_instr_cursor_copy_struct &);
void operator=(sp_instr_cursor_copy_struct &);
sp_lex_keeper m_lex_keeper;
+ uint m_cursor;
uint m_var;
public:
- sp_instr_cursor_copy_struct(uint ip, sp_pcontext *ctx,
+ sp_instr_cursor_copy_struct(uint ip, sp_pcontext *ctx, uint coffs,
sp_lex_cursor *lex, uint voffs)
- : sp_instr(ip, ctx), m_lex_keeper(lex, FALSE), m_var(voffs)
+ : sp_instr(ip, ctx), m_lex_keeper(lex, FALSE),
+ m_cursor(coffs),
+ m_var(voffs)
{}
virtual ~sp_instr_cursor_copy_struct()
{}