From fdf79eeee380120e90f149039ed6291444afe67c Mon Sep 17 00:00:00 2001 From: ceze88 Date: Tue, 25 Jul 2023 19:54:05 +0200 Subject: [PATCH] New delete methods, start auto increment from one for databases --- .../craftaro/core/database/DataManager.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Core/src/main/java/com/craftaro/core/database/DataManager.java b/Core/src/main/java/com/craftaro/core/database/DataManager.java index 5f257fd3..4743ff4c 100644 --- a/Core/src/main/java/com/craftaro/core/database/DataManager.java +++ b/Core/src/main/java/com/craftaro/core/database/DataManager.java @@ -233,10 +233,10 @@ public class DataManager { //recreate upper method using java 8 syntax try { Optional max = context.select(DSL.max(DSL.field("id"))).from(prefixedTable).fetchOptional().map(record -> record.get(0, Integer.class)); - this.autoIncrementCache.put(prefixedTable, new AtomicInteger(max.orElse(1))); + this.autoIncrementCache.put(prefixedTable, new AtomicInteger(max.orElse(0))); } catch (Exception e) { //Table is empty - this.autoIncrementCache.put(prefixedTable, new AtomicInteger(1)); + this.autoIncrementCache.put(prefixedTable, new AtomicInteger(0)); } }); } @@ -338,6 +338,20 @@ public class DataManager { }); } + public void delete(Data data, String idField, Object idValue) { + asyncPool.execute(() -> { + deleteSync(data, idField, idValue); + }); + } + + public void deleteSync(Data data, String idField, Object idValue) { + databaseConnector.connectDSL(context -> { + context.delete(DSL.table(getTablePrefix() + data.getTableName())) + .where(DSL.field(idField).eq(idValue)) + .execute(); + }); + } + /** * Deletes the data from the database */