On Tue, Jul 18, 2023 at 5:05 AM David Rowley <dgrowle...@gmail.com> wrote: > > On Mon, 17 Jul 2023 at 15:31, Tom Lane <t...@sss.pgh.pa.us> wrote: > > > I also didn't do anything about ExtensibleNode types. I assume just > > > copying the ExtensibleNode isn't good enough. To flat copy the actual > > > node I think would require adding a new function to > > > ExtensibleNodeMethods. > > > > Yeah, the problem I've got with this approach is that flat-copying > > FDW and Custom paths would require extending the respective APIs. > > While that's a perfectly reasonable ask if we only need to do this > > in HEAD, it would be a nonstarter for released branches. Is it > > okay to only fix this issue in HEAD? > > CustomPaths, I didn't think about those. That certainly makes it more > complex. I also now see the header comment for struct CustomPath > mentioning that we don't copy Paths:
Somewhere upthread Tom suggested using a dummy projection path. Add a projection path on top of input path and add the projection path to output rel's list. That will work right? There's some shallow copying code in reparameterize_path_by_childrel() but that's very specific to the purpose there and doesn't consider Custom or Foreign paths. -- Best Wishes, Ashutosh Bapat