diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/catalog/heap.c | 3 | ||||
-rw-r--r-- | src/backend/commands/indexcmds.c | 3 | ||||
-rw-r--r-- | src/backend/commands/tablecmds.c | 9 |
3 files changed, 6 insertions, 9 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 3d80ff9e5bb..0497332e9d7 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -3298,6 +3298,9 @@ StorePartitionBound(Relation rel, Relation parent, PartitionBoundSpec *bound) heap_freetuple(newtuple); heap_close(classRel, RowExclusiveLock); + /* Make update visible */ + CommandCounterIncrement(); + /* * The partition constraint for the default partition depends on the * partition bounds of every other partition, so we must invalidate the diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index ff40683d066..0a2ab500238 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -2512,5 +2512,8 @@ IndexSetParentIndex(Relation partitionIdx, Oid parentOid) recordDependencyOn(&partIdx, &partitionTbl, DEPENDENCY_AUTO); } + + /* make our updates visible */ + CommandCounterIncrement(); } } diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 218224a1563..8f83aa46753 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -864,13 +864,6 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, update_default_partition_oid(RelationGetRelid(parent), relationId); heap_close(parent, NoLock); - - /* - * The code that follows may also update the pg_class tuple to update - * relnumchecks, so bump up the command counter to avoid the "already - * updated by self" error. - */ - CommandCounterIncrement(); } /* @@ -14585,8 +14578,6 @@ ATExecAttachPartitionIdx(List **wqueue, Relation parentIdx, RangeVar *name) pfree(attmap); - CommandCounterIncrement(); - validatePartitionedIndex(parentIdx, parentTbl); } |