Re: Redundant Result node - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Redundant Result node
Date
Msg-id 28acf76f-1e79-4f20-887b-e0e5bdbff5e2@eisentraut.org
Whole thread Raw
In response to Redundant Result node  (Richard Guo <guofenglinux@gmail.com>)
Responses Re: Redundant Result node
List 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 by date:

Previous
From: Rafia Sabih
Date:
Subject: Re: Support tid range scan in parallel?
Next
From: vignesh C
Date:
Subject: Re: Pgoutput not capturing the generated columns