summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2020-03-30 08:03:54 +0530
committerVarun Gupta <varun.gupta@mariadb.com>2020-03-30 08:03:54 +0530
commitb11ff3d49581d9e7b6f8b990f08e85e4d6384418 (patch)
tree8739837e35fd08595263a46817430a84810ff3c8 /sql/sql_select.cc
parent0b00c1a22f7861e6a5be5041a915ccafceb0669c (diff)
downloadmariadb-git-b11ff3d49581d9e7b6f8b990f08e85e4d6384418.tar.gz
MDEV-22019: Sig 11 in next_breadth_first_tab | max_sort_length setting + double GROUP BY leads to crash
No need to create a temp table for aggregation if we have encountered some error.
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 97002ef071f..c601946cfa0 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2210,8 +2210,12 @@ JOIN::optimize_inner()
having_is_correlated= MY_TEST(having->used_tables() & OUTER_REF_TABLE_BIT);
tmp_having= having;
- if ((select_lex->options & OPTION_SCHEMA_TABLE))
- optimize_schema_tables_reads(this);
+ if ((select_lex->options & OPTION_SCHEMA_TABLE) &&
+ optimize_schema_tables_reads(this))
+ DBUG_RETURN(TRUE);
+
+ if (unlikely(thd->is_error()))
+ DBUG_RETURN(TRUE);
/*
The loose index scan access method guarantees that all grouping or