Revision: 5024
http://sourceforge.net/p/jump-pilot/code/5024
Author: michaudm
Date: 2016-09-20 21:04:45 +0000 (Tue, 20 Sep 2016)
Log Message:
-----------
Postgis writer : normalize index name
Modified Paths:
--------------
core/trunk/ChangeLog
core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java
Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog 2016-09-20 20:45:17 UTC (rev 5023)
+++ core/trunk/ChangeLog 2016-09-20 21:04:45 UTC (rev 5024)
@@ -5,6 +5,7 @@
2016-09-21 mmichaud <[email protected]>
* Postgis writer : create the sequence in the same schema as the table
+ * Postgis writer : normalize index name
2016-09-17 mmichaud <[email protected]>
* FR #235 : Improved ExtractLayersByGeometryPlugIn
Modified:
core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java
2016-09-20 20:45:17 UTC (rev 5023)
+++
core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java
2016-09-20 21:04:45 UTC (rev 5024)
@@ -6,6 +6,7 @@
import com.vividsolutions.jump.datastore.GeometryColumn;
import com.vividsolutions.jump.feature.AttributeType;
+import java.text.Normalizer;
import java.util.List;
public class PostgisDSMetadata extends SpatialDatabasesDSMetadata {
@@ -95,9 +96,14 @@
*/
@Override
public String getAddSpatialIndexStatement(String schemaName, String
tableName, String geometryColumn) {
- return "CREATE INDEX \"" +
- SQLUtil.compose(schemaName, tableName).replaceAll("\"","") +
"_" + geometryColumn + "_idx\"\n" +
- "ON " + SQLUtil.compose(schemaName, tableName) + " USING GIST
( \"" + geometryColumn + "\" );";
+ String name = schemaName + "_" + tableName + "_" + geometryColumn +
"_idx";
+ name = Normalizer.normalize(name, Normalizer.Form.NFD); // separe base
character from accent
+ name = name.replaceAll("\\p{M}", ""); // remove accents
+ name = name.toLowerCase();
+ name = name.replaceAll("[^\\x5F\\x30-\\x39\\x41-\\x5A\\x61-\\x7A]",
"_");
+ name = name.replaceAll("_+", "_");
+ return "CREATE INDEX " + name + " ON " +
+ SQLUtil.compose(schemaName, tableName) + " USING GIST ( \"" +
geometryColumn + "\" );";
}
}
------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel