mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '10.4' into 10.5
This commit is contained in:
@ -1172,22 +1172,6 @@ JOIN::prepare(TABLE_LIST *tables_init, COND *conds_init, uint og_num,
|
||||
FALSE, SELECT_ACL, SELECT_ACL, FALSE))
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
/*
|
||||
Permanently remove redundant parts from the query if
|
||||
1) This is a subquery
|
||||
2) This is the first time this query is optimized (since the
|
||||
transformation is permanent
|
||||
3) Not normalizing a view. Removal should take place when a
|
||||
query involving a view is optimized, not when the view
|
||||
is created
|
||||
*/
|
||||
if (select_lex->master_unit()->item && // 1)
|
||||
select_lex->first_cond_optimization && // 2)
|
||||
!thd->lex->is_view_context_analysis()) // 3)
|
||||
{
|
||||
remove_redundant_subquery_clauses(select_lex);
|
||||
}
|
||||
|
||||
/* System Versioning: handle FOR SYSTEM_TIME clause. */
|
||||
if (select_lex->vers_setup_conds(thd, tables_list) < 0)
|
||||
DBUG_RETURN(-1);
|
||||
@ -1269,6 +1253,23 @@ JOIN::prepare(TABLE_LIST *tables_init, COND *conds_init, uint og_num,
|
||||
&hidden_group_fields,
|
||||
&select_lex->select_n_reserved))
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
/*
|
||||
Permanently remove redundant parts from the query if
|
||||
1) This is a subquery
|
||||
2) This is the first time this query is optimized (since the
|
||||
transformation is permanent
|
||||
3) Not normalizing a view. Removal should take place when a
|
||||
query involving a view is optimized, not when the view
|
||||
is created
|
||||
*/
|
||||
if (select_lex->master_unit()->item && // 1)
|
||||
select_lex->first_cond_optimization && // 2)
|
||||
!thd->lex->is_view_context_analysis()) // 3)
|
||||
{
|
||||
remove_redundant_subquery_clauses(select_lex);
|
||||
}
|
||||
|
||||
/* Resolve the ORDER BY that was skipped, then remove it. */
|
||||
if (skip_order_by && select_lex !=
|
||||
select_lex->master_unit()->global_parameters())
|
||||
|
Reference in New Issue
Block a user