| From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Reject child partition FDWs in FOR PORTION OF |
| Date: | 2026-06-27 17:42:33 |
| Message-ID: | E1wdX33-000Qx0-15@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Reject child partition FDWs in FOR PORTION OF
We should defer validating FDW usage until after analysis. We have to
guard against not just the topmost table, but also individual child
partitions. Added the check to CheckValidResultRel, because it is
called after looking up child partitions (accounting for pruning), but
before the FDW can run a DirectModify update, which would bypass
per-tuple executor work.
Author: jian he <jian(dot)universality(at)gmail(dot)com>
Reported-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Reviewed-by: Paul A. Jungwirth <pj(at)illuminatedcomputing(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/CA%2BrenyUte0_UJsJiDJQi82oaBsMJn%3Dcct0Wn%3DvOqXtuDn%3DYYJA%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/a40fdf658862b3221a35268f8c74abfd46b9e93c
Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 42 ++++++++++++++++++++++++--
contrib/postgres_fdw/sql/postgres_fdw.sql | 30 ++++++++++++++++--
src/backend/commands/copyfrom.c | 2 +-
src/backend/executor/execMain.c | 11 ++++++-
src/backend/executor/execPartition.c | 4 +--
src/backend/executor/nodeModifyTable.c | 2 +-
src/backend/parser/analyze.c | 6 ----
src/include/executor/executor.h | 2 +-
8 files changed, 81 insertions(+), 18 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2026-06-27 22:10:21 | pgsql: doc: Clarify ALTER CONSTRAINT enforceability behavior |
| Previous Message | Peter Eisentraut | 2026-06-27 11:59:39 | pgsql: Move FOR PORTION OF volatile check into planner |