This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new f402ba644 CAY-2814 Select query iterator() and batchIterator() methods 
return incorrect results  - code cleanup and refactoring
f402ba644 is described below

commit f402ba644bc6e83da9fbbc76b561685b5ce16394
Author: stariy95 <[email protected]>
AuthorDate: Wed Nov 8 17:12:55 2023 +0400

    CAY-2814 Select query iterator() and batchIterator() methods return 
incorrect results
     - code cleanup and refactoring
---
 .../cayenne/access/DataDomainQueryAction.java       | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
index f1b01a4ba..0b01cb620 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
@@ -94,7 +94,6 @@ class DataDomainQueryAction implements QueryRouter, 
OperationObserver {
     private GenericResponse fullResponse;
     private Map<String, List<?>> prefetchResultsByPath;
     private Map<QueryEngine, Collection<Query>> queriesByNode;
-    private Map<Query, Query> queriesByExecutedQueries;
     private boolean noObjectConversion;
 
     /*
@@ -210,11 +209,9 @@ class DataDomainQueryAction implements QueryRouter, 
OperationObserver {
             ObjectIdQuery oidQuery = (ObjectIdQuery) query;
             ObjectId oid = oidQuery.getObjectId();
 
-            // special handling of temp ids... Return an empty list immediately
-            // so that
-            // upstream code could throw FaultFailureException, etc. Don't
-            // attempt to
-            // translate and run the query. See for instance CAY-1651
+            // special handling of temp ids...
+            // Return an empty list immediately so that upstream code could 
throw FaultFailureException, etc.
+            // Don't attempt to translate and run the query. See for instance 
CAY-1651
             if (oid.isTemporary() && !oid.isReplacementIdAttached()) {
                 response = new ListResponse();
                 return DONE;
@@ -501,7 +498,6 @@ class DataDomainQueryAction implements QueryRouter, 
OperationObserver {
         this.fullResponse = new GenericResponse();
         this.response = this.fullResponse;
         this.queriesByNode = null;
-        this.queriesByExecutedQueries = null;
 
         // whether this is null or not will driver further decisions on how to 
process prefetched rows
         this.prefetchResultsByPath = metadata.getPrefetchTree() != null && 
!metadata.isFetchingDataRows()
@@ -586,7 +582,6 @@ class DataDomainQueryAction implements QueryRouter, 
OperationObserver {
 
     @Override
     public void route(QueryEngine engine, Query query, Query substitutedQuery) 
{
-
         Collection<Query> queries = null;
         if (queriesByNode == null) {
             queriesByNode = new HashMap<>();
@@ -600,16 +595,6 @@ class DataDomainQueryAction implements QueryRouter, 
OperationObserver {
         }
 
         queries.add(query);
-
-        // handle case when routing resulted in an "executable" query 
different from the original query.
-        if (substitutedQuery != null && substitutedQuery != query) {
-
-            if (queriesByExecutedQueries == null) {
-                queriesByExecutedQueries = new HashMap<>();
-            }
-
-            queriesByExecutedQueries.put(query, substitutedQuery);
-        }
     }
 
     @Override

Reply via email to