diff options
author | Igor Babaev <igor@askmonty.org> | 2019-02-14 22:07:33 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2019-02-14 22:07:33 -0800 |
commit | 98d55b1366746a2b4750da9e8781f66b0d01ed85 (patch) | |
tree | ff062a3ec4e6a760d5c45e9db4f1fd292cfadbbe /sql/sql_select.h | |
parent | ccce4d3be9bb5dfce66576f9744bcb927b754cf4 (diff) | |
parent | 282ba973e748456a829eecf1b49fb352870c6a8f (diff) | |
download | mariadb-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.h | 46 |
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); |