Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c - Mailing list pgsql-bugs

From David Rowley
Subject Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c
Date
Msg-id CAApHDvoGAu9rY4iO0R+DZVxPck_M3015WUL_34XOhi9ygxYfnA@mail.gmail.com
Whole thread Raw
In response to Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Fri, 10 Mar 2023 at 05:09, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> In other words, after qual_is_pushdown_safe has rejected a qual as being
> unsafe to push down, check_and_push_window_quals merrily does it anyway,
> apparently on the theory that window functions are exempt from all rules.
> How is this even a little bit sane?

I don't think it is.  I've not looked in detail yet, but I think we
might be able to do something in check_output_expressions() so that we
track the targetIsInAllPartitionLists() separately.  Maybe
unsafeColumns[] needs to become an enum type that has UNSAFE, SAFE,
WINDOW_RUNCONDITION_ONLY and then change things so we never make a
runCondition when the qual is UNSAFE.

Anyway, I'll give it more thought and aim to come up with a patch
early next week.

David



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17827: Rule on insert into table doesn't work when excepting select from the table itself
Next
From: PG Bug reporting form
Date:
Subject: BUG #17830: Incorrect memory access in trgm_regexp