[ 
https://issues.apache.org/jira/browse/HBASE-521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12583135#action_12583135
 ] 

Clint Morgan commented on HBASE-521:
------------------------------------

When I tried this, and int the shell do a select * from table, I get the table 
contents then:

Exception in thread "main" java.lang.UnsupportedOperationException: RowResult 
is read-only!
        at org.apache.hadoop.hbase.io.RowResult.clear(RowResult.java:99)
        at 
org.apache.hadoop.hbase.hql.SelectCommand.scanPrint(SelectCommand.java:266)
        at 
org.apache.hadoop.hbase.hql.SelectCommand.execute(SelectCommand.java:99)
        at org.apache.hadoop.hbase.hql.HQLClient.executeQuery(HQLClient.java:68)
        at org.apache.hadoop.hbase.Shell.main(Shell.java:114)


> Improve client scanner interface
> --------------------------------
>
>                 Key: HBASE-521
>                 URL: https://issues.apache.org/jira/browse/HBASE-521
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.2.0
>
>         Attachments: 521-v2.patch, 521-v3.patch, 521-v4.patch, 521.patch
>
>
> The current client scanner interface is pretty ugly. You need to instantiate 
> an HStoreKey and SortedMap<Text, byte[]> externally and then pass them into 
> next. This is pretty bad, because for starters, the client has to choose the 
> implementation of the map when they create it, so it's extra brain cycles to 
> figure that out. HStoreKey doesn't show up anywhere else in the entire client 
> side API, but here it bubbles out of next as a way to get the row and 
> presumably the timestamp of the columns.
> I propose that we supplant HScannerInterface with Scanner, an easier-to-use 
> version for clients. Its next method would look something like:
> {code}
> public RowResult next() throws IOException;
> {code}
> This packs the data up much more cleanly, including using Cells as values 
> instead of raw byte[], meaning you have much more granular timestamp 
> information. You also don't need HStoreKey anymore.
> By breaking Scanner away from HScannerInterface, we can leave the internal 
> scanning code completely alone (keep using HStoreKeys and such) but make the 
> client cleaner.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to