Skip to content

Commit 0c34ece

Browse files
committed
Trim spaces and empty statements to the right in planbuilder.Parse
1 parent fc7e3c8 commit 0c34ece

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

sql/planbuilder/parse.go

+9-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package planbuilder
33
import (
44
goerrors "errors"
55
"strings"
6+
"unicode"
67

78
"github.com/dolthub/vitess/go/vt/sqlparser"
89
"go.opentelemetry.io/otel/attribute"
@@ -37,9 +38,10 @@ func parse(ctx *sql.Context, cat sql.Catalog, query string, multi bool) (sql.Nod
3738
defer span.End()
3839

3940
s := strings.TrimSpace(query)
40-
if strings.HasSuffix(s, ";") {
41-
s = s[:len(s)-1]
42-
}
41+
// trim spaces and empty statements
42+
s = strings.TrimRightFunc(s, func(r rune) bool {
43+
return r == ';' || unicode.IsSpace(r)
44+
})
4345

4446
var stmt sqlparser.Statement
4547
var err error
@@ -55,9 +57,10 @@ func parse(ctx *sql.Context, cat sql.Catalog, query string, multi bool) (sql.Nod
5557
if ri != 0 && ri < len(s) {
5658
parsed = s[:ri]
5759
parsed = strings.TrimSpace(parsed)
58-
if strings.HasSuffix(parsed, ";") {
59-
parsed = parsed[:len(parsed)-1]
60-
}
60+
// trim spaces and empty statements
61+
parsed = strings.TrimRightFunc(parsed, func(r rune) bool {
62+
return r == ';' || unicode.IsSpace(r)
63+
})
6164
remainder = s[ri:]
6265
}
6366
}

0 commit comments

Comments
 (0)