mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Summarized results of two previous commits (26 July, 25 August)
This commit is contained in:
@ -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 */
|
Reference in New Issue
Block a user