
Hi Robert,
I had detailed discussion about this with my mentor. Sorry, I didn't share details on hackers list.
B-tree, gist, spgist, and gin are all tree based indexes where we scan and acquire predicate lock
on only some and not all internal pages or leaf pages. So, here we have scope to reduce false positives.
In BRIN index, each tuple stores summarizing values in the consecutive group of heap pages.
So initially I thought we could implement tuple level predicate locking in BRIN. But, here we scan
the whole index which forces us to acquire predicate lock on all tuples. Acquiring predicate lock on all
tuples will be no different than a relation level predicate lock.