Revision 913 org.gvsig.oracle/trunk/org.gvsig.oracle/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/SpatialIndexUtils.java
SpatialIndexUtils.java | ||
---|---|---|
181 | 181 |
return sql; |
182 | 182 |
} |
183 | 183 |
|
184 |
public static String getSQLCreateSpatialIndex(String table, String geomColumn, int geomType) { |
|
184 |
public static String getSQLCreateSpatialIndex(String table, String geomColumn, int geomType, int geomsubtype) {
|
|
185 | 185 |
table = table.toUpperCase(); |
186 | 186 |
String oracleGeomTypeName = GeometryTypeUtils.toOracleGeometryTypeName(geomType); |
187 |
int dimensions = GeometryTypeUtils.getDimensions(geomsubtype); |
|
187 | 188 |
String indexName = SpatialIndexUtils.getSpatialIndexName(table, geomColumn); |
188 |
String createIndexSql = "CREATE INDEX \"{0}\" ON \"{1}\" (\"{2}\") INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS (''LAYER_GTYPE={3}'')"; // SDO_LEVEL=8
|
|
189 |
String createIndexSql = "CREATE INDEX \"{0}\" ON \"{1}\" (\"{2}\") INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS (''SDO_INDX_DIMS={3},LAYER_GTYPE={4}'')"; // SDO_LEVEL=8
|
|
189 | 190 |
String sql = MessageFormat.format( |
190 | 191 |
createIndexSql, |
191 | 192 |
indexName, |
192 | 193 |
table, |
193 | 194 |
geomColumn, |
195 |
dimensions, |
|
194 | 196 |
oracleGeomTypeName |
195 | 197 |
); |
196 | 198 |
return sql; |
197 | 199 |
} |
198 | 200 |
|
199 |
public static String getSQLRebuildSpatialIndex(String table, String geomColumn, int geomType) { |
|
201 |
public static String getSQLRebuildSpatialIndex(String table, String geomColumn, int geomType, int geomsubtype) {
|
|
200 | 202 |
table = table.toUpperCase(); |
201 | 203 |
String indexName = SpatialIndexUtils.getSpatialIndexName(table, geomColumn); |
202 | 204 |
String oracleGeomTypeName = GeometryTypeUtils.toOracleGeometryTypeName(geomType); |
203 |
String rebuildIndexSql = "ALTER INDEX \"{0}\" REBUILD PARAMETERS (''LAYER_GTYPE={1}'')"; |
|
205 |
int dimensions = GeometryTypeUtils.getDimensions(geomsubtype); |
|
206 |
String rebuildIndexSql = "ALTER INDEX \"{0}\" REBUILD PARAMETERS (''SDO_INDX_DIMS={1},LAYER_GTYPE={2}'')"; |
|
204 | 207 |
String sql = MessageFormat.format( |
205 | 208 |
rebuildIndexSql, |
206 | 209 |
indexName, |
210 |
dimensions, |
|
207 | 211 |
oracleGeomTypeName |
208 | 212 |
); |
209 | 213 |
return sql; |
Also available in: Unified diff