From 86d43f04cedd70c0b9f992b2b3c09e9bb722e3e0 Mon Sep 17 00:00:00 2001 From: Benedikt Galbavy Date: Fri, 5 Jan 2024 16:41:52 +0100 Subject: [PATCH] Made custom sql statements possible ~10 min work --- src/at/nanopenguin/mtcg/db/DbQuery.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/at/nanopenguin/mtcg/db/DbQuery.java b/src/at/nanopenguin/mtcg/db/DbQuery.java index fdb1fd6..fb02017 100644 --- a/src/at/nanopenguin/mtcg/db/DbQuery.java +++ b/src/at/nanopenguin/mtcg/db/DbQuery.java @@ -25,6 +25,9 @@ public final class DbQuery { @Singular private SortedMap conditions; private String returnColumn; + private String customSql; + @Singular + private List values; public static class DbQueryBuilder { @@ -32,6 +35,7 @@ public final class DbQuery { public List> executeQuery() throws SQLException { DbQuery dbQuery = this.build(); if (dbQuery.command != SqlCommand.SELECT && dbQuery.returnColumn == null) throw new SQLException(); + if (dbQuery.customSql != null) return DbQuery.executeQuery(dbQuery.customSql, dbQuery.values); return switch (dbQuery.command) { case INSERT -> dbQuery.create(true); case SELECT -> dbQuery.read(); @@ -43,6 +47,7 @@ public final class DbQuery { public int executeUpdate() throws SQLException { if (this.returnColumn != null) throw new SQLException(); DbQuery dbQuery = this.build(); + if (dbQuery.customSql != null) return DbQuery.executeUpdate(dbQuery.customSql, dbQuery.values); return switch (dbQuery.command) { case INSERT -> dbQuery.create(); case UPDATE -> dbQuery.update();