From c1de0a5adf3ef2f89666e640e0b95d25ce0a447f Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Tue, 2 Jul 2019 06:27:25 +0200 Subject: [PATCH] Do not parse filters on empty string (avoid "empty node set" error) --- .../internal/repository/record_report_builder.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/compose/internal/repository/record_report_builder.go b/compose/internal/repository/record_report_builder.go index 40bc224cd..e032b2cf5 100644 --- a/compose/internal/repository/record_report_builder.go +++ b/compose/internal/repository/record_report_builder.go @@ -141,13 +141,15 @@ func (b *recordReportBuilder) Build(metrics, dimensions, filters string) (sql st // Use a different handler for filter functions for this b.parser.OnFunction = stdFilterFuncHandler - var filter ql.ASTNode - if filter, err = b.parser.ParseExpression(filters); err != nil { - err = errors.Wrapf(err, "could not parse filters %q", filters) - return - } + if len(filters) > 0 { + var filter ql.ASTNode + if filter, err = b.parser.ParseExpression(filters); err != nil { + err = errors.Wrapf(err, "could not parse filters %q", filters) + return + } - b.report = b.report.Where(filter) + b.report = b.report.Where(filter) + } return b.report.ToSql() }