aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-11-07 10:59:57 -0300
committerEuAndreh <eu@euandre.org>2024-11-07 10:59:57 -0300
commitc812fa652a683764db3739f491c950b690cecfde (patch)
tree889e4f8cc29d85416e0129981b31b2b3766a9e5b
parentRename "q" -> "fiinha" (diff)
downloadfiinha-c812fa652a683764db3739f491c950b690cecfde.tar.gz
fiinha-c812fa652a683764db3739f491c950b690cecfde.tar.xz
src/fiinha.go: Reorder execSerialized() to after inTx()
-rw-r--r--src/fiinha.go64
-rw-r--r--tests/fiinha.go16
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()")