summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2019-02-14 22:07:33 -0800
committerIgor Babaev <igor@askmonty.org>2019-02-14 22:07:33 -0800
commit98d55b1366746a2b4750da9e8781f66b0d01ed85 (patch)
treeff062a3ec4e6a760d5c45e9db4f1fd292cfadbbe /sql/sql_select.h
parentccce4d3be9bb5dfce66576f9744bcb927b754cf4 (diff)
parent282ba973e748456a829eecf1b49fb352870c6a8f (diff)
downloadmariadb-git-98d55b1366746a2b4750da9e8781f66b0d01ed85.tar.gz
Merge branch '10.4' into bb-10.4-mdev16188
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h46
1 files changed, 45 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 3de0e894c93..01daf972b0b 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -2468,9 +2468,53 @@ public:
~Pushdown_query() { delete handler; }
/* Function that calls the above scan functions */
- int execute(JOIN *join);
+ int execute(JOIN *);
};
+class derived_handler;
+
+class Pushdown_derived: public Sql_alloc
+{
+private:
+ bool is_analyze;
+public:
+ TABLE_LIST *derived;
+ derived_handler *handler;
+
+ Pushdown_derived(TABLE_LIST *tbl, derived_handler *h);
+
+ ~Pushdown_derived();
+
+ int execute();
+};
+
+
+class select_handler;
+
+
+class Pushdown_select: public Sql_alloc
+{
+private:
+ bool is_analyze;
+ List<Item> result_columns;
+ bool send_result_set_metadata();
+ bool send_data();
+ bool send_eof();
+
+public:
+ SELECT_LEX *select;
+ select_handler *handler;
+
+ Pushdown_select(SELECT_LEX *sel, select_handler *h);
+
+ ~Pushdown_select();
+
+ bool init();
+
+ int execute();
+};
+
+
bool test_if_order_compatible(SQL_I_List<ORDER> &a, SQL_I_List<ORDER> &b);
int test_if_group_changed(List<Cached_item> &list);
int create_sort_index(THD *thd, JOIN *join, JOIN_TAB *tab, Filesort *fsort);