Skip site navigation (1) Skip section navigation (2)

WIP patch for serializable transactions with predicate locking

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: WIP patch for serializable transactions with predicate locking
Date: 2010-05-20 00:37:26
Message-ID: 4BF43DF702000025000318BE@gw.wicourts.gov (view raw or flat)
Thread:
Lists: pgsql-hackers
I heard that others were considering work on predicate locks for
9.1. Since Dan Ports of MIT and I have been working on that for the
serializable implementation for the last few weeks, I felt it would
be good to post a WIP patch to avoid duplicate effort. This
implementation compiles without warning, passes all regression
tests, and passes several hundred permutations of a dozen basic
tests which are intended to confirm correct predicate locking.
SIREAD locks are generally taken at the tuple level for the heap,
with granularity promotion to page and then relation level as needed
to prevent resource exhaustion. We've been using indexes to
implement predicate locking, and currently have page level locking
for btree indexes and only relation level locking otherwise, but Dan
is actively working on getting btree down to next-key locking, and
when I return from PGCon I will be working on the other index AMs.

We're currently using Markus Wanner's dtester for testing, but that
can be moved out of the patch if we don't want to have a dependency
on it.

-Kevin


Attachment: serializable-1.patch
Description: application/octet-stream (191.9 KB)

Responses

pgsql-hackers by date

Next:From: Matthew WakelingDate: 2010-05-20 01:46:29
Subject: Re: merge join killing performance
Previous:From: Robert CreagerDate: 2010-05-20 00:08:29
Subject: Fwd: PGBuildfarm member polecat Branch HEAD Status changed from StartDb-C:2 failure to StartDb-C:3 failure

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group