func RequiredMatchersFilter(next storage.Queryable, required []*labels.Matcher) storage.Queryable {
	return storage.QueryableFunc(func(ctx context.Context, mint, maxt int64) (storage.Querier, error) {
		q, err := next.Querier(ctx, mint, maxt)
		if err != nil {
			return nil, err
		}
		return &requiredMatchersQuerier{Querier: q, requiredMatchers: required}, nil
	})
}
func RequiredMatchersFilter(next storage.Queryable, required []*labels.Matcher) storage.Queryable {
	return storage.QueryableFunc(func(ctx context.Context, mint, maxt int64) (storage.Querier, error) {
		q, err := next.Querier(ctx, mint, maxt)
		if err != nil {
			return nil, err
		}
		return &requiredMatchersQuerier{Querier: q, requiredMatchers: required}, nil
	})
}
func RequiredMatchersFilter ( next storage . Queryable , required [ ] * labels . Matcher ) storage . Queryable { return storage . QueryableFunc ( func ( ctx context . Context , mint , maxt int64 ) ( storage . Querier , error ) { q , err := next . Querier ( ctx , mint , maxt ) if err != nil { return nil , err } return & requiredMatchersQuerier { Querier : q , requiredMatchers : required } , nil } ) }
// RequiredMatchersFilter returns a storage.Queryable which creates a
// requiredMatchersQuerier.
RequiredMatchersFilter returns a storage . Queryable which creates a requiredMatchersQuerier .