diff options
author | 2023-05-12 14:33:40 +0200 | |
---|---|---|
committer | 2023-05-12 14:33:40 +0200 | |
commit | ec325fee141c1e9757144a0a4094061b56839b78 (patch) | |
tree | 2948ab4ef5702cc8478ab2be841340b946bdb867 /vendor/github.com/uptrace/bun/query_raw.go | |
parent | [frogend/bugfix] fix dynamicSpoiler elements (#1771) (diff) | |
download | gotosocial-ec325fee141c1e9757144a0a4094061b56839b78.tar.xz |
[chore] Update a bunch of database dependencies (#1772)
* [chore] Update a bunch of database dependencies
* fix lil thing
Diffstat (limited to 'vendor/github.com/uptrace/bun/query_raw.go')
-rw-r--r-- | vendor/github.com/uptrace/bun/query_raw.go | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/vendor/github.com/uptrace/bun/query_raw.go b/vendor/github.com/uptrace/bun/query_raw.go index 7afa4d536..fda088a7c 100644 --- a/vendor/github.com/uptrace/bun/query_raw.go +++ b/vendor/github.com/uptrace/bun/query_raw.go @@ -2,6 +2,7 @@ package bun import ( "context" + "database/sql" "github.com/uptrace/bun/schema" ) @@ -46,19 +47,46 @@ func (q *RawQuery) Err(err error) *RawQuery { return q } +func (q *RawQuery) Exec(ctx context.Context, dest ...interface{}) (sql.Result, error) { + return q.scanOrExec(ctx, dest, len(dest) > 0) +} + func (q *RawQuery) Scan(ctx context.Context, dest ...interface{}) error { + _, err := q.scanOrExec(ctx, dest, true) + return err +} + +func (q *RawQuery) scanOrExec( + ctx context.Context, dest []interface{}, hasDest bool, +) (sql.Result, error) { if q.err != nil { - return q.err + return nil, q.err } - model, err := q.getModel(dest) - if err != nil { - return err + var model Model + var err error + + if hasDest { + model, err = q.getModel(dest) + if err != nil { + return nil, err + } } query := q.db.format(q.query, q.args) - _, err = q.scan(ctx, q, query, model, true) - return err + var res sql.Result + + if hasDest { + res, err = q.scan(ctx, q, query, model, hasDest) + } else { + res, err = q.exec(ctx, q, query) + } + + if err != nil { + return nil, err + } + + return res, nil } func (q *RawQuery) AppendQuery(fmter schema.Formatter, b []byte) ([]byte, error) { |