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.
This commit is contained in:
Heikki Linnakangas 2010-02-09 20:31:24 +00:00
parent 09c0747515
commit 79647eed86
1 changed files with 3 additions and 3 deletions

View File

@ -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);
}