From 1fc8f9cb95112d317e2025c1d1ae47fc893719f4 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 17 Aug 2015 15:36:17 -0500 Subject: [PATCH] IDEMPIERE-2664 DB Extensibility issues / remove calls to DB.isPostgreSQL and DB.isOracle to determine if identifiers are upper/lower-case --- .../src/org/compiere/process/TableCreateColumns.java | 8 +------- org.adempiere.base/src/org/compiere/util/DB.java | 11 +++++++++-- .../adempiere/pipo2/handler/ColumnElementHandler.java | 4 ++-- .../adempiere/pipo/handler/ColumnElementHandler.java | 4 ++-- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/org.adempiere.base.process/src/org/compiere/process/TableCreateColumns.java b/org.adempiere.base.process/src/org/compiere/process/TableCreateColumns.java index 78b13a6f48..73a67dd5d9 100644 --- a/org.adempiere.base.process/src/org/compiere/process/TableCreateColumns.java +++ b/org.adempiere.base.process/src/org/compiere/process/TableCreateColumns.java @@ -212,13 +212,7 @@ public class TableCreateColumns extends SvrProcess */ private void addTableColumn (ResultSet rs, MTable table) throws Exception { - String tableName = table.getTableName (); - if (DB.isOracle ()) - tableName = tableName.toUpperCase (); - // globalqss 2005-10-24 - if (DB.isPostgreSQL()) - tableName = tableName.toLowerCase(); - // end globalqss 2005-10-24 + String tableName = table.getTableName(); while (rs.next ()) { String tn = rs.getString ("TABLE_NAME"); diff --git a/org.adempiere.base/src/org/compiere/util/DB.java b/org.adempiere.base/src/org/compiere/util/DB.java index bed4ba5b29..387e9c64db 100644 --- a/org.adempiere.base/src/org/compiere/util/DB.java +++ b/org.adempiere.base/src/org/compiere/util/DB.java @@ -527,7 +527,7 @@ public final class DB { if (s_cc != null) return s_cc.isPostgreSQL(); - log.severe("No Database"); + log.severe("No Database"); return false; } // isPostgreSQL //begin vpj-cd e-evolution 02/07/2005 PostgreSQL @@ -2415,7 +2415,14 @@ public final class DB ResultSet rs = null; try { DatabaseMetaData metadata = conn.getMetaData(); - rs = metadata.getTables(null, null, (DB.isPostgreSQL() ? tableName.toLowerCase() : tableName.toUpperCase()), null); + String tblName; + if (metadata.storesUpperCaseIdentifiers()) + tblName = tableName.toUpperCase(); + else if (metadata.storesLowerCaseIdentifiers()) + tblName = tableName.toLowerCase(); + else + tblName = tableName; + rs = metadata.getTables(null, null, tblName, null); if (rs.next()) { return true; } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java index 22bb37f791..ed28666765 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java @@ -216,10 +216,10 @@ public class ColumnElementHandler extends AbstractElementHandler { String schema = DB.getDatabase().getSchema(); String tableName = table.getTableName(); String columnName = column.getColumnName(); - if (DB.isOracle()) { + if (md.storesUpperCaseIdentifiers()) { tableName = tableName.toUpperCase(); columnName = columnName.toUpperCase(); - } else if (DB.isPostgreSQL()) { + } else if (md.storesLowerCaseIdentifiers()) { tableName = tableName.toLowerCase(); columnName = columnName.toLowerCase(); } diff --git a/org.adempiere.pipo.legacy/src/org/adempiere/pipo/handler/ColumnElementHandler.java b/org.adempiere.pipo.legacy/src/org/adempiere/pipo/handler/ColumnElementHandler.java index 20762c992f..9ae111db17 100644 --- a/org.adempiere.pipo.legacy/src/org/adempiere/pipo/handler/ColumnElementHandler.java +++ b/org.adempiere.pipo.legacy/src/org/adempiere/pipo/handler/ColumnElementHandler.java @@ -309,10 +309,10 @@ public class ColumnElementHandler extends AbstractElementHandler { String schema = DB.getDatabase().getSchema(); String tableName = table.getTableName(); String columnName = column.getColumnName(); - if (DB.isOracle()) { + if (md.storesUpperCaseIdentifiers()) { tableName = tableName.toUpperCase(); columnName = columnName.toUpperCase(); - } else if (DB.isPostgreSQL()) { + } else if (md.storesLowerCaseIdentifiers()) { tableName = tableName.toLowerCase(); columnName = columnName.toLowerCase(); }