File tree Expand file tree Collapse file tree 2 files changed +22
-6
lines changed
Expand file tree Collapse file tree 2 files changed +22
-6
lines changed Original file line number Diff line number Diff line change @@ -92,18 +92,23 @@ func (m *mergedSeriesIterator) At() (t int64, v float64) {
9292 return m .lastIter .At ()
9393}
9494
95- func (it * mergedSeriesIterator ) AtHistogram (h * histogram.Histogram ) (int64 , * histogram.Histogram ) {
96- return it .lastIter .AtHistogram (h )
95+ func (m * mergedSeriesIterator ) AtHistogram (h * histogram.Histogram ) (int64 , * histogram.Histogram ) {
96+ return m .lastIter .AtHistogram (h )
9797}
9898
99- func (it * mergedSeriesIterator ) AtFloatHistogram (fh * histogram.FloatHistogram ) (int64 , * histogram.FloatHistogram ) {
100- return it .lastIter .AtFloatHistogram (fh )
99+ func (m * mergedSeriesIterator ) AtFloatHistogram (fh * histogram.FloatHistogram ) (int64 , * histogram.FloatHistogram ) {
100+ return m .lastIter .AtFloatHistogram (fh )
101101}
102102
103- func (it * mergedSeriesIterator ) AtT () int64 {
104- return it .lastT
103+ func (m * mergedSeriesIterator ) AtT () int64 {
104+ return m .lastT
105105}
106106
107+ // Err All At() funcs should panic if called after Next() or Seek() return ValNone.
108+ // Only Err() should return nil even after Next() or Seek() return ValNone.
107109func (m * mergedSeriesIterator ) Err () error {
110+ if m .lastIter == nil {
111+ return nil
112+ }
108113 return m .lastIter .Err ()
109114}
Original file line number Diff line number Diff line change 44package dedup
55
66import (
7+ "math"
78 "testing"
89
910 "github.com/efficientgo/core/testutil"
1011 "github.com/prometheus/prometheus/model/labels"
1112 "github.com/prometheus/prometheus/storage"
13+ "github.com/prometheus/prometheus/tsdb/chunkenc"
1214)
1315
16+ func TestIteratorEdgeCases (t * testing.T ) {
17+ ms := NewMergedSeries (labels.Labels {}, []storage.Series {})
18+ it := ms .Iterator (nil )
19+ testutil .Ok (t , it .Err ())
20+ testutil .Equals (t , int64 (math .MinInt64 ), it .AtT ())
21+ testutil .Equals (t , chunkenc .ValNone , it .Next ())
22+ testutil .Ok (t , it .Err ())
23+ }
24+
1425func TestMergedSeriesIterator (t * testing.T ) {
1526 for _ , tcase := range []struct {
1627 name string
You can’t perform that action at this time.
0 commit comments