diff options
author | 2021-10-24 13:14:37 +0200 | |
---|---|---|
committer | 2021-10-24 13:14:37 +0200 | |
commit | 8b7c3507fe0c8f6e921ee2de2c170ef93eeb7275 (patch) | |
tree | e79e3f5a59fb8942de79955bd26bf665be0acce8 /vendor/github.com/uptrace/bun/query_update.go | |
parent | docs typo fix (#290) (diff) | |
download | gotosocial-8b7c3507fe0c8f6e921ee2de2c170ef93eeb7275.tar.xz |
upstep bun to v1.0.14 (#291)
Diffstat (limited to 'vendor/github.com/uptrace/bun/query_update.go')
-rw-r--r-- | vendor/github.com/uptrace/bun/query_update.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/vendor/github.com/uptrace/bun/query_update.go b/vendor/github.com/uptrace/bun/query_update.go index a5d9a17f2..df583db25 100644 --- a/vendor/github.com/uptrace/bun/query_update.go +++ b/vendor/github.com/uptrace/bun/query_update.go @@ -100,6 +100,11 @@ func (q *UpdateQuery) Value(column string, expr string, args ...interface{}) *Up return q } +func (q *UpdateQuery) OmitZero() *UpdateQuery { + q.omitZero = true + return q +} + //------------------------------------------------------------------------------ func (q *UpdateQuery) WherePK() *UpdateQuery { @@ -165,9 +170,6 @@ func (q *UpdateQuery) Operation() string { } func (q *UpdateQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) { - if q.err != nil { - return nil, q.err - } fmter = formatterWithModel(fmter, q) b, err = q.appendWith(fmter, b) @@ -254,7 +256,7 @@ func (q *UpdateQuery) appendSetStruct( isTemplate := fmter.IsNop() pos := len(b) for _, f := range fields { - if q.omitZero && f.NullZero && f.HasZeroValue(model.strct) { + if q.omitZero && f.HasZeroValue(model.strct) { continue } @@ -381,12 +383,20 @@ func (db *UpdateQuery) updateSliceWhere(model *sliceTableModel) string { //------------------------------------------------------------------------------ func (q *UpdateQuery) Exec(ctx context.Context, dest ...interface{}) (sql.Result, error) { + if q.err != nil { + return nil, q.err + } + if q.table != nil { if err := q.beforeUpdateHook(ctx); err != nil { return nil, err } } + if err := q.beforeAppendModel(ctx, q); err != nil { + return nil, err + } + queryBytes, err := q.AppendQuery(q.db.fmter, q.db.makeQueryBytes()) if err != nil { return nil, err |