]> 127.0.0.1 Git - part/.git/commitdiff
Fix v0.24.18
authorqydysky <qydysky@foxmail.com>
Tue, 25 Apr 2023 13:38:48 +0000 (21:38 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 25 Apr 2023 13:38:48 +0000 (21:38 +0800)
sqlite/Sqlite.go

index baf0ec4ef0a623356c7b575edcfd228c698d159d..54761148f3db755334ea9fa1aff0b88b0eebdd02 100644 (file)
@@ -37,8 +37,8 @@ type SqlFunc[T any] struct {
 func BeginTx[T any](canTx CanTx, ctx context.Context, opts *sql.TxOptions) *SqlTx[T] {
        var sqlTX = SqlTx[T]{}
 
-       if tx, e := canTx.BeginTx(ctx, opts); e != nil {
-               sqlTX.err = e
+       if tx, err := canTx.BeginTx(ctx, opts); err != nil {
+               sqlTX.err = fmt.Errorf("BeginTx; [] >> %s", err)
        } else {
                sqlTX.tx = tx
        }
@@ -100,8 +100,15 @@ func (t *SqlTx[T]) Do(sqlf SqlFunc[T]) *SqlTx[T] {
 
 func (t *SqlTx[T]) Fin() error {
        if t.err != nil {
-               return errors.Join(t.err, t.tx.Rollback())
+               if t.tx != nil {
+                       if err := t.tx.Rollback(); err != nil {
+                               t.err = errors.Join(t.err, fmt.Errorf("Rollback; [] >> %s", err))
+                       }
+               }
        } else {
-               return errors.Join(t.err, t.tx.Commit())
+               if err := t.tx.Commit(); err != nil {
+                       t.err = errors.Join(t.err, fmt.Errorf("Commit; [] >> %s", err))
+               }
        }
+       return t.err
 }