Hi, On Tue, Jul 13, 2021 at 3:13 PM Zhihong Yu <z...@yugabyte.com> wrote:
> Hi, > I was looking at index_drop() in PG 11 branch. > In if (concurrent)block, the heap and index relations are overwritten > since they were opened a few lines above the concurrent check. > > Shouldn't the two relations be closed first ? > > thanks > > diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c > index 9d8f873944..625b72ae85 100644 > --- a/src/backend/catalog/index.c > +++ b/src/backend/catalog/index.c > @@ -1641,6 +1641,9 @@ index_drop(Oid indexId, bool concurrent) > * conflicts with existing predicate locks, so now is the > time to move > * them to the heap relation. > */ > + heap_close(userHeapRelation, NoLock); > + index_close(userIndexRelation, NoLock); > + > userHeapRelation = heap_open(heapId, > ShareUpdateExclusiveLock); > userIndexRelation = index_open(indexId, > ShareUpdateExclusiveLock); > TransferPredicateLocksToHeapRelation(userIndexRelation); > Please disregard the above. The relations were closed a bit earlier.