[Schmitzm-commits] r1701 - trunk/schmitzm-core/src/main/java/de/schmitzm/postgres
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed Aug 31 17:11:27 CEST 2011
Author: alfonx
Date: 2011-08-31 17:11:27 +0200 (Wed, 31 Aug 2011)
New Revision: 1701
Modified:
trunk/schmitzm-core/src/main/java/de/schmitzm/postgres/PGUtil.java
Log:
Besser ?\195?\188berpr?\195?\188fug ob ein Index auf einer tabelle in einem anderen Schma schon existiert.
Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/postgres/PGUtil.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/postgres/PGUtil.java 2011-08-31 14:01:24 UTC (rev 1700)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/postgres/PGUtil.java 2011-08-31 15:11:27 UTC (rev 1701)
@@ -352,7 +352,9 @@
/**
* Liefert eine Liste aller Indexnamen die für eine Tabelle existieren. Der
* Tabellenname wird mit <code>like</code> verglichen, darf also
- * <code>%</code> enthalten.
+ * <code>%</code> enthalten.<br/>
+ * Wenn der Tablename ein Nicht-Default-Schema wie "schema.name" enthält, dann liefert
+ * listIndexesForTable hier ein schema_table im Index-Namen zurück.
*/
public static List<String> listIndexesForTable(Connection c,
String tableName) throws SQLException {
@@ -392,8 +394,10 @@
String tablespace) throws SQLException {
final String idxName = (tableName + "_" + idxPostfix).replace(".", "_");
+ // Wenn der Tablename ein Schema mit "schema.name" enthält, dann liefert
+ // listIndexesForTable hier ein schema_table im Index-Namen zurück.
for (String existIdxName : listIndexesForTable(c, tableName)) {
- if (existIdxName.equalsIgnoreCase(idxName))
+ if (existIdxName.equalsIgnoreCase(idxName.replaceFirst("\\.", "_")))
// Existiert bereits.
return;
}
More information about the Schmitzm-commits
mailing list