mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08: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:
parent
c90dcd6d2c
commit
4ee5c40b06
@ -1475,6 +1475,8 @@ index_drop(Oid indexId, bool concurrent)
|
|||||||
* conflicts with existing predicate locks, so now is the time to move
|
* conflicts with existing predicate locks, so now is the time to move
|
||||||
* them to the heap relation.
|
* them to the heap relation.
|
||||||
*/
|
*/
|
||||||
|
userHeapRelation = heap_open(heapId, ShareUpdateExclusiveLock);
|
||||||
|
userIndexRelation = index_open(indexId, ShareUpdateExclusiveLock);
|
||||||
TransferPredicateLocksToHeapRelation(userIndexRelation);
|
TransferPredicateLocksToHeapRelation(userIndexRelation);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1484,9 +1486,6 @@ index_drop(Oid indexId, bool concurrent)
|
|||||||
*/
|
*/
|
||||||
indexRelation = heap_open(IndexRelationId, RowExclusiveLock);
|
indexRelation = heap_open(IndexRelationId, RowExclusiveLock);
|
||||||
|
|
||||||
userHeapRelation = heap_open(heapId, ShareUpdateExclusiveLock);
|
|
||||||
userIndexRelation = index_open(indexId, ShareUpdateExclusiveLock);
|
|
||||||
|
|
||||||
tuple = SearchSysCacheCopy1(INDEXRELID,
|
tuple = SearchSysCacheCopy1(INDEXRELID,
|
||||||
ObjectIdGetDatum(indexId));
|
ObjectIdGetDatum(indexId));
|
||||||
if (!HeapTupleIsValid(tuple))
|
if (!HeapTupleIsValid(tuple))
|
||||||
|
Loading…
Reference in New Issue
Block a user