From 76e8e8996e6fcda821c47abd1a56038699567d5a Mon Sep 17 00:00:00 2001 From: Alyssa Date: Tue, 5 Mar 2024 09:20:18 +0000 Subject: [PATCH] isNull helper --- src/main/kotlin/dartzee/achievements/AchievementSqlUtil.kt | 5 ++--- src/main/kotlin/dartzee/db/AchievementEntity.kt | 3 ++- src/main/kotlin/dartzee/reporting/ReportingUtil.kt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/dartzee/achievements/AchievementSqlUtil.kt b/src/main/kotlin/dartzee/achievements/AchievementSqlUtil.kt index ee2996f6..201a0073 100644 --- a/src/main/kotlin/dartzee/achievements/AchievementSqlUtil.kt +++ b/src/main/kotlin/dartzee/achievements/AchievementSqlUtil.kt @@ -8,6 +8,7 @@ import dartzee.game.GameType import dartzee.`object`.SegmentType import dartzee.utils.Database import dartzee.utils.getQuotedIdStr +import dartzee.utils.isNullStatement import java.sql.ResultSet const val X01_ROUNDS_TABLE = "X01Rounds" @@ -119,9 +120,7 @@ fun buildQualifyingDartzeeGamesTable(database: Database): String? { val sb = StringBuilder() sb.append(" INSERT INTO $dartzeeGames") - sb.append( - " SELECT g.RowId, COUNT(1) + 1, CASE WHEN dt.Name IS NULL THEN '' ELSE dt.Name END AS TemplateName" - ) + sb.append(" SELECT g.RowId, COUNT(1) + 1, ${isNullStatement("dt.Name", "''", "TemplateName")}") sb.append(" FROM ${EntityName.DartzeeRule} dr, ${EntityName.Game} g") sb.append(" LEFT OUTER JOIN ${EntityName.DartzeeTemplate} dt ON (g.GameParams = dt.RowId)") sb.append(" WHERE dr.EntityId = g.RowId") diff --git a/src/main/kotlin/dartzee/db/AchievementEntity.kt b/src/main/kotlin/dartzee/db/AchievementEntity.kt index 4d72be0e..324893f9 100644 --- a/src/main/kotlin/dartzee/db/AchievementEntity.kt +++ b/src/main/kotlin/dartzee/db/AchievementEntity.kt @@ -7,6 +7,7 @@ import dartzee.core.util.getSqlDateNow import dartzee.screen.ScreenCache import dartzee.utils.Database import dartzee.utils.InjectedThings.mainDatabase +import dartzee.utils.isNullStatement import java.sql.Timestamp /** @@ -50,7 +51,7 @@ class AchievementEntity(database: Database = mainDatabase) : val sb = StringBuilder() sb.append("SELECT ${dao.getColumnsForSelectStatement("a")}, ") - sb.append(" CASE WHEN g.LocalId IS NULL THEN -1 ELSE g.LocalId END AS LocalGameId") + sb.append(isNullStatement("g.LocalId", "-1", "LocalGameId")) sb.append(" FROM Achievement a") sb.append(" LEFT OUTER JOIN Game g ON (a.GameIdEarned = g.RowId)") sb.append(" WHERE PlayerId = '$playerId'") diff --git a/src/main/kotlin/dartzee/reporting/ReportingUtil.kt b/src/main/kotlin/dartzee/reporting/ReportingUtil.kt index 5905ed7d..006e03bf 100644 --- a/src/main/kotlin/dartzee/reporting/ReportingUtil.kt +++ b/src/main/kotlin/dartzee/reporting/ReportingUtil.kt @@ -79,7 +79,7 @@ fun buildBasicSqlStatement(ptTempTable: String) = g.DartsMatchId, g.MatchOrdinal, dt.Name AS TemplateName, - CASE WHEN m.LocalId IS NULL THEN -1 ELSE m.LocalId END AS LocalMatchId + ${isNullStatement("m.LocalId", "-1", "LocalMatchId")} FROM $ptTempTable pt, ${EntityName.Player} p,