Use appropriate tuple descriptor in FDW batching
authorTomas Vondra <tomas.vondra@postgresql.org>
Thu, 12 Aug 2021 19:32:53 +0000 (21:32 +0200)
committerTomas Vondra <tomas.vondra@postgresql.org>
Thu, 12 Aug 2021 20:10:06 +0000 (22:10 +0200)
commit650663b4cb4714a34d7171981de4392486a85f86
tree29c47029a6ea80442541f29a86a5b5c11bcfbe70
parentba958299eaf3d2f55bddb8efb037091d14ca6fd0
Use appropriate tuple descriptor in FDW batching

The FDW batching code was using the same tuple descriptor both for all
slots (regular and plan slots), but that's incorrect - the subplan may
use a different descriptor. Currently this is benign, because batching
is used only for INSERTs, and in that case the descriptors always match.
But that would change if we allow batching UPDATEs.

Fix by copying the appropriate tuple descriptor. Backpatch to 14, where
the FDW batching was implemented.

Author: Amit Langote
Backpatch-through: 14, where FDW batching was added
Discussion: https://postgr.es/m/CA%2BHiwqEWd5B0-e-RvixGGUrNvGkjH2s4m95%3DJcwUnyV%3Df0rAKQ%40mail.gmail.com
src/backend/executor/nodeModifyTable.c