diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index d679ea5349e..dc37b3f48d5 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -199,7 +199,7 @@ func (ct *ColumnType) DescribeType() string { // SQLType returns the sqltypes type code for the given column func (ct *ColumnType) SQLType() querypb.Type { - switch ct.Type { + switch strings.ToLower(ct.Type) { case keywordStrings[TINYINT]: if ct.Unsigned { return sqltypes.Uint8 diff --git a/go/vt/sqlparser/ast_test.go b/go/vt/sqlparser/ast_test.go index 82d680567b8..16089143fb0 100644 --- a/go/vt/sqlparser/ast_test.go +++ b/go/vt/sqlparser/ast_test.go @@ -24,6 +24,8 @@ import ( "testing" "unsafe" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) @@ -784,3 +786,9 @@ func TestSplitStatementToPieces(t *testing.T) { } } } + +func TestTypeConversion(t *testing.T) { + ct1 := &ColumnType{Type: "BIGINT"} + ct2 := &ColumnType{Type: "bigint"} + assert.Equal(t, ct1.SQLType(), ct2.SQLType()) +} diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index 760935acd83..21f62e73162 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -20,6 +20,7 @@ import ( "bytes" "fmt" "io" + "strings" "vitess.io/vitess/go/bytes2" "vitess.io/vitess/go/sqltypes" @@ -418,7 +419,7 @@ func init() { if id == UNUSED { continue } - keywordStrings[id] = str + keywordStrings[id] = strings.ToLower(str) } }