Skip to content

Commit 36500aa

Browse files
committed
store/bigtable: fix range limits
1 parent 34ce72c commit 36500aa

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

db2/raw.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (db RawStore) parseRow(chainID uint64, number int64, data map[string][]byte
131131
}
132132

133133
func (db RawStore) ReadBlocksByNumber(chainID uint64, start, end int64) ([]*FullBlockRawData, error) {
134-
rows, err := db.store.GetRowsRange(blockKey(chainID, start-1), blockKey(chainID, end))
134+
rows, err := db.store.GetRowsRange(blockKey(chainID, start), blockKey(chainID, end))
135135
if err != nil {
136136
return nil, err
137137
}

db2/store/bigtable.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ func (b BigTableStore) GetRowsRange(table, high, low string) (map[string]map[str
263263
ctx, cancel := context.WithTimeout(context.Background(), timeout)
264264
defer cancel()
265265

266-
rowRange := bigtable.NewRange(low, high)
266+
rowRange := bigtable.NewClosedRange(low, high)
267267
data := make(map[string]map[string][]byte)
268268
err := tbl.ReadRows(ctx, rowRange, func(row bigtable.Row) bool {
269269
data[row.Key()] = make(map[string][]byte)

db2/store/bigtable_test.go

+21
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,24 @@ func TestBigTableStore(t *testing.T) {
169169
t.Errorf("cannot close db: %v", err)
170170
}
171171
}
172+
173+
func TestRangeIncludeLimits(t *testing.T) {
174+
tables := map[string][]string{"testTable": {"testFamily"}}
175+
client, admin := storetest.NewBigTable(t)
176+
store, err := NewBigTableWithClient(context.Background(), client, admin, tables)
177+
if err != nil {
178+
t.Fatal(err)
179+
}
180+
db := Wrap(store, "testTable", "testFamily")
181+
182+
db.Add("1:999999999999", "", []byte("0"), false)
183+
db.Add("1:999999999998", "", []byte("1"), false)
184+
185+
rows, err := db.GetRowsRange("1:999999999999", "1:999999999998")
186+
if err != nil {
187+
t.Fatal(err)
188+
}
189+
if got, want := len(rows), 2; got != want {
190+
t.Errorf("got %v want %v", got, want)
191+
}
192+
}

0 commit comments

Comments
 (0)