]> granicus.if.org Git - postgresql/commitdiff
Cosmetic cleanup for commit a760893dbda9934e287789d54bbd3c4ca3914ce0.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Feb 2012 19:14:16 +0000 (14:14 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Feb 2012 19:14:16 +0000 (14:14 -0500)
Mostly, fixing overlooked comments.

src/backend/access/nbtree/nbtpage.c
src/backend/access/nbtree/nbtree.c
src/backend/access/nbtree/nbtxlog.c
src/include/access/nbtree.h

index 42b2cd40b89e65d375b411d90e22ee179a89569b..29a9df027b85e5e31f959c4a50b8d2413d6b7b06 100644 (file)
@@ -715,7 +715,7 @@ _bt_page_recyclable(Page page)
 }
 
 /*
- * Delete item(s) from a btree page.
+ * Delete item(s) from a btree page during VACUUM.
  *
  * This must only be used for deleting leaf items.     Deleting an item on a
  * non-leaf page has to be done as part of an atomic action that includes
@@ -736,7 +736,8 @@ _bt_page_recyclable(Page page)
  */
 void
 _bt_delitems_vacuum(Relation rel, Buffer buf,
-                       OffsetNumber *itemnos, int nitems, BlockNumber lastBlockVacuumed)
+                                       OffsetNumber *itemnos, int nitems,
+                                       BlockNumber lastBlockVacuumed)
 {
        Page            page = BufferGetPage(buf);
        BTPageOpaque opaque;
@@ -771,7 +772,6 @@ _bt_delitems_vacuum(Relation rel, Buffer buf,
        {
                XLogRecPtr      recptr;
                XLogRecData rdata[2];
-
                xl_btree_vacuum xlrec_vacuum;
 
                xlrec_vacuum.node = rel->rd_node;
@@ -811,13 +811,27 @@ _bt_delitems_vacuum(Relation rel, Buffer buf,
        END_CRIT_SECTION();
 }
 
+/*
+ * Delete item(s) from a btree page during single-page cleanup.
+ *
+ * As above, must only be used on leaf pages.
+ *
+ * This routine assumes that the caller has pinned and locked the buffer.
+ * Also, the given itemnos *must* appear in increasing order in the array.
+ *
+ * This is nearly the same as _bt_delitems_vacuum as far as what it does to
+ * the page, but the WAL logging considerations are quite different.  See
+ * comments for _bt_delitems_vacuum.
+ */
 void
 _bt_delitems_delete(Relation rel, Buffer buf,
-                                       OffsetNumber *itemnos, int nitems, Relation heapRel)
+                                       OffsetNumber *itemnos, int nitems,
+                                       Relation heapRel)
 {
        Page            page = BufferGetPage(buf);
        BTPageOpaque opaque;
 
+       /* Shouldn't be called unless there's something to do */
        Assert(nitems > 0);
 
        /* No ereport(ERROR) until changes are logged */
@@ -849,7 +863,6 @@ _bt_delitems_delete(Relation rel, Buffer buf,
        {
                XLogRecPtr      recptr;
                XLogRecData rdata[3];
-
                xl_btree_delete xlrec_delete;
 
                xlrec_delete.node = rel->rd_node;
@@ -863,8 +876,9 @@ _bt_delitems_delete(Relation rel, Buffer buf,
                rdata[0].next = &(rdata[1]);
 
                /*
-                * We need the target-offsets array whether or not we store the to
-                * allow us to find the latestRemovedXid on a standby server.
+                * We need the target-offsets array whether or not we store the whole
+                * buffer, to allow us to find the latestRemovedXid on a standby
+                * server.
                 */
                rdata[1].data = (char *) itemnos;
                rdata[1].len = nitems * sizeof(OffsetNumber);
index 76277384373676732f8c70df456e37f828d3344a..184fc3bb79b234a5423a06af253cbe836ab4c14d 100644 (file)
@@ -1004,14 +1004,15 @@ restart:
                }
 
                /*
-                * Apply any needed deletes.  We issue just one _bt_delitems() call
-                * per page, so as to minimize WAL traffic.
+                * Apply any needed deletes.  We issue just one _bt_delitems_vacuum()
+                * call per page, so as to minimize WAL traffic.
                 */
                if (ndeletable > 0)
                {
                        BlockNumber lastBlockVacuumed = BufferGetBlockNumber(buf);
 
-                       _bt_delitems_vacuum(rel, buf, deletable, ndeletable, vstate->lastBlockVacuumed);
+                       _bt_delitems_vacuum(rel, buf, deletable, ndeletable,
+                                                               vstate->lastBlockVacuumed);
 
                        /*
                         * Keep track of the block number of the lastBlockVacuumed, so we
@@ -1031,8 +1032,8 @@ restart:
                        /*
                         * If the page has been split during this vacuum cycle, it seems
                         * worth expending a write to clear btpo_cycleid even if we don't
-                        * have any deletions to do.  (If we do, _bt_delitems takes care
-                        * of this.)  This ensures we won't process the page again.
+                        * have any deletions to do.  (If we do, _bt_delitems_vacuum takes
+                        * care of this.)  This ensures we won't process the page again.
                         *
                         * We treat this like a hint-bit update because there's no need to
                         * WAL-log it.
index 0f5c113492dd1c8bd92994b749c1abed50ba5c70..3b351a8b9641d1cba148e5c84b3ac5779b9ac7a2 100644 (file)
@@ -539,7 +539,7 @@ btree_xlog_vacuum(XLogRecPtr lsn, XLogRecord *record)
 
        /*
         * Mark the page as not containing any LP_DEAD items --- see comments in
-        * _bt_delitems().
+        * _bt_delitems_vacuum().
         */
        opaque = (BTPageOpaque) PageGetSpecialPointer(page);
        opaque->btpo_flags &= ~BTP_HAS_GARBAGE;
@@ -720,7 +720,7 @@ btree_xlog_delete(XLogRecPtr lsn, XLogRecord *record)
 
        /*
         * Mark the page as not containing any LP_DEAD items --- see comments in
-        * _bt_delitems().
+        * _bt_delitems_delete().
         */
        opaque = (BTPageOpaque) PageGetSpecialPointer(page);
        opaque->btpo_flags &= ~BTP_HAS_GARBAGE;
index 041733ce309522063365db8db77d8785a99d1130..cae51a384d4760595a7ad4677ca0369d13b2948a 100644 (file)
@@ -635,7 +635,8 @@ extern bool _bt_page_recyclable(Page page);
 extern void _bt_delitems_delete(Relation rel, Buffer buf,
                                        OffsetNumber *itemnos, int nitems, Relation heapRel);
 extern void _bt_delitems_vacuum(Relation rel, Buffer buf,
-                  OffsetNumber *itemnos, int nitems, BlockNumber lastBlockVacuumed);
+                                       OffsetNumber *itemnos, int nitems,
+                                       BlockNumber lastBlockVacuumed);
 extern int     _bt_pagedel(Relation rel, Buffer buf, BTStack stack);
 
 /*