mirror of
https://github.com/ent/ent.git
synced 2026-05-01 07:00:57 +03:00
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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user