fix bugs with history query paging

This commit is contained in:
sawka
2023-03-06 15:42:50 -08:00
parent 454c8758cd
commit 66f55ad85c
+5 -2
View File
@@ -221,7 +221,7 @@ func _getNextHistoryItem(items []*HistoryItemType, index int, filterFn func(*His
// returns true if done, false if we still need to process more items
func (result *HistoryQueryResult) processItem(item *HistoryItemType, rawOffset int) bool {
if result.Offset < result.prevItems {
if result.prevItems < result.Offset {
result.prevItems++
return false
}
@@ -230,6 +230,9 @@ func (result *HistoryQueryResult) processItem(item *HistoryItemType, rawOffset i
result.NextRawOffset = rawOffset
return true
}
if len(result.Items) == 0 {
result.RawOffset = rawOffset
}
result.Items = append(result.Items, item)
return false
}
@@ -238,7 +241,7 @@ func runHistoryQueryWithFilter(tx *TxWrap, opts HistoryQueryOpts) (*HistoryQuery
if opts.MaxItems == 0 {
return nil, fmt.Errorf("invalid query, maxitems is 0")
}
rtn := &HistoryQueryResult{Offset: opts.RawOffset, MaxItems: opts.MaxItems}
rtn := &HistoryQueryResult{Offset: opts.Offset, MaxItems: opts.MaxItems}
var rawOffset int
if opts.RawOffset >= opts.Offset {
rtn.prevItems = opts.Offset