ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] 
Carbon SDK support filter values set.
URL: https://github.com/apache/carbondata/pull/3317#discussion_r299854656
 
 

 ##########
 File path: 
store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReaderBuilder.java
 ##########
 @@ -170,6 +176,75 @@ public CarbonReaderBuilder filter(Expression 
filterExpression) {
     return this;
   }
 
+  public CarbonReaderBuilder filter(String columnName, String value) {
+    EqualToExpression equalToExpression = new EqualToExpression(
+        new ColumnExpression(columnName, DataTypes.STRING),
+        new LiteralExpression(value, DataTypes.STRING));
+    this.filterExpression = equalToExpression;
+    return this;
+  }
+
+  public CarbonReaderBuilder filter(String columnName, List<String> values) {
+    Expression expression = null;
+    if (0 == values.size()) {
+      expression = new EqualToExpression(
+          new ColumnExpression(columnName, DataTypes.STRING),
+          new LiteralExpression(null, DataTypes.STRING));
+    } else {
+      expression = new EqualToExpression(
+          new ColumnExpression(columnName, DataTypes.STRING),
+          new LiteralExpression(values.get(0), DataTypes.STRING));
+    }
+    for (int i = 1; i < values.size(); i++) {
+      Expression expression2 = new EqualToExpression(
+          new ColumnExpression(columnName, DataTypes.STRING),
+          new LiteralExpression(values.get(i), DataTypes.STRING));
+      expression = new OrExpression(expression, expression2);
+    }
+    this.filterExpression = expression;
+    return this;
+  }
+
+  private CarbonReaderBuilder filter(String columnName, DataType dataType,
+                                     List<Object> values) {
 
 Review comment:
   rename to prepareEqualToExpressionSet and reuse prepareEqualToExpression to 
prepare each expressions

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to