Revision 45694
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/ConnectionProvider.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import java.sql.Connection; |
27 | 27 |
import java.sql.SQLException; |
28 |
import org.gvsig.tools.dispose.Disposable; |
|
28 | 29 |
|
29 | 30 |
/** |
30 | 31 |
* |
31 | 32 |
* @author gvSIG Team |
32 | 33 |
*/ |
33 |
public interface ConnectionProvider { |
|
34 |
public interface ConnectionProvider extends Disposable {
|
|
34 | 35 |
|
35 | 36 |
public Connection getConnection() throws SQLException; |
36 | 37 |
|
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/FakeConnectionParameters.java | ||
---|---|---|
1 |
/* |
|
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package org.gvsig.fmap.dal.store.jdbc2.spi; |
|
7 |
|
|
8 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
|
9 |
|
|
10 |
/** |
|
11 |
* |
|
12 |
* @author fdiaz |
|
13 |
*/ |
|
14 |
public class FakeConnectionParameters extends JDBCServerExplorerParameters { |
|
15 |
|
|
16 |
} |
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/JDBCSQLBuilderBase.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.dal.store.jdbc2.spi; |
25 | 25 |
|
26 |
import java.math.BigDecimal; |
|
26 | 27 |
import java.sql.Connection; |
27 | 28 |
import java.sql.PreparedStatement; |
28 | 29 |
import java.sql.SQLException; |
30 |
import java.sql.Time; |
|
31 |
import java.sql.Timestamp; |
|
29 | 32 |
import java.util.ArrayList; |
30 | 33 |
import java.util.Date; |
31 | 34 |
import java.util.List; |
... | ... | |
49 | 52 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
50 | 53 |
import org.gvsig.fmap.geom.primitive.Primitive; |
51 | 54 |
import org.gvsig.fmap.geom.type.GeometryType; |
55 |
import org.gvsig.tools.ToolsLocator; |
|
56 |
import org.gvsig.tools.dataTypes.DataType; |
|
57 |
import org.gvsig.tools.dataTypes.DataTypes; |
|
58 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
|
52 | 59 |
import org.gvsig.tools.dispose.Disposable; |
53 | 60 |
|
54 | 61 |
@SuppressWarnings("UseSpecificCatch") |
... | ... | |
116 | 123 |
} |
117 | 124 |
|
118 | 125 |
public List<Object> getParameters(FeatureProvider feature) { |
126 |
return getParameters(feature, null); |
|
127 |
} |
|
128 |
public List<Object> getParameters(FeatureProvider feature, List<Integer> types) { |
|
119 | 129 |
try { |
130 |
DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager(); |
|
120 | 131 |
FeatureType type = feature.getType(); |
121 | 132 |
List<Object> values = new ArrayList<>(); |
122 | 133 |
Object value; |
... | ... | |
124 | 135 |
if (parameter.is_constant()) { |
125 | 136 |
value = parameter.value(); |
126 | 137 |
values.add(value); |
138 |
if(types != null) { |
|
139 |
if (value == null) { |
|
140 |
types.add(org.gvsig.fmap.dal.DataTypes.OBJECT); |
|
141 |
} else { |
|
142 |
DataType dataType = dataTypesManager.getDataType(value.getClass()); |
|
143 |
types.add(dataType.getType()); |
|
144 |
} |
|
145 |
} |
|
146 |
|
|
127 | 147 |
} else { |
128 | 148 |
String name = parameter.name(); |
129 | 149 |
value = feature.get(name); |
... | ... | |
135 | 155 |
} else { |
136 | 156 |
values.add(new java.sql.Date(((Date)value).getTime())); |
137 | 157 |
} |
158 |
if (types != null) { |
|
159 |
types.add(org.gvsig.fmap.dal.DataTypes.DATE); |
|
160 |
} |
|
161 |
|
|
138 | 162 |
break; |
139 | 163 |
case org.gvsig.fmap.dal.DataTypes.GEOMETRY: |
140 | 164 |
Geometry geom = this.forceGeometryType( |
... | ... | |
142 | 166 |
(Geometry)value |
143 | 167 |
); |
144 | 168 |
values.add(geom); |
169 |
if (types != null) { |
|
170 |
types.add(org.gvsig.fmap.dal.DataTypes.GEOMETRY); |
|
171 |
} |
|
145 | 172 |
break; |
146 | 173 |
default: |
147 | 174 |
values.add(value); |
175 |
if (types != null) { |
|
176 |
types.add(attrDesc.getDataType().getType()); |
|
177 |
} |
|
178 |
|
|
148 | 179 |
break; |
149 | 180 |
} |
150 | 181 |
} |
... | ... | |
163 | 194 |
|
164 | 195 |
public Disposable setParameters(PreparedStatement st, FeatureProvider feature) { |
165 | 196 |
try { |
166 |
List<Object> values = this.getParameters(feature); |
|
167 |
return this.setStatementParameters(st, values, this.geometry_support_type()); |
|
197 |
List<Integer> types = new ArrayList<>(); |
|
198 |
|
|
199 |
List<Object> values = this.getParameters(feature, types); |
|
200 |
return this.setStatementParameters(st, values, types, this.geometry_support_type()); |
|
168 | 201 |
} catch (Exception ex) { |
169 | 202 |
String f = "unknow"; |
170 | 203 |
try { |
... | ... | |
241 | 274 |
values.add(((FeatureReferenceProviderServices)reference).getKeyValue(name)); |
242 | 275 |
} |
243 | 276 |
} |
244 |
return this.setStatementParameters(st, values, this.geometry_support_type()); |
|
277 |
return this.setStatementParameters(st, values, null, this.geometry_support_type());
|
|
245 | 278 |
} catch (Exception ex) { |
246 | 279 |
String f = "unknow"; |
247 | 280 |
try { |
... | ... | |
258 | 291 |
List values, |
259 | 292 |
GeometrySupportType geometrySupportType) throws SQLException { |
260 | 293 |
|
294 |
return setStatementParameters(st, values, null, geometrySupportType); |
|
295 |
} |
|
296 |
|
|
297 |
public Disposable setStatementParameters( |
|
298 |
PreparedStatement st, |
|
299 |
List values, |
|
300 |
List<Integer> types, //Can be null |
|
301 |
GeometrySupportType geometrySupportType) throws SQLException { |
|
302 |
|
|
261 | 303 |
if (values == null) { |
262 | 304 |
return new Disposable() { |
263 | 305 |
@Override |
... | ... | |
343 | 385 |
break; |
344 | 386 |
} |
345 | 387 |
} else { |
388 |
if(types == null){ |
|
346 | 389 |
st.setObject(columnIndex, value); |
390 |
} else { |
|
391 |
setStatementValue(st, columnIndex, types.get(columnIndex-1), value); |
|
347 | 392 |
} |
393 |
|
|
394 |
} |
|
348 | 395 |
columnIndex++; |
349 | 396 |
} |
350 | 397 |
return new Disposable() { |
... | ... | |
356 | 403 |
throw new SQLException("Can't set values for the prepared statement.", ex); |
357 | 404 |
} |
358 | 405 |
} |
406 |
|
|
407 |
protected void setStatementValue(PreparedStatement st, int columnIndex, int type, Object value) throws SQLException { |
|
408 |
switch (type){ |
|
409 |
case DataTypes.BOOLEAN: |
|
410 |
if(value == null){ |
|
411 |
st.setNull(columnIndex, java.sql.Types.BIT); |
|
412 |
} else { |
|
413 |
st.setBoolean(columnIndex, (boolean) value); |
|
414 |
} |
|
415 |
break; |
|
416 |
case DataTypes.INTEGER: |
|
417 |
if(value == null){ |
|
418 |
st.setNull(columnIndex, java.sql.Types.INTEGER); |
|
419 |
} else { |
|
420 |
st.setInt(columnIndex, (int) value); |
|
421 |
} |
|
422 |
break; |
|
423 |
case DataTypes.BYTE: |
|
424 |
if(value == null){ |
|
425 |
st.setNull(columnIndex, java.sql.Types.TINYINT); |
|
426 |
} else { |
|
427 |
st.setByte(columnIndex, (byte) value); |
|
428 |
} |
|
429 |
break; |
|
430 |
case DataTypes.LONG: |
|
431 |
if(value == null){ |
|
432 |
st.setNull(columnIndex, java.sql.Types.BIGINT); |
|
433 |
} else { |
|
434 |
st.setLong(columnIndex, (long) value); |
|
435 |
} |
|
436 |
break; |
|
437 |
case DataTypes.FLOAT: |
|
438 |
if(value == null){ |
|
439 |
st.setNull(columnIndex, java.sql.Types.REAL); |
|
440 |
} else { |
|
441 |
st.setFloat(columnIndex, (float) value); |
|
442 |
} |
|
443 |
break; |
|
444 |
case DataTypes.DOUBLE: |
|
445 |
if(value == null){ |
|
446 |
st.setNull(columnIndex, java.sql.Types.DOUBLE); |
|
447 |
} else { |
|
448 |
st.setDouble(columnIndex, (double) value); |
|
449 |
} |
|
450 |
break; |
|
451 |
case DataTypes.DECIMAL: |
|
452 |
if(value == null){ |
|
453 |
st.setNull(columnIndex, java.sql.Types.DECIMAL); |
|
454 |
} else { |
|
455 |
st.setBigDecimal(columnIndex, (BigDecimal) value); |
|
456 |
} |
|
457 |
break; |
|
458 |
case DataTypes.STRING: |
|
459 |
if(value == null){ |
|
460 |
st.setNull(columnIndex, java.sql.Types.VARCHAR); |
|
461 |
} else { |
|
462 |
st.setString(columnIndex, (String) value); |
|
463 |
} |
|
464 |
break; |
|
465 |
case DataTypes.TIMESTAMP: |
|
466 |
if(value == null){ |
|
467 |
st.setNull(columnIndex, java.sql.Types.TIMESTAMP); |
|
468 |
} else { |
|
469 |
st.setTimestamp(columnIndex, (Timestamp) value); |
|
470 |
} |
|
471 |
break; |
|
472 |
case DataTypes.TIME: |
|
473 |
if(value == null){ |
|
474 |
st.setNull(columnIndex, java.sql.Types.TIME); |
|
475 |
} else { |
|
476 |
st.setTime(columnIndex, (Time) value); |
|
477 |
} |
|
478 |
break; |
|
479 |
case DataTypes.DATE: |
|
480 |
if(value == null){ |
|
481 |
st.setNull(columnIndex, java.sql.Types.DATE); |
|
482 |
} else { |
|
483 |
st.setDate(columnIndex, (java.sql.Date)value); |
|
484 |
} |
|
485 |
break; |
|
486 |
case DataTypes.BYTEARRAY: |
|
487 |
if(value == null){ |
|
488 |
st.setNull(columnIndex, java.sql.Types.BINARY); |
|
489 |
} else { |
|
490 |
st.setBytes(columnIndex, (byte[]) value); |
|
491 |
} |
|
492 |
break; |
|
493 |
default: |
|
494 |
st.setObject(columnIndex, value); |
|
495 |
LOGGER.debug("Attention, using a statement.setObject"); |
|
496 |
} |
|
497 |
} |
|
359 | 498 |
} |
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/FakeConnectionProvider.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.dal.store.jdbc2.spi; |
25 | 25 |
|
26 |
import java.io.IOException; |
|
26 | 27 |
import java.sql.Connection; |
27 | 28 |
import java.sql.SQLException; |
28 | 29 |
import org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters; |
... | ... | |
57 | 58 |
public void registerDriver() throws SQLException { |
58 | 59 |
|
59 | 60 |
} |
60 |
|
|
61 |
|
|
62 |
@Override |
|
63 |
public void dispose() { |
|
64 |
} |
|
65 |
|
|
61 | 66 |
} |
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/AppendOperation.java | ||
---|---|---|
60 | 60 |
protected PreparedStatement preparedStatement; |
61 | 61 |
protected String insertSQL; |
62 | 62 |
protected int batchCount; |
63 |
private final int batchSize;
|
|
63 |
private int batchSize; //No es final para facilitar la depuracion
|
|
64 | 64 |
private final Disposable[] disposableParameters; |
65 | 65 |
|
66 | 66 |
public AppendOperation( |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.mdb/src/test/java/org/gvsig/fmap/dal/store/mdb/MDBSQLBuilderTest.java | ||
---|---|---|
10 | 10 |
import org.gvsig.fmap.dal.SQLBuilder.Privilege; |
11 | 11 |
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase; |
12 | 12 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
13 |
import org.gvsig.fmap.dal.store.jdbc2.spi.FakeConnectionParameters; |
|
13 | 14 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.OperationsFactoryBase; |
14 | 15 |
import org.gvsig.fmap.geom.DataTypes; |
15 | 16 |
import org.gvsig.fmap.geom.Geometry; |
... | ... | |
36 | 37 |
} |
37 | 38 |
|
38 | 39 |
private SQLBuilder createSQLBuilder() { |
39 |
return new MDBSQLBuilder(new MDBHelper(null));
|
|
40 |
return new MDBSQLBuilder(new MDBHelper(new FakeConnectionParameters()));
|
|
40 | 41 |
} |
41 | 42 |
|
42 | 43 |
public void testCalulateEnvelopeOfColumn() throws Exception { |
... | ... | |
69 | 70 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
70 | 71 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
71 | 72 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
73 |
// "SELECT NVL2(ST_Extent(\"the_geom\"),ST_AsBinary(ST_Extent(\"the_geom\")),NULL) FROM \"dbo\".\"test1\" WHERE ( (\"the_geom\") IS NOT NULL )", |
|
72 | 74 |
assertEquals( |
73 |
"SELECT NVL2(ST_Extent(\"the_geom\"),ST_AsBinary(ST_Extent(\"the_geom\")),NULL) FROM \"dbo\".\"test1\" WHERE ( (\"the_geom\") IS NOT NULL )",
|
|
75 |
"SELECT ST_AsBinary(ST_ExtentAggregate([the_geom])) FROM [test1] WHERE ( ([the_geom]) IS NOT NULL )",
|
|
74 | 76 |
sqlbuilder.toString() |
75 | 77 |
); |
76 | 78 |
assertEquals( |
... | ... | |
121 | 123 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
122 | 124 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
123 | 125 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
126 |
// "SELECT NVL2(ST_Extent(\"the_geom\"),ST_AsBinary(ST_Extent(\"the_geom\")),NULL) AS \"envelope\" FROM \"dbo\".\"test1\" WHERE (( ((ST_Envelope(\"the_geom\")) && (ST_GeomFromWKB((x'000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'), (4326)))) AND ST_Intersects((ST_Envelope(\"the_geom\")),(ST_GeomFromWKB((x'000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'), (4326))) )) AND x = 27)", |
|
124 | 127 |
assertEquals( |
125 |
"SELECT NVL2(ST_Extent(\"the_geom\"),ST_AsBinary(ST_Extent(\"the_geom\")),NULL) AS \"envelope\" FROM \"dbo\".\"test1\" WHERE (( ((ST_Envelope(\"the_geom\")) && (ST_GeomFromWKB((x'000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'), (4326)))) AND ST_Intersects((ST_Envelope(\"the_geom\")),(ST_GeomFromWKB((x'000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'), (4326))) )) AND x = 27)",
|
|
128 |
"SELECT ST_AsBinary(ST_ExtentAggregate([the_geom])) AS [envelope] FROM [test1] WHERE (ST_Intersects((ST_Envelope([the_geom])), (x'000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000')) AND x = 27)",
|
|
126 | 129 |
sqlbuilder.toString() |
127 | 130 |
); |
128 | 131 |
assertEquals( |
... | ... | |
154 | 157 |
//# Variables:: [] |
155 | 158 |
//# Parametros:: [] |
156 | 159 |
|
160 |
// "SELECT COUNT(*) FROM \"dbo\".\"test1\" WHERE pp = 200", |
|
157 | 161 |
assertEquals( |
158 |
"SELECT COUNT(*) FROM \"dbo\".\"test1\" WHERE pp = 200",
|
|
162 |
"SELECT COUNT(*) FROM [test1] WHERE pp = 200",
|
|
159 | 163 |
sqlbuilder.toString() |
160 | 164 |
); |
161 | 165 |
assertEquals( |
... | ... | |
216 | 220 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
217 | 221 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
218 | 222 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
223 |
// "CREATE TABLE \"dbo\".\"test1\" (\"name\" VARCHAR(45) DEFAULT NULL, \"id\" INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, \"geom\" GEOMETRY(1) CHECK NVL2(\"geom\", ST_GeometryTypeCode(\"geom\") = 0 AND ST_CoordDim(\"geom\") = 2, TRUE) )", |
|
219 | 224 |
assertEquals( |
220 |
"CREATE TABLE \"dbo\".\"test1\" (\"name\" VARCHAR(45) DEFAULT NULL, \"id\" INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, \"geom\" GEOMETRY(1) CHECK NVL2(\"geom\", ST_GeometryTypeCode(\"geom\") = 0 AND ST_CoordDim(\"geom\") = 2, TRUE) )",
|
|
225 |
"CREATE TABLE [test1] ([name] VARCHAR(45) DEFAULT NULL, [id] INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, [geom] CLOB DEFAULT NULL )",
|
|
221 | 226 |
sqlbuilder.toString() |
222 | 227 |
); |
223 | 228 |
assertEquals( |
... | ... | |
242 | 247 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
243 | 248 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
244 | 249 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
250 |
// "DROP TABLE \"dbo\".\"test1\"", |
|
245 | 251 |
assertEquals( |
246 |
"DROP TABLE \"dbo\".\"test1\"",
|
|
252 |
"DROP TABLE [test1]",
|
|
247 | 253 |
sqlbuilder.toString() |
248 | 254 |
); |
249 | 255 |
assertEquals( |
... | ... | |
311 | 317 |
//# Variables:: [] |
312 | 318 |
//# Parametros:: [] |
313 | 319 |
|
320 |
// "SELECT * FROM \"dbo\".\"test1\" LIMIT 1", |
|
314 | 321 |
assertEquals( |
315 |
"SELECT * FROM \"dbo\".\"test1\" LIMIT 1",
|
|
322 |
"SELECT * FROM [test1] LIMIT 1",
|
|
316 | 323 |
sqlbuilder.toString() |
317 | 324 |
); |
318 | 325 |
assertEquals( |
... | ... | |
349 | 356 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
350 | 357 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
351 | 358 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
359 |
// "DELETE FROM \"dbo\".\"test1\" WHERE (( (\"id1\") = (?) ) AND ( (\"id2\") = (?) ))", |
|
352 | 360 |
assertEquals( |
353 |
"DELETE FROM \"dbo\".\"test1\" WHERE (( (\"id1\") = (?) ) AND ( (\"id2\") = (?) ))",
|
|
361 |
"DELETE FROM [test1] WHERE (( ([id1]) = (?) ) AND ( ([id2]) = (?) ))",
|
|
354 | 362 |
sqlbuilder.toString() |
355 | 363 |
); |
356 | 364 |
assertEquals( |
... | ... | |
378 | 386 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
379 | 387 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
380 | 388 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
389 |
// "INSERT INTO \"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )", |
|
381 | 390 |
assertEquals( |
382 |
"INSERT INTO \"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
|
|
391 |
"INSERT INTO [test1] ( [id], [name], [geom] ) VALUES ( ?, ?, ? )",
|
|
383 | 392 |
sqlbuilder.toString() |
384 | 393 |
); |
385 | 394 |
assertEquals( |
... | ... | |
407 | 416 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
408 | 417 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
409 | 418 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
419 |
// "INSERT INTO \"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )", |
|
410 | 420 |
assertEquals( |
411 |
"INSERT INTO \"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
|
|
421 |
"INSERT INTO [test1] ( [id], [name], [geom] ) VALUES ( ?, ?, ? )",
|
|
412 | 422 |
sqlbuilder.toString() |
413 | 423 |
); |
414 | 424 |
assertEquals( |
... | ... | |
443 | 453 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
444 | 454 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
445 | 455 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
456 |
// "UPDATE \"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (4326)) WHERE ( (\"id\") = (?) )", |
|
446 | 457 |
assertEquals( |
447 |
"UPDATE \"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (4326)) WHERE ( (\"id\") = (?) )",
|
|
458 |
"UPDATE [test1] SET [name] = ?, [geom] = ? WHERE ( ([id]) = (?) )",
|
|
448 | 459 |
sqlbuilder.toString() |
449 | 460 |
); |
450 | 461 |
assertEquals( |
... | ... | |
480 | 491 |
System.out.println("# SQL:: " + sqlbuilder.toString()); |
481 | 492 |
System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names())); |
482 | 493 |
System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names())); |
494 |
// "UPDATE \"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (?)) WHERE ( (\"id\") = (?) )", |
|
483 | 495 |
assertEquals( |
484 |
"UPDATE \"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (?)) WHERE ( (\"id\") = (?) )",
|
|
496 |
"UPDATE [test1] SET [name] = ?, [geom] = ? WHERE ( ([id]) = (?) )",
|
|
485 | 497 |
sqlbuilder.toString() |
486 | 498 |
); |
487 | 499 |
assertEquals( |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.mdb/src/main/java/org/gvsig/fmap/dal/store/mdb/MDBHelper.java | ||
---|---|---|
22 | 22 |
package org.gvsig.fmap.dal.store.mdb; |
23 | 23 |
|
24 | 24 |
import java.io.File; |
25 |
import java.io.IOException; |
|
25 | 26 |
import java.sql.Clob; |
26 | 27 |
import java.sql.Connection; |
27 | 28 |
import java.sql.ResultSet; |
... | ... | |
114 | 115 |
|
115 | 116 |
private BasicDataSource dataSource = null; |
116 | 117 |
|
117 |
private final MDBConnectionParameters connectionParameters;
|
|
118 |
private MDBConnectionParameters connectionParameters; |
|
118 | 119 |
|
119 | 120 |
// private static Server server = null; |
120 | 121 |
private static String server = null; |
... | ... | |
265 | 266 |
needRegisterDriver = false; |
266 | 267 |
} |
267 | 268 |
|
269 |
@Override |
|
270 |
public void dispose() { |
|
271 |
if( this.dataSource!=null ) { |
|
272 |
try { |
|
273 |
this.dataSource.close(); |
|
274 |
} catch (SQLException ex) { |
|
275 |
LOGGER.warn("Can't close BasicDataSource", ex); |
|
276 |
} |
|
277 |
this.dataSource = null; |
|
278 |
} |
|
279 |
this.connectionParameters = null; |
|
280 |
} |
|
281 |
|
|
268 | 282 |
} |
269 | 283 |
|
270 | 284 |
private ConnectionProvider connectionProvider = null; |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.provider/src/main/java/org/gvsig/fmap/dal/store/h2/H2SpatialHelper.java | ||
---|---|---|
22 | 22 |
package org.gvsig.fmap.dal.store.h2; |
23 | 23 |
|
24 | 24 |
import java.io.File; |
25 |
import java.io.IOException; |
|
25 | 26 |
import java.sql.Connection; |
26 | 27 |
import java.sql.SQLException; |
27 | 28 |
import java.text.MessageFormat; |
... | ... | |
134 | 135 |
|
135 | 136 |
private BasicDataSource dataSource = null; |
136 | 137 |
|
137 |
private final H2SpatialConnectionParameters connectionParameters;
|
|
138 |
private H2SpatialConnectionParameters connectionParameters; |
|
138 | 139 |
|
139 | 140 |
private static Server server = null; |
140 | 141 |
private static boolean startServer = true; |
... | ... | |
371 | 372 |
needRegisterDriver = false; |
372 | 373 |
} |
373 | 374 |
|
375 |
@Override |
|
376 |
public void dispose() { |
|
377 |
if( this.dataSource!=null ) { |
|
378 |
try { |
|
379 |
this.dataSource.close(); |
|
380 |
} catch (SQLException ex) { |
|
381 |
LOGGER.warn("Can't close BasicDataSource", ex); |
|
382 |
} |
|
383 |
this.dataSource = null; |
|
384 |
} |
|
385 |
this.connectionParameters = null; |
|
386 |
} |
|
387 |
|
|
374 | 388 |
} |
375 | 389 |
|
376 | 390 |
private ConnectionProvider connectionProvider = null; |
Also available in: Unified diff