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 <m.michael.mich...@orange.fr> * Postgis writer : create the sequence in the same schema as the table + * Postgis writer : normalize index name 2016-09-17 mmichaud <m.michael.mich...@orange.fr> * 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 Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel