Add SeriesIDSet() to Index interface

pull/9879/head
Jacob Marble 2018-05-15 14:57:37 -07:00
parent 3f2ff742c0
commit 735aa2d7dc
3 changed files with 10 additions and 31 deletions

View File

@ -2404,9 +2404,7 @@ func (e *Engine) Reopen() error {
// index. It will panic if the underlying index does not have a SeriesIDSet
// method.
func (e *Engine) SeriesIDSet() *tsdb.SeriesIDSet {
return e.index.(interface {
SeriesIDSet() *tsdb.SeriesIDSet
}).SeriesIDSet()
return e.index.SeriesIDSet()
}
// AddSeries adds the provided series data to the index and writes a point to

View File

@ -37,6 +37,7 @@ type Index interface {
MeasurementsSketches() (estimator.Sketch, estimator.Sketch, error)
SeriesN() int64
SeriesSketches() (estimator.Sketch, estimator.Sketch, error)
SeriesIDSet() *SeriesIDSet
HasTagKey(name, key []byte) (bool, error)
HasTagValue(name, key, value []byte) (bool, error)

View File

@ -655,12 +655,7 @@ func (s *Store) DeleteShard(shardID uint64) error {
return err
}
var ss *SeriesIDSet
if i, ok := index.(interface {
SeriesIDSet() *SeriesIDSet
}); ok {
ss = i.SeriesIDSet()
}
ss := index.SeriesIDSet()
db := sh.Database()
if err := sh.Close(); err != nil {
@ -677,13 +672,7 @@ func (s *Store) DeleteShard(shardID uint64) error {
return err
}
if i, ok := index.(interface {
SeriesIDSet() *SeriesIDSet
}); ok {
ss.Diff(i.SeriesIDSet())
} else {
return fmt.Errorf("unable to get series id set for index in shard at %s", sh.Path())
}
ss.Diff(index.SeriesIDSet())
return nil
})
@ -1015,16 +1004,11 @@ func (s *Store) SeriesCardinality(database string) (int64, error) {
return err
}
if i, ok := index.(interface {
SeriesIDSet() *SeriesIDSet
}); ok {
seriesIDs := i.SeriesIDSet()
setMu.Lock()
others = append(others, seriesIDs)
setMu.Unlock()
} else {
return fmt.Errorf("unable to get series id set for index in shard at %s", sh.Path())
}
seriesIDs := index.SeriesIDSet()
setMu.Lock()
others = append(others, seriesIDs)
setMu.Unlock()
return nil
})
@ -1929,11 +1913,7 @@ func (s shardSet) ForEach(f func(ids *SeriesIDSet)) error {
return err
}
if t, ok := idx.(interface {
SeriesIDSet() *SeriesIDSet
}); ok {
f(t.SeriesIDSet())
}
f(idx.SeriesIDSet())
}
return nil
}