Remove dead code in nodeGatherMerge.c.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 12 Mar 2017 19:52:50 +0000 (15:52 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 12 Mar 2017 19:52:50 +0000 (15:52 -0400)
Coverity noted that the last line of gather_merge_getnext() was
unreachable, since each arm of the preceding "if" ends in a "return".
Drop it as an oversight.  In passing, improve some nearby comments.

src/backend/executor/nodeGatherMerge.c

index 62a6b1866dcf385cd86d3db79c71b6ca83eb7cab..72f30ab4e6bbf9f9b1ff604bb35b6f31083dc91b 100644 (file)
@@ -423,8 +423,8 @@ reread:
 }
 
 /*
- * Clear out a slot in the tuple table for each gather merge
- * slot and return the clear cleared slot.
+ * Clear out the tuple table slots for each gather merge input,
+ * and return a cleared slot.
  */
 static TupleTableSlot *
 gather_merge_clear_slots(GatherMergeState *gm_state)
@@ -456,19 +456,21 @@ gather_merge_getnext(GatherMergeState *gm_state)
 {
    int         i;
 
-   /*
-    * First time through: pull the first tuple from each participate, and set
-    * up the heap.
-    */
-   if (gm_state->gm_initialized == false)
+   if (!gm_state->gm_initialized)
+   {
+       /*
+        * First time through: pull the first tuple from each participant, and
+        * set up the heap.
+        */
        gather_merge_init(gm_state);
+   }
    else
    {
        /*
         * Otherwise, pull the next tuple from whichever participant we
-        * returned from last time, and reinsert the index into the heap,
-        * because it might now compare differently against the existing
-        * elements of the heap.
+        * returned from last time, and reinsert that participant's index into
+        * the heap, because it might now compare differently against the
+        * other elements of the heap.
         */
        i = DatumGetInt32(binaryheap_first(gm_state->gm_heap));
 
@@ -485,11 +487,10 @@ gather_merge_getnext(GatherMergeState *gm_state)
    }
    else
    {
+       /* Return next tuple from whichever participant has the leading one */
        i = DatumGetInt32(binaryheap_first(gm_state->gm_heap));
        return gm_state->gm_slots[i];
    }
-
-   return gather_merge_clear_slots(gm_state);
 }
 
 /*