pgsql: Avoid unnecessary page-level SSI lock check in heap_insert(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid unnecessary page-level SSI lock check in heap_insert().
Date
Msg-id E1R4dRw-00041N-3f@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid unnecessary page-level SSI lock check in heap_insert().

As observed by Heikki, we need not conflict on heap page locks during an
insert; heap page locks are only aggregated tuple locks, they don't imply
locking "gaps" as index page locks do.  So we can avoid some unnecessary
conflicts, and also do the SSI check while not holding exclusive lock on
the target buffer.

Kevin Grittner, reviewed by Jeff Davis.  Back-patch to 9.1.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/9d306c66e63eb7f45eab9475b3f96c3134bacac6

Modified Files
--------------
src/backend/access/heap/heapam.c |   19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Ensure generic plan gets used for a plpgsql expression with no p
Next
From: Tom Lane
Date:
Subject: pgsql: Avoid unnecessary page-level SSI lock check in heap_insert().