Skip to content

Commit

Permalink
feat(do): export ResultInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
tr1v3r committed Nov 16, 2021
1 parent 59ca7ea commit 5dce2f4
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
32 changes: 16 additions & 16 deletions do.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ var (
deleteClauses = []string{"DELETE", "FROM", "WHERE"}
)

// resultInfo query/execute info
type resultInfo struct {
// ResultInfo query/execute info
type ResultInfo struct {
RowsAffected int64
Error error
}
Expand Down Expand Up @@ -470,7 +470,7 @@ func (d *DO) FirstOrCreate() (result interface{}, err error) {
return d.singleQuery(d.db.FirstOrCreate)
}

func (d *DO) Update(column field.Expr, value interface{}) (info resultInfo, err error) {
func (d *DO) Update(column field.Expr, value interface{}) (info ResultInfo, err error) {
tx := d.db.Model(d.newResultPointer())
columnStr := column.BuildColumn(d.db.Statement, field.WithoutQuote).String()

Expand All @@ -483,24 +483,24 @@ func (d *DO) Update(column field.Expr, value interface{}) (info resultInfo, err
default:
result = tx.Update(columnStr, value)
}
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) UpdateSimple(columns ...field.AssignExpr) (info resultInfo, err error) {
func (d *DO) UpdateSimple(columns ...field.AssignExpr) (info ResultInfo, err error) {
if len(columns) == 0 {
return
}

result := d.db.Model(d.newResultPointer()).Clauses(d.assignSet(columns)).Omit("*").Updates(map[string]interface{}{})
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) Updates(value interface{}) (info resultInfo, err error) {
func (d *DO) Updates(value interface{}) (info ResultInfo, err error) {
result := d.db.Model(d.newResultPointer()).Updates(value)
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) UpdateColumn(column field.Expr, value interface{}) (info resultInfo, err error) {
func (d *DO) UpdateColumn(column field.Expr, value interface{}) (info ResultInfo, err error) {
tx := d.db.Model(d.newResultPointer())
columnStr := column.BuildColumn(d.db.Statement, field.WithoutQuote).String()

Expand All @@ -513,21 +513,21 @@ func (d *DO) UpdateColumn(column field.Expr, value interface{}) (info resultInfo
default:
result = d.db.UpdateColumn(columnStr, value)
}
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) UpdateColumnSimple(columns ...field.AssignExpr) (info resultInfo, err error) {
func (d *DO) UpdateColumnSimple(columns ...field.AssignExpr) (info ResultInfo, err error) {
if len(columns) == 0 {
return
}

result := d.db.Model(d.newResultPointer()).Clauses(d.assignSet(columns)).Omit("*").UpdateColumns(map[string]interface{}{})
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) UpdateColumns(value interface{}) (info resultInfo, err error) {
func (d *DO) UpdateColumns(value interface{}) (info ResultInfo, err error) {
result := d.db.Model(d.newResultPointer()).UpdateColumns(value)
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

// assignSet fetch all set
Expand All @@ -552,9 +552,9 @@ func (d *DO) assignSet(exprs []field.AssignExpr) (set clause.Set) {
return append(set, callbacks.ConvertToAssignments(stmt)...)
}

func (d *DO) Delete() (info resultInfo, err error) {
func (d *DO) Delete() (info ResultInfo, err error) {
result := d.db.Model(d.newResultPointer()).Delete(reflect.New(d.modelType).Interface())
return resultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
return ResultInfo{RowsAffected: result.RowsAffected, Error: result.Error}, result.Error
}

func (d *DO) Count() (count int64, err error) {
Expand Down
14 changes: 7 additions & 7 deletions interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ type Dao interface {
FindInBatches(dest interface{}, batchSize int, fc func(tx Dao, batch int) error) error
FirstOrInit() (result interface{}, err error)
FirstOrCreate() (result interface{}, err error)
Update(column field.Expr, value interface{}) (info resultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info resultInfo, err error)
Updates(values interface{}) (info resultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info resultInfo, err error)
UpdateColumns(values interface{}) (info resultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info resultInfo, err error)
Delete() (info resultInfo, err error)
Update(column field.Expr, value interface{}) (info ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info ResultInfo, err error)
Updates(values interface{}) (info ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info ResultInfo, err error)
UpdateColumns(values interface{}) (info ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info ResultInfo, err error)
Delete() (info ResultInfo, err error)
Count() (int64, error)
Row() *sql.Row
Rows() (*sql.Rows, error)
Expand Down

0 comments on commit 5dce2f4

Please sign in to comment.