Re: Redundant Result node
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Richard Guo <guofenglinux@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-08-22T11:15:00Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid unnecessary post-sort projection
- 9626068f1333 18.0 landed
On Thu, 22 Aug 2024 at 19:34, Richard Guo <guofenglinux@gmail.com> wrote: > /* Add projection step if needed */ > if (sorted_path->pathtarget != target) > sorted_path = apply_projection_to_path(root, ordered_rel, > sorted_path, target); > > This does not seem right to me, as PathTargets are not canonical, so > we cannot guarantee that two identical PathTargets will have the same > pointer. Actually, for the query above, the two PathTargets are > identical but have different pointers. > > I wonder if we need to invent a function to compare two PathTargets. > Alternatively, in this case, would it suffice to simply compare > PathTarget.exprs? I think tlist.c would be a good home for such a function. If you go with the function route, then it's easier to add optimisations such as checking if the pointers are equal before going to the trouble of checking if the exprs match. David