summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2003-07-24 15:26:21 +0300
committerbell@sanja.is.com.ua <>2003-07-24 15:26:21 +0300
commitec74bb8d76df322fd9199d0a371310e07f4e0e4d (patch)
treeeeaa5ce2649f296092dab3d519b7928e56ab058d /sql/item_cmpfunc.h
parent07a70f79e857aac71c9fea0ad2c6c7a3bf805b13 (diff)
downloadmariadb-git-ec74bb8d76df322fd9199d0a371310e07f4e0e4d.tar.gz
independent ALL/ANY subselect on top of WHERE clause (subselect without GROUP BY or aggregate functions) optimisation
(SCRUM) (WL#1086)
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r--sql/item_cmpfunc.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 44e1cf99511..ea652353828 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -155,6 +155,16 @@ public:
const char *func_name() const { return "not"; }
};
+class Item_func_not_all :public Item_func_not
+{
+ bool abort_on_null;
+public:
+ Item_func_not_all(Item *a) :Item_func_not(a), abort_on_null(0) {}
+ virtual void top_level_item() { abort_on_null= 1; }
+ bool top_level() { return abort_on_null; }
+ longlong val_int();
+};
+
class Item_func_eq :public Item_bool_rowready_func2
{
public: