summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-02-09 15:49:11 +0200
committerunknown <bell@sanja.is.com.ua>2004-02-09 15:49:11 +0200
commit9450b41d57b0f723a907e29a9b7cb3a60cb430f2 (patch)
tree09193b6adbb8f621c15ec79b5ff7d203c5df62cd /sql/sql_class.h
parent74b81a801785058706b46a1e75b67b026c468d04 (diff)
parent8302f040b7314c0b6b4e28ead2394cdb4d0e8d5d (diff)
downloadmariadb-git-9450b41d57b0f723a907e29a9b7cb3a60cb430f2.tar.gz
merge
mysql-test/r/derived.result: Auto merged mysql-test/t/derived.test: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.h: Auto merged sql/item_sum.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_update.cc: Auto merged
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 b3135202ad6..e5b33476d13 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
*/