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

View differences:

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