@ -8,7 +8,7 @@
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / access / gist / gistxlog . c , v 1.32 2009 / 01 / 20 18 : 59 : 36 heikki Exp $
* $ PostgreSQL : pgsql / src / backend / access / gist / gistxlog . c , v 1.32 .2 .1 2009 / 12 / 24 17 : 52 : 11 tgl Exp $
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
# include "postgres.h"
@ -644,6 +644,7 @@ gistContinueInsert(gistIncompleteInsert *insert)
int j ,
k ,
pituplen = 0 ;
uint8 xlinfo ;
XLogRecData * rdata ;
XLogRecPtr recptr ;
Buffer tempbuffer = InvalidBuffer ;
@ -732,6 +733,7 @@ gistContinueInsert(gistIncompleteInsert *insert)
for ( j = 0 ; j < ntodelete ; j + + )
PageIndexTupleDelete ( pages [ 0 ] , todelete [ j ] ) ;
xlinfo = XLOG_GIST_PAGE_SPLIT ;
rdata = formSplitRdata ( index - > rd_node , insert - > path [ i ] ,
false , & ( insert - > key ) ,
gistMakePageLayout ( buffers , numbuffer ) ) ;
@ -745,6 +747,7 @@ gistContinueInsert(gistIncompleteInsert *insert)
PageIndexTupleDelete ( pages [ 0 ] , todelete [ j ] ) ;
gistfillbuffer ( pages [ 0 ] , itup , lenitup , InvalidOffsetNumber ) ;
xlinfo = XLOG_GIST_PAGE_UPDATE ;
rdata = formUpdateRdata ( index - > rd_node , buffers [ 0 ] ,
todelete , ntodelete ,
itup , lenitup , & ( insert - > key ) ) ;
@ -761,7 +764,7 @@ gistContinueInsert(gistIncompleteInsert *insert)
GistPageGetOpaque ( pages [ j ] ) - > rightlink = InvalidBlockNumber ;
MarkBufferDirty ( buffers [ j ] ) ;
}
recptr = XLogInsert ( RM_GIST_ID , XLOG_GIST_PAGE_UPDATE , rdata ) ;
recptr = XLogInsert ( RM_GIST_ID , xlinfo , rdata ) ;
for ( j = 0 ; j < numbuffer ; j + + )
{
PageSetLSN ( pages [ j ] , recptr ) ;