mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Don't try to use a unopened relation
Commit 4c9d0901
mistakenly introduced a call to
TransferPredicateLocksToHeapRelation() on an index relation that had
been closed a few lines above. Moving up an index_open() call that's
below is enough to fix the problem.
Discovered by me while testing an unrelated patch.
This commit is contained in:
@ -1464,6 +1464,8 @@ index_drop(Oid indexId, bool concurrent)
|
||||
* conflicts with existing predicate locks, so now is the time to move
|
||||
* them to the heap relation.
|
||||
*/
|
||||
userHeapRelation = heap_open(heapId, ShareUpdateExclusiveLock);
|
||||
userIndexRelation = index_open(indexId, ShareUpdateExclusiveLock);
|
||||
TransferPredicateLocksToHeapRelation(userIndexRelation);
|
||||
|
||||
/*
|
||||
@ -1473,9 +1475,6 @@ index_drop(Oid indexId, bool concurrent)
|
||||
*/
|
||||
indexRelation = heap_open(IndexRelationId, RowExclusiveLock);
|
||||
|
||||
userHeapRelation = heap_open(heapId, ShareUpdateExclusiveLock);
|
||||
userIndexRelation = index_open(indexId, ShareUpdateExclusiveLock);
|
||||
|
||||
tuple = SearchSysCacheCopy1(INDEXRELID,
|
||||
ObjectIdGetDatum(indexId));
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
|
Reference in New Issue
Block a user