From 26bbb56b356620e50e043f64aff730691a33f99e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Wed, 26 Jul 2023 15:01:35 +0200 Subject: [PATCH] use column labels --- gradle.properties | 2 +- .../java/org/xbib/jdbc/oracle/test/OracleTest.java | 14 ++++++++++++++ .../java/org/xbib/jdbc/query/DatabaseImpl.java | 6 +++--- .../src/main/java/org/xbib/jdbc/query/Schema.java | 2 +- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index 390bf42..82da508 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group = org.xbib name = database -version = 1.1.0 +version = 1.2.0 org.gradle.warning.mode = ALL diff --git a/jdbc-oracle/src/test/java/org/xbib/jdbc/oracle/test/OracleTest.java b/jdbc-oracle/src/test/java/org/xbib/jdbc/oracle/test/OracleTest.java index 6dad096..cca2a9a 100644 --- a/jdbc-oracle/src/test/java/org/xbib/jdbc/oracle/test/OracleTest.java +++ b/jdbc-oracle/src/test/java/org/xbib/jdbc/oracle/test/OracleTest.java @@ -1,6 +1,7 @@ package org.xbib.jdbc.oracle.test; import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -10,6 +11,7 @@ import org.xbib.jdbc.query.Config; import org.xbib.jdbc.query.ConfigSupplier; import org.xbib.jdbc.query.DatabaseProvider; import org.xbib.jdbc.query.OptionsOverride; +import org.xbib.jdbc.query.Schema; import org.xbib.jdbc.test.CommonTest; /** @@ -64,4 +66,16 @@ public class OracleTest extends CommonTest { public void argDoubleNegativeZero() { super.argDoubleNegativeZero(); } + + @Override + @Test + public void metadataColumnNames() { + db.dropTableQuietly("dbtest"); + new Schema().addTable("dbtest").addColumn("pk").primaryKey().schema().execute(db); + db.toSelect("select Pk, Pk as Foo, Pk as \"Foo\" from dbtest") + .query(rs -> { + Assertions.assertArrayEquals(new String[]{"PK", "FOO", "Foo"}, rs.getColumnLabels()); + return null; + }); + } } 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 0173ec8..550cc50 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 @@ -338,13 +338,13 @@ public class DatabaseImpl implements Database { Table table = new Table(); sql.query(rows -> { ResultSetMetaData md = rows.getMetadata(); - List columnNames = new ArrayList<>(); + List columnLabels = new ArrayList<>(); List classNames = new ArrayList<>(); for (int i = 1; i <= md.getColumnCount(); i++) { - columnNames.add(md.getColumnName(i).toLowerCase(Locale.ROOT)); + columnLabels.add(md.getColumnLabel(i)); classNames.add(md.getColumnClassName(i)); } - table.add(columnNames); + table.add(columnLabels); table.add(classNames); int i = 0; while (rows.next() && (limit <= 0 || i++ < limit)) { diff --git a/jdbc-query/src/main/java/org/xbib/jdbc/query/Schema.java b/jdbc-query/src/main/java/org/xbib/jdbc/query/Schema.java index b18bf59..bafa851 100644 --- a/jdbc-query/src/main/java/org/xbib/jdbc/query/Schema.java +++ b/jdbc-query/src/main/java/org/xbib/jdbc/query/Schema.java @@ -25,7 +25,7 @@ public class Schema { private final List sequences; - private boolean indexForeignKeys = true; + private boolean indexForeignKeys; private String userTableName;