| 123456789101112131415161718192021 |
- package sqlitex
- import (
- "errors"
- "fmt"
- sqlite "github.com/go-llsqlite/adapter"
- )
- func WithTransactionRollbackOnError(conn *sqlite.Conn, level string, inside func() error) (err error) {
- err = Exec(conn, fmt.Sprintf("begin %v", level), nil)
- if err != nil {
- return
- }
- err = inside()
- query := "rollback"
- if err == nil {
- query = "commit"
- }
- err = errors.Join(err, Exec(conn, query, nil))
- return
- }
|