| 724 | } |
| 725 | |
| 726 | func (tx *Tx) GetRange(bucket string, key []byte, start, end int) ([]byte, error) { |
| 727 | if start > end { |
| 728 | return nil, ErrStartGreaterThanEnd |
| 729 | } |
| 730 | |
| 731 | value, err := tx.get(bucket, key) |
| 732 | if err != nil { |
| 733 | return nil, err |
| 734 | } |
| 735 | |
| 736 | if start >= len(value) { |
| 737 | return nil, nil |
| 738 | } |
| 739 | |
| 740 | if end >= len(value) { |
| 741 | return value[start:], nil |
| 742 | } |
| 743 | |
| 744 | return value[start : end+1], nil |
| 745 | } |
| 746 | |
| 747 | // loadValue in order to load value during pending and |
| 748 | // stored items, we need this function to load value and |