Revision 44785 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/test/java/org/gvsig/fmap/dal/store/h2/operations/sql/TestResultSetForSetProvider.java
TestResultSetForSetProvider.java | ||
---|---|---|
150 | 150 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(2), sql); |
151 | 151 |
} |
152 | 152 |
|
153 |
public void testGroupAndSubselect() throws Exception { |
|
154 |
JDBCHelper helper = TestUtils.getJDBCHelper(); |
|
155 |
JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder(); |
|
156 |
OperationsFactory operations = helper.getOperations(); |
|
157 |
|
|
158 |
List<String> expectedSQLs = TestUtils.getSQLs("resultSetForSetProvider.sql"); |
|
159 |
|
|
160 |
FeatureStore sourceStore = TestUtils.openSourceStore1(); |
|
161 |
|
|
162 |
TableReference table = operations.createTableReference( |
|
163 |
"dbtest", |
|
164 |
sqlbuilder.default_schema(), |
|
165 |
"test", |
|
166 |
null |
|
167 |
); |
|
168 |
StringBuilder filter = new StringBuilder(); |
|
169 |
filter.append("EXISTS("); |
|
170 |
filter.append(" SELECT \"ISO_A2\" FROM countries"); |
|
171 |
filter.append(" WHERE "); |
|
172 |
filter.append(" TEST.STRING = countries.CONTINENT AND "); |
|
173 |
filter.append(" countries.LASTCENSUS < 0 "); |
|
174 |
filter.append(" LIMIT 1;, "); |
|
175 |
filter.append(" 'EXISTS62a964cd7bc24f409b97c03b9170408d' "); |
|
176 |
filter.append(")"); |
|
177 |
FeatureType featureType = sourceStore.getDefaultFeatureType(); |
|
178 |
FeatureQuery query = sourceStore.createFeatureQuery(); |
|
179 |
query.getGroupByColumns().add("Long"); |
|
180 |
query.getAggregateFunctions().put("ID", "MIN"); |
|
181 |
query.getAggregateFunctions().put("Byte", "MAX"); |
|
182 |
query.getAggregateFunctions().put("Double", "SUM"); |
|
183 |
query.addFilter(filter.toString()); |
|
184 |
ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider( |
|
185 |
table, |
|
186 |
null, |
|
187 |
null, |
|
188 |
query, |
|
189 |
featureType, |
|
190 |
featureType, |
|
191 |
0, |
|
192 |
0, |
|
193 |
0 |
|
194 |
); |
|
195 |
String sql = resultSetForSetProvider.getSQL(); |
|
196 |
System.out.println("###### SQL:"+sql); |
|
197 |
System.out.println("###### EXP:"+expectedSQLs.get(3)); |
|
198 |
|
|
199 |
assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get(3), sql); |
|
200 |
} |
|
201 |
|
|
202 |
|
|
203 |
|
|
153 | 204 |
// TODO: a?adir un test con where, group y order. |
154 | 205 |
} |
Also available in: Unified diff