diff --git a/pkg/iter/iterator.go b/pkg/iter/iterator.go index 4d47ddd2a010b6083a9a804cf76a642633673259..9112b133a5b4bc4fc7c3e55b20b0fc31d3ff6aa6 100644 --- a/pkg/iter/iterator.go +++ b/pkg/iter/iterator.go @@ -4,7 +4,6 @@ import ( "container/heap" "fmt" "io" - "regexp" "sort" "time" @@ -298,6 +297,7 @@ type filter struct { f func(string) bool } +// NewFilter builds a filtering iterator. func NewFilter(f func(string) bool, i EntryIterator) EntryIterator { return &filter{ f: f, @@ -314,32 +314,6 @@ func (i *filter) Next() bool { return false } -type regexpFilter struct { - re *regexp.Regexp - EntryIterator -} - -// NewRegexpFilter returns an iterator that filters entries by regexp. -func NewRegexpFilter(r string, i EntryIterator) (EntryIterator, error) { - re, err := regexp.Compile(r) - if err != nil { - return nil, err - } - return ®expFilter{ - re: re, - EntryIterator: i, - }, nil -} - -func (i *regexpFilter) Next() bool { - for i.EntryIterator.Next() { - if i.re.MatchString(i.Entry().Line) { - return true - } - } - return false -} - type nonOverlappingIterator struct { labels string i int diff --git a/pkg/querier/store.go b/pkg/querier/store.go index 3daa182337e515adb7e3f165088add37700e44f4..3e8ca7f0d4584c582d75d7f056a76827d4b1b50c 100644 --- a/pkg/querier/store.go +++ b/pkg/querier/store.go @@ -112,12 +112,6 @@ func buildHeapIterator(ctx context.Context, req *logproto.QueryRequest, chks [][ if err != nil { return nil, err } - if req.Regex != "" { - iterator, err = iter.NewRegexpFilter(req.Regex, iterator) - if err != nil { - return nil, err - } - } iterators = append(iterators, iterator) }