diff options
Diffstat (limited to 'src/backend/catalog/index.c')
-rw-r--r-- | src/backend/catalog/index.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 8eae43ddb3d..cebca95ac8d 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -1215,18 +1215,13 @@ index_constraint_create(Relation heapRelation, */ if (deferrable) { - RangeVar *heapRel; CreateTrigStmt *trigger; - heapRel = makeRangeVar(get_namespace_name(namespaceId), - pstrdup(RelationGetRelationName(heapRelation)), - -1); - trigger = makeNode(CreateTrigStmt); trigger->trigname = (constraintType == CONSTRAINT_PRIMARY) ? "PK_ConstraintTrigger" : "Unique_ConstraintTrigger"; - trigger->relation = heapRel; + trigger->relation = NULL; trigger->funcname = SystemFuncName("unique_key_recheck"); trigger->args = NIL; trigger->row = true; @@ -1239,7 +1234,8 @@ index_constraint_create(Relation heapRelation, trigger->initdeferred = initdeferred; trigger->constrrel = NULL; - (void) CreateTrigger(trigger, NULL, conOid, indexRelationId, true); + (void) CreateTrigger(trigger, NULL, RelationGetRelid(heapRelation), + InvalidOid, conOid, indexRelationId, true); } /* |