Revision 46517 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

View differences:

TestResultSetForSetProvider.java
3 3
import java.util.List;
4 4
import junit.framework.TestCase;
5 5
import org.gvsig.expressionevaluator.ExpressionUtils;
6
import org.gvsig.fmap.dal.DALLocator;
7
import org.gvsig.fmap.dal.DataManager;
6 8
import org.gvsig.fmap.dal.DataTypes;
7 9
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
8 10
import org.gvsig.fmap.dal.feature.EditableFeatureType;
......
579 581
		assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get("testSubselect"), sql);
580 582
	}
581 583

  
584
    public void testSubselect2() throws Exception {
585
        JDBCHelper helper = TestUtils.createJDBCHelper();
586
        JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
587
        OperationsFactory operations = helper.getOperations();
588
        DataManager dataManager = DALLocator.getDataManager();
589

  
590
        Expecteds expectedSQLs = utils().getExpecteds("resultSetForSetProvider.sql");
591

  
592
        FeatureStore sourceStore = TestUtils.openSourceStore1();
593
        dataManager.getStoresRepository().add(sourceStore.getName(), sourceStore);
594

  
595
        FeatureStore countriesStore = TestUtils.openCountriesStore();
596
        dataManager.getStoresRepository().add(countriesStore.getName(), countriesStore);
597

  
598
        TableReference table = operations.createTableReference(
599
                "dbtest",
600
                sqlbuilder.default_schema(),
601
                "test",
602
                null
603
        );
604
        StringBuilder filter = new StringBuilder();
605
        filter.append("EXISTS(");
606
        filter.append(" SELECT \"Long\" FROM countries");
607
        filter.append("   WHERE ");
608
        filter.append("     TEST.STRING = countries.CONTINENT AND ");
609
        filter.append("     countries.LASTCENSUS < 0 ");
610
        filter.append("   LIMIT 1;, ");
611
        filter.append(" 'EXISTS62a964cd7bc24f409b97c03b9170408d' ");
612
        filter.append(")");
613
        FeatureType featureType = sourceStore.getDefaultFeatureType();
614
        FeatureQuery query = sourceStore.createFeatureQuery();
615
        query.addFilter(filter.toString());
616
        ResultSetForSetProviderOperation resultSetForSetProvider = operations.createResultSetForSetProvider(
617
                table,
618
                null,
619
                null,
620
                query,
621
                featureType,
622
                featureType,
623
                0,
624
                0,
625
                0
626
        );
627
        String sql = resultSetForSetProvider.getSQL();
628
        utils().output_results("testSubselect2", sql, expectedSQLs.get("testSubselect2"));
629

  
630
        assertEquals("ResultSetForSetProvider SQL", expectedSQLs.get("testSubselect2"), sql);
631
    }
632

  
582 633
	public void testGroupAndSubselect() throws Exception {
583 634
		JDBCHelper helper = TestUtils.createJDBCHelper();
584 635
		JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();

Also available in: Unified diff