Thread: Accidental use of the PVC_RECURSE_WINDOWFUNCS flag?

Accidental use of the PVC_RECURSE_WINDOWFUNCS flag?

From
Antonin Houska
Date:
I think that the PVC_RECURSE_WINDOWFUNCS flag shouldn't be used in
make_partial_grouping_target().

First, this function uses the grouping_target (see grouping_planner()) as the
input, and that should only contain the input expressions of window functions
as opposed to the window functions themselves. (make_window_input_target() is
responsible for pulling the input expressions from the window functions.)

Second, if a window function appeared in the result of
make_partial_grouping_target() for any reason, the Agg node would fail to
evaluate it. Am I wrong?

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com


Attachment

Re: Accidental use of the PVC_RECURSE_WINDOWFUNCS flag?

From
Antonin Houska
Date:
Antonin Houska <ah@cybertec.at> wrote:

> Second, if a window function appeared in the result of
> make_partial_grouping_target() for any reason, the Agg node would fail to
> evaluate it. Am I wrong?

Well, this is PVC_RECURSE..., not PVC_INCLUDE..., so the window function
cannot appear in the result. But I still think that the function shouldn't
find any window functions.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com