]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12251 close count statement in PopulateLiveMeasures
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 2 Jul 2019 08:58:01 +0000 (10:58 +0200)
committerSonarTech <sonartech@sonarsource.com>
Tue, 30 Jul 2019 18:24:26 +0000 (20:24 +0200)
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v70/PopulateLiveMeasures.java

index cb3d0d3b67d2b2de49ae502fb79e180a32616378..f82d1ea67409e3e8ffc17d9c9bec4406bfa553ff 100644 (file)
@@ -54,8 +54,7 @@ public class PopulateLiveMeasures extends DataChange {
 
   @Override
   protected void execute(Context context) throws SQLException {
-    boolean firstAttempt = context.prepareSelect("select count(1) from live_measures_p")
-      .get(t -> t.getLong(1)) == 0;
+    boolean firstAttempt = isFirstAttempt(context);
     if (!firstAttempt) {
       LOG.info("Retry detected (non empty table live_measures_p). Handle it");
     }
@@ -87,6 +86,12 @@ public class PopulateLiveMeasures extends DataChange {
     }
   }
 
+  private static boolean isFirstAttempt(Context context) throws SQLException {
+    try (Select select = context.prepareSelect("select count(1) from live_measures_p")) {
+      return select.get(t -> t.getLong(1)) == 0;
+    }
+  }
+
   private static void processProjectBatch(Context context, List<Row> rows, boolean firstAttempt, long now) throws SQLException {
     MassUpdate massUpdate = context.prepareMassUpdate();
     massUpdate.rowPluralName("live measures");