ExecRelationIsTargetRelation-compare-OID.patch
text/plain
Filename: ExecRelationIsTargetRelation-compare-OID.patch
Type: text/plain
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/executor/execUtils.c | 6 | 1 |
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c
index 2a47abc02e..b9ee875267 100644
--- a/src/backend/executor/execUtils.c
+++ b/src/backend/executor/execUtils.c
@@ -664,12 +664,17 @@ bool
ExecRelationIsTargetRelation(EState *estate, Index scanrelid)
{
ResultRelInfo *resultRelInfos;
+ Oid scanreloid;
int i;
+ Assert(estate->es_range_table_array != NULL &&
+ estate->es_range_table_array[scanrelid - 1] != NULL);
+ scanreloid = estate->es_range_table_array[scanrelid - 1]->relid;
+
resultRelInfos = estate->es_result_relations;
for (i = 0; i < estate->es_num_result_relations; i++)
{
- if (resultRelInfos[i].ri_RangeTableIndex == scanrelid)
+ if (scanreloid == resultRelInfos[i].ri_RelationDesc->rd_id)
return true;
}
return false;