dialect/sql: fix predicate builder on join

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

Reviewed By: idoshveki

Differential Revision: D18346652

fbshipit-source-id: e8c5d7eb3cefc16f52090de0d121e82cae058fc2
This commit is contained in:
Ariel Mashraki
2019-11-06 05:19:52 -08:00
committed by Facebook Github Bot
parent 7a6d1ce9dc
commit 53cfcb6e8b
46 changed files with 366 additions and 132 deletions

View File

@@ -295,9 +295,11 @@ func HasStreetsWith(preds ...predicate.Street) predicate.City {
func And(predicates ...predicate.City) predicate.City {
return predicate.City(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -306,12 +308,14 @@ func And(predicates ...predicate.City) predicate.City {
func Or(predicates ...predicate.City) predicate.City {
return predicate.City(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -287,9 +287,11 @@ func HasCityWith(preds ...predicate.City) predicate.Street {
func And(predicates ...predicate.Street) predicate.Street {
return predicate.Street(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -298,12 +300,14 @@ func And(predicates ...predicate.Street) predicate.Street {
func Or(predicates ...predicate.Street) predicate.Street {
return predicate.Street(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -116,9 +116,11 @@ func IDLTE(id int) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -127,12 +129,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -301,9 +301,11 @@ func HasUsersWith(preds ...predicate.User) predicate.Group {
func And(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -312,12 +314,14 @@ func And(predicates ...predicate.Group) predicate.Group {
func Or(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -402,9 +402,11 @@ func HasGroupsWith(preds ...predicate.Group) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -413,12 +415,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -402,9 +402,11 @@ func HasFriendsWith(preds ...predicate.User) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -413,12 +415,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -441,9 +441,11 @@ func HasFollowingWith(preds ...predicate.User) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -452,12 +454,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -287,9 +287,11 @@ func HasOwnerWith(preds ...predicate.User) predicate.Pet {
func And(predicates ...predicate.Pet) predicate.Pet {
return predicate.Pet(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -298,12 +300,14 @@ func And(predicates ...predicate.Pet) predicate.Pet {
func Or(predicates ...predicate.Pet) predicate.Pet {
return predicate.Pet(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -396,9 +396,11 @@ func HasPetsWith(preds ...predicate.Pet) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -407,12 +409,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -275,9 +275,11 @@ func HasChildrenWith(preds ...predicate.Node) predicate.Node {
func And(predicates ...predicate.Node) predicate.Node {
return predicate.Node(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -286,12 +288,14 @@ func And(predicates ...predicate.Node) predicate.Node {
func Or(predicates ...predicate.Node) predicate.Node {
return predicate.Node(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -390,9 +390,11 @@ func HasOwnerWith(preds ...predicate.User) predicate.Card {
func And(predicates ...predicate.Card) predicate.Card {
return predicate.Card(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -401,12 +403,14 @@ func And(predicates ...predicate.Card) predicate.Card {
func Or(predicates ...predicate.Card) predicate.Card {
return predicate.Card(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -396,9 +396,11 @@ func HasCardWith(preds ...predicate.Card) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -407,12 +409,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -396,9 +396,11 @@ func HasSpouseWith(preds ...predicate.User) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -407,12 +409,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -275,9 +275,11 @@ func HasNextWith(preds ...predicate.Node) predicate.Node {
func And(predicates ...predicate.Node) predicate.Node {
return predicate.Node(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -286,12 +288,14 @@ func And(predicates ...predicate.Node) predicate.Node {
func Or(predicates ...predicate.Node) predicate.Node {
return predicate.Node(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -390,9 +390,11 @@ func HasOwnerWith(preds ...predicate.User) predicate.Car {
func And(predicates ...predicate.Car) predicate.Car {
return predicate.Car(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -401,12 +403,14 @@ func And(predicates ...predicate.Car) predicate.Car {
func Or(predicates ...predicate.Car) predicate.Car {
return predicate.Car(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -301,9 +301,11 @@ func HasUsersWith(preds ...predicate.User) predicate.Group {
func And(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -312,12 +314,14 @@ func And(predicates ...predicate.Group) predicate.Group {
func Or(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -435,9 +435,11 @@ func HasGroupsWith(preds ...predicate.Group) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -446,12 +448,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -326,9 +326,11 @@ func HasAdminWith(preds ...predicate.User) predicate.Group {
func And(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -337,12 +339,14 @@ func And(predicates ...predicate.Group) predicate.Group {
func Or(predicates ...predicate.Group) predicate.Group {
return predicate.Group(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -326,9 +326,11 @@ func HasOwnerWith(preds ...predicate.User) predicate.Pet {
func And(predicates ...predicate.Pet) predicate.Pet {
return predicate.Pet(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -337,12 +339,14 @@ func And(predicates ...predicate.Pet) predicate.Pet {
func Or(predicates ...predicate.Pet) predicate.Pet {
return predicate.Pet(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}

View File

@@ -507,9 +507,11 @@ func HasManageWith(preds ...predicate.Group) predicate.User {
func And(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for _, p := range predicates {
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}
@@ -518,12 +520,14 @@ func And(predicates ...predicate.User) predicate.User {
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(
func(s *sql.Selector) {
s1 := s.Clone().SetP(nil)
for i, p := range predicates {
if i > 0 {
s.Or()
s1.Or()
}
p(s)
p(s1)
}
s.Where(s1.P())
},
)
}