Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 855ffa0

Browse files
committed
Forgot to check page LSN and unlock buffer in btree_xlog_delete - fixed.
(Thanks to Tatsuo Ishii for finding bug)
1 parent 961eb57 commit 855ffa0

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/backend/access/nbtree/nbtree.c

+11-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* Portions Copyright (c) 1994, Regents of the University of California
1313
*
1414
* IDENTIFICATION
15-
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.68 2000/10/29 18:33:40 vadim Exp $
15+
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.69 2000/11/01 20:39:58 vadim Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -1018,8 +1018,18 @@ btree_xlog_delete(bool redo, XLogRecPtr lsn, XLogRecord *record)
10181018
if (PageIsNew((PageHeader) page))
10191019
elog(STOP, "btree_delete_redo: uninitialized page");
10201020

1021+
if (XLByteLE(lsn, PageGetLSN(page)))
1022+
{
1023+
UnlockAndReleaseBuffer(buffer);
1024+
return;
1025+
}
1026+
10211027
PageIndexTupleDelete(page, ItemPointerGetOffsetNumber(&(xlrec->target.tid)));
10221028

1029+
PageSetLSN(page, lsn);
1030+
PageSetSUI(page, ThisStartUpID);
1031+
UnlockAndWriteBuffer(buffer);
1032+
10231033
return;
10241034
}
10251035

0 commit comments

Comments
 (0)