From 1ccbaa8d6ad89f198b20c759cfefa4b3738a4847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Mon, 6 Jan 2025 14:12:38 +0100 Subject: [PATCH] add character to database column type mapping --- gradle.properties | 2 +- .../src/main/java/org/xbib/jdbc/query/DatabaseImpl.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index c9c8881..3b9c772 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group = org.xbib name = database -version = 2.3.1 +version = 2.3.2 diff --git a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java index 0ceb0f0..8c9f5fb 100644 --- a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java +++ b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java @@ -466,6 +466,7 @@ public class DatabaseImpl implements Database { } params.forEach((k, v) -> { switch (v) { + case Character c -> sql.argString(k, Character.toString(c)); case String s -> sql.argString(k, s); case Integer i -> sql.argInteger(k, i); case Long l -> sql.argLong(k, l); @@ -484,6 +485,7 @@ public class DatabaseImpl implements Database { } params.forEach((k, v) -> { switch (v) { + case Character c -> sql.argString(k, Character.toString(c)); case String s -> sql.argString(k, s); case Integer i -> sql.argInteger(k, i); case Long l -> sql.argLong(k, l); @@ -502,6 +504,7 @@ public class DatabaseImpl implements Database { } params.forEach((k, v) -> { switch (v) { + case Character c -> sql.argString(k, Character.toString(c)); case String s -> sql.argString(k, s); case Integer i -> sql.argInteger(k, i); case Long l -> sql.argLong(k, l); @@ -519,7 +522,7 @@ public class DatabaseImpl implements Database { for (int i = 0; i < classNames.size(); i++) { String className = classNames.get(i).toString(); switch (className) { - case "java.lang.String" -> row.add(rows.getStringOrEmpty(i + 1)); + case "java.lang.Character", "java.lang.String" -> row.add(rows.getStringOrEmpty(i + 1)); case "java.lang.Integer" -> row.add(rows.getIntegerOrNull(i + 1)); case "java.lang.Long" -> row.add(rows.getLongOrNull(i + 1)); case "java.lang.Boolean" -> row.add(rows.getBooleanOrFalse(i + 1));