[ 
https://issues.apache.org/jira/browse/PHOENIX-1211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14121958#comment-14121958
 ] 

Kyle Buzsaki commented on PHOENIX-1211:
---------------------------------------

Looks like the main issue here is going to be retrofitting the SkipScanFilter 
to use the slotSpan array when iterating over a row key. I think the way to do 
this would be to add a parameter to the RowKeySchema.next() method that tells 
it how many columns to include in the next "chunk", and then the rest of skip 
scan will work fine. 

The main issue is figuring out where all the next() method gets called and when 
to change it, as it's used in both intersect() and navigate(). I think we 
should just replace all uses of it with the slotSpan form? Let me know if you 
can think of any exceptions.

> Use skip scan when row value constructor uses leading row key columns 
> ----------------------------------------------------------------------
>
>                 Key: PHOENIX-1211
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1211
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Kyle Buzsaki
>
> We currently only use a skip scan for a row value constructor equality or in 
> list expression is fully qualified. We can fairly easily use it when only 
> some of the leading pk columns are used.
> For example:
> {code}
> WHERE (a,b) IN ((1,2),(3,4))
> {code}
> If the PK is (a,b,c), we can still use a skip scan. We need to pass through 
> the slotSpan array in this case too, to the SkipScanFilter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to