From ae7827c48339e4f70dda2ee250d56dbed7502f1d Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 16 Feb 2016 09:21:10 +1300 Subject: [PATCH] #566 - Refactor internals - SpiExpression, add prepareExpression() to merge queryAutoTuneHash() and queryPlanHash() - tidy up createQueryRequest - part 2 --- src/main/java/com/avaje/ebeaninternal/api/SpiEbeanServer.java | 3 --- src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java | 2 +- .../com/avaje/ebeaninternal/server/core/DefaultServer.java | 3 +-- .../com/avaje/ebeaninternal/server/core/OrmQueryRequest.java | 3 ++- .../avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java | 3 ++- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/avaje/ebeaninternal/api/SpiEbeanServer.java b/src/main/java/com/avaje/ebeaninternal/api/SpiEbeanServer.java index 69b0a4742..24830422f 100644 --- a/src/main/java/com/avaje/ebeaninternal/api/SpiEbeanServer.java +++ b/src/main/java/com/avaje/ebeaninternal/api/SpiEbeanServer.java @@ -13,11 +13,8 @@ import com.avaje.ebean.config.ServerConfig; import com.avaje.ebean.config.dbplatform.DatabasePlatform; import com.avaje.ebean.event.readaudit.ReadAuditLogger; import com.avaje.ebean.event.readaudit.ReadAuditPrepare; -import com.avaje.ebeaninternal.server.core.SpiOrmQueryRequest; -import com.avaje.ebean.dbmigration.DdlGenerator; import com.avaje.ebeaninternal.server.deploy.BeanDescriptor; import com.avaje.ebeaninternal.server.query.CQuery; -import com.avaje.ebeaninternal.server.query.CQueryEngine; import com.avaje.ebeaninternal.server.transaction.RemoteTransactionEvent; import java.util.List; diff --git a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java index 02f48ae67..5b137ae40 100644 --- a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java @@ -348,7 +348,7 @@ public interface SpiQuery extends Query { /** * Convert any many joins fetch joins to query joins. */ - void convertManyFetchJoinsToQueryJoins(boolean allowOne, int queryBatch); + void convertManyFetchJoinsToQueryJoins(int queryBatch); /** * Return the TransactionContext. diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java index 5667dd5fe..7119dc9be 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java @@ -1080,10 +1080,9 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { query.setSqlDistinct(true); } - query.convertManyFetchJoinsToQueryJoins(query.isAllowOneManyFetch(), queryBatchSize); + query.convertManyFetchJoinsToQueryJoins(queryBatchSize); OrmQueryRequest request = new OrmQueryRequest(this, queryEngine, query, desc, (SpiTransaction) t); - request.adapterPreQuery(); request.prepareQuery(); return request; diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java index 9cf5e7886..f67908495 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java @@ -133,7 +133,7 @@ public final class OrmQueryRequest extends BeanRequest implements BeanQueryRe /** * Run BeanQueryAdapter preQuery() if needed. */ - public void adapterPreQuery() { + private void adapterPreQuery() { BeanQueryAdapter queryAdapter = beanDescriptor.getQueryAdapter(); if (queryAdapter != null) { queryAdapter.preQuery(this); @@ -144,6 +144,7 @@ public final class OrmQueryRequest extends BeanRequest implements BeanQueryRe * Prepare the query and calculate the query plan key. */ public void prepareQuery() { + adapterPreQuery(); this.queryPlanKey = query.prepare(this); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java index a288d9a80..d6608f104 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java @@ -456,7 +456,8 @@ public class DefaultOrmQuery implements SpiQuery { /** * Convert any many joins fetch joins to query joins. */ - public void convertManyFetchJoinsToQueryJoins(boolean allowOne, int queryBatch) { + public void convertManyFetchJoinsToQueryJoins(int queryBatch) { + boolean allowOne = isAllowOneManyFetch(); detail.convertManyFetchJoinsToQueryJoins(beanDescriptor, lazyLoadManyPath, allowOne, queryBatch); }