]> granicus.if.org Git - postgresql/commitdiff
Remove obsolete cases from GiST update redo code.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Nov 2014 13:03:46 +0000 (15:03 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Nov 2014 13:13:02 +0000 (15:13 +0200)
The code that generated a record to clear the F_TUPLES_DELETED flag hasn't
existed since we got rid of old-style VACUUM FULL. I kept the code that sets
the flag, although it's not used for anything anymore, because it might
still be interesting information for debugging purposes that some tuples
have been deleted from a page.

Likewise, the code to turn the root page from non-leaf to leaf page was
removed when we got rid of old-style VACUUM FULL. Remove the code to replay
that action, too.

src/backend/access/gist/gistxlog.c
src/include/access/gist.h

index b732f53267991159f9f19663c731d02af026d8ab..2999d211916861cbbaeff9f3928e1403ecd1ae1a 100644 (file)
@@ -125,26 +125,6 @@ gistRedoPageUpdateRecord(XLogRecPtr lsn, XLogRecord *record)
                                off++;
                        }
                }
-               else
-               {
-                       /*
-                        * special case: leafpage, nothing to insert, nothing to delete,
-                        * then vacuum marks page
-                        */
-                       if (GistPageIsLeaf(page) && xldata->ntodelete == 0)
-                               GistClearTuplesDeleted(page);
-               }
-
-               if (!GistPageIsLeaf(page) &&
-                       PageGetMaxOffsetNumber(page) == InvalidOffsetNumber &&
-                       xldata->blkno == GIST_ROOT_BLKNO)
-               {
-                       /*
-                        * all links on non-leaf root page was deleted by vacuum full, so
-                        * root page becomes a leaf
-                        */
-                       GistPageSetLeaf(page);
-               }
 
                PageSetLSN(page, lsn);
                MarkBufferDirty(buffer);
index ef5aed4d3e200d90956f4d2c24d3ad8beb6b6193..39394dfb3df796f39b51c2d63ef42b7761a74d8e 100644 (file)
@@ -147,8 +147,6 @@ typedef struct GISTENTRY
 
 #define GistPageIsLeaf(page)   ( GistPageGetOpaque(page)->flags & F_LEAF)
 #define GIST_LEAF(entry) (GistPageIsLeaf((entry)->page))
-#define GistPageSetLeaf(page)  ( GistPageGetOpaque(page)->flags |= F_LEAF)
-#define GistPageSetNonLeaf(page)       ( GistPageGetOpaque(page)->flags &= ~F_LEAF)
 
 #define GistPageIsDeleted(page) ( GistPageGetOpaque(page)->flags & F_DELETED)
 #define GistPageSetDeleted(page)       ( GistPageGetOpaque(page)->flags |= F_DELETED)