From 76af0f39e036c06e612e92f45f201f4477cbb400 Mon Sep 17 00:00:00 2001 From: "Santiago M. Mola" Date: Fri, 13 Jan 2017 11:07:18 +0100 Subject: [PATCH] sql/parse: update sqlparser api. Fixes #90. * update to latest sqlparser api. * use gitql/vitess fork instead of youtube/vitess. --- sql/parse/parse.go | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/sql/parse/parse.go b/sql/parse/parse.go index 4d0cbad1a..8daacbb3a 100644 --- a/sql/parse/parse.go +++ b/sql/parse/parse.go @@ -10,7 +10,7 @@ import ( "github.com/gitql/gitql/sql/expression" "github.com/gitql/gitql/sql/plan" - "github.com/youtube/vitess/go/vt/sqlparser" + "github.com/gitql/vitess/go/vt/sqlparser" ) const ( @@ -317,17 +317,23 @@ func valExprToExpression(ve sqlparser.ValExpr) (sql.Expression, error) { switch v := ve.(type) { default: return nil, errUnsupported(v) - case sqlparser.StrVal: - return expression.NewLiteral(string(v), sql.String), nil - //TODO: case sqlparser.BoolVal: - // return expression.NewLiteral(bool(v), sql.Boolean), nil - case sqlparser.NumVal: - //TODO: Use smallest integer representation and widen later. - n, _ := strconv.ParseInt(string(v), 10, 64) - return expression.NewLiteral(n, sql.BigInteger), nil - case sqlparser.HexVal: - //TODO - return nil, errUnsupported(v) + case *sqlparser.SQLVal: + switch v.Type { + case sqlparser.StrVal: + return expression.NewLiteral(string(v.Val), sql.String), nil + case sqlparser.IntVal: + //TODO: Use smallest integer representation and widen later. + n, _ := strconv.ParseInt(string(v.Val), 10, 64) + return expression.NewLiteral(n, sql.BigInteger), nil + case sqlparser.HexVal: + //TODO + return nil, errUnsupported(v) + default: + //TODO + return nil, errUnsupported(v) + } + case sqlparser.BoolVal: + return expression.NewLiteral(bool(v), sql.Boolean), nil case *sqlparser.NullVal: //TODO return expression.NewLiteral(nil, sql.Null), nil