Re: Redundant Result node
От | Peter Eisentraut |
---|---|
Тема | Re: Redundant Result node |
Дата | |
Msg-id | 28acf76f-1e79-4f20-887b-e0e5bdbff5e2@eisentraut.org обсуждение исходный текст |
Ответ на | Redundant Result node (Richard Guo <guofenglinux@gmail.com>) |
Ответы |
Re: Redundant Result node
|
Список | pgsql-hackers |
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?
В списке pgsql-hackers по дате отправления: