schema/field: json type support (#38)

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

Only `IsNil` and `NotNil` predicates are supported this moment

Reviewed By: alexsn

Differential Revision: D17444976

fbshipit-source-id: 37336fa0bc7749af995933baee2e23bb7366dd78
This commit is contained in:
Ariel Mashraki
2019-09-19 04:58:21 -07:00
committed by Facebook Github Bot
parent 83d0063437
commit c3955a08f1
214 changed files with 4005 additions and 1296 deletions

View File

@@ -9,9 +9,8 @@ package card
import (
"time"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
)
// ID filters vertices based on their identifier.

View File

@@ -12,9 +12,8 @@ import (
"fmt"
"time"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
)
// CardCreate is the builder for creating a Card entity.
@@ -87,13 +86,13 @@ func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) {
return nil, err
}
builder := sql.Insert(card.Table).Default(cc.driver.Dialect())
if cc.expired != nil {
builder.Set(card.FieldExpired, *cc.expired)
c.Expired = *cc.expired
if value := cc.expired; value != nil {
builder.Set(card.FieldExpired, *value)
c.Expired = *value
}
if cc.number != nil {
builder.Set(card.FieldNumber, *cc.number)
c.Number = *cc.number
if value := cc.number; value != nil {
builder.Set(card.FieldNumber, *value)
c.Number = *value
}
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {

View File

@@ -9,10 +9,9 @@ package ent
import (
"context"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/dialect/sql"
)
// CardDelete is the builder for deleting a Card entity.

View File

@@ -12,11 +12,10 @@ import (
"fmt"
"math"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// CardQuery is the builder for querying Card entities.

View File

@@ -12,11 +12,10 @@ import (
"fmt"
"time"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// CardUpdate is the builder for updating Card entities.
@@ -128,19 +127,16 @@ func (cu *CardUpdate) sqlSave(ctx context.Context) (n int, err error) {
return 0, err
}
var (
update bool
res sql.Result
builder = sql.Update(card.Table).Where(sql.InInts(card.FieldID, ids...))
)
if value := cu.expired; value != nil {
update = true
builder.Set(card.FieldExpired, *value)
}
if value := cu.number; value != nil {
update = true
builder.Set(card.FieldNumber, *value)
}
if update {
if !builder.Empty() {
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {
return 0, rollback(tx, err)
@@ -286,21 +282,18 @@ func (cuo *CardUpdateOne) sqlSave(ctx context.Context) (c *Card, err error) {
return nil, err
}
var (
update bool
res sql.Result
builder = sql.Update(card.Table).Where(sql.InInts(card.FieldID, ids...))
)
if value := cuo.expired; value != nil {
update = true
builder.Set(card.FieldExpired, *value)
c.Expired = *value
}
if value := cuo.number; value != nil {
update = true
builder.Set(card.FieldNumber, *value)
c.Number = *value
}
if update {
if !builder.Empty() {
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {
return nil, rollback(tx, err)

View File

@@ -7,9 +7,8 @@
package user
import (
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
)
// ID filters vertices based on their identifier.

View File

@@ -11,10 +11,9 @@ import (
"errors"
"fmt"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// UserCreate is the builder for creating a User entity.
@@ -92,13 +91,13 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) {
return nil, err
}
builder := sql.Insert(user.Table).Default(uc.driver.Dialect())
if uc.age != nil {
builder.Set(user.FieldAge, *uc.age)
u.Age = *uc.age
if value := uc.age; value != nil {
builder.Set(user.FieldAge, *value)
u.Age = *value
}
if uc.name != nil {
builder.Set(user.FieldName, *uc.name)
u.Name = *uc.name
if value := uc.name; value != nil {
builder.Set(user.FieldName, *value)
u.Name = *value
}
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {

View File

@@ -9,10 +9,9 @@ package ent
import (
"context"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// UserDelete is the builder for deleting a User entity.

View File

@@ -12,11 +12,10 @@ import (
"fmt"
"math"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// UserQuery is the builder for querying User entities.

View File

@@ -11,11 +11,10 @@ import (
"errors"
"fmt"
"github.com/facebookincubator/ent/dialect/sql"
"github.com/facebookincubator/ent/examples/o2o2types/ent/card"
"github.com/facebookincubator/ent/examples/o2o2types/ent/predicate"
"github.com/facebookincubator/ent/examples/o2o2types/ent/user"
"github.com/facebookincubator/ent/dialect/sql"
)
// UserUpdate is the builder for updating User entities.
@@ -139,23 +138,19 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) {
return 0, err
}
var (
update bool
res sql.Result
builder = sql.Update(user.Table).Where(sql.InInts(user.FieldID, ids...))
)
if value := uu.age; value != nil {
update = true
builder.Set(user.FieldAge, *value)
}
if value := uu.addage; value != nil {
update = true
builder.Add(user.FieldAge, *value)
}
if value := uu.name; value != nil {
update = true
builder.Set(user.FieldName, *value)
}
if update {
if !builder.Empty() {
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {
return 0, rollback(tx, err)
@@ -313,26 +308,22 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (u *User, err error) {
return nil, err
}
var (
update bool
res sql.Result
builder = sql.Update(user.Table).Where(sql.InInts(user.FieldID, ids...))
)
if value := uuo.age; value != nil {
update = true
builder.Set(user.FieldAge, *value)
u.Age = *value
}
if value := uuo.addage; value != nil {
update = true
builder.Add(user.FieldAge, *value)
u.Age += *value
}
if value := uuo.name; value != nil {
update = true
builder.Set(user.FieldName, *value)
u.Name = *value
}
if update {
if !builder.Empty() {
query, args := builder.Query()
if err := tx.Exec(ctx, query, args, &res); err != nil {
return nil, rollback(tx, err)