mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.1 into 10.2
This commit is contained in:
@ -752,6 +752,10 @@ public:
|
||||
:tmp_field(fld), producing_item(item) {}
|
||||
};
|
||||
|
||||
|
||||
#define TOUCHED_SEL_COND 1/* WHERE/HAVING/ON should be reinited before use */
|
||||
#define TOUCHED_SEL_DERIVED (1<<1)/* derived should be reinited before use */
|
||||
|
||||
/*
|
||||
SELECT_LEX - store information of parsed SELECT statment
|
||||
*/
|
||||
@ -926,7 +930,8 @@ public:
|
||||
subquery. Prepared statements work OK in that regard, as in
|
||||
case of an error during prepare the PS is not created.
|
||||
*/
|
||||
bool first_execution;
|
||||
uint8 changed_elements; // see TOUCHED_SEL_*
|
||||
/* TODO: add foloowing first_* to bitmap above */
|
||||
bool first_natural_join_processing;
|
||||
bool first_cond_optimization;
|
||||
/* do not wrap view fields with Item_ref */
|
||||
@ -3157,6 +3162,31 @@ public:
|
||||
*/
|
||||
bool tmp_table() const { return create_info.tmp_table(); }
|
||||
bool if_exists() const { return create_info.if_exists(); }
|
||||
|
||||
/*
|
||||
Run specified phases for derived tables/views in the given list
|
||||
|
||||
@param table_list - list of derived tables/view to handle
|
||||
@param phase - phases to process tables/views through
|
||||
|
||||
@details
|
||||
This method runs phases specified by the 'phases' on derived
|
||||
tables/views found in the 'table_list' with help of the
|
||||
TABLE_LIST::handle_derived function.
|
||||
'this' is passed as an argument to the TABLE_LIST::handle_derived.
|
||||
|
||||
@return false - ok
|
||||
@return true - error
|
||||
*/
|
||||
bool handle_list_of_derived(TABLE_LIST *table_list, uint phases)
|
||||
{
|
||||
for (TABLE_LIST *tl= table_list; tl; tl= tl->next_local)
|
||||
{
|
||||
if (tl->is_view_or_derived() && tl->handle_derived(this, phases))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user