Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit590fc5d

Browse files
committed
Ensure tableoid reads correctly in EvalPlanQual-manufactured tuples.
The ROW_MARK_COPY path in EvalPlanQualFetchRowMarks() was just settingtableoid to InvalidOid, I think on the assumption that the referencedRTE must be a subquery or other case without a meaningful OID. However,foreign tables also use this code path, and they do have meaningfultable OIDs; so failure to set the tuple field can lead to user-visiblemisbehavior. Fix that by fetching the appropriate OID from the rangetable.There's still an issue about whether CTID can ever have a meaningfulvalue in this case; at least with postgres_fdw foreign tables, it does.But that is a different problem that seems to require a significantlydifferent patch --- it's debatable whether postgres_fdw really wants touse this code path at all.Simplified version of a patch by Etsuro Fujita, who also noted theproblem to begin with. The issue can be demonstrated in all versionshaving FDWs, so back-patch to 9.1.
1 parentae67e81 commit590fc5d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

‎src/backend/executor/execMain.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2238,7 +2238,9 @@ EvalPlanQualFetchRowMarks(EPQState *epqstate)
22382238
/* build a temporary HeapTuple control structure */
22392239
tuple.t_len=HeapTupleHeaderGetDatumLength(td);
22402240
ItemPointerSetInvalid(&(tuple.t_self));
2241-
tuple.t_tableOid=InvalidOid;
2241+
/* relation might be a foreign table, if so provide tableoid */
2242+
tuple.t_tableOid=getrelid(erm->rti,
2243+
epqstate->estate->es_range_table);
22422244
tuple.t_data=td;
22432245

22442246
/* copy and store tuple */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp