entc/gen: use FirstID instead of Count for Exist calls (#2896)

* Improve sqlexist template

* Address review comment and regenerate files

* Regenerate using go1.19

* Run go generate for examples dir

* Address review comment

* Update entc/gen/template/dialect/sql/query.tmpl

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
This commit is contained in:
Aagosh
2022-09-04 12:34:57 +05:30
committed by GitHub
parent b5976fbe6a
commit 326fe42d49
111 changed files with 666 additions and 333 deletions

View File

@@ -249,11 +249,14 @@ func ({{ $receiver }} *{{ $builder }}) sqlCount(ctx context.Context) (int, error
}
func ({{ $receiver }} *{{ $builder }}) sqlExist(ctx context.Context) (bool, error) {
n, err := {{ $receiver }}.sqlCount(ctx)
if err != nil {
switch _, err := {{ $receiver }}.First{{ if $.HasOneFieldID }}ID{{ end }}(ctx);{
case IsNotFound(err):
return false, nil
case err != nil:
return false, fmt.Errorf("{{ $pkg }}: check existence: %w", err)
default:
return true, nil
}
return n > 0, nil
}
func ({{ $receiver }} *{{ $builder }}) querySpec() *sqlgraph.QuerySpec {