Re: SSI heap_insert and page-level predicate locks
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Kevin Grittner <Kevin.Grittner@wicourts.gov>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Dan Ports <drkp@csail.mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-16T18:51:11Z
Lists: pgsql-hackers
Jeff Davis <pgsql@j-davis.com> writes: > On Wed, 2011-06-08 at 17:29 -0500, Kevin Grittner wrote: >> Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote: >>> AFAICS, the check for page lock is actually unnecessary. >> Absolutely correct. Patch attached. > I like the change, but the comment is slightly confusing. I've committed this patch with comment rewording along the lines suggested by Jeff. I also moved the CheckForSerializableConflictIn call to just before, instead of just after, the RelationGetBufferForTuple call. We no longer have to do it after, since we don't need to know which buffer to pass, and it should buy some more low-level parallelism to run the SSI checks while not holding exclusive lock on the eventual target buffer. regards, tom lane