diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/alter.c | 2 | ||||
-rw-r--r-- | src/backend/commands/cluster.c | 4 | ||||
-rw-r--r-- | src/backend/commands/copy.c | 2 | ||||
-rw-r--r-- | src/backend/commands/event_trigger.c | 6 | ||||
-rw-r--r-- | src/backend/commands/functioncmds.c | 2 | ||||
-rw-r--r-- | src/backend/commands/indexcmds.c | 75 | ||||
-rw-r--r-- | src/backend/commands/lockcmds.c | 2 | ||||
-rw-r--r-- | src/backend/commands/policy.c | 2 | ||||
-rw-r--r-- | src/backend/commands/portalcmds.c | 6 | ||||
-rw-r--r-- | src/backend/commands/statscmds.c | 7 | ||||
-rw-r--r-- | src/backend/commands/tablecmds.c | 83 | ||||
-rw-r--r-- | src/backend/commands/trigger.c | 13 |
12 files changed, 105 insertions, 99 deletions
diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 0d63866fb09..eff325cc7d0 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -942,7 +942,7 @@ AlterObjectOwner_internal(Relation rel, Oid objectId, Oid new_ownerId) /* Superusers can bypass permission checks */ if (!superuser()) { - ObjectType objtype = get_object_type(classId, objectId); + ObjectType objtype = get_object_type(classId, objectId); /* must be owner */ if (!has_privs_of_role(GetUserId(), old_ownerId)) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index d088dc11a67..482d463420a 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -1539,8 +1539,8 @@ finish_heap_swap(Oid OIDOldHeap, Oid OIDNewHeap, frozenXid, cutoffMulti, mapped_tables); /* - * If it's a system catalog, queue a sinval message to flush all - * catcaches on the catalog when we reach CommandCounterIncrement. + * If it's a system catalog, queue a sinval message to flush all catcaches + * on the catalog when we reach CommandCounterIncrement. */ if (is_system_catalog) CacheInvalidateCatalog(OIDOldHeap); diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 99479eed662..770c75fe2ca 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -2783,7 +2783,7 @@ CopyFrom(CopyState cstate) slot, NULL); - if (slot == NULL) /* "do nothing" */ + if (slot == NULL) /* "do nothing" */ goto next_tuple; /* FDW might have changed tuple */ diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c index 45baf7c13f0..eecc85d14e5 100644 --- a/src/backend/commands/event_trigger.c +++ b/src/backend/commands/event_trigger.c @@ -2184,7 +2184,7 @@ pg_event_trigger_ddl_commands(PG_FUNCTION_ARGS) "GRANT" : "REVOKE"); /* object_type */ values[i++] = CStringGetTextDatum(stringify_grant_objtype( - cmd->d.grant.istmt->objtype)); + cmd->d.grant.istmt->objtype)); /* schema */ nulls[i++] = true; /* identity */ @@ -2244,7 +2244,7 @@ stringify_grant_objtype(ObjectType objtype) return "TABLESPACE"; case OBJECT_TYPE: return "TYPE"; - /* these currently aren't used */ + /* these currently aren't used */ case OBJECT_ACCESS_METHOD: case OBJECT_AGGREGATE: case OBJECT_AMOP: @@ -2326,7 +2326,7 @@ stringify_adefprivs_objtype(ObjectType objtype) return "TABLESPACES"; case OBJECT_TYPE: return "TYPES"; - /* these currently aren't used */ + /* these currently aren't used */ case OBJECT_ACCESS_METHOD: case OBJECT_AGGREGATE: case OBJECT_AMOP: diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 3c74873eeb6..cc229bbecf0 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -305,7 +305,7 @@ interpret_function_parameter_list(ParseState *pstate, { if (objtype == OBJECT_PROCEDURE) *requiredResultType = RECORDOID; - else if (outCount == 0) /* save first output param's type */ + else if (outCount == 0) /* save first output param's type */ *requiredResultType = toid; outCount++; } diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index dda0dcb8aa8..c4aa4c0974d 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -326,7 +326,7 @@ DefineIndex(Oid relationId, IndexStmt *stmt, Oid indexRelationId, Oid parentIndexId, - Oid parentConstraintId, + Oid parentConstraintId, bool is_alter_table, bool check_rights, bool check_not_in_use, @@ -381,11 +381,11 @@ DefineIndex(Oid relationId, /* * Calculate the new list of index columns including both key columns and - * INCLUDE columns. Later we can determine which of these are key columns, - * and which are just part of the INCLUDE list by checking the list - * position. A list item in a position less than ii_NumIndexKeyAttrs is - * part of the key columns, and anything equal to and over is part of the - * INCLUDE columns. + * INCLUDE columns. Later we can determine which of these are key + * columns, and which are just part of the INCLUDE list by checking the + * list position. A list item in a position less than ii_NumIndexKeyAttrs + * is part of the key columns, and anything equal to and over is part of + * the INCLUDE columns. */ allIndexParams = list_concat(list_copy(stmt->indexParams), list_copy(stmt->indexIncludingParams)); @@ -431,6 +431,7 @@ DefineIndex(Oid relationId, /* OK */ break; case RELKIND_FOREIGN_TABLE: + /* * Custom error message for FOREIGN TABLE since the term is close * to a regular table and can confuse the user. @@ -691,13 +692,13 @@ DefineIndex(Oid relationId, * partition-local index can enforce global uniqueness iff the PK * value completely determines the partition that a row is in. * - * Thus, verify that all the columns in the partition key appear - * in the unique key definition. + * Thus, verify that all the columns in the partition key appear in + * the unique key definition. */ for (i = 0; i < key->partnatts; i++) { - bool found = false; - int j; + bool found = false; + int j; const char *constraint_type; if (stmt->primary) @@ -722,7 +723,7 @@ DefineIndex(Oid relationId, errmsg("unsupported %s constraint with partition key definition", constraint_type), errdetail("%s constraints cannot be used when partition keys include expressions.", - constraint_type))); + constraint_type))); for (j = 0; j < indexInfo->ii_NumIndexAttrs; j++) { @@ -820,8 +821,8 @@ DefineIndex(Oid relationId, /* * Make the catalog entries for the index, including constraints. This * step also actually builds the index, except if caller requested not to - * or in concurrent mode, in which case it'll be done later, or - * doing a partitioned index (because those don't have storage). + * or in concurrent mode, in which case it'll be done later, or doing a + * partitioned index (because those don't have storage). */ flags = constr_flags = 0; if (stmt->isconstraint) @@ -871,8 +872,8 @@ DefineIndex(Oid relationId, if (partitioned) { /* - * Unless caller specified to skip this step (via ONLY), process - * each partition to make sure they all contain a corresponding index. + * Unless caller specified to skip this step (via ONLY), process each + * partition to make sure they all contain a corresponding index. * * If we're called internally (no stmt->relation), recurse always. */ @@ -904,13 +905,13 @@ DefineIndex(Oid relationId, */ for (i = 0; i < nparts; i++) { - Oid childRelid = part_oids[i]; - Relation childrel; - List *childidxs; - ListCell *cell; + Oid childRelid = part_oids[i]; + Relation childrel; + List *childidxs; + ListCell *cell; AttrNumber *attmap; - bool found = false; - int maplen; + bool found = false; + int maplen; childrel = heap_open(childRelid, lockmode); childidxs = RelationGetIndexList(childrel); @@ -940,7 +941,7 @@ DefineIndex(Oid relationId, opfamOids, attmap, maplen)) { - Oid cldConstrOid = InvalidOid; + Oid cldConstrOid = InvalidOid; /* * Found a match. @@ -1002,7 +1003,7 @@ DefineIndex(Oid relationId, childStmt->idxname = NULL; childStmt->relationId = childRelid; DefineIndex(childRelid, childStmt, - InvalidOid, /* no predefined OID */ + InvalidOid, /* no predefined OID */ indexRelationId, /* this is our child */ createdConstraintId, is_alter_table, check_rights, check_not_in_use, @@ -1014,9 +1015,8 @@ DefineIndex(Oid relationId, /* * The pg_index row we inserted for this index was marked - * indisvalid=true. But if we attached an existing index that - * is invalid, this is incorrect, so update our row to - * invalid too. + * indisvalid=true. But if we attached an existing index that is + * invalid, this is incorrect, so update our row to invalid too. */ if (invalidate_parent) { @@ -1479,7 +1479,7 @@ ComputeIndexAttrs(IndexInfo *indexInfo, } else { - indexInfo->ii_IndexAttrNumbers[attn] = 0; /* marks expression */ + indexInfo->ii_IndexAttrNumbers[attn] = 0; /* marks expression */ indexInfo->ii_Expressions = lappend(indexInfo->ii_Expressions, expr); @@ -1505,7 +1505,8 @@ ComputeIndexAttrs(IndexInfo *indexInfo, typeOidP[attn] = atttype; /* - * Included columns have no collation, no opclass and no ordering options. + * Included columns have no collation, no opclass and no ordering + * options. */ if (attn >= nkeycols) { @@ -2465,8 +2466,8 @@ void IndexSetParentIndex(Relation partitionIdx, Oid parentOid) { Relation pg_inherits; - ScanKeyData key[2]; - SysScanDesc scan; + ScanKeyData key[2]; + SysScanDesc scan; Oid partRelid = RelationGetRelid(partitionIdx); HeapTuple tuple; bool fix_dependencies; @@ -2496,15 +2497,15 @@ IndexSetParentIndex(Relation partitionIdx, Oid parentOid) if (parentOid == InvalidOid) { /* - * No pg_inherits row, and no parent wanted: nothing to do in - * this case. + * No pg_inherits row, and no parent wanted: nothing to do in this + * case. */ fix_dependencies = false; } else { - Datum values[Natts_pg_inherits]; - bool isnull[Natts_pg_inherits]; + Datum values[Natts_pg_inherits]; + bool isnull[Natts_pg_inherits]; /* * No pg_inherits row exists, and we want a parent for this index, @@ -2525,7 +2526,7 @@ IndexSetParentIndex(Relation partitionIdx, Oid parentOid) } else { - Form_pg_inherits inhForm = (Form_pg_inherits) GETSTRUCT(tuple); + Form_pg_inherits inhForm = (Form_pg_inherits) GETSTRUCT(tuple); if (parentOid == InvalidOid) { @@ -2572,14 +2573,14 @@ IndexSetParentIndex(Relation partitionIdx, Oid parentOid) if (OidIsValid(parentOid)) { - ObjectAddress parentIdx; + ObjectAddress parentIdx; ObjectAddressSet(parentIdx, RelationRelationId, parentOid); recordDependencyOn(&partIdx, &parentIdx, DEPENDENCY_INTERNAL_AUTO); } else { - ObjectAddress partitionTbl; + ObjectAddress partitionTbl; ObjectAddressSet(partitionTbl, RelationRelationId, partitionIdx->rd_index->indrelid); diff --git a/src/backend/commands/lockcmds.c b/src/backend/commands/lockcmds.c index 8a2aa453eca..71278b38cf0 100644 --- a/src/backend/commands/lockcmds.c +++ b/src/backend/commands/lockcmds.c @@ -181,7 +181,7 @@ typedef struct bool nowait; /* no wait mode */ Oid viewowner; /* view owner for checking the privilege */ Oid viewoid; /* OID of the view to be locked */ - List *ancestor_views; /* OIDs of ancestor views */ + List *ancestor_views; /* OIDs of ancestor views */ } LockViewRecurse_context; static bool diff --git a/src/backend/commands/policy.c b/src/backend/commands/policy.c index b2b845613d5..cee0ef915be 100644 --- a/src/backend/commands/policy.c +++ b/src/backend/commands/policy.c @@ -215,7 +215,7 @@ RelationBuildRowSecurity(Relation relation) HeapTuple tuple; MemoryContextCopyAndSetIdentifier(rscxt, - RelationGetRelationName(relation)); + RelationGetRelationName(relation)); rsdesc = MemoryContextAllocZero(rscxt, sizeof(RowSecurityDesc)); rsdesc->rscxt = rscxt; diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index 73821502ba6..568499761ff 100644 --- a/src/backend/commands/portalcmds.c +++ b/src/backend/commands/portalcmds.c @@ -450,9 +450,9 @@ PersistHoldablePortal(Portal portal) PopActiveSnapshot(); /* - * We can now release any subsidiary memory of the portal's context; - * we'll never use it again. The executor already dropped its context, - * but this will clean up anything that glommed onto the portal's context via + * We can now release any subsidiary memory of the portal's context; we'll + * never use it again. The executor already dropped its context, but this + * will clean up anything that glommed onto the portal's context via * PortalContext. */ MemoryContextDeleteChildren(portal->portalContext); diff --git a/src/backend/commands/statscmds.c b/src/backend/commands/statscmds.c index c4adfd569ea..3bb0d24cd20 100644 --- a/src/backend/commands/statscmds.c +++ b/src/backend/commands/statscmds.c @@ -133,7 +133,8 @@ CreateStatistics(CreateStatsStmt *stmt) * If the node has a name, split it up and determine creation namespace. * If not (a possibility not considered by the grammar, but one which can * occur via the "CREATE TABLE ... (LIKE)" command), then we put the - * object in the same namespace as the relation, and cons up a name for it. + * object in the same namespace as the relation, and cons up a name for + * it. */ if (stmt->defnames) namespaceId = QualifiedNameGetCreationNamespace(stmt->defnames, @@ -462,7 +463,7 @@ ChooseExtendedStatisticName(const char *name1, const char *name2, for (;;) { - Oid existingstats; + Oid existingstats; stxname = makeObjectName(name1, name2, modlabel); @@ -500,7 +501,7 @@ ChooseExtendedStatisticNameAddition(List *exprs) buf[0] = '\0'; foreach(lc, exprs) { - ColumnRef *cref = (ColumnRef *) lfirst(lc); + ColumnRef *cref = (ColumnRef *) lfirst(lc); const char *name; /* It should be one of these, but just skip if it happens not to be */ diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 2c23371a194..0e95037dcf4 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -1634,7 +1634,8 @@ ExecuteTruncateGuts(List *explicit_rels, List *relids, List *relids_logged, } /* - * Write a WAL record to allow this set of actions to be logically decoded. + * Write a WAL record to allow this set of actions to be logically + * decoded. * * Assemble an array of relids so we can write a single WAL record for the * whole action. @@ -1648,7 +1649,7 @@ ExecuteTruncateGuts(List *explicit_rels, List *relids, List *relids_logged, Assert(XLogLogicalInfoActive()); logrelids = palloc(list_length(relids_logged) * sizeof(Oid)); - foreach (cell, relids_logged) + foreach(cell, relids_logged) logrelids[i++] = lfirst_oid(cell); xlrec.dbId = MyDatabaseId; @@ -5560,8 +5561,8 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel, CommandCounterIncrement(); /* - * Did the request for a missing value work? If not we'll have to do - * a rewrite + * Did the request for a missing value work? If not we'll have to do a + * rewrite */ if (!rawEnt->missingMode) tab->rewrite |= AT_REWRITE_DEFAULT_VAL; @@ -7664,9 +7665,9 @@ ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel, ObjectAddressSet(address, ConstraintRelationId, constrOid); /* - * Create the triggers that will enforce the constraint. We only want - * the action triggers to appear for the parent partitioned relation, - * even though the constraints also exist below. + * Create the triggers that will enforce the constraint. We only want the + * action triggers to appear for the parent partitioned relation, even + * though the constraints also exist below. */ createForeignKeyTriggers(rel, RelationGetRelid(pkrel), fkconstraint, constrOid, indexOid, !recursing); @@ -8793,8 +8794,8 @@ createForeignKeyTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint, indexOid); /* - * For the referencing side, create the check triggers. We only need these - * on the partitions. + * For the referencing side, create the check triggers. We only need + * these on the partitions. */ if (rel->rd_rel->relkind != RELKIND_PARTITIONED_TABLE) createForeignKeyCheckTriggers(RelationGetRelid(rel), refRelOid, @@ -13974,8 +13975,9 @@ QueuePartitionConstraintValidation(List **wqueue, Relation scanrel, } /* - * Constraints proved insufficient. For plain relations, queue a validation - * item now; for partitioned tables, recurse to process each partition. + * Constraints proved insufficient. For plain relations, queue a + * validation item now; for partitioned tables, recurse to process each + * partition. */ if (scanrel->rd_rel->relkind == RELKIND_RELATION) { @@ -14300,9 +14302,9 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd) /* * If we're attaching a partition other than the default partition and a * default one exists, then that partition's partition constraint changes, - * so add an entry to the work queue to validate it, too. (We must not - * do this when the partition being attached is the default one; we - * already did it above!) + * so add an entry to the work queue to validate it, too. (We must not do + * this when the partition being attached is the default one; we already + * did it above!) */ if (OidIsValid(defaultPartOid)) { @@ -14408,8 +14410,8 @@ AttachPartitionEnsureIndexes(Relation rel, Relation attachrel) */ for (i = 0; i < list_length(attachRelIdxs); i++) { - Oid cldIdxId = RelationGetRelid(attachrelIdxRels[i]); - Oid cldConstrOid = InvalidOid; + Oid cldIdxId = RelationGetRelid(attachrelIdxRels[i]); + Oid cldConstrOid = InvalidOid; /* does this index have a parent? if so, can't use it */ if (attachrelIdxRels[i]->rd_rel->relispartition) @@ -14693,7 +14695,7 @@ ATExecDetachPartition(Relation rel, RangeVar *name) continue; Assert((IndexGetRelation(get_partition_parent(idxid), false) == - RelationGetRelid(rel))); + RelationGetRelid(rel))); idx = index_open(idxid, AccessExclusiveLock); IndexSetParentIndex(idx, InvalidOid); @@ -14722,9 +14724,9 @@ ATExecDetachPartition(Relation rel, RangeVar *name) */ struct AttachIndexCallbackState { - Oid partitionOid; - Oid parentTblOid; - bool lockedParentTbl; + Oid partitionOid; + Oid parentTblOid; + bool lockedParentTbl; }; static void @@ -14836,7 +14838,8 @@ ATExecAttachPartitionIdx(List **wqueue, Relation parentIdx, RangeVar *name) cldConstrId = InvalidOid; /* - * If this partition already has an index attached, refuse the operation. + * If this partition already has an index attached, refuse the + * operation. */ refuseDupeIndexAttach(parentIdx, partIdx, partTbl); @@ -14890,8 +14893,8 @@ ATExecAttachPartitionIdx(List **wqueue, Relation parentIdx, RangeVar *name) errdetail("The index definitions do not match."))); /* - * If there is a constraint in the parent, make sure there is one - * in the child too. + * If there is a constraint in the parent, make sure there is one in + * the child too. */ constraintOid = get_relation_idx_constraint_oid(RelationGetRelid(parentTbl), RelationGetRelid(parentIdx)); @@ -14907,9 +14910,9 @@ ATExecAttachPartitionIdx(List **wqueue, Relation parentIdx, RangeVar *name) RelationGetRelationName(partIdx), RelationGetRelationName(parentIdx)), errdetail("The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\".", - RelationGetRelationName(parentIdx), - RelationGetRelationName(parentTbl), - RelationGetRelationName(partIdx)))); + RelationGetRelationName(parentIdx), + RelationGetRelationName(parentTbl), + RelationGetRelationName(partIdx)))); } /* All good -- do it */ @@ -14938,10 +14941,10 @@ ATExecAttachPartitionIdx(List **wqueue, Relation parentIdx, RangeVar *name) static void refuseDupeIndexAttach(Relation parentIdx, Relation partIdx, Relation partitionTbl) { - Relation pg_inherits; - ScanKeyData key; - HeapTuple tuple; - SysScanDesc scan; + Relation pg_inherits; + ScanKeyData key; + HeapTuple tuple; + SysScanDesc scan; pg_inherits = heap_open(InheritsRelationId, AccessShareLock); ScanKeyInit(&key, Anum_pg_inherits_inhparent, @@ -14951,7 +14954,7 @@ refuseDupeIndexAttach(Relation parentIdx, Relation partIdx, Relation partitionTb NULL, 1, &key); while (HeapTupleIsValid(tuple = systable_getnext(scan))) { - Form_pg_inherits inhForm; + Form_pg_inherits inhForm; Oid tab; inhForm = (Form_pg_inherits) GETSTRUCT(tuple); @@ -14979,12 +14982,12 @@ refuseDupeIndexAttach(Relation parentIdx, Relation partIdx, Relation partitionTb static void validatePartitionedIndex(Relation partedIdx, Relation partedTbl) { - Relation inheritsRel; - SysScanDesc scan; - ScanKeyData key; - int tuples = 0; - HeapTuple inhTup; - bool updated = false; + Relation inheritsRel; + SysScanDesc scan; + ScanKeyData key; + int tuples = 0; + HeapTuple inhTup; + bool updated = false; Assert(partedIdx->rd_rel->relkind == RELKIND_PARTITIONED_INDEX); @@ -15002,11 +15005,11 @@ validatePartitionedIndex(Relation partedIdx, Relation partedTbl) while ((inhTup = systable_getnext(scan)) != NULL) { Form_pg_inherits inhForm = (Form_pg_inherits) GETSTRUCT(inhTup); - HeapTuple indTup; - Form_pg_index indexForm; + HeapTuple indTup; + Form_pg_index indexForm; indTup = SearchSysCache1(INDEXRELID, - ObjectIdGetDatum(inhForm->inhrelid)); + ObjectIdGetDatum(inhForm->inhrelid)); if (!indTup) elog(ERROR, "cache lookup failed for index %u", inhForm->inhrelid); diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 02d2a0ffd72..88a95896b6f 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -5741,8 +5741,9 @@ AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, * oldtup should be non-NULL, whereas for UPDATE events normally both * oldtup and newtup are non-NULL. But for UPDATE events fired for * capturing transition tuples during UPDATE partition-key row - * movement, oldtup is NULL when the event is for a row being inserted, - * whereas newtup is NULL when the event is for a row being deleted. + * movement, oldtup is NULL when the event is for a row being + * inserted, whereas newtup is NULL when the event is for a row being + * deleted. */ Assert(!(event == TRIGGER_EVENT_DELETE && delete_old_table && oldtup == NULL)); @@ -5769,7 +5770,7 @@ AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, } if (newtup != NULL && ((event == TRIGGER_EVENT_INSERT && insert_new_table) || - (event == TRIGGER_EVENT_UPDATE && update_new_table))) + (event == TRIGGER_EVENT_UPDATE && update_new_table))) { Tuplestorestate *new_tuplestore; @@ -5791,9 +5792,9 @@ AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, /* * If transition tables are the only reason we're here, return. As * mentioned above, we can also be here during update tuple routing in - * presence of transition tables, in which case this function is called - * separately for oldtup and newtup, so we expect exactly one of them - * to be NULL. + * presence of transition tables, in which case this function is + * called separately for oldtup and newtup, so we expect exactly one + * of them to be NULL. */ if (trigdesc == NULL || (event == TRIGGER_EVENT_DELETE && !trigdesc->trig_delete_after_row) || |