Revision 44198 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/operations/FetchFeatureTypeOperation.java
FetchFeatureTypeOperation.java | ||
---|---|---|
11 | 11 |
import org.apache.commons.collections.CollectionUtils; |
12 | 12 |
import org.apache.commons.lang3.StringUtils; |
13 | 13 |
import org.cresques.cts.IProjection; |
14 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
|
15 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Variable; |
|
14 | 16 |
import org.gvsig.fmap.dal.DataTypes; |
15 | 17 |
import org.gvsig.fmap.dal.exception.DataException; |
16 | 18 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
... | ... | |
19 | 21 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
20 | 22 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils; |
21 | 23 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
24 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_FEATURE_TYPE; |
|
25 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_TABLE; |
|
22 | 26 |
import org.gvsig.fmap.geom.Geometry; |
23 | 27 |
import org.gvsig.fmap.geom.GeometryLocator; |
24 | 28 |
import org.gvsig.fmap.geom.type.GeometryType; |
... | ... | |
256 | 260 |
String table |
257 | 261 |
) throws SQLException { |
258 | 262 |
JDBCSQLBuilderBase sqlbuilder = this.createSQLBuilder(); |
263 |
ExpressionBuilder expbuilder = sqlbuilder.expression(); |
|
259 | 264 |
|
260 | 265 |
sqlbuilder.select().column().name("COLUMN_NAME"); |
261 | 266 |
sqlbuilder.select().column().name("CONSTRAINT_TYPE"); |
... | ... | |
268 | 273 |
+ "c.constraint_name = t_cons.constraint_name " |
269 | 274 |
); |
270 | 275 |
sqlbuilder.select().where().set( |
271 |
sqlbuilder.like(
|
|
272 |
sqlbuilder.custom("c.TABLE_NAME"),
|
|
273 |
sqlbuilder.constant(table)
|
|
276 |
expbuilder.like(
|
|
277 |
expbuilder.custom("c.TABLE_NAME"),
|
|
278 |
expbuilder.constant(table)
|
|
274 | 279 |
) |
275 | 280 |
); |
276 | 281 |
if (schema != null) { |
277 | 282 |
sqlbuilder.select().where().and( |
278 |
sqlbuilder.like(
|
|
279 |
sqlbuilder.custom("c.TABLE_SCHEMA"),
|
|
280 |
sqlbuilder.constant(schema)
|
|
283 |
expbuilder.like(
|
|
284 |
expbuilder.custom("c.TABLE_SCHEMA"),
|
|
285 |
expbuilder.constant(schema)
|
|
281 | 286 |
) |
282 | 287 |
); |
283 | 288 |
} |
284 | 289 |
if (catalog != null) { |
285 | 290 |
sqlbuilder.select().where().and( |
286 |
sqlbuilder.like(
|
|
287 |
sqlbuilder.custom("c.CONSTRAINT_CATALOG"),
|
|
288 |
sqlbuilder.constant(catalog)
|
|
291 |
expbuilder.like(
|
|
292 |
expbuilder.custom("c.CONSTRAINT_CATALOG"),
|
|
293 |
expbuilder.constant(catalog)
|
|
289 | 294 |
) |
290 | 295 |
); |
291 | 296 |
} |
292 | 297 |
sqlbuilder.select().where().and( |
293 |
sqlbuilder.eq(
|
|
294 |
sqlbuilder.column("CONSTRAINT_TYPE"),
|
|
295 |
sqlbuilder.constant("PRIMARY KEY")
|
|
298 |
expbuilder.eq(
|
|
299 |
expbuilder.column("CONSTRAINT_TYPE"),
|
|
300 |
expbuilder.constant("PRIMARY KEY")
|
|
296 | 301 |
) |
297 | 302 |
); |
298 | 303 |
return sqlbuilder.toString(); |
Also available in: Unified diff