diff options
| author | EuAndreh <eu@euandre.org> | 2024-11-07 10:59:57 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2024-11-07 10:59:57 -0300 |
| commit | c812fa652a683764db3739f491c950b690cecfde (patch) | |
| tree | 889e4f8cc29d85416e0129981b31b2b3766a9e5b | |
| parent | Rename "q" -> "fiinha" (diff) | |
| download | fiinha-c812fa652a683764db3739f491c950b690cecfde.tar.gz fiinha-c812fa652a683764db3739f491c950b690cecfde.tar.xz | |
src/fiinha.go: Reorder execSerialized() to after inTx()
| -rw-r--r-- | src/fiinha.go | 64 | ||||
| -rw-r--r-- | tests/fiinha.go | 16 |
2 files changed, 40 insertions, 40 deletions
diff --git a/src/fiinha.go b/src/fiinha.go index 4461462..fe2fa6a 100644 --- a/src/fiinha.go +++ b/src/fiinha.go @@ -163,6 +163,38 @@ type IQueue interface{ +func tryRollback(tx *sql.Tx, err error) error { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + return fmt.Errorf( + rollbackErrorFmt, + rollbackErr, + err, + ) + } + + return err +} + +func inTx(db *sql.DB, fn func(*sql.Tx) error) error { + tx, err := db.Begin() + if err != nil { + return err + } + + err = fn(tx) + if err != nil { + return tryRollback(tx, err) + } + + err = tx.Commit() + if err != nil { + return tryRollback(tx, err) + } + + return nil +} + func serialized[A any, B any](callback func(...A) B) (func(...A) B, func()) { in := make(chan []A) out := make(chan B) @@ -210,38 +242,6 @@ func execSerialized(query string, db *sql.DB) (func(...any) error, func()) { }) } -func tryRollback(tx *sql.Tx, err error) error { - rollbackErr := tx.Rollback() - if rollbackErr != nil { - return fmt.Errorf( - rollbackErrorFmt, - rollbackErr, - err, - ) - } - - return err -} - -func inTx(db *sql.DB, fn func(*sql.Tx) error) error { - tx, err := db.Begin() - if err != nil { - return err - } - - err = fn(tx) - if err != nil { - return tryRollback(tx, err) - } - - err = tx.Commit() - if err != nil { - return tryRollback(tx, err) - } - - return nil -} - func createTablesSQL(prefix string) queryT { const tmpl_write = ` CREATE TABLE IF NOT EXISTS "%s_payloads" ( diff --git a/tests/fiinha.go b/tests/fiinha.go index a6ae315..7cafd41 100644 --- a/tests/fiinha.go +++ b/tests/fiinha.go @@ -33,14 +33,6 @@ func test_defaultPrefix() { }) } -func test_serialized() { - // FIXME -} - -func test_execSerialized() { - // FIXME -} - func test_tryRollback() { g.TestStart("tryRollback()") @@ -96,6 +88,14 @@ func test_inTx() { }) } +func test_serialized() { + // FIXME +} + +func test_execSerialized() { + // FIXME +} + func test_createTables() { g.TestStart("createTables()") |
