mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.2 into 10.3
FIXME: Properly resolve conflicts between MDEV-18883 and MDEV-7742/MDEV-8305, and record the correct result for main.log_slow
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2002, 2015, Oracle and/or its affiliates.
|
||||
Copyright (c) 2008, 2017, MariaDB
|
||||
Copyright (c) 2008, 2019, MariaDB
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -2930,7 +2930,7 @@ void reinit_stmt_before_use(THD *thd, LEX *lex)
|
||||
}
|
||||
for (; sl; sl= sl->next_select_in_list())
|
||||
{
|
||||
if (!sl->first_execution)
|
||||
if (sl->changed_elements & TOUCHED_SEL_COND)
|
||||
{
|
||||
/* remove option which was put by mysql_explain_union() */
|
||||
sl->options&= ~SELECT_DESCRIBE;
|
||||
@ -2977,8 +2977,13 @@ void reinit_stmt_before_use(THD *thd, LEX *lex)
|
||||
order->next= sl->group_list_ptrs->at(ix+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // no harm to do it (item_ptr set on parsing)
|
||||
ORDER *order;
|
||||
for (order= sl->group_list.first; order; order= order->next)
|
||||
{
|
||||
order->item= &order->item_ptr;
|
||||
}
|
||||
/* Fix ORDER list */
|
||||
for (order= sl->order_list.first; order; order= order->next)
|
||||
order->item= &order->item_ptr;
|
||||
@ -2992,15 +2997,16 @@ void reinit_stmt_before_use(THD *thd, LEX *lex)
|
||||
for (order= win_spec->order_list->first; order; order= order->next)
|
||||
order->item= &order->item_ptr;
|
||||
}
|
||||
|
||||
{
|
||||
#ifdef DBUG_ASSERT_EXISTS
|
||||
bool res=
|
||||
#endif
|
||||
sl->handle_derived(lex, DT_REINIT);
|
||||
DBUG_ASSERT(res == 0);
|
||||
}
|
||||
}
|
||||
if (sl->changed_elements & TOUCHED_SEL_DERIVED)
|
||||
{
|
||||
#ifdef DBUG_ASSERT_EXISTS
|
||||
bool res=
|
||||
#endif
|
||||
sl->handle_derived(lex, DT_REINIT);
|
||||
DBUG_ASSERT(res == 0);
|
||||
}
|
||||
|
||||
{
|
||||
SELECT_LEX_UNIT *unit= sl->master_unit();
|
||||
unit->unclean();
|
||||
|
Reference in New Issue
Block a user