[
https://issues.apache.org/jira/browse/HBASE-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139470#comment-14139470
]
Niels Basjes commented on HBASE-11990:
--------------------------------------
Yes I understand. I had a look at the code of the PrefixFilter and it should be
just as efficient as using stopRow.
For a developer they would then need to use something like this:
{code}
FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ALL);
scan.setStartRow(thePrefix);
list.add(new PrefixFilter(thePrefix));
list.add(new SomeOtherFilter());
scan.setFilter(list);
{code}
I think that the current patch allows for less error prone implementations:
{code}
scan.setRowPrefix(thePrefix);
scan.setFilter(new SomeOtherFilter());
{code}
You guys decide which way.
> Make setting the start and stop row for a specific prefix easier
> ----------------------------------------------------------------
>
> Key: HBASE-11990
> URL: https://issues.apache.org/jira/browse/HBASE-11990
> Project: HBase
> Issue Type: New Feature
> Components: Client
> Reporter: Niels Basjes
> Attachments: 11990v4.txt, HBASE-11990-20140916-v2.patch,
> HBASE-11990-20140916-v3.patch, HBASE-11990-20140916-v5.patch,
> HBASE-11990-20140916-v6.patch, HBASE-11990-20140916.patch,
> HBASE-11990-20140917-v7.patch
>
>
> If you want to set a scan from your application to scan for a specific row
> prefix this is actually quite hard.
> As described in several places you can set the startRow to the prefix; yet
> the stopRow should be set to the prefix '+1'
> If the prefix 'ASCII' put into a byte[] then this is easy because you can
> simply increment the last byte of the array.
> But if your application uses real binary rowids you may run into the scenario
> that your prefix is something like
> {code}{ 0x12, 0x23, 0xFF, 0xFF }{code} Then the increment should be {code}{
> 0x12, 0x24 }{code}
> I have prepared a proposed patch that makes setting these values correctly a
> lot easier.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)