ent/entc: use select/scan on id query (#1552)

Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1552

Pull Request resolved: https://github.com/facebookincubator/ent/pull/93

avoids complete ent load on id query

Reviewed By: a8m

Differential Revision: D17906002

fbshipit-source-id: 7749a0d7c707858eab368978a1d220b581ea6dbb
This commit is contained in:
Alex Snast
2019-10-14 23:14:52 -07:00
committed by Facebook Github Bot
parent 638e34b11a
commit 5d988870bc
48 changed files with 313 additions and 892 deletions

View File

@@ -60,18 +60,6 @@ func ({{ $receiver }} *{{ $builder }}) sqlExist(ctx context.Context) (bool, erro
return n > 0, nil
}
func ({{ $receiver }} *{{ $builder }}) sqlIDs(ctx context.Context) ([]{{ $.ID.Type }}, error) {
vs, err := {{ $receiver }}.sqlAll(ctx)
if err != nil {
return nil, err
}
var ids []{{ $.ID.Type }}
for _, v := range vs {
ids = append(ids, v.ID)
}
return ids, nil
}
func ({{ $receiver }} *{{ $builder }}) sqlQuery() *sql.Selector {
t1 := sql.Table({{ $.Package }}.Table)
selector := sql.Select(t1.Columns({{ $.Package }}.Columns...)...).From(t1)
@@ -166,4 +154,4 @@ func ({{ $receiver }} *{{ $builder }}) sqlQuery() *sql.Selector {
query.sql = sql.Select().From(sql.Table({{ $e.Type.Package }}.Table)).
Where(sql.EQ({{ $n.Package }}.{{ $e.ColumnConstant }}, id))
{{- end }}
{{ end }}
{{ end }}