Another fix after the latest rebase of commits for MDEV-28883
This commit is contained in:
parent
c22f7e8e0a
commit
e2e3524d72
@ -1593,8 +1593,7 @@ where a = ( select * from (select a from t1) dt where dt.a > 5)
|
||||
returning pk, a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 3 Using where
|
||||
3 DERIVED t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
2 SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
delete from t1
|
||||
where a = ( select * from (select a from t1) dt where dt.a > 5)
|
||||
returning pk, a;
|
||||
@ -1633,8 +1632,7 @@ where a <> ( select * from (select a from t1) dt where dt.a > 7)
|
||||
order by a limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 4 Using where; Using filesort
|
||||
2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 4 Using where
|
||||
3 DERIVED t1 ALL NULL NULL NULL NULL 4 Using where
|
||||
2 SUBQUERY t1 ALL NULL NULL NULL NULL 4 Using where
|
||||
delete from t1
|
||||
where a <> ( select * from (select a from t1) dt where dt.a > 7)
|
||||
order by a limit 2;
|
||||
|
@ -1205,7 +1205,7 @@ retry:
|
||||
if (thd->lex->sql_command == SQLCOM_UPDATE)
|
||||
{
|
||||
Sql_cmd_update *cmd= (Sql_cmd_update *) (thd->lex->m_sql_cmd);
|
||||
if (cmd->is_multitable())
|
||||
if (cmd->is_multitable() || derived->derived->outer_select())
|
||||
materialize= false;
|
||||
else if (!cmd->processing_as_multitable_update_prohibited(thd))
|
||||
{
|
||||
@ -1216,9 +1216,9 @@ retry:
|
||||
else if (thd->lex->sql_command == SQLCOM_DELETE)
|
||||
{
|
||||
Sql_cmd_delete *cmd= (Sql_cmd_delete *) (thd->lex->m_sql_cmd);
|
||||
if (cmd->is_multitable())
|
||||
if (cmd->is_multitable() || derived->derived->outer_select())
|
||||
materialize= false;
|
||||
if (!cmd->processing_as_multitable_delete_prohibited(thd))
|
||||
else if (!cmd->processing_as_multitable_delete_prohibited(thd))
|
||||
{
|
||||
cmd->set_as_multitable();
|
||||
materialize= false;
|
||||
|
@ -1507,7 +1507,9 @@ bool Sql_cmd_delete::precheck(THD *thd)
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
WSREP_SYNC_WAIT(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE);
|
||||
#endif
|
||||
|
||||
return false;
|
||||
|
||||
|
@ -2827,7 +2827,10 @@ bool multi_update::send_eof()
|
||||
|
||||
bool Sql_cmd_update::processing_as_multitable_update_prohibited(THD *thd)
|
||||
{
|
||||
return false;
|
||||
SELECT_LEX *const select_lex = thd->lex->first_select_lex();
|
||||
return
|
||||
(select_lex->order_list.elements &&
|
||||
select_lex->limit_params.select_limit);
|
||||
}
|
||||
|
||||
|
||||
@ -2851,7 +2854,9 @@ bool Sql_cmd_update::precheck(THD *thd)
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
WSREP_SYNC_WAIT(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE);
|
||||
#endif
|
||||
|
||||
return false;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user