Slightly simplify nbtree split point choice loop.
authorPeter Geoghegan <pg@bowt.ie>
Wed, 15 Apr 2020 22:47:26 +0000 (15:47 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Wed, 15 Apr 2020 22:47:26 +0000 (15:47 -0700)
Spotted during post-commit review of the nbtree deduplication commit
(commit 0d861bbb).

src/backend/access/nbtree/nbtsplitloc.c

index 5f0d0be3c25bf541d672c47f2433af62922dcf04..c850cd807cf7e84e182e7339e49bdfccb11b3221 100644 (file)
@@ -820,18 +820,14 @@ _bt_bestsplitloc(FindSplitData *state, int perfectpenalty,
 
        penalty = _bt_split_penalty(state, state->splits + i);
 
-       if (penalty <= perfectpenalty)
-       {
-           bestpenalty = penalty;
-           lowsplit = i;
-           break;
-       }
-
        if (penalty < bestpenalty)
        {
            bestpenalty = penalty;
            lowsplit = i;
        }
+
+       if (penalty <= perfectpenalty)
+           break;
    }
 
    final = &state->splits[lowsplit];