pgsql/src backend/access/heap/heapam.c backend ... - Mailing list pgsql-committers

From Tom Lane
Subject pgsql/src backend/access/heap/heapam.c backend ...
Date
Msg-id 200105121958.f4CJwS371326@hub.org
Whole thread Raw
List pgsql-committers
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/05/12 15:58:28

Modified files:
    src/backend/access/heap: heapam.c hio.c
    src/backend/storage/buffer: bufmgr.c localbuf.c
    src/include/storage: bufmgr.h

Log message:
    Modify RelationGetBufferForTuple() so that we only do lseek and lock
    when we need to move to a new page; as long as we can insert the new
    tuple on the same page as before, we only need LockBuffer and not the
    expensive stuff.  Also, twiddle bufmgr interfaces to avoid redundant
    lseeks in RelationGetBufferForTuple and BufferAlloc.  Successive inserts
    now require one lseek per page added, rather than one per tuple with
    several additional ones at each page boundary as happened before.
    Lock contention when multiple backends are inserting in same table
    is also greatly reduced.


pgsql-committers by date:

Previous
From: Peter Eisentraut - PostgreSQL
Date:
Subject: pgsql/src bin/pg_passwd/Makefile interfaces/ec ...
Next
From: Bruce Momjian - CVS
Date:
Subject: pgsql/src/interfaces/jdbc/org/postgresql/jdbc1 ...