KYLIN-2085 Consider dynamicVariables in CompareTupleFilter operator swap

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/8fbfc580
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8fbfc580
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8fbfc580

Branch: refs/heads/master-hbase1.x
Commit: 8fbfc580c1b89e3e0065027eb22f8e3e5b7e0c67
Parents: 58afe01
Author: lidongsjtu <lid...@apache.org>
Authored: Wed Oct 12 13:44:11 2016 +0800
Committer: lidongsjtu <lid...@apache.org>
Committed: Wed Oct 12 16:32:44 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/metadata/filter/CompareTupleFilter.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/8fbfc580/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
index fe51710..c7a3721 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
@@ -75,7 +75,8 @@ public class CompareTupleFilter extends TupleFilter {
             }
             this.column = columnFilter.getColumn();
             // if value is before column, we need to reverse the operator. 
e.g. "1 >= c1" => "c1 <= 1"
-            if (!this.conditionValues.isEmpty() && needSwapOperator()) {
+            // children.size() > 1 means already added one conditionValue or 
dynamicVariable
+            if (this.children.size() > 1 && needSwapOperator()) {
                 this.operator = SWAP_OP_MAP.get(this.operator);
                 TupleFilter last = this.children.remove(this.children.size() - 
1);
                 this.children.add(0, last);

Reply via email to