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

ncanis commented on HBASE-3453:
-------------------------------

to ryan rawson

you're right.
most
of the scalable designs don't use offset,limit

gmail of google also doesn't have paging, just using prev/next

If we want to implement like gmail list, we must know start row key.(clients 
know last rowkey. :) )

so, I'm working to solve paging problem.

-----------------
for example

1. search(byte[] startRow, String col, byte[] value)   : clients know last 
startRow value in their list.
2. find out column position in col index table.
3. I set start rowkey = Bytes.add(si.getValue(),startRow);
4. add PageFilter
5. run getIndexedScanner
6. done.

Thanks a lot  for your help.

I deprecated RowPaginationFilter




> How about RowPaginationFilter
> -----------------------------
>
>                 Key: HBASE-3453
>                 URL: https://issues.apache.org/jira/browse/HBASE-3453
>             Project: HBase
>          Issue Type: Wish
>          Components: client
>    Affects Versions: 0.90.1
>         Environment: windows 7
>            Reporter: ncanis
>         Attachments: RowPaginationFilter.java
>
>
> I know hbase has already PageFilter.
> But, sometime we need to get row data from specified position.
> * only for newbie:
>   If you want to write custom Filter, you also add filter class to an hbase 
> server classpath.
> {code:title=RowPaginationFilter|borderStyle=solid}
> /**
>        * Constructor that takes a maximum page size.
>        * 
>        * get row from offset to offset+limit ( offset<= row<=offset+limit )
>        * @param offset start position
>        * @param limit count from offset position
>        */
>       public RowPaginationFilter(final int offset, final int limit) {
>               this.offset = offset;
>               this.limit = limit;
>       }
>       //true to exclude row, false to include row.
>       @Override
>       public boolean filterRow() {    
>       
>               boolean isExclude = this.rowsAccepted < this.offset || 
> this.rowsAccepted>=this.limit+this.offset;
>               rowsAccepted++;
>               return isExclude;
>       }
> {code}
> -----------------

-- 
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