Skip to content

Commit e178fdd

Browse files
authored
engine/mysql: Add support for LIKE (#1162)
1 parent 0143129 commit e178fdd

File tree

11 files changed

+194
-1
lines changed

11 files changed

+194
-1
lines changed

internal/endtoend/testdata/pattern_matching/mysql/go/db.go

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/pattern_matching/mysql/go/models.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/pattern_matching/mysql/go/query.sql.go

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CREATE TABLE pet (name text);
2+
3+
-- name: PetsByName :many
4+
SELECT * FROM pet WHERE name LIKE ?;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"engine": "mysql",
6+
"path": "go",
7+
"name": "querytest",
8+
"schema": "query.sql",
9+
"queries": "query.sql"
10+
}
11+
]
12+
}

internal/endtoend/testdata/pattern_matching/postgresql/go/db.go

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/pattern_matching/postgresql/go/models.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/pattern_matching/postgresql/go/query.sql.go

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CREATE TABLE pet (name text);
2+
3+
-- name: PetsByName :many
4+
SELECT * FROM pet WHERE name LIKE $1;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"engine": "postgresql",
6+
"path": "go",
7+
"name": "querytest",
8+
"schema": "query.sql",
9+
"queries": "query.sql"
10+
}
11+
]
12+
}

internal/engine/dolphin/convert.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -880,7 +880,16 @@ func (c *cc) convertPatternInExpr(n *pcast.PatternInExpr) ast.Node {
880880
}
881881

882882
func (c *cc) convertPatternLikeExpr(n *pcast.PatternLikeExpr) ast.Node {
883-
return todo(n)
883+
return &ast.A_Expr{
884+
Kind: ast.A_Expr_Kind(9),
885+
Name: &ast.List{
886+
Items: []ast.Node{
887+
&ast.String{Str: "~~"},
888+
},
889+
},
890+
Lexpr: c.convert(n.Expr),
891+
Rexpr: c.convert(n.Pattern),
892+
}
884893
}
885894

886895
func (c *cc) convertPatternRegexpExpr(n *pcast.PatternRegexpExpr) ast.Node {

0 commit comments

Comments
 (0)