summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-08-12 12:38:03 +0300
committerunknown <bell@sanja.is.com.ua>2003-08-12 12:38:03 +0300
commit4a36d2ada66e1aa4d685b1b69094ff5226b24e5f (patch)
treebf79484f7cc14e515e3fc508ecb3815329621ca3 /sql/item_subselect.h
parent168b5179794a8ee3fc09dbaba4dcdf0f724f3312 (diff)
downloadmariadb-git-4a36d2ada66e1aa4d685b1b69094ff5226b24e5f.tar.gz
optimisation of independent ALL/ANY with aggregate function (WL#1115) (SCRUM)
mysql-test/r/subselect.result: test of new optimisation mysql-test/t/subselect.test: test of new optimisation sql/item_subselect.cc: special subselect to finding max/min of returned values optimisation of independent ALL/ANY with aggregate function sql/item_subselect.h: special subselect to finding max/min of returned values sql/sql_class.cc: class for collaction result for max/min subquery sql/sql_class.h: class for collaction result for max/min subquery
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 9cfa304bb47..d3aa8f59e49 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -130,6 +130,7 @@ public:
max_length= item->max_length;
decimals= item->decimals;
}
+ Item_singlerow_subselect() :Item_subselect(), value(0), row (0) {}
subs_type substype() { return SINGLEROW_SUBS; }
@@ -153,6 +154,15 @@ public:
friend class select_singlerow_subselect;
};
+/* used in static ALL/ANY optimisation */
+class Item_maxmin_subselect: public Item_singlerow_subselect
+{
+public:
+ Item_maxmin_subselect(THD *thd, st_select_lex *select_lex, bool max);
+ Item_maxmin_subselect(Item_maxmin_subselect *item)
+ :Item_singlerow_subselect(item) {}
+};
+
/* exists subselect */
class Item_exists_subselect :public Item_subselect