Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Aug 25, 2014 at 8:58 AM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
>> Reading the code, I noticed that the pushed down UPDATE or DELETE statement is executed
>> during postgresBeginForeignScan rather than during postgresIterateForeignScan.
>> It probably does not matter, but is there a reason to do it different from the normal scan?
> Hmm, I'm worried that may be an API contract violation.
Indeed it is. You could get away with it if you check the
EXEC_FLAG_EXPLAIN_ONLY flag before doing anything with visible
side-effects, but it's still pretty ugly.
regards, tom lane