Prevent asynchronous execution of direct foreign-table modifications.
Etsuro Fujita <efujita@postgresql.org>
Prevent asynchronous execution of direct foreign-table modifications. Commits 27e1f1456 and 86dc90056, which were independently discussed, cause a crash when executing an inherited foreign UPDATE/DELETE query with asynchronous execution enabled, where children of an Append node that is the direct/indirect child of the ModifyTable node are rewritten so as to modify foreign tables directly by postgresPlanDirectModify(); as in that case the direct modifications are executed asynchronously, which is not currently supported by asynchronous execution. Fix by disabling asynchronous execution of the direct modifications in that function. Author: Etsuro Fujita Reviewed-by: Amit Langote Discussion: https://postgr.es/m/CAPmGK158e9sJOfuWxfn%2B0ynrspXQU3JhNjSCbaoeSzMvnga%2Bbw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/postgres_fdw/expected/postgres_fdw.out | modified | +55 −0 |
| contrib/postgres_fdw/postgres_fdw.c | modified | +7 −0 |
| contrib/postgres_fdw/sql/postgres_fdw.sql | modified | +8 −0 |
Discussion
- Inherited UPDATE/DELETE vs async execution 11 messages · 2021-05-07 → 2021-05-13