Skip to content

Commit b133905

Browse files
committed
allow terminating loop by returning error
1 parent 5572e43 commit b133905

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

internal/templates/stdlib/queryCode.tmpl

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (q *Queries) {{.MethodName}}(ctx context.Context, {{ dbarg }} {{.Arg.Pair}}
3939
{{if eq .Cmd ":many"}}
4040
{{range .Comments}}//{{.}}
4141
{{end -}}
42-
func (q *Queries) {{.MethodName}}(ctx context.Context, {{ dbarg }} {{.Arg.Pair}} {{if ne .Arg.Pair "" }},{{end}} {{ .Ret.Name }}OptionalInitFunc func(*{{.Ret.DefineType}}), {{ .Ret.Name }}OptionalFilterFunc func({{.Ret.DefineType}}) bool) ([]{{.Ret.DefineType}}, error) {
42+
func (q *Queries) {{.MethodName}}(ctx context.Context, {{ dbarg }} {{.Arg.Pair}} {{if ne .Arg.Pair "" }},{{end}} {{ .Ret.Name }}OptionalInitFunc func(*{{.Ret.DefineType}}), {{ .Ret.Name }}OptionalFilterFunc func({{.Ret.DefineType}}) (bool,error)) ([]{{.Ret.DefineType}}, error) {
4343
{{- template "queryCodeStdExec" . }}
4444
if err != nil {
4545
return nil, err
@@ -60,9 +60,16 @@ func (q *Queries) {{.MethodName}}(ctx context.Context, {{ dbarg }} {{.Arg.Pair}}
6060
return nil, err
6161
}
6262

63-
if {{ .Ret.Name }}OptionalFilterFunc != nil && !{{ .Ret.Name }}OptionalFilterFunc({{.Ret.ReturnName}}) {
64-
continue
63+
if {{ .Ret.Name }}OptionalFilterFunc != nil {
64+
add, err := {{ .Ret.Name }}OptionalFilterFunc({{.Ret.ReturnName}})
65+
if err != nil {
66+
return nil, err
67+
}
68+
if !add {
69+
continue
70+
}
6571
}
72+
6673
items = append(items, {{.Ret.ReturnName}})
6774
}
6875
if err := rows.Close(); err != nil {

0 commit comments

Comments
 (0)