pgsql-server: Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql-server: Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21:
Date
Msg-id 20040817231534.19FBB5E46C3@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: the initial
value of 'start' could be past the end of the page, if the page was
split by some concurrent inserting process since we visited it.  In
this situation the code could look at bogus entries and possibly find
a match (since after all those entries still contain what they had
before the split).  This would lead to 'specified item offset is too large'
followed by 'PANIC: failed to add item to the page', as reported by Joe
Conway for scenarios involving heavy concurrent insertion activity.

Modified Files:
--------------
    pgsql-server/src/backend/access/nbtree:
        nbtinsert.c (r1.113 -> r1.114)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/nbtree/nbtinsert.c.diff?r1=1.113&r2=1.114)

pgsql-committers by date:

Previous
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql-server: Standardize on the assumption that the arguments of a
Next
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql-server: Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: