On Tue, Oct 18, 2022 at 9:47 AM Richard Guo <guofenglinux@gmail.com> wrote:
> On Tue, Oct 18, 2022 at 5:37 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I came across a couple of places in the planner that are checking
>> for nonempty havingQual; but since these bits run after
>> const-simplification of the HAVING clause, that produces the wrong
>> answer for a constant-true HAVING clause (which'll be folded to
>> empty). Correct code is to check root->hasHavingQual instead.
The postgres_fdw bits would be my oversight. :-(
> +1. root->hasHavingQual is set before we do any expression
> preprocessing. It should be the right one to check with.
+1 HEAD only seems reasonable.
Best regards,
Etsuro Fujita