Simon Riggs wrote:
> On 6 October 2012 00:56, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> 2. DROP INDEX CONCURRENTLY doesn't bother to do
>> TransferPredicateLocksToHeapRelation until long after it's
>> invalidated the index. Surely that's no good? Is it even possible
>> to do that correctly, when we don't have a lock that will prevent
>> new predicate locks from being taken out meanwhile?
>
> No idea there. Input appreciated.
[Sorry for delayed response; fighting through a backlog.]
If the creation of a new tuple by insert or update would not perform
the related index tuple insertion, and the lock has not yet been
transfered to the heap relation, yes we have a problem. Will take a
look at the code.
Creation of new predicate locks while in this state has no bearing on
the issue as long as locks are transferred to the heap relation after
the last scan using the index has completed.
-Kevin