Repository: lens
Updated Branches:
  refs/heads/master a899577ec -> 2448336da


LENS-1419: UnionCandidates getting pruned when only dim attributes projected


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/2448336d
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/2448336d
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/2448336d

Branch: refs/heads/master
Commit: 2448336da1033d0d037fcaa875650528612df161
Parents: a899577
Author: Sushil Mohanty <[email protected]>
Authored: Thu May 4 16:58:00 2017 +0530
Committer: Rajat Khandelwal <[email protected]>
Committed: Thu May 4 16:58:00 2017 +0530

----------------------------------------------------------------------
 .../apache/lens/cube/parse/CandidateCoveringSetsResolver.java   | 4 +++-
 .../main/java/org/apache/lens/cube/parse/UnionQueryWriter.java  | 5 ++---
 2 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/2448336d/lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateCoveringSetsResolver.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateCoveringSetsResolver.java
 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateCoveringSetsResolver.java
index d6f8ad1..1e9873f 100644
--- 
a/lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateCoveringSetsResolver.java
+++ 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateCoveringSetsResolver.java
@@ -141,7 +141,9 @@ public class CandidateCoveringSetsResolver implements 
ContextRewriter {
     // prune non covering sets
     pruneUnionCandidatesNotCoveringAllRanges(unionCoveringSet, cubeql);
     // prune candidate set which doesn't contain any common measure i
-    pruneUnionCoveringSetWithoutAnyCommonMeasure(unionCoveringSet, 
queriedMsrs);
+    if (!queriedMsrs.isEmpty()) {
+      pruneUnionCoveringSetWithoutAnyCommonMeasure(unionCoveringSet, 
queriedMsrs);
+    }
     // prune redundant covering sets
     pruneRedundantUnionCoveringSets(unionCoveringSet);
     // pruing done in the previous steps, now create union candidates

http://git-wip-us.apache.org/repos/asf/lens/blob/2448336d/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java
index 01b39e9..bd7134b 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java
@@ -336,12 +336,11 @@ public class UnionQueryWriter extends SimpleHQLContext {
       if (phraseCountMap.get(col).size() > 1) {
         List<Integer> childenToDelete = phraseCountMap.get(col).
             subList(1, phraseCountMap.get(col).size());
-        int counter = 0;
         for (int i : childenToDelete) {
           for (StorageCandidateHQLContext sc : storageCandidates) {
-            sc.getQueryAst().getSelectAST().deleteChild(i - counter);
+            sc.getQueryAst().getSelectAST().setChild(i,
+                new ASTNode(new CommonToken(HiveParser.Identifier, 
DUPLICATE_EXPRESSION_PREFIX)));
           }
-          counter++;
         }
       }
     }

Reply via email to