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