Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> I think that's OK, but the whole idea of using an MVCC snap in phase 2
> doesn't work on closer inspection. The problem is still the same one
> that you need to take (at least) share lock on each tuple you insert
> into the index. Telling aminsert to check uniqueness implicitly assumes
> the new tuple is live, and without any lock on the tuple you can't
> promise that.
No wait. It's still "live" according to my snapshot. How could it be possible
for a single snapshot to see two different versions of the same tuple as live?
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com