Skip to content

Commit eb19933

Browse files
committed
wip
1 parent fd52526 commit eb19933

7 files changed

Lines changed: 25 additions & 78 deletions

File tree

internal/compiler/analyze.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,6 @@ func (c *Compiler) inferQuery(raw *ast.RawStmt, query string) (*analysis, error)
9696
}
9797

9898
func (c *Compiler) _analyzeQuery(raw *ast.RawStmt, query string, failfast bool) (*analysis, error) {
99-
numbers, dollar, err := validate.ParamRef(raw)
100-
// TODO: This might be the wrong thing
101-
if err != nil {
102-
return nil, err
103-
}
104-
105-
raw, namedParams, edits := rewrite.NamedParameters(c.conf.Engine, raw, numbers, dollar)
106-
10799
errors := make([]error, 0)
108100
check := func(err error) error {
109101
if failfast {
@@ -115,6 +107,13 @@ func (c *Compiler) _analyzeQuery(raw *ast.RawStmt, query string, failfast bool)
115107
return nil
116108
}
117109

110+
numbers, dollar, err := validate.ParamRef(raw)
111+
if err := check(err); err != nil {
112+
return nil, err
113+
}
114+
115+
raw, namedParams, edits := rewrite.NamedParameters(c.conf.Engine, raw, numbers, dollar)
116+
118117
var table *ast.TableName
119118
switch n := raw.Stmt.(type) {
120119
case *ast.CallStmt:

internal/endtoend/testdata/operator_string_concat/postgresql/pgx/v4/go/query.sql.go

Lines changed: 4 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
-- name: Test :one
2-
select * from Demo
3-
where txt ~~ '%' || sqlc.arg('val') || '%';
4-
51
-- name: Test2 :one
62
select * from Demo
7-
where txt like '%' || sqlc.arg('val') || '%';
3+
where txt like '%' || sqlc.arg('val')::text || '%';
84

95
-- name: Test3 :one
106
select * from Demo
11-
where txt like concat('%', sqlc.arg('val'), '%');
7+
where txt like concat('%', sqlc.arg('val')::text, '%');

internal/endtoend/testdata/operator_string_concat/postgresql/pgx/v5/go/query.sql.go

Lines changed: 4 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
-- name: Test :one
2-
select * from Demo
3-
where txt ~~ '%' || sqlc.arg('val') || '%';
4-
51
-- name: Test2 :one
62
select * from Demo
7-
where txt like '%' || sqlc.arg('val') || '%';
3+
where txt like '%' || sqlc.arg('val')::text || '%';
84

95
-- name: Test3 :one
106
select * from Demo
11-
where txt like concat('%', sqlc.arg('val'), '%');
7+
where txt like concat('%', sqlc.arg('val')::text, '%');

internal/endtoend/testdata/operator_string_concat/postgresql/stdlib/go/query.sql.go

Lines changed: 4 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
-- name: Test :one
2-
select * from Demo
3-
where txt ~~ '%' || sqlc.arg('val') || '%';
4-
51
-- name: Test2 :one
62
select * from Demo
7-
where txt like '%' || sqlc.arg('val') || '%';
3+
where txt like '%' || sqlc.arg('val')::text || '%';
84

95
-- name: Test3 :one
106
select * from Demo
11-
where txt like concat('%', sqlc.arg('val'), '%');
7+
where txt like concat('%', sqlc.arg('val')::text, '%');

0 commit comments

Comments
 (0)