Re: GSets: Fix bug involving GROUPING and HAVING together

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: GSets: Fix bug involving GROUPING and HAVING together
Дата
Msg-id 874mkt3l59.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на Re: GSets: Fix bug involving GROUPING and HAVING together  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Ответы Re: GSets: Fix bug involving GROUPING and HAVING together  (Jeevan Chalke <jeevan.chalke@enterprisedb.com>)
Re: GSets: Fix bug involving GROUPING and HAVING together  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
>>>>> "Andrew" == Andrew Gierth <andrew@tao11.riddles.org.uk> writes:

 Andrew> The other is that in subquery_planner, the optimization of
 Andrew> converting HAVING clauses to WHERE clauses is suppressed if
 Andrew> parse->groupingSets isn't empty. (It is empty if there's either
 Andrew> no group by clause at all, or if there's exactly one grouping
 Andrew> set, which must not be empty, however derived.) This is costing
 Andrew> us some optimizations, especially in the case of an explicit
 Andrew> GROUP BY () clause; I'll look into this.

I'm inclined to go with the simplest approach here, which copies the
quals if there are grouping sets. The only way we could safely move a
qual without copying is if we can show that none of the grouping sets is
empty, that is (), and at this point the grouping set list has not been
expanded so it's not trivial to determine that.

Patch attached.

--
Andrew (irc:RhodiumToad)


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Free indexed_tlist memory explicitly within set_plan_refs()
Следующее
От: Pavan Deolasee
Дата:
Сообщение: Re: Reduce ProcArrayLock contention