Skip to content

Commit 3a67691

Browse files
fix(sqlite): code generation for sqlc.slice (#2431)
Fixes #2430
1 parent 10e51f8 commit 3a67691

File tree

6 files changed

+182
-0
lines changed

6 files changed

+182
-0
lines changed

internal/codegen/golang/templates/stdlib/queryCode.tmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,11 @@ func (q *Queries) {{.MethodName}}(ctx context.Context, {{ dbarg }} {{.Arg.Pair}}
142142
query = strings.Replace(query, "/*SLICE:{{.Arg.Column.Name}}*/?", "NULL", 1)
143143
}
144144
{{- end }}
145+
{{- if emitPreparedQueries }}
146+
{{ queryRetval . }} {{ queryMethod . }}(ctx, nil, query, queryParams...)
147+
{{- else}}
145148
{{ queryRetval . }} {{ queryMethod . }}(ctx, query, queryParams...)
149+
{{- end -}}
146150
{{- else if emitPreparedQueries }}
147151
{{- queryRetval . }} {{ queryMethod . }}(ctx, q.{{.FieldName}}, {{.ConstantName}}, {{.Arg.Params}})
148152
{{- else}}

internal/endtoend/testdata/sqlc_slice_prepared/sqlite/go/db.go

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

internal/endtoend/testdata/sqlc_slice_prepared/sqlite/go/models.go

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

internal/endtoend/testdata/sqlc_slice_prepared/sqlite/go/query.sql.go

Lines changed: 56 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE TABLE foo (id int not null, name text not null, bar text);
2+
3+
/* name: FuncParamIdent :many */
4+
SELECT name FROM foo
5+
WHERE name = sqlc.arg(slug)
6+
AND id IN (sqlc.slice(favourites));
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"engine": "sqlite",
6+
"path": "go",
7+
"name": "querytest",
8+
"schema": "query.sql",
9+
"queries": "query.sql",
10+
"emit_prepared_queries": true
11+
}
12+
]
13+
}

0 commit comments

Comments
 (0)