storj/satellite/satellitedb/dbx/templates/golang.get-scalar.tmpl
JT Olio ea2f39ca7f satellite/dbx: add retries for QueryRowContext-based operations
Change-Id: Ie2527b673dd4ce5250cf5c0cbf8f14921262f665
2020-11-29 18:09:46 -07:00

30 lines
705 B
Cheetah

{{- define "signature" -}}
Find_{{ .Suffix }}({{ ctxparam .Args }}) (
{{ param .Row }}, err error)
{{- end -}}
{{- define "invoke" -}}
Find_{{ .Suffix }}({{ ctxarg .Args }})
{{- end -}}
{{- define "body" }}
{{ embedplaceholders .Info }}
{{ embedsql .Info "__embed_stmt" }}
var __values []interface{}
{{ embedvalues .Args "__values" }}
var __stmt = __sqlbundle_Render(obj.dialect, __embed_stmt)
obj.logStmt(__stmt, __values...)
{{ init .Row }}
err = obj.queryRowContext(ctx, __stmt, __values...).Scan({{ addrof (flatten .Row) }})
if err == sql.ErrNoRows {
return {{ zero .Row }}, nil
}
if err != nil {
return {{ zero .Row }}, obj.makeErr(err)
}
return {{ arg .Row }}, nil
{{ end -}}