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

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server: Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21:
Date: 2004-08-17 23:16:08
Message-ID: 20040817231608.0B3395E46CD@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

Tags:
----
REL7_4_STABLE

Modified Files:
--------------
pgsql-server/src/backend/access/nbtree:
nbtinsert.c (r1.106 -> r1.106.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/nbtree/nbtinsert.c.diff?r1=1.106&r2=1.106.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2004-08-18 02:59:12 pgsql-server: Add get_home_path() to use USERPROFILE on Win32 and HOME
Previous Message Tom Lane 2004-08-17 23:15:34 pgsql-server: Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: