entc/gen/template: allow disable DISTINCT in queries (#1371)

This commit is contained in:
Ariel Mashraki
2021-03-22 16:36:05 +02:00
committed by GitHub
parent afa3beca6b
commit cf8464cb28
96 changed files with 1032 additions and 21 deletions

View File

@@ -25,6 +25,7 @@ type CarQuery struct {
config
limit *int
offset *int
unique *bool
order []OrderFunc
fields []string
predicates []predicate.Car
@@ -54,6 +55,13 @@ func (cq *CarQuery) Offset(offset int) *CarQuery {
return cq
}
// Unique configures the query builder to filter duplicate records on query.
// By default, unique is set to true, and can be disabled using this method.
func (cq *CarQuery) Unique(unique bool) *CarQuery {
cq.unique = &unique
return cq
}
// Order adds an order step to the query.
func (cq *CarQuery) Order(o ...OrderFunc) *CarQuery {
cq.order = append(cq.order, o...)
@@ -435,6 +443,9 @@ func (cq *CarQuery) querySpec() *sqlgraph.QuerySpec {
From: cq.sql,
Unique: true,
}
if unique := cq.unique; unique != nil {
_spec.Unique = *unique
}
if fields := cq.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, car.FieldID)

View File

@@ -26,6 +26,7 @@ type GroupQuery struct {
config
limit *int
offset *int
unique *bool
order []OrderFunc
fields []string
predicates []predicate.Group
@@ -54,6 +55,13 @@ func (gq *GroupQuery) Offset(offset int) *GroupQuery {
return gq
}
// Unique configures the query builder to filter duplicate records on query.
// By default, unique is set to true, and can be disabled using this method.
func (gq *GroupQuery) Unique(unique bool) *GroupQuery {
gq.unique = &unique
return gq
}
// Order adds an order step to the query.
func (gq *GroupQuery) Order(o ...OrderFunc) *GroupQuery {
gq.order = append(gq.order, o...)
@@ -464,6 +472,9 @@ func (gq *GroupQuery) querySpec() *sqlgraph.QuerySpec {
From: gq.sql,
Unique: true,
}
if unique := gq.unique; unique != nil {
_spec.Unique = *unique
}
if fields := gq.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, group.FieldID)

View File

@@ -27,6 +27,7 @@ type UserQuery struct {
config
limit *int
offset *int
unique *bool
order []OrderFunc
fields []string
predicates []predicate.User
@@ -56,6 +57,13 @@ func (uq *UserQuery) Offset(offset int) *UserQuery {
return uq
}
// Unique configures the query builder to filter duplicate records on query.
// By default, unique is set to true, and can be disabled using this method.
func (uq *UserQuery) Unique(unique bool) *UserQuery {
uq.unique = &unique
return uq
}
// Order adds an order step to the query.
func (uq *UserQuery) Order(o ...OrderFunc) *UserQuery {
uq.order = append(uq.order, o...)
@@ -530,6 +538,9 @@ func (uq *UserQuery) querySpec() *sqlgraph.QuerySpec {
From: uq.sql,
Unique: true,
}
if unique := uq.unique; unique != nil {
_spec.Unique = *unique
}
if fields := uq.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, user.FieldID)