diff options
author | Galina Shalygina <galashalygina@gmail.com> | 2017-08-29 02:32:39 +0200 |
---|---|---|
committer | Galina Shalygina <galashalygina@gmail.com> | 2017-08-29 02:32:39 +0200 |
commit | 570d2e7d0f2c48f9662804eb69e47ce12f983696 (patch) | |
tree | 76eecad3e08adf57567ee66f61414bf4551d722d /sql/sql_tvc.h | |
parent | 3310076dbe781e0554519fba5c4a2585a463250f (diff) | |
download | mariadb-git-570d2e7d0f2c48f9662804eb69e47ce12f983696.tar.gz |
Summarized results of two previous commits (26 July, 25 August)
Diffstat (limited to 'sql/sql_tvc.h')
-rw-r--r-- | sql/sql_tvc.h | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/sql/sql_tvc.h b/sql/sql_tvc.h index 007b50d81df..5524744a03c 100644 --- a/sql/sql_tvc.h +++ b/sql/sql_tvc.h @@ -6,26 +6,45 @@ typedef List<Item> List_item; class select_result; +class Explain_select; +class Explain_query; +class Item_func_in; + /** @class table_value_constr @brief Definition of a Table Value Construction(TVC) - It contains a list of lists of values that this TVC contains. + It contains a list of lists of values which this TVC is defined by and + reference on SELECT where this TVC is defined. */ - class table_value_constr : public Sql_alloc { public: List<List_item> lists_of_values; select_result *result; + SELECT_LEX *select_lex; + + enum { QEP_NOT_PRESENT_YET, QEP_AVAILABLE} have_query_plan; + + Explain_select *explain; + ulonglong select_options; - table_value_constr(List<List_item> tvc_values) : - lists_of_values(tvc_values), result(0) - { } + table_value_constr(List<List_item> tvc_values, SELECT_LEX *sl, + ulonglong select_options_arg) : + lists_of_values(tvc_values), result(0), select_lex(sl), + have_query_plan(QEP_NOT_PRESENT_YET), explain(0), + select_options(select_options_arg) + { }; bool prepare(THD *thd_arg, SELECT_LEX *sl, - select_result *tmp_result); - bool exec(); -}; + select_result *tmp_result, + st_select_lex_unit *unit_arg); + + int save_explain_data_intern(THD *thd_arg, + Explain_query *output); + void optimize(THD *thd_arg); + bool exec(SELECT_LEX *sl); + void print(THD *thd_arg, String *str, enum_query_type query_type); +}; #endif /* SQL_TVC_INCLUDED */
\ No newline at end of file |