Fix bug in GIN WAL redo cleanup function: don't free fake relcache entry

while it's still being used.

Backpatch to 8.4, where the fake relcache method was introduced.
REL9_0_ALPHA4_BRANCH
Heikki Linnakangas 16 years ago
parent 09c0747515
commit 79647eed86
  1. 6
      src/backend/access/gin/ginxlog.c

@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gin/ginxlog.c,v 1.21 2010/01/02 16:57:33 momjian Exp $
* $PostgreSQL: pgsql/src/backend/access/gin/ginxlog.c,v 1.22 2010/02/09 20:31:24 heikki Exp $
*-------------------------------------------------------------------------
*/
#include "postgres.h"
@ -777,8 +777,6 @@ ginContinueSplit(ginIncompleteSplit *split)
GinPageGetOpaque(page)->maxoff))->key;
}
FreeFakeRelcacheEntry(reln);
btree.rightblkno = split->rightBlkno;
stack.blkno = split->leftBlkno;
@ -789,6 +787,8 @@ ginContinueSplit(ginIncompleteSplit *split)
findParents(&btree, &stack, split->rootBlkno);
ginInsertValue(&btree, stack.parent);
FreeFakeRelcacheEntry(reln);
UnlockReleaseBuffer(buffer);
}

Loading…
Cancel
Save