summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2003-10-24 17:28:32 +0300
committerbell@sanja.is.com.ua <>2003-10-24 17:28:32 +0300
commitf349adf8de5be3d5f1a5ba09913828795a59c8d3 (patch)
tree63bd3fb6c3566519729c8f88b30bbb74d936361e /sql/item_func.h
parent4e1920762ab8af492181d9d32261a64ce7e3ddb2 (diff)
downloadmariadb-git-f349adf8de5be3d5f1a5ba09913828795a59c8d3.tar.gz
support 'parallel' updates and rallback of whole statement in case of error in evalueting value which should be assigned
(BUG#1484)
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 8086e65786d..fe9c2645216 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -900,6 +900,14 @@ class Item_func_set_user_var :public Item_func
user_var_entry *entry;
char buffer[MAX_FIELD_WIDTH];
String value;
+ union
+ {
+ longlong vint;
+ double vreal;
+ String *vstr;
+ } save_result;
+ String save_buff;
+
public:
Item_func_set_user_var(LEX_STRING a,Item *b)
@@ -910,6 +918,7 @@ public:
String *val_str(String *str);
bool update_hash(void *ptr, uint length, enum Item_result type,
CHARSET_INFO *cs, Derivation dv);
+ bool check();
bool update();
enum Item_result result_type () const { return cached_result_type; }
bool fix_fields(THD *thd, struct st_table_list *tables, Item **ref);