summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 01ca12aa371..986d7e6ba52 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -4563,7 +4563,9 @@ select_handler *find_select_handler(THD *thd,
{
if (select_lex->next_select())
return 0;
- if (select_lex->master_unit()->outer_select())
+ // Quit early if this is a subquery or query has a set operation.
+ if (select_lex->master_unit()->outer_select() ||
+ select_lex->master_unit()->first_select()->next_select())
return 0;
TABLE_LIST *tbl= nullptr;