Re: BUG #17777: An assert failed in nodeWindowAgg.c

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: BUG #17777: An assert failed in nodeWindowAgg.c
Дата
Msg-id 20230211015112.qwvmlnp5r4kyfffl@awork3.anarazel.de
обсуждение исходный текст
Ответ на Re: BUG #17777: An assert failed in nodeWindowAgg.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Hi,

On 2023-02-10 20:08:09 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I think we could just add a !contain_subplans() to the code deciding whether
> > it's safe to use the movable window optimization?
>
> Yeah, perhaps.  That doesn't seem like a mainstream use-case either.

I suspect we ought to backpatch a fix and compared to some other ideas, that
seems not terribly invasive.


> Another idea, tying into your previous point, is to try to check
> contain_volatile_functions in the planner before we've reduced
> sublinks to subplans.  I'm not sure that would be convenient to do
> though; subplan-conversion happens pretty early.

Yea, that doesn't seem too promising.


What I was referencing is that we already moved most aggregate processing to
the planner, c.f. preprocess_aggref(), but we didn't do the same for window
functions. Even though there's a lot of similar code there.

To fix the bug, we could just do a minimal version of that, I think, and add a
new field to WindowFunc, that we populate somewhere around
optimize_window_clauses().


Perhaps we ought to add something similar to parallel_safe to SubPlan?


> (I'm quite hesitant to move the goalposts on what
> contain_volatile_functions detects.  As that comment indicates,
> some thought has gone into its current behavior, and I think
> we might hit some unwanted side-effects if we change it.)

Agreed. We could have a second "interface" function, using the same caller
though. But afaics, without adding information to the SubPlan nodes, we can't
really do better anyway?


Greetings,

Andres Freund



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #17777: An assert failed in nodeWindowAgg.c
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #17760: SCRAM authentication fails with "modern" (rsassaPss signature) server certificate