On Tue, Oct 27, 2020 at 10:23 PM Heikki Linnakangas <hlinn...@iki.fi> wrote: > This patch looks reasonable to me at a quick glance. I'm a bit worried > or unhappy about the impact on FDWs, though. It doesn't seem nice that > the ResultRelInfo is not available in the BeginDirectModify call. It's > not too bad, the FDW can call ExecGetResultRelation() if it needs it, > but still. Perhaps it would be better to delay calling > BeginDirectModify() until the first modification is performed, to avoid > any initialization overhead there, like establishing the connection in > postgres_fdw.
Ah, calling BeginDirectModify() itself lazily sounds like a good idea; see attached updated 0001 to see how that looks. While updating that patch, I realized that the ForeignScan.resultRelation that we introduced in 178f2d560d will now be totally useless. :-( -- Amit Langote EDB: http://www.enterprisedb.com
v2-0001-Call-BeginDirectModify-from-ExecInitModifyTable.patch
Description: Binary data
v2-0002-Initialize-result-relation-information-lazily.patch
Description: Binary data