Revision 47474
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/H2SpatialSQLBuilder.java | ||
---|---|---|
474 | 474 |
|
475 | 475 |
@Override |
476 | 476 |
public Disposable setParameters(PreparedStatement st, FeatureProvider feature) { |
477 |
String name = null; |
|
477 | 478 |
try { |
478 | 479 |
FeatureType featureType = feature.getType(); |
479 | 480 |
List<Object> values = new ArrayList<>(); |
... | ... | |
481 | 482 |
if (parameter.is_constant()) { |
482 | 483 |
values.add(parameter.value()); |
483 | 484 |
} else { |
484 |
String name = parameter.name();
|
|
485 |
name = parameter.name(); |
|
485 | 486 |
FeatureAttributeDescriptor descriptor = featureType.getAttributeDescriptor(name); |
486 | 487 |
switch( descriptor.getType() ) { |
487 | 488 |
case DataTypes.DATE: |
... | ... | |
506 | 507 |
} |
507 | 508 |
} |
508 | 509 |
return this.setStatementParameters(st, values, this.geometry_support_type()); |
509 |
} catch (SQLException | CreateGeometryException ex) {
|
|
510 |
} catch (Exception ex) { |
|
510 | 511 |
String f = "unknow"; |
511 | 512 |
try { |
512 | 513 |
f = feature.toString(); |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.provider/src/test/java/org/gvsig/fmap/dal/store/h2/operations/sql/TestCreateTable.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.util.List; |
4 | 4 |
import junit.framework.TestCase; |
5 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
|
6 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
7 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
5 | 8 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
6 | 9 |
import org.gvsig.fmap.dal.feature.FeatureType; |
7 | 10 |
import org.gvsig.fmap.dal.store.h2.TestUtils; |
... | ... | |
70 | 73 |
} |
71 | 74 |
} |
72 | 75 |
|
76 |
public void testCreateTableWithDefaultDynamicText() throws Exception { |
|
77 |
try { |
|
78 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
|
79 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
|
80 |
OperationsFactory operations = helper.getOperations(); |
|
81 |
|
|
82 |
List<String> expectedSQLs = TestUtils.getSQLs("createTable.sql"); |
|
83 |
|
|
84 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
|
85 |
|
|
86 |
TableReference table = operations.createTableReference( |
|
87 |
"dbtest", |
|
88 |
sqlbuilder.default_schema(), |
|
89 |
"test", |
|
90 |
null |
|
91 |
); |
|
92 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
|
93 |
EditableFeatureType eft = featureType.getEditable(); |
|
94 |
EditableFeatureAttributeDescriptor date_attr = (EditableFeatureAttributeDescriptor) eft.getAttributeDescriptor("Date"); |
|
95 |
date_attr.setDefaultValue("'<%=CURRENT_TIMESTAMP()%>'"); |
|
96 |
CreateTableOperation createTable = operations.createTable( |
|
97 |
table, |
|
98 |
eft, |
|
99 |
null, |
|
100 |
null |
|
101 |
); |
|
102 |
List<String> SQLs = createTable.getSQLs(); |
|
103 |
assertEquals("CreateTable num. SQLs", expectedSQLs.size(), SQLs.size()); |
|
104 |
for (int i = 0; i < expectedSQLs.size(); i++) { |
|
105 |
assertEquals("CreateTable SQL "+i, expectedSQLs.get(i), SQLs.get(i)); |
|
106 |
} |
|
107 |
} catch(Exception ex) { |
|
108 |
LOGGER.warn("Error",ex); |
|
109 |
throw ex; |
|
110 |
} |
|
111 |
} |
|
112 |
|
|
73 | 113 |
} |
Also available in: Unified diff