Skip to content

Commit 391e0b1

Browse files
authored
sql/parse: fix != parsing. (#80)
1 parent 9c28c6b commit 391e0b1

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

sql/parse/parse.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,10 @@ func comparisonExprToExpression(c *sqlparser.ComparisonExpr) (sql.Expression,
274274
return expression.NewGreaterThan(left, right), nil
275275
case sqlparser.GreaterEqualStr:
276276
return expression.NewGreaterThanOrEqual(left, right), nil
277+
case sqlparser.NotEqualStr:
278+
return expression.NewNot(
279+
expression.NewEquals(left, right),
280+
), nil
277281
}
278282
}
279283

sql/parse/parse_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,18 @@ var fixtures = map[string]sql.Node{
5656
plan.NewUnresolvedTable("foo"),
5757
),
5858
),
59+
`SELECT * FROM foo WHERE foo != 'bar';`: plan.NewProject(
60+
[]sql.Expression{
61+
expression.NewStar(),
62+
},
63+
plan.NewFilter(
64+
expression.NewNot(expression.NewEquals(
65+
expression.NewUnresolvedColumn("foo"),
66+
expression.NewLiteral("bar", sql.String),
67+
)),
68+
plan.NewUnresolvedTable("foo"),
69+
),
70+
),
5971
`SELECT foo, bar FROM foo LIMIT 10;`: plan.NewProject(
6072
[]sql.Expression{
6173
expression.NewUnresolvedColumn("foo"),

0 commit comments

Comments
 (0)