summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2004-02-08 20:14:13 +0200
committerbell@sanja.is.com.ua <>2004-02-08 20:14:13 +0200
commit69e2460bd4f5c122017a281e8fdbbc6dedb5a671 (patch)
tree14b2b58964802549177419493c886e1dd62be7e3 /sql/sql_class.h
parent8eb590a71ec484146432cf6ae37d51fe4e6f814b (diff)
downloadmariadb-git-69e2460bd4f5c122017a281e8fdbbc6dedb5a671.tar.gz
fixed subquery with PS (BUG#2462)
fixed UNION preparation
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 7971137d848..fbe42c9876e 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -427,7 +427,7 @@ class Statement
public:
/* FIXME: must be private */
LEX main_lex;
-public:
+
/*
Uniquely identifies each statement object in thread scope; change during
statement lifetime. FIXME: must be const
@@ -476,7 +476,7 @@ public:
char *query;
uint32 query_length; // current query length
/*
- List of items created in the parser for this query. Every item puts
+ List of items created in the parser for this query. Every item puts
itself to the list on creation (see Item::Item() for details))
*/
Item *free_list;
@@ -503,6 +503,15 @@ public:
void set_statement(Statement *stmt);
/* return class type */
virtual Type type() const;
+
+ void set_n_backup_item_arena(Statement *set, Statement *backup);
+ inline void restore_backup_item_arena(Statement *backup)
+ {
+ set_item_arena(backup);
+ // reset backup mem_root to avoid its freeing
+ init_alloc_root(&backup->mem_root, 0, 0);
+ }
+ void set_item_arena(Statement *set);
};
@@ -689,6 +698,10 @@ public:
Vio* active_vio;
#endif
/*
+ Current prepared Statement if there one, or 0
+ */
+ Statement *current_statement;
+ /*
next_insert_id is set on SET INSERT_ID= #. This is used as the next
generated auto_increment value in handler.cc
*/