Re: Redundant Result node
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Richard Guo <guofenglinux@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-08-22T11:32:43Z
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 22.08.24 09:34, Richard Guo wrote: > I looked into this a little bit and found that in function > create_ordered_paths, we decide whether a projection step is needed > based on a simple pointer comparison between sorted_path->pathtarget > and final_target. > > /* 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. Wouldn't the normal node equal() work?