mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
dialect/sql: allow appending select columns to query
This commit is contained in:
committed by
Ariel Mashraki
parent
fdc5f2b7e9
commit
f5c284787f
@@ -510,10 +510,14 @@ func (gq *GroupQuery) querySpec() *sqlgraph.QuerySpec {
|
||||
func (gq *GroupQuery) sqlQuery(ctx context.Context) *sql.Selector {
|
||||
builder := sql.Dialect(gq.driver.Dialect())
|
||||
t1 := builder.Table(group.Table)
|
||||
selector := builder.Select(t1.Columns(group.Columns...)...).From(t1)
|
||||
columns := gq.fields
|
||||
if len(columns) == 0 {
|
||||
columns = group.Columns
|
||||
}
|
||||
selector := builder.Select(t1.Columns(columns...)...).From(t1)
|
||||
if gq.sql != nil {
|
||||
selector = gq.sql
|
||||
selector.Select(selector.Columns(group.Columns...)...)
|
||||
selector.Select(selector.Columns(columns...)...)
|
||||
}
|
||||
for _, p := range gq.predicates {
|
||||
p(selector)
|
||||
@@ -1014,16 +1018,10 @@ func (gs *GroupSelect) BoolX(ctx context.Context) bool {
|
||||
|
||||
func (gs *GroupSelect) sqlScan(ctx context.Context, v interface{}) error {
|
||||
rows := &sql.Rows{}
|
||||
query, args := gs.sqlQuery().Query()
|
||||
query, args := gs.sql.Query()
|
||||
if err := gs.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
||||
|
||||
func (gs *GroupSelect) sqlQuery() sql.Querier {
|
||||
selector := gs.sql
|
||||
selector.Select(selector.Columns(gs.fields...)...)
|
||||
return selector
|
||||
}
|
||||
|
||||
@@ -510,10 +510,14 @@ func (uq *UserQuery) querySpec() *sqlgraph.QuerySpec {
|
||||
func (uq *UserQuery) sqlQuery(ctx context.Context) *sql.Selector {
|
||||
builder := sql.Dialect(uq.driver.Dialect())
|
||||
t1 := builder.Table(user.Table)
|
||||
selector := builder.Select(t1.Columns(user.Columns...)...).From(t1)
|
||||
columns := uq.fields
|
||||
if len(columns) == 0 {
|
||||
columns = user.Columns
|
||||
}
|
||||
selector := builder.Select(t1.Columns(columns...)...).From(t1)
|
||||
if uq.sql != nil {
|
||||
selector = uq.sql
|
||||
selector.Select(selector.Columns(user.Columns...)...)
|
||||
selector.Select(selector.Columns(columns...)...)
|
||||
}
|
||||
for _, p := range uq.predicates {
|
||||
p(selector)
|
||||
@@ -1014,16 +1018,10 @@ func (us *UserSelect) BoolX(ctx context.Context) bool {
|
||||
|
||||
func (us *UserSelect) sqlScan(ctx context.Context, v interface{}) error {
|
||||
rows := &sql.Rows{}
|
||||
query, args := us.sqlQuery().Query()
|
||||
query, args := us.sql.Query()
|
||||
if err := us.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
||||
|
||||
func (us *UserSelect) sqlQuery() sql.Querier {
|
||||
selector := us.sql
|
||||
selector.Select(selector.Columns(us.fields...)...)
|
||||
return selector
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user