From fc96662d7df21836d2eca12b1d918324c7bf05ec Mon Sep 17 00:00:00 2001 From: David Shiflet Date: Wed, 18 Jan 2023 14:05:02 -0600 Subject: [PATCH] allow var names to start with _ --- pkg/sqlcmd/variables.go | 2 +- pkg/sqlcmd/variables_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/sqlcmd/variables.go b/pkg/sqlcmd/variables.go index e86a5b5e..32cfcdd6 100644 --- a/pkg/sqlcmd/variables.go +++ b/pkg/sqlcmd/variables.go @@ -285,7 +285,7 @@ func ValidIdentifier(name string) error { first := true for _, c := range name { - if !unicode.IsLetter(c) && (first || (!unicode.IsDigit(c) && !strings.ContainsRune(validVariableRunes, c))) { + if !unicode.IsLetter(c) && c != '_' && (first || (!unicode.IsDigit(c) && !strings.ContainsRune(validVariableRunes, c))) { return fmt.Errorf("Invalid variable identifier %s", name) } first = false diff --git a/pkg/sqlcmd/variables_test.go b/pkg/sqlcmd/variables_test.go index cf4de871..b30cc53f 100644 --- a/pkg/sqlcmd/variables_test.go +++ b/pkg/sqlcmd/variables_test.go @@ -104,6 +104,7 @@ func TestValidIdentifier(t *testing.T) { {"A1", true}, {"A+", false}, {"A-_b", true}, + {"__X", true}, } for _, tst := range tests { err := ValidIdentifier(tst.raw)