From e73024d3a4440e409248695538baf6843ffd9bf0 Mon Sep 17 00:00:00 2001
From: Tom Wilkie <tom.wilkie@gmail.com>
Date: Thu, 18 Apr 2019 16:38:15 +0800
Subject: [PATCH] Remove RegexpIter, we don't need it.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
---
 pkg/iter/iterator.go | 28 +---------------------------
 pkg/querier/store.go |  6 ------
 2 files changed, 1 insertion(+), 33 deletions(-)

diff --git a/pkg/iter/iterator.go b/pkg/iter/iterator.go
index 4d47ddd2..9112b133 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 &regexpFilter{
-		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 3daa1823..3e8ca7f0 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)
 		}
 
-- 
GitLab