You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Sameer Abhyankar (JIRA)" <ji...@apache.org> on 2016/05/06 20:43:13 UTC
[jira] [Commented] (KUDU-1363) Add Multiple column range predicates
for the same column in a single scan
[ https://issues.apache.org/jira/browse/KUDU-1363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274696#comment-15274696 ]
Sameer Abhyankar commented on KUDU-1363:
----------------------------------------
Hi [~danburkert] I have uploaded an initial cut of the patch for your review. This is just the C++ client. I still have a little more work to do for scan_spec, partition_pruner and possibly key_util. However, I can continue to do that while this is being reviewed. I have added a bunch of test cases for the new predicates. Once everything looks good with this, I can work on the Java client (which I think will be much easier now that I am familiar with how these predicates flow..). I will be happy to make changes based on the review. Thx!
> Add Multiple column range predicates for the same column in a single scan
> -------------------------------------------------------------------------
>
> Key: KUDU-1363
> URL: https://issues.apache.org/jira/browse/KUDU-1363
> Project: Kudu
> Issue Type: New Feature
> Reporter: Chris George
> Assignee: Sameer Abhyankar
>
> Currently adding multiple column range predicates for the same column does essentially an AND between the two predicates which will cause no results to be returned.
> This would greatly increase performance were I can complete in one scan what would otherwise take two.
> As an example using the java api:
> ColumnRangePredicate columnRangePredicateColumnNameA = new ColumnRangePredicate(new ColumnSchema.ColumnSchemaBuilder("column_name", Type.STRING).build());
> columnRangePredicateColumnNameA.setLowerBound("A");
> columnRangePredicateColumnNameA.setUpperBound("A");
> ColumnRangePredicate columnRangePredicateColumnNameB = new ColumnRangePredicate(new ColumnSchema.ColumnSchemaBuilder("column_name", Type.STRING).build());
> columnRangePredicateColumnNameB.setLowerBound("B");
> columnRangePredicateColumnNameB.setUpperBound("B");
> which would be equivalent:
> select * from some_table where column_name="A" or column_name="B"
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)