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)