http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanEqualToExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanEqualToExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanEqualToExpression.java
deleted file mode 100644
index cf73e4b..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanEqualToExpression.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class GreaterThanEqualToExpression extends BinaryConditionalExpression {
-  private static final long serialVersionUID = 4185317066280688984L;
-
-  public GreaterThanEqualToExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult elRes = left.evaluate(value);
-    ExpressionResult erRes = right.evaluate(value);
-    ExpressionResult exprResVal1 = elRes;
-    if (elRes.isNull() || erRes.isNull()) {
-      elRes.set(DataType.BOOLEAN, false);
-      return elRes;
-    }
-    if (elRes.getDataType() != erRes.getDataType()) {
-      if (elRes.getDataType().getPrecedenceOrder() < 
erRes.getDataType().getPrecedenceOrder()) {
-        exprResVal1 = erRes;
-      }
-
-    }
-    boolean result = false;
-    switch (exprResVal1.getDataType()) {
-      case STRING:
-        result = elRes.getString().compareTo(erRes.getString()) >= 0;
-        break;
-      case SHORT:
-        result = elRes.getShort() >= (erRes.getShort());
-        break;
-      case INT:
-        result = elRes.getInt() >= (erRes.getInt());
-        break;
-      case DOUBLE:
-        result = elRes.getDouble() >= (erRes.getDouble());
-        break;
-      case DATE:
-      case TIMESTAMP:
-        result = elRes.getTime() >= (erRes.getTime());
-        break;
-      case LONG:
-        result = elRes.getLong() >= (erRes.getLong());
-        break;
-      case DECIMAL:
-        result = elRes.getDecimal().compareTo(erRes.getDecimal()) >= 0;
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "DataType: " + exprResVal1.getDataType() + " not supported for the 
filter expression");
-    }
-    exprResVal1.set(DataType.BOOLEAN, result);
-    return exprResVal1;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.GREATERTHAN_EQUALTO;
-  }
-
-  @Override public String getString() {
-    return "GreaterThanEqualTo(" + left.getString() + ',' + right.getString() 
+ ')';
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanExpression.java
deleted file mode 100644
index 583b334..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/GreaterThanExpression.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-
-public class GreaterThanExpression extends BinaryConditionalExpression {
-  private static final long serialVersionUID = -5319109756575539219L;
-
-  public GreaterThanExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult exprLeftRes = left.evaluate(value);
-    ExpressionResult exprRightRes = right.evaluate(value);
-    ExpressionResult val1 = exprLeftRes;
-    if (exprLeftRes.isNull() || exprRightRes.isNull()) {
-      exprLeftRes.set(DataType.BOOLEAN, false);
-      return exprLeftRes;
-    }
-    if (exprLeftRes.getDataType() != exprRightRes.getDataType()) {
-      if (exprLeftRes.getDataType().getPrecedenceOrder() < 
exprRightRes.getDataType()
-          .getPrecedenceOrder()) {
-        val1 = exprRightRes;
-      }
-
-    }
-    boolean result = false;
-    switch (val1.getDataType()) {
-      case STRING:
-        result = exprLeftRes.getString().compareTo(exprRightRes.getString()) > 
0;
-        break;
-      case DOUBLE:
-        result = exprLeftRes.getDouble() > (exprRightRes.getDouble());
-        break;
-      case SHORT:
-        result = exprLeftRes.getShort() > (exprRightRes.getShort());
-        break;
-      case INT:
-        result = exprLeftRes.getInt() > (exprRightRes.getInt());
-        break;
-      case DATE:
-      case TIMESTAMP:
-        result = exprLeftRes.getTime() > (exprRightRes.getTime());
-        break;
-      case LONG:
-        result = exprLeftRes.getLong() > (exprRightRes.getLong());
-        break;
-      case DECIMAL:
-        result = exprLeftRes.getDecimal().compareTo(exprRightRes.getDecimal()) 
> 0;
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "DataType: " + val1.getDataType() + " not supported for the filter 
expression");
-    }
-    val1.set(DataType.BOOLEAN, result);
-    return val1;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.GREATERTHAN;
-  }
-
-  @Override public String getString() {
-    return "GreaterThan(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/InExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/InExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/InExpression.java
deleted file mode 100644
index d3cf0ce..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/InExpression.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class InExpression extends BinaryConditionalExpression {
-  private static final long serialVersionUID = -3149927446694175489L;
-
-  protected transient Set<ExpressionResult> setOfExprResult;
-
-  public InExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult leftRsult = left.evaluate(value);
-
-    if (setOfExprResult == null) {
-      ExpressionResult rightRsult = right.evaluate(value);
-      ExpressionResult val = null;
-      setOfExprResult = new HashSet<ExpressionResult>(10);
-      for (ExpressionResult expressionResVal : rightRsult.getList()) {
-        if (expressionResVal.getDataType().getPrecedenceOrder() < 
leftRsult.getDataType()
-            .getPrecedenceOrder()) {
-          val = leftRsult;
-        } else {
-          val = expressionResVal;
-        }
-        switch (val.getDataType()) {
-          case STRING:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getString());
-            break;
-          case SHORT:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getShort());
-            break;
-          case INT:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getInt());
-            break;
-          case DOUBLE:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getDouble());
-            break;
-          case LONG:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getLong());
-            break;
-          case DATE:
-          case TIMESTAMP:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getTime());
-            break;
-          case DECIMAL:
-            val = new ExpressionResult(val.getDataType(), 
expressionResVal.getDecimal());
-            break;
-          default:
-            throw new FilterUnsupportedException(
-                "DataType: " + val.getDataType() + " not supported for the 
filter expression");
-        }
-        setOfExprResult.add(val);
-      }
-    }
-    leftRsult.set(DataType.BOOLEAN, setOfExprResult.contains(leftRsult));
-    return leftRsult;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.IN;
-  }
-
-  @Override public String getString() {
-    return "IN(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanEqualToExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanEqualToExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanEqualToExpression.java
deleted file mode 100644
index 7d4cbed..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanEqualToExpression.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class LessThanEqualToExpression extends BinaryConditionalExpression {
-  private static final long serialVersionUID = 1L;
-
-  public LessThanEqualToExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult elRes = left.evaluate(value);
-    ExpressionResult erRes = right.evaluate(value);
-    ExpressionResult exprResValue1 = elRes;
-    if (elRes.isNull() || erRes.isNull()) {
-      elRes.set(DataType.BOOLEAN, false);
-      return elRes;
-    }
-    if (elRes.getDataType() != erRes.getDataType()) {
-      if (elRes.getDataType().getPrecedenceOrder() < 
erRes.getDataType().getPrecedenceOrder()) {
-        exprResValue1 = erRes;
-      }
-
-    }
-    boolean result = false;
-    switch (exprResValue1.getDataType()) {
-      case STRING:
-        result = elRes.getString().compareTo(erRes.getString()) <= 0;
-        break;
-      case SHORT:
-        result = elRes.getShort() <= (erRes.getShort());
-        break;
-      case INT:
-        result = elRes.getInt() <= (erRes.getInt());
-        break;
-      case DOUBLE:
-        result = elRes.getDouble() <= (erRes.getDouble());
-        break;
-      case DATE:
-      case TIMESTAMP:
-        result = elRes.getTime() <= (erRes.getTime());
-        break;
-      case LONG:
-        result = elRes.getLong() <= (erRes.getLong());
-        break;
-      case DECIMAL:
-        result = elRes.getDecimal().compareTo(erRes.getDecimal()) <= 0;
-        break;
-      default:
-        throw new FilterUnsupportedException("DataType: " + 
exprResValue1.getDataType()
-            + " not supported for the filter expression");
-    }
-    exprResValue1.set(DataType.BOOLEAN, result);
-    return exprResValue1;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    // TODO Auto-generated method stub
-    return ExpressionType.LESSTHAN_EQUALTO;
-  }
-
-  @Override public String getString() {
-    return "LessThanEqualTo(" + left.getString() + ',' + right.getString() + 
')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanExpression.java
deleted file mode 100644
index cb004de..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/LessThanExpression.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class LessThanExpression extends BinaryConditionalExpression {
-
-  private static final long serialVersionUID = 6343040416663699924L;
-
-  public LessThanExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult erRes = right.evaluate(value);
-    ExpressionResult elRes = left.evaluate(value);
-
-    ExpressionResult val1 = elRes;
-
-    boolean result = false;
-
-    if (elRes.isNull() || erRes.isNull()) {
-      elRes.set(DataType.BOOLEAN, false);
-      return elRes;
-    }
-    if (elRes.getDataType() != erRes.getDataType()) {
-      if (elRes.getDataType().getPrecedenceOrder() < 
erRes.getDataType().getPrecedenceOrder()) {
-        val1 = erRes;
-      }
-
-    }
-    switch (val1.getDataType()) {
-      case STRING:
-        result = elRes.getString().compareTo(erRes.getString()) < 0;
-        break;
-      case SHORT:
-        result = elRes.getShort() < (erRes.getShort());
-        break;
-      case INT:
-        result = elRes.getInt() < (erRes.getInt());
-        break;
-      case DOUBLE:
-        result = elRes.getDouble() < (erRes.getDouble());
-        break;
-      case DATE:
-      case TIMESTAMP:
-        result = elRes.getTime() < (erRes.getTime());
-        break;
-      case LONG:
-        result = elRes.getLong() < (erRes.getLong());
-        break;
-      case DECIMAL:
-        result = elRes.getDecimal().compareTo(erRes.getDecimal()) < 0;
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "DataType: " + val1.getDataType() + " not supported for the filter 
expression");
-    }
-    val1.set(DataType.BOOLEAN, result);
-    return val1;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.LESSTHAN;
-  }
-
-  @Override public String getString() {
-    return "LessThan(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/ListExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/ListExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/ListExpression.java
deleted file mode 100644
index e57d48a..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/ListExpression.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class ListExpression extends Expression {
-  private static final long serialVersionUID = 1L;
-
-  public ListExpression(List<Expression> children) {
-    this.children = children;
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value) throws 
FilterUnsupportedException {
-    List<ExpressionResult> listOfExprRes = new ArrayList<ExpressionResult>(10);
-
-    for (Expression expr : children) {
-      try {
-        listOfExprRes.add(expr.evaluate(value));
-      } catch (FilterIllegalMemberException e) {
-        continue;
-      }
-    }
-    return new ExpressionResult(listOfExprRes);
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    // TODO Auto-generated method stub
-    return ExpressionType.LIST;
-  }
-
-  @Override public String getString() {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotEqualsExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotEqualsExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotEqualsExpression.java
deleted file mode 100644
index ab559f8..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotEqualsExpression.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class NotEqualsExpression extends BinaryConditionalExpression {
-
-  private static final long serialVersionUID = 8684006025540863973L;
-  private boolean isNotNull = false;
-  public NotEqualsExpression(Expression left, Expression right, boolean 
isNotNull) {
-    super(left, right);
-    this.isNotNull = isNotNull;
-  }
-
-  public NotEqualsExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult elRes = left.evaluate(value);
-    ExpressionResult erRes = right.evaluate(value);
-
-    boolean result = false;
-    ExpressionResult val1 = elRes;
-    ExpressionResult val2 = erRes;
-    if (elRes.isNull() || erRes.isNull()) {
-      if (isNotNull) {
-        elRes.set(DataType.BOOLEAN, elRes.isNull() != erRes.isNull());
-      } else {
-        elRes.set(DataType.BOOLEAN, false);
-      }
-      return elRes;
-    }
-    //default implementation if the data types are different for the resultsets
-    if (elRes.getDataType() != erRes.getDataType()) {
-      //            result = elRes.getString().equals(erRes.getString());
-      if (elRes.getDataType().getPrecedenceOrder() < 
erRes.getDataType().getPrecedenceOrder()) {
-        val1 = erRes;
-        val2 = elRes;
-      }
-    }
-    switch (val1.getDataType()) {
-      case STRING:
-        result = !val1.getString().equals(val2.getString());
-        break;
-      case SHORT:
-        result = val1.getShort().shortValue() != val2.getShort().shortValue();
-        break;
-      case INT:
-        result = val1.getInt().intValue() != val2.getInt().intValue();
-        break;
-      case DOUBLE:
-        result = val1.getDouble().doubleValue() != 
val2.getDouble().doubleValue();
-        break;
-      case DATE:
-      case TIMESTAMP:
-        result = val1.getTime().longValue() != val2.getTime().longValue();
-        break;
-      case LONG:
-        result = elRes.getLong().longValue() != (erRes.getLong()).longValue();
-        break;
-      case DECIMAL:
-        result = elRes.getDecimal().compareTo(erRes.getDecimal()) != 0;
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "DataType: " + val1.getDataType() + " not supported for the filter 
expression");
-    }
-    val1.set(DataType.BOOLEAN, result);
-    return val1;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.NOT_EQUALS;
-  }
-
-  @Override public String getString() {
-    return "NotEquals(" + left.getString() + ',' + right.getString() + ')';
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotInExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotInExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotInExpression.java
deleted file mode 100644
index 2fced3d..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/conditional/NotInExpression.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.conditional;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class NotInExpression extends BinaryConditionalExpression {
-  private static final long serialVersionUID = -6835841923752118034L;
-  protected transient Set<ExpressionResult> setOfExprResult;
-
-  public NotInExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult leftRsult = left.evaluate(value);
-    if (setOfExprResult == null) {
-      ExpressionResult val = null;
-      ExpressionResult rightRsult = right.evaluate(value);
-      setOfExprResult = new HashSet<ExpressionResult>(10);
-      for (ExpressionResult exprResVal : rightRsult.getList()) {
-        if (exprResVal.getDataType().getPrecedenceOrder() < 
leftRsult.getDataType()
-            .getPrecedenceOrder()) {
-          val = leftRsult;
-        } else {
-          val = exprResVal;
-        }
-        switch (val.getDataType()) {
-          case STRING:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getString());
-            break;
-          case SHORT:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getShort());
-            break;
-          case INT:
-            val = new ExpressionResult(val.getDataType(), exprResVal.getInt());
-            break;
-          case DOUBLE:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getDouble());
-            break;
-          case DATE:
-          case TIMESTAMP:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getTime());
-            break;
-          case LONG:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getLong());
-            break;
-          case DECIMAL:
-            val = new ExpressionResult(val.getDataType(), 
exprResVal.getDecimal());
-            break;
-          default:
-            throw new FilterUnsupportedException(
-                "DataType: " + val.getDataType() + " not supported for the 
filter expression");
-        }
-        setOfExprResult.add(val);
-      }
-    }
-    leftRsult.set(DataType.BOOLEAN, !setOfExprResult.contains(leftRsult));
-
-    return leftRsult;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.NOT_IN;
-  }
-
-  @Override public String getString() {
-    return "NOT IN(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterIllegalMemberException.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterIllegalMemberException.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterIllegalMemberException.java
deleted file mode 100644
index 96b3930..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterIllegalMemberException.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.exception;
-
-import java.util.Locale;
-
-/**
- * FilterIllegalMemberException class representing exception which can cause 
while evaluating
- * filter members needs to be gracefully handled without propagating to outer 
layer so that
- * the execution should not get interrupted.
- */
-public class FilterIllegalMemberException extends Exception {
-
-  /**
-   * default serial version ID.
-   */
-  private static final long serialVersionUID = 1L;
-
-  /**
-   * The Error message.
-   */
-  private String msg = "";
-
-  /**
-   * Constructor
-   *
-   * @param msg       The error message for this exception.
-   */
-  public FilterIllegalMemberException(String msg) {
-    super(msg);
-    this.msg = msg;
-  }
-
-  /**
-   * Constructor
-   *
-   * @param msg       The error message for this exception.
-   */
-  public FilterIllegalMemberException(String msg, Throwable t) {
-    super(msg, t);
-    this.msg = msg;
-  }
-
-  /**
-   * Constructor
-   *
-   */
-  public FilterIllegalMemberException(Throwable t) {
-    super(t);
-  }
-
-  /**
-   * This method is used to get the localized message.
-   *
-   * @param locale - A Locale object represents a specific geographical,
-   *               political, or cultural region.
-   * @return - Localized error message.
-   */
-  public String getLocalizedMessage(Locale locale) {
-    return "";
-  }
-
-  /**
-   * getLocalizedMessage
-   */
-  @Override public String getLocalizedMessage() {
-    return super.getLocalizedMessage();
-  }
-
-  /**
-   * getMessage
-   */
-  public String getMessage() {
-    return this.msg;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterUnsupportedException.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterUnsupportedException.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterUnsupportedException.java
deleted file mode 100644
index d54ce69..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/exception/FilterUnsupportedException.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.exception;
-
-import java.util.Locale;
-
-public class FilterUnsupportedException extends Exception {
-
-  /**
-   * default serial version ID.
-   */
-  private static final long serialVersionUID = 1L;
-
-  /**
-   * The Error message.
-   */
-  private String msg = "";
-
-  /**
-   * Constructor
-   *
-   * @param msg       The error message for this exception.
-   */
-  public FilterUnsupportedException(String msg) {
-    super(msg);
-    this.msg = msg;
-  }
-
-  /**
-   * Constructor
-   *
-   * @param msg       The error message for this exception.
-   */
-  public FilterUnsupportedException(String msg, Throwable t) {
-    super(msg, t);
-    this.msg = msg;
-  }
-
-  /**
-   * Constructor
-   *
-   */
-  public FilterUnsupportedException(Throwable t) {
-    super(t);
-  }
-
-  /**
-   * This method is used to get the localized message.
-   *
-   * @param locale - A Locale object represents a specific geographical,
-   *               political, or cultural region.
-   * @return - Localized error message.
-   */
-  public String getLocalizedMessage(Locale locale) {
-    return "";
-  }
-
-  /**
-   * getLocalizedMessage
-   */
-  @Override public String getLocalizedMessage() {
-    return super.getLocalizedMessage();
-  }
-
-  /**
-   * getMessage
-   */
-  public String getMessage() {
-    return this.msg;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/logical/AndExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/AndExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/logical/AndExpression.java
deleted file mode 100644
index 037115a..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/AndExpression.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.logical;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class AndExpression extends BinaryLogicalExpression {
-
-  private static final long serialVersionUID = 1L;
-
-  public AndExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    ExpressionResult resultLeft = left.evaluate(value);
-    ExpressionResult resultRight = right.evaluate(value);
-    switch (resultLeft.getDataType()) {
-      case BOOLEAN:
-        resultLeft.set(DataType.BOOLEAN, (resultLeft.getBoolean() && 
resultRight.getBoolean()));
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "Incompatible datatype for applying AND Expression Filter");
-    }
-    return resultLeft;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    // TODO Auto-generated method stub
-    return ExpressionType.AND;
-  }
-
-  @Override public String getString() {
-    // TODO Auto-generated method stub
-    return "And(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/logical/BinaryLogicalExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/BinaryLogicalExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/logical/BinaryLogicalExpression.java
deleted file mode 100644
index d4ad063..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/BinaryLogicalExpression.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.logical;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.carbondata.core.constants.CarbonCommonConstants;
-import org.apache.carbondata.scan.expression.BinaryExpression;
-import org.apache.carbondata.scan.expression.ColumnExpression;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import org.apache.carbondata.scan.expression.LiteralExpression;
-
-public abstract class BinaryLogicalExpression extends BinaryExpression {
-
-  /**
-   *
-   */
-  private static final long serialVersionUID = 1L;
-
-  public BinaryLogicalExpression(Expression left, Expression right) {
-    super(left, right);
-    // TODO Auto-generated constructor stub
-  }
-
-  public List<ExpressionResult> getLiterals() {
-    List<ExpressionResult> listOfExp =
-        new 
ArrayList<ExpressionResult>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE);
-    getExpressionResultList(this, listOfExp);
-    Collections.sort(listOfExp);
-    return listOfExp;
-  }
-
-  // Will get the column informations involved in the expressions by
-  // traversing the tree
-  public List<ColumnExpression> getColumnList() {
-    // TODO
-    List<ColumnExpression> listOfExp =
-        new 
ArrayList<ColumnExpression>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE);
-    getColumnList(this, listOfExp);
-    return listOfExp;
-  }
-
-  private void getColumnList(Expression expression, List<ColumnExpression> 
lst) {
-    if (expression instanceof ColumnExpression) {
-      ColumnExpression colExp = (ColumnExpression) expression;
-      boolean found = false;
-
-      for (ColumnExpression currentColExp : lst) {
-        if (currentColExp.getColumnName().equals(colExp.getColumnName())) {
-          found = true;
-          colExp.setColIndex(currentColExp.getColIndex());
-          break;
-        }
-      }
-      if (!found) {
-        colExp.setColIndex(lst.size());
-        lst.add(colExp);
-      }
-    }
-    for (Expression child : expression.getChildren()) {
-      getColumnList(child, lst);
-    }
-  }
-
-  public boolean isSingleDimension() {
-    List<ColumnExpression> listOfExp =
-        new 
ArrayList<ColumnExpression>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE);
-    getColumnList(this, listOfExp);
-    if (listOfExp.size() == 1 && listOfExp.get(0).isDimension()) {
-      return true;
-    }
-    return false;
-
-  }
-
-  private void getExpressionResultList(Expression binaryConditionalExpression,
-      List<ExpressionResult> listOfExp) {
-    if (binaryConditionalExpression instanceof LiteralExpression) {
-      ExpressionResult colExp =
-          ((LiteralExpression) 
binaryConditionalExpression).getExpressionResult();
-      listOfExp.add(colExp);
-    }
-    for (Expression child : binaryConditionalExpression.getChildren()) {
-      getExpressionResultList(child, listOfExp);
-    }
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/logical/FalseExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/FalseExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/logical/FalseExpression.java
deleted file mode 100644
index 4052cb8..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/FalseExpression.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.logical;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import org.apache.carbondata.scan.expression.LiteralExpression;
-import 
org.apache.carbondata.scan.expression.conditional.BinaryConditionalExpression;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-
-
-/**
- * This class will form an expression whose evaluation will be always false.
- */
-public class FalseExpression  extends BinaryConditionalExpression {
-
-
-  private static final long serialVersionUID = -8390184061336799370L;
-
-  public FalseExpression(Expression child1) {
-    super(child1, new LiteralExpression(null,null));
-  }
-
-  /**
-   * This method will always return false, mainly used in the filter 
expressions
-   * which are illogical.
-   * eg: columnName NOT IN('Java',NULL)
-   * @param value
-   * @return
-   * @throws FilterUnsupportedException
-   * @throws FilterIllegalMemberException
-   */
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
-    return new ExpressionResult(DataType.BOOLEAN,false);
-  }
-
-  /**
-   * This method will return the expression types
-   * @return
-   */
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.FALSE;
-  }
-  @Override public String getString() {
-    return null;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/expression/logical/OrExpression.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/OrExpression.java
 
b/core/src/main/java/org/apache/carbondata/scan/expression/logical/OrExpression.java
deleted file mode 100644
index 8c81f1d..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/expression/logical/OrExpression.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.expression.logical;
-
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.scan.expression.Expression;
-import org.apache.carbondata.scan.expression.ExpressionResult;
-import 
org.apache.carbondata.scan.expression.exception.FilterIllegalMemberException;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import org.apache.carbondata.scan.filter.intf.RowIntf;
-
-public class OrExpression extends BinaryLogicalExpression {
-
-  private static final long serialVersionUID = 4220598043176438380L;
-
-  public OrExpression(Expression left, Expression right) {
-    super(left, right);
-  }
-
-  @Override public ExpressionResult evaluate(RowIntf value)
-      throws FilterIllegalMemberException, FilterUnsupportedException {
-    ExpressionResult resultLeft = left.evaluate(value);
-    ExpressionResult resultRight = right.evaluate(value);
-    switch (resultLeft.getDataType()) {
-      case BOOLEAN:
-        resultLeft.set(DataType.BOOLEAN, (resultLeft.getBoolean() || 
resultRight.getBoolean()));
-        break;
-      default:
-        throw new FilterUnsupportedException(
-            "Incompatible datatype for applying OR Expression Filter");
-    }
-
-    return resultLeft;
-  }
-
-  @Override public ExpressionType getFilterExpressionType() {
-    return ExpressionType.OR;
-  }
-
-  @Override public String getString() {
-    return "Or(" + left.getString() + ',' + right.getString() + ')';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/filter/DimColumnFilterInfo.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/filter/DimColumnFilterInfo.java 
b/core/src/main/java/org/apache/carbondata/scan/filter/DimColumnFilterInfo.java
deleted file mode 100644
index f97fffc..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/filter/DimColumnFilterInfo.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.carbondata.scan.filter;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class DimColumnFilterInfo implements Serializable {
-
-  private static final long serialVersionUID = 8181578747306832771L;
-
-  private boolean isIncludeFilter;
-
-  private List<Integer> filterList;
-
-  /**
-   * Implicit column filter values to be used for block and blocklet pruning
-   */
-  private List<String> implicitColumnFilterList;
-  private List<Integer> excludeFilterList;
-  /**
-   * maintain the no dictionary filter values list.
-   */
-  private List<byte[]> noDictionaryFilterValuesList;
-
-  public List<byte[]> getNoDictionaryFilterValuesList() {
-    return noDictionaryFilterValuesList;
-  }
-
-  public boolean isIncludeFilter() {
-    return isIncludeFilter;
-  }
-
-  public void setIncludeFilter(boolean isIncludeFilter) {
-    this.isIncludeFilter = isIncludeFilter;
-  }
-
-  public List<Integer> getFilterList() {
-    return filterList;
-  }
-
-  public void setFilterList(List<Integer> filterList) {
-    this.filterList = filterList;
-  }
-
-  public void setFilterListForNoDictionaryCols(List<byte[]> 
noDictionaryFilterValuesList) {
-    this.noDictionaryFilterValuesList = noDictionaryFilterValuesList;
-  }
-
-  public List<Integer> getExcludeFilterList() {
-    return excludeFilterList;
-  }
-  public void setExcludeFilterList(List<Integer> excludeFilterList) {
-    this.excludeFilterList = excludeFilterList;
-  }
-  public List<String> getImplicitColumnFilterList() {
-    return implicitColumnFilterList;
-  }
-
-  public void setImplicitColumnFilterList(List<String> 
implicitColumnFilterList) {
-    this.implicitColumnFilterList = implicitColumnFilterList;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/filter/FilterExpressionProcessor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/filter/FilterExpressionProcessor.java
 
b/core/src/main/java/org/apache/carbondata/scan/filter/FilterExpressionProcessor.java
deleted file mode 100644
index 3ec1bc5..0000000
--- 
a/core/src/main/java/org/apache/carbondata/scan/filter/FilterExpressionProcessor.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.carbondata.scan.filter;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.List;
-
-import org.apache.carbondata.common.logging.LogService;
-import org.apache.carbondata.common.logging.LogServiceFactory;
-import org.apache.carbondata.core.AbsoluteTableIdentifier;
-import org.apache.carbondata.core.datastore.DataRefNode;
-import org.apache.carbondata.core.datastore.DataRefNodeFinder;
-import org.apache.carbondata.core.datastore.IndexKey;
-import org.apache.carbondata.core.datastore.block.AbstractIndex;
-import org.apache.carbondata.core.datastore.impl.btree.BTreeDataRefNodeFinder;
-import org.apache.carbondata.core.metadata.DataType;
-import org.apache.carbondata.core.metadata.Encoding;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
-import org.apache.carbondata.scan.expression.BinaryExpression;
-import org.apache.carbondata.scan.expression.Expression;
-import 
org.apache.carbondata.scan.expression.conditional.BinaryConditionalExpression;
-import org.apache.carbondata.scan.expression.conditional.ConditionalExpression;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.executer.FilterExecuter;
-import org.apache.carbondata.scan.filter.intf.ExpressionType;
-import 
org.apache.carbondata.scan.filter.resolver.ConditionalFilterResolverImpl;
-import org.apache.carbondata.scan.filter.resolver.FilterResolverIntf;
-import org.apache.carbondata.scan.filter.resolver.LogicalFilterResolverImpl;
-import org.apache.carbondata.scan.filter.resolver.RowLevelFilterResolverImpl;
-import 
org.apache.carbondata.scan.filter.resolver.RowLevelRangeFilterResolverImpl;
-
-public class FilterExpressionProcessor implements FilterProcessor {
-
-  private static final LogService LOGGER =
-      
LogServiceFactory.getLogService(FilterExpressionProcessor.class.getName());
-
-  /**
-   * Implementation will provide the resolved form of filters based on the
-   * filter expression tree which is been passed in Expression instance.
-   *
-   * @param expressionTree  , filter expression tree
-   * @param tableIdentifier ,contains carbon store informations
-   * @return a filter resolver tree
-   */
-  public FilterResolverIntf getFilterResolver(Expression expressionTree,
-      AbsoluteTableIdentifier tableIdentifier) throws 
FilterUnsupportedException, IOException {
-    if (null != expressionTree && null != tableIdentifier) {
-      return getFilterResolvertree(expressionTree, tableIdentifier);
-    }
-    return null;
-  }
-
-  /**
-   * This API will scan the Segment level all btrees and selects the required
-   * block reference  nodes inorder to push the same to executer for applying 
filters
-   * on the respective data reference node.
-   * Following Algorithm is followed in below API
-   * Step:1 Get the start end key based on the filter tree resolver information
-   * Step:2 Prepare the IndexKeys inorder to scan the tree and get the start 
and end reference
-   * node(block)
-   * Step:3 Once data reference node ranges retrieved traverse the node within 
this range
-   * and select the node based on the block min and max value and the filter 
value.
-   * Step:4 The selected blocks will be send to executers for applying the 
filters with the help
-   * of Filter executers.
-   *
-   */
-  public List<DataRefNode> getFilterredBlocks(DataRefNode btreeNode,
-      FilterResolverIntf filterResolver, AbstractIndex tableSegment,
-      AbsoluteTableIdentifier tableIdentifier) {
-    // Need to get the current dimension tables
-    List<DataRefNode> listOfDataBlocksToScan = new ArrayList<DataRefNode>();
-    // getting the start and end index key based on filter for hitting the
-    // selected block reference nodes based on filter resolver tree.
-    LOGGER.debug("preparing the start and end key for finding"
-        + "start and end block as per filter resolver");
-    List<IndexKey> listOfStartEndKeys = new ArrayList<IndexKey>(2);
-    
FilterUtil.traverseResolverTreeAndGetStartAndEndKey(tableSegment.getSegmentProperties(),
-        filterResolver, listOfStartEndKeys);
-    // reading the first value from list which has start key
-    IndexKey searchStartKey = listOfStartEndKeys.get(0);
-    // reading the last value from list which has end key
-    IndexKey searchEndKey = listOfStartEndKeys.get(1);
-    if (null == searchStartKey && null == searchEndKey) {
-      try {
-        // TODO need to handle for no dictionary dimensions
-        searchStartKey =
-            
FilterUtil.prepareDefaultStartIndexKey(tableSegment.getSegmentProperties());
-        // TODO need to handle for no dictionary dimensions
-        searchEndKey = 
FilterUtil.prepareDefaultEndIndexKey(tableSegment.getSegmentProperties());
-      } catch (KeyGenException e) {
-        return listOfDataBlocksToScan;
-      }
-    }
-
-    LOGGER.debug(
-        "Successfully retrieved the start and end key" + "Dictionary Start 
Key: " + searchStartKey
-            .getDictionaryKeys() + "No Dictionary Start Key " + 
searchStartKey.getNoDictionaryKeys()
-            + "Dictionary End Key: " + searchEndKey.getDictionaryKeys() + "No 
Dictionary End Key "
-            + searchEndKey.getNoDictionaryKeys());
-    long startTimeInMillis = System.currentTimeMillis();
-    DataRefNodeFinder blockFinder = new BTreeDataRefNodeFinder(
-        tableSegment.getSegmentProperties().getEachDimColumnValueSize());
-    DataRefNode startBlock = blockFinder.findFirstDataBlock(btreeNode, 
searchStartKey);
-    DataRefNode endBlock = blockFinder.findLastDataBlock(btreeNode, 
searchEndKey);
-    FilterExecuter filterExecuter =
-        FilterUtil.getFilterExecuterTree(filterResolver, 
tableSegment.getSegmentProperties(),null);
-    while (startBlock != endBlock) {
-      addBlockBasedOnMinMaxValue(filterExecuter, listOfDataBlocksToScan, 
startBlock);
-      startBlock = startBlock.getNextDataRefNode();
-    }
-    addBlockBasedOnMinMaxValue(filterExecuter, listOfDataBlocksToScan, 
endBlock);
-    LOGGER.info("Total Time in retrieving the data reference node" + "after 
scanning the btree " + (
-        System.currentTimeMillis() - startTimeInMillis)
-        + " Total number of data reference node for executing filter(s) " + 
listOfDataBlocksToScan
-        .size());
-
-    return listOfDataBlocksToScan;
-  }
-
-  /**
-   * Selects the blocks based on col max and min value.
-   *
-   * @param listOfDataBlocksToScan
-   * @param dataRefNode
-   */
-  private void addBlockBasedOnMinMaxValue(FilterExecuter filterExecuter,
-      List<DataRefNode> listOfDataBlocksToScan, DataRefNode dataRefNode) {
-
-    BitSet bitSet = filterExecuter
-        .isScanRequired(dataRefNode.getColumnsMaxValue(), 
dataRefNode.getColumnsMinValue());
-    if (!bitSet.isEmpty()) {
-      listOfDataBlocksToScan.add(dataRefNode);
-
-    }
-  }
-
-  /**
-   * API will return a filter resolver instance which will be used by
-   * executers to evaluate or execute the filters.
-   *
-   * @param expressionTree , resolver tree which will hold the resolver tree 
based on
-   *                       filter expression.
-   * @return FilterResolverIntf type.
-   */
-  private FilterResolverIntf getFilterResolvertree(Expression expressionTree,
-      AbsoluteTableIdentifier tableIdentifier) throws 
FilterUnsupportedException, IOException {
-    FilterResolverIntf filterEvaluatorTree =
-        createFilterResolverTree(expressionTree, tableIdentifier);
-    traverseAndResolveTree(filterEvaluatorTree, tableIdentifier);
-    return filterEvaluatorTree;
-  }
-
-  /**
-   * constructing the filter resolver tree based on filter expression.
-   * this method will visit each node of the filter resolver and prepares
-   * the surrogates of the filter members which are involved filter
-   * expression.
-   *
-   * @param filterResolverTree
-   * @param tableIdentifier
-   */
-  private void traverseAndResolveTree(FilterResolverIntf filterResolverTree,
-      AbsoluteTableIdentifier tableIdentifier) throws 
FilterUnsupportedException, IOException {
-    if (null == filterResolverTree) {
-      return;
-    }
-    traverseAndResolveTree(filterResolverTree.getLeft(), tableIdentifier);
-    filterResolverTree.resolve(tableIdentifier);
-    traverseAndResolveTree(filterResolverTree.getRight(), tableIdentifier);
-  }
-
-  /**
-   * Pattern used : Visitor Pattern
-   * Method will create filter resolver tree based on the filter expression 
tree,
-   * in this algorithm based on the expression instance the resolvers will 
created
-   *
-   * @param expressionTree
-   * @param tableIdentifier
-   * @return
-   */
-  private FilterResolverIntf createFilterResolverTree(Expression 
expressionTree,
-      AbsoluteTableIdentifier tableIdentifier) {
-    ExpressionType filterExpressionType = 
expressionTree.getFilterExpressionType();
-    BinaryExpression currentExpression = null;
-    switch (filterExpressionType) {
-      case OR:
-        currentExpression = (BinaryExpression) expressionTree;
-        return new LogicalFilterResolverImpl(
-            createFilterResolverTree(currentExpression.getLeft(), 
tableIdentifier),
-            createFilterResolverTree(currentExpression.getRight(), 
tableIdentifier),
-            currentExpression);
-      case AND:
-        currentExpression = (BinaryExpression) expressionTree;
-        return new LogicalFilterResolverImpl(
-            createFilterResolverTree(currentExpression.getLeft(), 
tableIdentifier),
-            createFilterResolverTree(currentExpression.getRight(), 
tableIdentifier),
-            currentExpression);
-      case EQUALS:
-      case IN:
-        return getFilterResolverBasedOnExpressionType(ExpressionType.EQUALS,
-            ((BinaryConditionalExpression) expressionTree).isNull, 
expressionTree,
-            tableIdentifier, expressionTree);
-      case GREATERTHAN:
-      case GREATERTHAN_EQUALTO:
-      case LESSTHAN:
-      case LESSTHAN_EQUALTO:
-        return getFilterResolverBasedOnExpressionType(ExpressionType.EQUALS, 
true, expressionTree,
-            tableIdentifier, expressionTree);
-
-      case NOT_EQUALS:
-      case NOT_IN:
-        return 
getFilterResolverBasedOnExpressionType(ExpressionType.NOT_EQUALS, false,
-            expressionTree, tableIdentifier, expressionTree);
-      case FALSE:
-        return getFilterResolverBasedOnExpressionType(ExpressionType.FALSE, 
false,
-            expressionTree, tableIdentifier, expressionTree);
-      default:
-        return getFilterResolverBasedOnExpressionType(ExpressionType.UNKNOWN, 
false, expressionTree,
-            tableIdentifier, expressionTree);
-    }
-  }
-
-  /**
-   * Factory method which will return the resolver instance based on filter 
expression
-   * expressions.
-   */
-  private FilterResolverIntf getFilterResolverBasedOnExpressionType(
-      ExpressionType filterExpressionType, boolean isExpressionResolve, 
Expression expression,
-      AbsoluteTableIdentifier tableIdentifier, Expression expressionTree) {
-    BinaryConditionalExpression currentCondExpression = null;
-    ConditionalExpression condExpression = null;
-    switch (filterExpressionType) {
-      case FALSE:
-        return new RowLevelFilterResolverImpl(expression, false, false, 
tableIdentifier);
-      case EQUALS:
-        currentCondExpression = (BinaryConditionalExpression) expression;
-        if (currentCondExpression.isSingleDimension()
-            && 
currentCondExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-            != DataType.ARRAY
-            && 
currentCondExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-            != DataType.STRUCT) {
-          // getting new dim index.
-          if (!currentCondExpression.getColumnList().get(0).getCarbonColumn()
-              .hasEncoding(Encoding.DICTIONARY) || 
currentCondExpression.getColumnList().get(0)
-              .getCarbonColumn().hasEncoding(Encoding.DIRECT_DICTIONARY)) {
-            if 
(FilterUtil.checkIfExpressionContainsColumn(currentCondExpression.getLeft())
-                && 
FilterUtil.checkIfExpressionContainsColumn(currentCondExpression.getRight()) || 
(
-                
FilterUtil.checkIfRightExpressionRequireEvaluation(currentCondExpression.getRight())
-                    || FilterUtil
-                    
.checkIfLeftExpressionRequireEvaluation(currentCondExpression.getLeft()))) {
-              return new RowLevelFilterResolverImpl(expression, 
isExpressionResolve, true,
-                  tableIdentifier);
-            }
-            if (currentCondExpression.getFilterExpressionType() == 
ExpressionType.GREATERTHAN
-                || currentCondExpression.getFilterExpressionType() == 
ExpressionType.LESSTHAN
-                || currentCondExpression.getFilterExpressionType()
-                == ExpressionType.GREATERTHAN_EQUALTO
-                || currentCondExpression.getFilterExpressionType()
-                == ExpressionType.LESSTHAN_EQUALTO) {
-              return new RowLevelRangeFilterResolverImpl(expression, 
isExpressionResolve, true,
-                  tableIdentifier);
-            }
-          }
-          return new ConditionalFilterResolverImpl(expression, 
isExpressionResolve, true);
-
-        }
-        break;
-      case NOT_EQUALS:
-        currentCondExpression = (BinaryConditionalExpression) expression;
-        if (currentCondExpression.isSingleDimension()
-            && 
currentCondExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-            != DataType.ARRAY
-            && 
currentCondExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-            != DataType.STRUCT) {
-          if (!currentCondExpression.getColumnList().get(0).getCarbonColumn()
-              .hasEncoding(Encoding.DICTIONARY) || 
currentCondExpression.getColumnList().get(0)
-              .getCarbonColumn().hasEncoding(Encoding.DIRECT_DICTIONARY)) {
-            if 
(FilterUtil.checkIfExpressionContainsColumn(currentCondExpression.getLeft())
-                && 
FilterUtil.checkIfExpressionContainsColumn(currentCondExpression.getRight()) || 
(
-                
FilterUtil.checkIfRightExpressionRequireEvaluation(currentCondExpression.getRight())
-                    || FilterUtil
-                    
.checkIfLeftExpressionRequireEvaluation(currentCondExpression.getLeft()))) {
-              return new RowLevelFilterResolverImpl(expression, 
isExpressionResolve, false,
-                  tableIdentifier);
-            }
-            if (expressionTree.getFilterExpressionType() == 
ExpressionType.GREATERTHAN
-                || expressionTree.getFilterExpressionType() == 
ExpressionType.LESSTHAN
-                || expressionTree.getFilterExpressionType() == 
ExpressionType.GREATERTHAN_EQUALTO
-                || expressionTree.getFilterExpressionType() == 
ExpressionType.LESSTHAN_EQUALTO) {
-
-              return new RowLevelRangeFilterResolverImpl(expression, 
isExpressionResolve, false,
-                  tableIdentifier);
-            }
-
-            return new ConditionalFilterResolverImpl(expression, 
isExpressionResolve, false);
-          }
-          return new ConditionalFilterResolverImpl(expression, 
isExpressionResolve, false);
-        }
-        break;
-      default:
-        if(expression instanceof ConditionalExpression) {
-          condExpression = (ConditionalExpression) expression;
-          if (condExpression.isSingleDimension()
-                  && 
condExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-                  != DataType.ARRAY
-                  && 
condExpression.getColumnList().get(0).getCarbonColumn().getDataType()
-                  != DataType.STRUCT) {
-            condExpression = (ConditionalExpression) expression;
-            if (condExpression.getColumnList().get(0).getCarbonColumn()
-                    .hasEncoding(Encoding.DICTIONARY) && 
!condExpression.getColumnList().get(0)
-                    
.getCarbonColumn().hasEncoding(Encoding.DIRECT_DICTIONARY)) {
-              return new ConditionalFilterResolverImpl(expression, true, true);
-            }
-          }
-        }
-    }
-    return new RowLevelFilterResolverImpl(expression, false, false, 
tableIdentifier);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/main/java/org/apache/carbondata/scan/filter/FilterProcessor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/scan/filter/FilterProcessor.java 
b/core/src/main/java/org/apache/carbondata/scan/filter/FilterProcessor.java
deleted file mode 100644
index 44161b2..0000000
--- a/core/src/main/java/org/apache/carbondata/scan/filter/FilterProcessor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.apache.carbondata.scan.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.carbondata.core.AbsoluteTableIdentifier;
-import org.apache.carbondata.core.datastore.DataRefNode;
-import org.apache.carbondata.core.datastore.block.AbstractIndex;
-import org.apache.carbondata.scan.expression.Expression;
-import 
org.apache.carbondata.scan.expression.exception.FilterUnsupportedException;
-import org.apache.carbondata.scan.filter.resolver.FilterResolverIntf;
-
-public interface FilterProcessor {
-
-  /**
-   * API will provide the resolved form of filters based on the filter
-   * expression tree which is been passed.
-   *
-   * @param expressionTree  , filter expression tree
-   * @param tableIdentifier ,contains carbon store informations.
-   * @return
-   * @throws FilterUnsupportedException
-   */
-  FilterResolverIntf getFilterResolver(Expression expressionTree,
-      AbsoluteTableIdentifier tableIdentifier) throws 
FilterUnsupportedException, IOException;
-
-  /**
-   * This API is exposed inorder to get the required block reference node
-   * based on the filter.The block list will be send to the executer tasks 
inorder
-   * to apply filters.
-   *
-   * @param filterResolver DataBlock list with resolved filters
-   * @return list of DataRefNode.
-   */
-  List<DataRefNode> getFilterredBlocks(DataRefNode dataRefNode, 
FilterResolverIntf filterResolver,
-      AbstractIndex segmentIndexBuilder, AbsoluteTableIdentifier 
tableIdentifier);
-
-}

Reply via email to