svn-gvsig-desktop / 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 / TestResultSetForSetProvider.java @ 46104
History | View | Annotate | Download (18.1 KB)
1 |
package org.gvsig.fmap.dal.store.h2.operations.sql; |
---|---|
2 |
|
3 |
import java.util.List; |
4 |
import junit.framework.TestCase; |
5 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
6 |
import org.gvsig.fmap.dal.DataTypes; |
7 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
8 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
9 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
10 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
11 |
import org.gvsig.fmap.dal.feature.FeatureType; |
12 |
import org.gvsig.fmap.dal.impl.expressionevaluator.DefaultFeatureAttributeEmulatorExpression; |
13 |
import org.gvsig.fmap.dal.store.h2.TestUtils; |
14 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
15 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory; |
16 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
17 |
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase; |
18 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.ResultSetForSetProviderOperation; |
19 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
20 |
import org.slf4j.Logger; |
21 |
import org.slf4j.LoggerFactory; |
22 |
|
23 |
@SuppressWarnings("UseSpecificCatch") |
24 |
public class TestResultSetForSetProvider extends TestCase { |
25 |
|
26 |
private static final Logger LOGGER = LoggerFactory.getLogger(TestResultSetForSetProvider.class); |
27 |
|
28 |
public TestResultSetForSetProvider(String testName) { |
29 |
super(testName);
|
30 |
} |
31 |
|
32 |
@Override
|
33 |
protected void setUp() throws Exception { |
34 |
super.setUp();
|
35 |
new DefaultLibrariesInitializer().fullInitialize();
|
36 |
} |
37 |
|
38 |
@Override
|
39 |
protected void tearDown() throws Exception { |
40 |
super.tearDown();
|
41 |
} |
42 |
|
43 |
public void testSimple() throws Exception { |
44 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
45 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
46 |
OperationsFactory operations = helper.getOperations(); |
47 |
|
48 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
49 |
|
50 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
51 |
|
52 |
TableReference table = operations.createTableReference( |
53 |
"dbtest",
|
54 |
sqlbuilder.default_schema(), |
55 |
"test",
|
56 |
null
|
57 |
); |
58 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
59 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
60 |
table, |
61 |
null,
|
62 |
null,
|
63 |
null,
|
64 |
featureType, |
65 |
featureType, |
66 |
0,
|
67 |
0,
|
68 |
0
|
69 |
); |
70 |
String sql = resultSetForSetProvider.getSQL();
|
71 |
System.out.println("###### SQL:" + sql); |
72 |
System.out.println("###### EXP:" + expectedSQLs.get(0)); |
73 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(0), sql); |
74 |
} |
75 |
|
76 |
public void testComputedAttribute() 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("resultSetForSetProvider.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 eFeatureType = featureType.getEditable(); |
94 |
eFeatureType.add("Compu1", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
95 |
|
96 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
97 |
table, |
98 |
null,
|
99 |
null,
|
100 |
null,
|
101 |
eFeatureType, |
102 |
eFeatureType, |
103 |
0,
|
104 |
0,
|
105 |
0
|
106 |
); |
107 |
String sql = resultSetForSetProvider.getSQL();
|
108 |
System.out.println("###### SQL:" + sql); |
109 |
System.out.println("###### EXP:" + expectedSQLs.get(5)); |
110 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(5), sql); |
111 |
} catch (Exception ex) { |
112 |
ex.printStackTrace(); |
113 |
throw ex;
|
114 |
} |
115 |
} |
116 |
|
117 |
public void testComputedAttribute2() throws Exception { |
118 |
try {
|
119 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
120 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
121 |
OperationsFactory operations = helper.getOperations(); |
122 |
|
123 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
124 |
|
125 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
126 |
|
127 |
TableReference table = operations.createTableReference( |
128 |
"dbtest",
|
129 |
sqlbuilder.default_schema(), |
130 |
"test",
|
131 |
null
|
132 |
); |
133 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
134 |
EditableFeatureType eFeatureType = featureType.getEditable(); |
135 |
eFeatureType.add("Compu1", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
136 |
eFeatureType.add("Compu2", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+10+Compu1"))); |
137 |
|
138 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
139 |
table, |
140 |
null,
|
141 |
null,
|
142 |
null,
|
143 |
eFeatureType, |
144 |
eFeatureType, |
145 |
0,
|
146 |
0,
|
147 |
0
|
148 |
); |
149 |
String sql = resultSetForSetProvider.getSQL();
|
150 |
System.out.println("###### SQL:" + sql); |
151 |
System.out.println("###### EXP:" + expectedSQLs.get(6)); |
152 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(6), sql); |
153 |
} catch (Exception ex) { |
154 |
ex.printStackTrace(); |
155 |
throw ex;
|
156 |
} |
157 |
} |
158 |
|
159 |
public void testComputedExtraColumn() throws Exception { |
160 |
try {
|
161 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
162 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
163 |
OperationsFactory operations = helper.getOperations(); |
164 |
|
165 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
166 |
|
167 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
168 |
|
169 |
TableReference table = operations.createTableReference( |
170 |
"dbtest",
|
171 |
sqlbuilder.default_schema(), |
172 |
"test",
|
173 |
null
|
174 |
); |
175 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
176 |
EditableFeatureType eFeatureType = featureType.getEditable(); |
177 |
eFeatureType.add("Compu1", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
178 |
|
179 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
180 |
EditableFeatureAttributeDescriptor extraColumn1 = query.getExtraColumn().add("Extra1", DataTypes.INTEGER);
|
181 |
extraColumn1.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+10+Compu1"))); |
182 |
|
183 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
184 |
table, |
185 |
null,
|
186 |
null,
|
187 |
query, |
188 |
eFeatureType, |
189 |
eFeatureType, |
190 |
0,
|
191 |
0,
|
192 |
0
|
193 |
); |
194 |
String sql = resultSetForSetProvider.getSQL();
|
195 |
System.out.println("###### SQL:" + sql); |
196 |
System.out.println("###### EXP:" + expectedSQLs.get(7)); |
197 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(7), sql); |
198 |
} catch (Exception ex) { |
199 |
ex.printStackTrace(); |
200 |
throw ex;
|
201 |
} |
202 |
} |
203 |
|
204 |
public void testComputedExtraColumn2() throws Exception { |
205 |
try {
|
206 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
207 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
208 |
OperationsFactory operations = helper.getOperations(); |
209 |
|
210 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
211 |
|
212 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
213 |
|
214 |
TableReference table = operations.createTableReference( |
215 |
"dbtest",
|
216 |
sqlbuilder.default_schema(), |
217 |
"test",
|
218 |
null
|
219 |
); |
220 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
221 |
EditableFeatureType eFeatureType = featureType.getEditable(); |
222 |
|
223 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
224 |
EditableFeatureAttributeDescriptor extraColumn1 = query.getExtraColumn().add("Extra1", DataTypes.INTEGER);
|
225 |
extraColumn1.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
226 |
EditableFeatureAttributeDescriptor extraColumn2 = query.getExtraColumn().add("Extra2", DataTypes.INTEGER);
|
227 |
extraColumn2.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+10+Extra1"))); |
228 |
|
229 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
230 |
table, |
231 |
null,
|
232 |
null,
|
233 |
query, |
234 |
eFeatureType, |
235 |
eFeatureType, |
236 |
0,
|
237 |
0,
|
238 |
0
|
239 |
); |
240 |
String sql = resultSetForSetProvider.getSQL();
|
241 |
System.out.println("###### SQL:" + sql); |
242 |
System.out.println("###### EXP:" + expectedSQLs.get(8)); |
243 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(8), sql); |
244 |
} catch (Exception ex) { |
245 |
ex.printStackTrace(); |
246 |
throw ex;
|
247 |
} |
248 |
} |
249 |
|
250 |
public void testComputedExtraColumnWithWhere() throws Exception { |
251 |
try {
|
252 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
253 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
254 |
OperationsFactory operations = helper.getOperations(); |
255 |
|
256 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
257 |
|
258 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
259 |
|
260 |
TableReference table = operations.createTableReference( |
261 |
"dbtest",
|
262 |
sqlbuilder.default_schema(), |
263 |
"test",
|
264 |
null
|
265 |
); |
266 |
|
267 |
StringBuilder filter = new StringBuilder(); |
268 |
filter.append("Extra1 > 10");
|
269 |
|
270 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
271 |
|
272 |
EditableFeatureType eFeatureType = featureType.getEditable(); |
273 |
eFeatureType.add("Compu1", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
274 |
|
275 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
276 |
EditableFeatureAttributeDescriptor extraColumn1 = query.getExtraColumn().add("Extra1", DataTypes.INTEGER);
|
277 |
extraColumn1.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+10+Compu1"))); |
278 |
query.addFilter(filter.toString()); |
279 |
query.getOrder().add("Extra1");
|
280 |
|
281 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
282 |
table, |
283 |
null,
|
284 |
null,
|
285 |
query, |
286 |
eFeatureType, |
287 |
eFeatureType, |
288 |
0,
|
289 |
0,
|
290 |
0
|
291 |
); |
292 |
String sql = resultSetForSetProvider.getSQL();
|
293 |
System.out.println("###### SQL:" + sql); |
294 |
System.out.println("###### EXP:" + expectedSQLs.get(9)); |
295 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(9), sql); |
296 |
} catch (Exception ex) { |
297 |
ex.printStackTrace(); |
298 |
throw ex;
|
299 |
} |
300 |
} |
301 |
|
302 |
public void testSimpleGroup() throws Exception { |
303 |
try {
|
304 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
305 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
306 |
OperationsFactory operations = helper.getOperations(); |
307 |
|
308 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
309 |
|
310 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
311 |
|
312 |
TableReference table = operations.createTableReference( |
313 |
"dbtest",
|
314 |
sqlbuilder.default_schema(), |
315 |
"test",
|
316 |
null
|
317 |
); |
318 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
319 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
320 |
query.getGroupByColumns().add("Long");
|
321 |
query.getAggregateFunctions().put("ID", "MIN"); |
322 |
query.getAggregateFunctions().put("Byte", "MAX"); |
323 |
query.getAggregateFunctions().put("Double", "SUM"); |
324 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
325 |
table, |
326 |
null,
|
327 |
null,
|
328 |
query, |
329 |
featureType, |
330 |
featureType, |
331 |
0,
|
332 |
0,
|
333 |
0
|
334 |
); |
335 |
String sql = resultSetForSetProvider.getSQL();
|
336 |
System.out.println("###### SQL:" + sql); |
337 |
System.out.println("###### EXP:" + expectedSQLs.get(1)); |
338 |
|
339 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(1), sql); |
340 |
} catch (Throwable th) { |
341 |
throw th;
|
342 |
} |
343 |
} |
344 |
|
345 |
public void testGroupByComputed() throws Exception { |
346 |
try {
|
347 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
348 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
349 |
OperationsFactory operations = helper.getOperations(); |
350 |
|
351 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
352 |
|
353 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
354 |
|
355 |
TableReference table = operations.createTableReference( |
356 |
"dbtest",
|
357 |
sqlbuilder.default_schema(), |
358 |
"test",
|
359 |
null
|
360 |
); |
361 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
362 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
363 |
EditableFeatureType eFeatureType = featureType.getEditable(); |
364 |
eFeatureType.add("Compu1", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("ID*2"))); |
365 |
eFeatureType.add("Compu2", DataTypes.INTEGER, new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+300"))); |
366 |
EditableFeatureAttributeDescriptor extraColumn1 = query.getExtraColumn().add("Extra1", DataTypes.INTEGER);
|
367 |
EditableFeatureAttributeDescriptor extraColumn2 = query.getExtraColumn().add("Extra2", DataTypes.INTEGER);
|
368 |
extraColumn1.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("Long+10+Compu1"))); |
369 |
extraColumn2.setFeatureAttributeEmulator(new DefaultFeatureAttributeEmulatorExpression(eFeatureType, ExpressionUtils.createExpression("20+Byte+Compu1"))); |
370 |
query.getGroupByColumns().add("Long");
|
371 |
query.getGroupByColumns().add("Extra1");
|
372 |
query.getGroupByColumns().add("Compu1");
|
373 |
query.getAggregateFunctions().put("ID", "MIN"); |
374 |
query.getAggregateFunctions().put("Byte", "MAX"); |
375 |
query.getAggregateFunctions().put("Double", "SUM"); |
376 |
query.getAggregateFunctions().put("Extra2", "SUM"); |
377 |
query.getAggregateFunctions().put("Compu2", "SUM"); |
378 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
379 |
table, |
380 |
null,
|
381 |
null,
|
382 |
query, |
383 |
eFeatureType, |
384 |
eFeatureType, |
385 |
0,
|
386 |
0,
|
387 |
0
|
388 |
); |
389 |
String sql = resultSetForSetProvider.getSQL();
|
390 |
System.out.println("###### SQL:" + sql); |
391 |
System.out.println("###### EXP:" + expectedSQLs.get(10)); |
392 |
|
393 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(10), sql); |
394 |
} catch (Throwable th) { |
395 |
throw th;
|
396 |
} |
397 |
} |
398 |
|
399 |
public void testSubselect() throws Exception { |
400 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
401 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
402 |
OperationsFactory operations = helper.getOperations(); |
403 |
|
404 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
405 |
|
406 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
407 |
|
408 |
TableReference table = operations.createTableReference( |
409 |
"dbtest",
|
410 |
sqlbuilder.default_schema(), |
411 |
"test",
|
412 |
null
|
413 |
); |
414 |
StringBuilder filter = new StringBuilder(); |
415 |
filter.append("EXISTS(");
|
416 |
filter.append(" SELECT \"ISO_A2\" FROM countries");
|
417 |
filter.append(" WHERE ");
|
418 |
filter.append(" TEST.STRING = countries.CONTINENT AND ");
|
419 |
filter.append(" countries.LASTCENSUS < 0 ");
|
420 |
filter.append(" LIMIT 1;, ");
|
421 |
filter.append(" 'EXISTS62a964cd7bc24f409b97c03b9170408d' ");
|
422 |
filter.append(")");
|
423 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
424 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
425 |
query.addFilter(filter.toString()); |
426 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
427 |
table, |
428 |
null,
|
429 |
null,
|
430 |
query, |
431 |
featureType, |
432 |
featureType, |
433 |
0,
|
434 |
0,
|
435 |
0
|
436 |
); |
437 |
String sql = resultSetForSetProvider.getSQL();
|
438 |
System.out.println("###### SQL:" + sql); |
439 |
System.out.println("###### EXP:" + expectedSQLs.get(2)); |
440 |
|
441 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(2), sql); |
442 |
} |
443 |
|
444 |
public void testGroupAndSubselect() throws Exception { |
445 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
446 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
447 |
OperationsFactory operations = helper.getOperations(); |
448 |
|
449 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
450 |
|
451 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
452 |
|
453 |
TableReference table = operations.createTableReference( |
454 |
"dbtest",
|
455 |
sqlbuilder.default_schema(), |
456 |
"test",
|
457 |
null
|
458 |
); |
459 |
StringBuilder filter = new StringBuilder(); |
460 |
filter.append("EXISTS(");
|
461 |
filter.append(" SELECT \"ISO_A2\" FROM countries");
|
462 |
filter.append(" WHERE ");
|
463 |
filter.append(" TEST.STRING = countries.CONTINENT AND ");
|
464 |
filter.append(" countries.LASTCENSUS < 0 ");
|
465 |
filter.append(" LIMIT 1;, ");
|
466 |
filter.append(" 'EXISTS62a964cd7bc24f409b97c03b9170408d' ");
|
467 |
filter.append(")");
|
468 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
469 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
470 |
query.getGroupByColumns().add("Long");
|
471 |
query.getAggregateFunctions().put("ID", "MIN"); |
472 |
query.getAggregateFunctions().put("Byte", "MAX"); |
473 |
query.getAggregateFunctions().put("Double", "SUM"); |
474 |
query.addFilter(filter.toString()); |
475 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
476 |
table, |
477 |
null,
|
478 |
null,
|
479 |
query, |
480 |
featureType, |
481 |
featureType, |
482 |
0,
|
483 |
0,
|
484 |
0
|
485 |
); |
486 |
String sql = resultSetForSetProvider.getSQL();
|
487 |
System.out.println("###### SQL:" + sql); |
488 |
System.out.println("###### EXP:" + expectedSQLs.get(3)); |
489 |
|
490 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(3), sql); |
491 |
} |
492 |
|
493 |
public void testConstantColumnPrimaryKey() throws Exception { |
494 |
JDBCHelper helper = TestUtils.createJDBCHelper(); |
495 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
496 |
OperationsFactory operations = helper.getOperations(); |
497 |
|
498 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
499 |
|
500 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
501 |
|
502 |
TableReference table = operations.createTableReference( |
503 |
"dbtest",
|
504 |
sqlbuilder.default_schema(), |
505 |
"test",
|
506 |
null
|
507 |
); |
508 |
// meterle como constantCOlumn ID
|
509 |
|
510 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
511 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
512 |
|
513 |
query.setConstantsAttributeNames(new String[]{"ID"}); |
514 |
|
515 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
516 |
table, |
517 |
null,
|
518 |
null,
|
519 |
query, |
520 |
featureType, |
521 |
featureType, |
522 |
0,
|
523 |
0,
|
524 |
0
|
525 |
); |
526 |
String sql = resultSetForSetProvider.getSQL();
|
527 |
System.out.println("###### SQL:" + sql); |
528 |
System.out.println("###### EXP:" + expectedSQLs.get(4)); |
529 |
|
530 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(4), sql); |
531 |
} |
532 |
|
533 |
// TODO: a?adir un test con where, group y order.
|
534 |
} |