From ffc384e044d8e312cad13b67b9ae27878804336c Mon Sep 17 00:00:00 2001 From: Varun Gupta Date: Tue, 12 Jan 2021 11:50:31 +0530 Subject: [PATCH] MDEV-23804: Server crashes in st_select_lex::collect_grouping_fields_for_derived The issue here was we were trying to push an extracted condition for a view into the underlying table value constructor inside the view. The fix would be to not push conditions into table value constructors. --- sql/sql_derived.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index dc079ba6f16..500cb43339e 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -1453,6 +1453,8 @@ bool pushdown_cond_for_derived(THD *thd, Item *cond, TABLE_LIST *derived) for (; sl; sl= sl->next_select()) { Item *extracted_cond_copy; + if (!sl->cond_pushdown_is_allowed()) + continue; /* For each select of the unit except the last one create a clone of extracted_cond