svn commit: r1849693 - /ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1849693 - /ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java

jleroux@apache.org
Author: jleroux
Date: Mon Dec 24 14:57:08 2018
New Revision: 1849693

URL: http://svn.apache.org/viewvc?rev=1849693&view=rev
Log:
Fixed: Having condition is ignored on queryList() and queryFirst() calls in
EntityQuery
(OFBIZ-9890)

queryList() and queryFirst() both call internal private query() method.
This method calls delegator.findList if a normal Entity/ViewEntity is used
(not a DVE).

DVE has no option to include a having condition and so must opt to use
queryIterator(). Even queryCount() can use a having condition.

Thanks: Rupert Howell and Gareth Carter for report,  Prakhar Kumar for discussion
 and Gareth Carter for the fix

Modified:
    ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java

Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java?rev=1849693&r1=1849692&r2=1849693&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java Mon Dec 24 14:57:08 2018
@@ -447,7 +447,7 @@ public class EntityQuery {
             findOptions = efo;
         }
         List<GenericValue> result = null;
-        if (dynamicViewEntity == null) {
+        if (dynamicViewEntity == null && this.havingEntityCondition == null) {
             result = delegator.findList(entityName, makeWhereCondition(useCache), fieldsToSelect, orderBy, findOptions, useCache);
         } else {
             try (EntityListIterator it = queryIterator()) {