[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299856650
 
 

 ##
 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 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 values) {
+Expression expression = null;
+if (0 == values.size()) {
+  expression = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(null, dataType));
+} else {
+  expression = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(values.get(0), dataType));
+}
+for (int i = 1; i < values.size(); i++) {
+  Expression expression2 = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(values.get(i), dataType));
+  expression = new OrExpression(expression, expression2);
+}
+this.filterExpression = expression;
+return this;
+  }
+
+  public CarbonReaderBuilder filter(String columnName, String dataType, 
List values) {
+if (DataTypes.STRING.getName().equalsIgnoreCase(dataType)) {
+  return filter(columnName, DataTypes.STRING, values);
+} else if (DataTypes.INT.getName().equalsIgnoreCase(dataType)) {
+  return filter(columnName, DataTypes.INT, values);
+} else if (DataTypes.DOUBLE.getName().equalsIgnoreCase(dataType)) {
+  return filter(columnName, DataTypes.DOUBLE, values);
+} else if (DataTypes.FLOAT.getName().equalsIgnoreCase(dataType)) {
+  return filter(columnName, DataTypes.FLOAT, values);
+} else if (DataTypes.SHORT.getName().equalsIgnoreCase(dataType)) {
+  return filter(columnName, DataTypes.SHORT, values);
+} else if (DataTypes.BINARY.getName().equalsIgnoreCase(dataType)) {
 
 Review comment:
   Include the datatype that supports the filter. Binary cannot support filter 
as we don't save min max for binary column.


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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299855580
 
 

 ##
 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 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 values) {
+Expression expression = null;
+if (0 == values.size()) {
+  expression = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(null, dataType));
+} else {
+  expression = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(values.get(0), dataType));
+}
+for (int i = 1; i < values.size(); i++) {
+  Expression expression2 = new EqualToExpression(
+  new ColumnExpression(columnName, dataType),
+  new LiteralExpression(values.get(i), dataType));
+  expression = new OrExpression(expression, expression2);
+}
+this.filterExpression = expression;
+return this;
+  }
+
+  public CarbonReaderBuilder filter(String columnName, String dataType, 
List values) {
 
 Review comment:
   rename to **prepareEqualToExpressionSet**


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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299855195
 
 

 ##
 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 values) {
 
 Review comment:
   no need of this, use generic method that takes object instead of strings 
(below method)


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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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 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 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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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 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 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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299852754
 
 

 ##
 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 values) {
 
 Review comment:
   same comment as above.
   
   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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299852754
 
 

 ##
 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 values) {
 
 Review comment:
   same comment as above.
   
   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


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3317: [CARBONDATA-3461] Carbon SDK support filter values set.

2019-07-03 Thread GitBox
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_r299852035
 
 

 ##
 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) {
 
 Review comment:
   this always creates equal to filter, so keeping filter as name is not good.
   
   I suggest change it to **`public static Expression 
prepareEqualToExpression(String columnName, String value)`**
   
   so get the equalto filter expression from above and then pass it to existing 
filter() method. This way it can support for all the filter expression.


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