summaryrefslogtreecommitdiff
path: root/internal/mapr/query.go
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2021-10-15 12:38:39 +0300
committerPaul Buetow <pbuetow@mimecast.com>2021-10-15 12:38:39 +0300
commit1edc1469024d3cb74473bd99959d5d1068229c39 (patch)
tree72618e384626d9fc368994e3f24be9e9892d0610 /internal/mapr/query.go
parent4e1b7f6ff7e3f10bda852da90f7b62d5dbccd455 (diff)
parentc0332e8fa13f4939de17c856b2e71fd093847253 (diff)
merge from github.com/snonux/dtail
Diffstat (limited to 'internal/mapr/query.go')
-rw-r--r--internal/mapr/query.go27
1 files changed, 8 insertions, 19 deletions
diff --git a/internal/mapr/query.go b/internal/mapr/query.go
index 7f6b63c..d7c32bd 100644
--- a/internal/mapr/query.go
+++ b/internal/mapr/query.go
@@ -6,8 +6,6 @@ import (
"strconv"
"strings"
"time"
-
- "github.com/mimecast/dtail/internal/io/logger"
)
const (
@@ -34,7 +32,9 @@ type Query struct {
}
func (q Query) String() string {
- return fmt.Sprintf("Query(Select:%v,Table:%s,Where:%v,Set:%vGroupBy:%v,GroupKey:%s,OrderBy:%v,ReverseOrder:%v,Interval:%v,Limit:%d,Outfile:%s,RawQuery:%s,tokens:%v,LogFormat:%s)",
+ return fmt.Sprintf("Query(Select:%v,Table:%s,Where:%v,Set:%vGroupBy:%v,"+
+ "GroupKey:%s,OrderBy:%v,ReverseOrder:%v,Interval:%v,Limit:%d,Outfile:%s,"+
+ "RawQuery:%s,tokens:%v,LogFormat:%s)",
q.Select,
q.Table,
q.Where,
@@ -56,20 +56,14 @@ func NewQuery(queryStr string) (*Query, error) {
if queryStr == "" {
return nil, nil
}
-
tokens := tokenize(queryStr)
-
q := Query{
RawQuery: queryStr,
tokens: tokens,
Interval: time.Second * 5,
Limit: -1,
}
-
- err := q.parse(tokens)
-
- logger.Debug(q)
- return &q, err
+ return &q, q.parse(tokens)
}
// HasOutfile returns true if query result will be written to a CVS output file.
@@ -177,20 +171,14 @@ func (q *Query) parse(tokens []token) error {
}
}
- // Comment out for empty table support, which is "all" log lines.
- /*
- if q.Table == "" {
- return errors.New(invalidQuery + "Empty table specified in 'from' clause")
- }
- */
if len(q.Select) < 1 {
- return errors.New(invalidQuery + "Expected at least one field in 'select' clause but got none")
+ return errors.New(invalidQuery + "Expected at least one field in 'select' " +
+ "clause but got none")
}
if len(q.GroupBy) == 0 {
field := q.Select[0].Field
q.GroupBy = append(q.GroupBy, field)
}
-
if q.OrderBy != "" {
var orderFieldIsValid bool
for _, sc := range q.Select {
@@ -200,7 +188,8 @@ func (q *Query) parse(tokens []token) error {
}
}
if !orderFieldIsValid {
- return errors.New(invalidQuery + fmt.Sprintf("Can not '(r)order by' '%s', must be present in 'select' clause", q.OrderBy))
+ return errors.New(invalidQuery + fmt.Sprintf("Can not '(r)order by' '%s',"+
+ "must be present in 'select' clause", q.OrderBy))
}
}