From: | Ankit Kumar Pandey <itsankitkp(at)gmail(dot)com> |
---|---|
To: | David Rowley <dgrowleyml(at)gmail(dot)com> |
Cc: | Vik Fearing <vik(at)postgresfriends(dot)org>, pghackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Todo: Teach planner to evaluate multiple windows in the optimal order |
Date: | 2023-01-05 07:46:15 |
Message-ID: | a58a04a9-2dd6-7290-35c5-e3e23f326b85@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 05/01/23 12:53, David Rowley wrote:
>
> We *can* reuse Sorts where a more strict or equivalent sort order is
> available. The question is how do we get the final WindowClause to do
> something slightly more strict to save having to do anything for the
> ORDER BY. One way you might think would be to adjust the
> WindowClause's orderClause to add the additional clauses, but that
> cannot be done because that would cause are_peers() in nodeWindowAgg.c
> to not count some rows as peers when they maybe should be given a less
> strict orderClause in the WindowClause.
Okay, now I see issue in my approach.
> It might be possible to adjust create_one_window_path() so that when
> processing the final WindowClause that it looks at the DISTINCT or
> ORDER BY clause to see if we can sort on a few extra columns to save
> having to do any further sorting. We just *cannot* make any
> adjustments to the WindowClause's orderClause.
>
This is much better solution. I will check
create_one_window_path for the same.
--
Regards,
Ankit Kumar Pandey
From | Date | Subject | |
---|---|---|---|
Next Message | Antonin Houska | 2023-01-05 07:51:08 | Re: grouping pushdown |
Previous Message | David Rowley | 2023-01-05 07:23:40 | Re: Todo: Teach planner to evaluate multiple windows in the optimal order |