Distinguish between exists and in subquery

This commit is contained in:
Roland Praml
2021-08-11 08:54:40 +02:00
parent 12b8b4b955
commit 1a2aba3f56
11 changed files with 37 additions and 18 deletions
@@ -45,6 +45,7 @@ import io.ebean.plugin.Property;
import io.ebean.plugin.SpiServer;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.json.JsonContext;
import io.ebeaninternal.api.SpiQuery.Type;
import io.ebeaninternal.server.core.SpiResultSet;
import io.ebeaninternal.server.core.timezone.DataTimeZone;
import io.ebeaninternal.server.deploy.BeanDescriptor;
@@ -54,7 +55,6 @@ import io.ebeaninternal.server.transaction.RemoteTransactionEvent;
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
import javax.sql.DataSource;
import java.lang.reflect.Type;
import java.time.Clock;
import java.util.Collection;
import java.util.Collections;
@@ -256,7 +256,7 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
}
@Override
public <T> CQuery<T> compileQuery(Query<T> query, Transaction t) {
public <T> CQuery<T> compileQuery(Type type, Query<T> query, Transaction t) {
return null;
}
@@ -316,7 +316,7 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
}
@Override
public boolean isSupportedType(Type genericType) {
public boolean isSupportedType(java.lang.reflect.Type genericType) {
return false;
}
@@ -113,8 +113,8 @@ public class SqlQueryCancelTest extends BaseTestCase {
doCancelOrmAtBegin(Query::findOne);
doCancelOrmAtBegin(q -> q.setMaxRows(1000).findPagedList().getList()); // untested
doCancelOrmAtBegin(Query::findSet);
doCancelOrmAtBegin(Query::findSingleAttribute);
doCancelOrmAtBegin(Query::findSingleAttributeList);
doCancelOrmAtBegin(q -> q.select("name").findSingleAttribute());
doCancelOrmAtBegin(q -> q.select("name").findSingleAttributeList());
doCancelOrmAtBegin(Query::findStream);
// testDuringRun(Query::findVersions);
// EBasic has no history support, but it should work if @History is added
@@ -138,8 +138,8 @@ public class SqlQueryCancelTest extends BaseTestCase {
// findOne cannot be tested, as H2 does the cancel check every 128 rows only
doCancelOrmDuringRun(q -> q.setMaxRows(1000).findPagedList().getList()); // untested
doCancelOrmDuringRun(Query::findSet);
doCancelOrmDuringRun(Query::findSingleAttribute);
doCancelOrmDuringRun(Query::findSingleAttributeList);
doCancelOrmDuringRun(q -> q.select("name").findSingleAttribute());
doCancelOrmDuringRun(q -> q.select("name").findSingleAttributeList());
doCancelOrmDuringRun(Query::findStream);
// testDuringRun(Query::findVersions);
// EBasic has no history support, but it should work if @History is added