|
|
|
|
@ -8,7 +8,7 @@ |
|
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California |
|
|
|
|
* |
|
|
|
|
* IDENTIFICATION |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/access/gist/gist.c,v 1.93 2002/05/24 18:57:55 tgl Exp $ |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/access/gist/gist.c,v 1.94 2002/05/28 15:22:33 tgl Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
|
@ -494,6 +494,14 @@ gistlayerinsert(Relation r, BlockNumber blkno, |
|
|
|
|
/* key is modified, so old version must be deleted */ |
|
|
|
|
ItemPointerSet(&oldtid, blkno, child); |
|
|
|
|
gistdelete(r, &oldtid); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* if child was splitted, new key for child will be inserted |
|
|
|
|
* in the end list of child, so we must say to any scans |
|
|
|
|
* that page is changed beginning from 'child' offset |
|
|
|
|
*/ |
|
|
|
|
if ( ret & SPLITED ) |
|
|
|
|
gistadjscans(r, GISTOP_SPLIT, blkno, child); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ret = INSERTED; |
|
|
|
|
@ -1411,10 +1419,6 @@ gistSplit(Relation r, |
|
|
|
|
ItemPointerSet(&(newtup[nlen - 1]->t_tid), lbknum, 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* adjust active scans */ |
|
|
|
|
gistadjscans(r, GISTOP_SPLIT, BufferGetBlockNumber(buffer), FirstOffsetNumber); |
|
|
|
|
|
|
|
|
|
/* !!! pfree */ |
|
|
|
|
pfree(rvectup); |
|
|
|
|
pfree(lvectup); |
|
|
|
|
|