]> granicus.if.org Git - postgresql/commitdiff
Code cleanup. gistfillbuffer accepts InvalidOffsetNumber.
authorTeodor Sigaev <teodor@sigaev.ru>
Tue, 28 Jun 2005 15:51:00 +0000 (15:51 +0000)
committerTeodor Sigaev <teodor@sigaev.ru>
Tue, 28 Jun 2005 15:51:00 +0000 (15:51 +0000)
src/backend/access/gist/gist.c
src/backend/access/gist/gistutil.c
src/backend/access/gist/gistvacuum.c
src/backend/access/gist/gistxlog.c

index 02c2ffefa2388cc3d335ac0ae0d76d8bb5d88240..6643ae6131df7b49f6cf7b009e4468ac24b13c39 100644 (file)
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.122 2005/06/27 12:45:21 teodor Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.123 2005/06/28 15:51:00 teodor Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -421,13 +421,10 @@ gistplacetopage(GISTInsertState *state, GISTSTATE *giststate) {
        else
        {
                /* enough space */
-               OffsetNumber l, off;
                XLogRecPtr      oldlsn;
 
-               off = ( PageIsEmpty(state->stack->page) ) ? 
-                       FirstOffsetNumber : OffsetNumberNext(PageGetMaxOffsetNumber(state->stack->page));
-               
-               l = gistfillbuffer(state->r, state->stack->page, state->itup, state->ituplen, off);
+               gistfillbuffer(state->r, state->stack->page, state->itup, state->ituplen, InvalidOffsetNumber);
+
                oldlsn = PageGetLSN(state->stack->page);
                if ( !state->r->rd_istemp ) {
                        OffsetNumber    noffs=0, offs[ MAXALIGN( sizeof(OffsetNumber) ) / sizeof(OffsetNumber) ];
@@ -999,10 +996,9 @@ gistSplit(Relation r,
        }
        else
        {
-               OffsetNumber l;
                char *ptr;
 
-               l = gistfillbuffer(r, right, rvectup, v.spl_nright, FirstOffsetNumber);
+               gistfillbuffer(r, right, rvectup, v.spl_nright, FirstOffsetNumber);
                /* XLOG stuff */
                ROTATEDIST(*dist);
                (*dist)->block.blkno = BufferGetBlockNumber(rightbuf);
@@ -1035,10 +1031,9 @@ gistSplit(Relation r,
        }
        else
        {
-               OffsetNumber l;
                char *ptr;
 
-               l = gistfillbuffer(r, left, lvectup, v.spl_nleft, FirstOffsetNumber);
+               gistfillbuffer(r, left, lvectup, v.spl_nleft, FirstOffsetNumber);
                /* XLOG stuff */
                ROTATEDIST(*dist);
                (*dist)->block.blkno = BufferGetBlockNumber(leftbuf);
index e7c985b45956e665e1c0e93559fbe365d8c46aab..031914a37c4778a951c6f322f22d44e784a1f934 100644 (file)
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *          $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.3 2005/06/27 12:45:22 teodor Exp $
+ *          $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.4 2005/06/28 15:51:00 teodor Exp $
  *-------------------------------------------------------------------------
  */
 #include "postgres.h"
@@ -62,6 +62,10 @@ gistfillbuffer(Relation r, Page page, IndexTuple *itup,
        OffsetNumber l = InvalidOffsetNumber;
        int                     i;
 
+       if ( off == InvalidOffsetNumber ) 
+               off = ( PageIsEmpty(page) ) ?  FirstOffsetNumber : 
+                       OffsetNumberNext(PageGetMaxOffsetNumber(page));
+
        for (i = 0; i < len; i++)
        {
                l = PageAddItem(page, (Item) itup[i], IndexTupleSize(itup[i]),
index c1806025bb38e6505a8fdc32e546b2431e20aecf..940c2ca0d5e25d64a53a27d40b0fd7b302f825ca 100644 (file)
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.3 2005/06/27 12:45:22 teodor Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.4 2005/06/28 15:51:00 teodor Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -199,12 +199,7 @@ gistVacuumUpdate( GistVacuum *gv, BlockNumber blkno, bool needunion ) {
                                needunion = false; /* gistSplit already forms unions */
                        } else {
                                /* enough free space */
-                               OffsetNumber off = (PageIsEmpty(page)) ?
-                                       FirstOffsetNumber
-                                       :
-                                       OffsetNumberNext(PageGetMaxOffsetNumber(page));
-
-                               gistfillbuffer(gv->index, page, addon, curlenaddon, off); 
+                               gistfillbuffer(gv->index, page, addon, curlenaddon, InvalidOffsetNumber); 
                        } 
                }
        }
index de89789496063b1b51ea42bcddd25cb77b539192..30fd5b71eebee7c77e7ff93cf3f733e979771849 100644 (file)
@@ -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.4 2005/06/27 12:45:22 teodor Exp $
+ *           $PostgreSQL: pgsql/src/backend/access/gist/gistxlog.c,v 1.5 2005/06/28 15:51:00 teodor Exp $
  *-------------------------------------------------------------------------
  */
 #include "postgres.h"
@@ -198,14 +198,8 @@ gistRedoEntryUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot) {
                }
 
                /* add tuples */
-               if ( xlrec.len > 0 ) {
-                       OffsetNumber off = (PageIsEmpty(page)) ?  
-                               FirstOffsetNumber
-                               :
-                               OffsetNumberNext(PageGetMaxOffsetNumber(page));
-
-                       gistfillbuffer(reln, page, xlrec.itup, xlrec.len, off);
-               }
+               if ( xlrec.len > 0 ) 
+                       gistfillbuffer(reln, page, xlrec.itup, xlrec.len, InvalidOffsetNumber);
 
                /* special case: leafpage, nothing to insert, nothing to delete, then
                   vacuum marks page */
@@ -623,9 +617,7 @@ gistContinueInsert(gistIncompleteInsert *insert) {
                                                }
                                }
                        } else 
-                               gistfillbuffer( index, pages[numbuffer-1], itup, lenitup, 
-                                       (PageIsEmpty(pages[numbuffer-1])) ? 
-                                               FirstOffsetNumber : OffsetNumberNext(PageGetMaxOffsetNumber(pages[numbuffer-1])) );
+                               gistfillbuffer( index, pages[numbuffer-1], itup, lenitup, InvalidOffsetNumber); 
 
                        lenitup=numbuffer;
                        for(j=0;j<numbuffer;j++) {