[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