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.

Reply via email to