Revision 44320
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/CreateTableOperation.java | ||
---|---|---|
88 | 88 |
.schema(this.table.getSchema()) |
89 | 89 |
.name(this.table.getTable()); |
90 | 90 |
for (FeatureAttributeDescriptor attr : type) { |
91 |
if( attr.isComputed() ) { |
|
92 |
continue; |
|
93 |
} |
|
91 | 94 |
if( attr.getType()==DataTypes.GEOMETRY ) { |
92 | 95 |
sqlbuilder.create_table().add_geometry_column( |
93 | 96 |
attr.getName(), |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/main/java/org/gvsig/fmap/dal/store/h2/operations/H2SpatialFetchFeatureTypeOperation.java | ||
---|---|---|
10 | 10 |
import java.util.List; |
11 | 11 |
import java.util.Map; |
12 | 12 |
import org.cresques.cts.IProjection; |
13 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
|
13 | 14 |
import org.gvsig.fmap.dal.DataTypes; |
14 | 15 |
import org.gvsig.fmap.dal.exception.DataException; |
15 | 16 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
... | ... | |
17 | 18 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
18 | 19 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils; |
19 | 20 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
21 |
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase; |
|
20 | 22 |
import org.gvsig.fmap.dal.store.jdbc2.spi.SRSSolver; |
21 | 23 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.FetchFeatureTypeOperation; |
22 | 24 |
import org.gvsig.fmap.geom.Geometry; |
... | ... | |
201 | 203 |
} |
202 | 204 |
return h2spatialGeometryTypes.get(typeName); |
203 | 205 |
} |
206 |
|
|
207 |
@Override |
|
208 |
protected String getSQLToRetrievePrimaryKeysFromInformationSchema( |
|
209 |
String catalog, |
|
210 |
String schema, |
|
211 |
String table |
|
212 |
) throws SQLException { |
|
213 |
JDBCSQLBuilderBase sqlbuilder = this.createSQLBuilder(); |
|
214 |
ExpressionBuilder expbuilder = sqlbuilder.expression(); |
|
215 |
|
|
216 |
sqlbuilder.select().column().name("COLUMN_LIST"); |
|
217 |
sqlbuilder.select().column().name("CONSTRAINT_TYPE"); |
|
218 |
sqlbuilder.select().from().table().schema("INFORMATION_SCHEMA").name("CONSTRAINTS"); |
|
219 |
sqlbuilder.select().where().set( |
|
220 |
expbuilder.like( |
|
221 |
expbuilder.column("TABLE_NAME"), |
|
222 |
expbuilder.constant(table) |
|
223 |
) |
|
224 |
); |
|
225 |
if (schema != null) { |
|
226 |
sqlbuilder.select().where().and( |
|
227 |
expbuilder.like( |
|
228 |
expbuilder.column("TABLE_SCHEMA"), |
|
229 |
expbuilder.constant(schema) |
|
230 |
) |
|
231 |
); |
|
232 |
} |
|
233 |
if (catalog != null) { |
|
234 |
sqlbuilder.select().where().and( |
|
235 |
expbuilder.like( |
|
236 |
expbuilder.column("CONSTRAINT_CATALOG"), |
|
237 |
expbuilder.constant(catalog) |
|
238 |
) |
|
239 |
); |
|
240 |
} |
|
241 |
sqlbuilder.select().where().and( |
|
242 |
expbuilder.eq( |
|
243 |
expbuilder.column("CONSTRAINT_TYPE"), |
|
244 |
expbuilder.constant("PRIMARY KEY") |
|
245 |
) |
|
246 |
); |
|
247 |
return sqlbuilder.toString(); |
|
248 |
} |
|
204 | 249 |
|
250 |
|
|
205 | 251 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/main/java/org/gvsig/fmap/dal/store/h2/H2SpatialSQLBuilder.java | ||
---|---|---|
41 | 41 |
|
42 | 42 |
|
43 | 43 |
this.defaultSchema = ""; |
44 |
this.supportSchemas = false;
|
|
44 |
this.supportSchemas = true;
|
|
45 | 45 |
this.allowAutomaticValues = true; |
46 | 46 |
this.geometrySupportType = this.helper.getGeometrySupportType(); |
47 | 47 |
this.hasSpatialFunctions = this.helper.hasSpatialFunctions(); |
... | ... | |
60 | 60 |
this.type_char = "CHAR"; |
61 | 61 |
this.type_date = "DATE"; |
62 | 62 |
this.type_double = "DOUBLE"; |
63 |
this.type_numeric_p = "DECIMAL({0})"; |
|
64 |
this.type_numeric_ps = "DECIMAL({0},{1})";
|
|
63 |
this.type_numeric_p = "DECIMAL({0,Number,#######})";
|
|
64 |
this.type_numeric_ps = "DECIMAL({0,Number,#######},{1,Number,#######})";
|
|
65 | 65 |
this.type_bigdecimal = "DOUBLE"; |
66 | 66 |
this.type_float = "REAL"; |
67 | 67 |
this.type_int = "INTEGER"; |
68 | 68 |
this.type_long = "BIGINT"; |
69 | 69 |
this.type_string = "VARCHAR"; |
70 |
this.type_string_p = "VARCHAR({0})"; |
|
70 |
this.type_string_p = "VARCHAR({0,Number,#######})";
|
|
71 | 71 |
this.type_time = "TIME"; |
72 | 72 |
this.type_timestamp = "TIMESTAMP"; |
73 | 73 |
this.type_version = "VARCHAR"; |
... | ... | |
88 | 88 |
public class H2SpatialTableNameBuilderBase extends TableNameBuilderBase { |
89 | 89 |
|
90 | 90 |
@Override |
91 |
public boolean has_schema() { |
|
92 |
return false; |
|
93 |
} |
|
94 |
|
|
95 |
@Override |
|
96 | 91 |
public boolean has_database() { |
97 | 92 |
return false; |
98 | 93 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/SQLBuilderBase.java | ||
---|---|---|
2254 | 2254 |
protected String type_char = "CHARACTER(1)"; |
2255 | 2255 |
protected String type_date = "DATE"; |
2256 | 2256 |
protected String type_double = "DOUBLE PRECISION"; //float con 53 bits de mantisa, float(54) |
2257 |
protected String type_numeric_p = "NUMERIC({0})"; |
|
2258 |
protected String type_numeric_ps = "NUMERIC({0},{1})";
|
|
2259 |
protected String type_bigdecimal = "NUMERIC({0},{1})";
|
|
2257 |
protected String type_numeric_p = "NUMERIC({0,Number,#######})";
|
|
2258 |
protected String type_numeric_ps = "NUMERIC({0,Number,#######},{1,Number,#######})";
|
|
2259 |
protected String type_bigdecimal = "NUMERIC({0,Number,#######},{1,Number,#######})";
|
|
2260 | 2260 |
protected String type_float = "REAL"; //float con 24 bits de mantisa, float(24) |
2261 | 2261 |
protected String type_int = "INT"; |
2262 | 2262 |
protected String type_long = "BIGINT"; |
2263 | 2263 |
protected String type_string = "TEXT"; |
2264 |
protected String type_string_p = "VARCHAR({0})"; |
|
2264 |
protected String type_string_p = "VARCHAR({0,Number,#######})";
|
|
2265 | 2265 |
protected String type_time = "TIME"; |
2266 | 2266 |
protected String type_timestamp = "TIMESTAMP"; |
2267 | 2267 |
protected String type_version = "VARCHAR(30)"; |
Also available in: Unified diff