result in db transactions added

This commit is contained in:
thomashamburg 2025-10-29 12:14:07 +01:00
parent 36fb1906ba
commit 50e9c625be

View File

@ -21,6 +21,7 @@ type Database struct {
type Transaction struct { type Transaction struct {
tx *sql.Tx tx *sql.Tx
res Record
err error err error
} }
@ -287,7 +288,8 @@ func (d *Database) UserVersion() (int64, error) {
func (d *Database) Begin() *Transaction { func (d *Database) Begin() *Transaction {
tx, err := d.database.Begin() tx, err := d.database.Begin()
return &Transaction{tx, err} res := Record{}
return &Transaction{tx, res, err}
} }
func (t *Transaction) Next(action Action) *Transaction { func (t *Transaction) Next(action Action) *Transaction {
@ -298,17 +300,17 @@ func (t *Transaction) Next(action Action) *Transaction {
return t return t
} }
func (t *Transaction) End() error { func (t *Transaction) End() (Record, error) {
if t.err != nil { if t.err != nil {
err := t.tx.Rollback() err := t.tx.Rollback()
if err != nil { if err != nil {
t.err = errors.Join(t.err, err) t.err = errors.Join(t.err, err)
} }
return t.err return t.res, t.err
} }
t.err = t.tx.Commit() t.err = t.tx.Commit()
return t.err return t.res, t.err
} }
func (t *Transaction) GetRecord(tablename string, idfield string, key any, output Record) *Transaction { func (t *Transaction) GetRecord(tablename string, idfield string, key any, output Record) *Transaction {