summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-09-02 19:56:55 +0300
committerunknown <bell@sanja.is.com.ua>2003-09-02 19:56:55 +0300
commit2d7b48987621f20a57487d460d3bd77be4f254d5 (patch)
tree354683527bb4727d44f35e20a3d4f06e5e53d9b3 /sql/item_func.h
parent0e2f62640500d2d8c0acfbcdc91f207b8457da48 (diff)
downloadmariadb-git-2d7b48987621f20a57487d460d3bd77be4f254d5.tar.gz
fixed BUG#1180 (changing WHERE clause of prepared statements by optimisation)
sql/item.h: constructor and method for aloning AND/OR structure of WHERE clause sql/item_cmpfunc.cc: constructor and method for aloning AND/OR structure of WHERE clause sql/item_cmpfunc.h: constructor and method for aloning AND/OR structure of WHERE clause sql/item_func.cc: constructor for aloning AND/OR structure of WHERE clause sql/item_func.h: constructor for aloning AND/OR structure of WHERE clause sql/sql_lex.cc: field for saving WHERE root sql/sql_lex.h: field for saving WHERE root sql/sql_prepare.cc: saving WHERE root creating new AND/OR structure before executing prepared statement tests/client_test.c: test suite for bug #1180
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 7fedbcf48ee..a01c3a37c2f 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -104,6 +104,8 @@ public:
}
}
Item_func(List<Item> &list);
+ // Constructor used for Item_cond_and/or (see Item comment)
+ Item_func(THD *thd, Item_func &item);
~Item_func() {} /* Nothing to do; Items are freed automaticly */
bool fix_fields(THD *,struct st_table_list *, Item **ref);
table_map used_tables() const;
@@ -196,6 +198,7 @@ public:
Item_int_func(Item *a,Item *b) :Item_func(a,b) { max_length=21; }
Item_int_func(Item *a,Item *b,Item *c) :Item_func(a,b,c) { max_length=21; }
Item_int_func(List<Item> &list) :Item_func(list) { max_length=21; }
+ Item_int_func(THD *thd, Item_int_func &item) :Item_func(thd, item) {}
double val() { return (double) val_int(); }
String *val_str(String*str);
enum Item_result result_type () const { return INT_RESULT; }