You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Marc Spaggiari (JIRA)" <ji...@apache.org> on 2014/09/16 20:16:35 UTC
[jira] [Comment Edited] (HBASE-11990) Make setting the start and
stop row for a specific prefix easier
[ https://issues.apache.org/jira/browse/HBASE-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14135870#comment-14135870 ]
Jean-Marc Spaggiari edited comment on HBASE-11990 at 9/16/14 6:16 PM:
----------------------------------------------------------------------
Should it not even be { 0x12, 0x23, 0xFF, 0xFF, 0xFF } ?
What if you put { 0x12, 0x23, 0xFF, 0xFF } but you have { 0x12, 0x23, 0xFF, 0xFF, 0xFF , 0xFF , 0xFF , 0xFF} and dont want it? If you change that by { 0x12, 0x24 } then you will get it, which is not what you want. { 0x12, 0x23, 0xFF, 0xFF, 0xFF } will not include it.
I'm thinking at loud here. They might be some corner cases that I miss.
Edit: Forget about that. I forgot it was prefix, was just thinking about stop key...
was (Author: jmspaggi):
Should it not even be { 0x12, 0x23, 0xFF, 0xFF, 0xFF } ?
What if you put { 0x12, 0x23, 0xFF, 0xFF } but you have { 0x12, 0x23, 0xFF, 0xFF, 0xFF , 0xFF , 0xFF , 0xFF} and dont want it? If you change that by { 0x12, 0x24 } then you will get it, which is not what you want. { 0x12, 0x23, 0xFF, 0xFF, 0xFF } will not include it.
I'm thinking at loud here. They might be some corner cases that I miss.
> 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: HBASE-11990-20140916.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, 0x00, 0x00 }{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)