On 01.08.2011 17:26, Simon Riggs wrote:
On Mon, Aug 1, 2011 at 2:29 PM, Heikki Linnakangas
<heikki.linnakan...@enterprisedb.com> wrote:
I believe we code acquire the locks in right order already, and the patch I
posted fixes the premature release of locks at page split.
Your patch is good, but it does rely on the idea that we're logging
the blocks in the same order they were originally locked. That's a
good assumption, but I would like to see that documented for general
sanity, or just mine at least.
I can't really see anything in the master-side code that attempts to
lock things in a specific sequence, which bothers me also.
All but the first page are unused pages, grabbed with either P_NEW or
from the FSM. gistNewBuffer() uses ConditionalLockBuffer() to guard for
the case that someone else chooses the same victim buffer, and picks
another page.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers