mirror of
http://github.com/goal-web/database
synced 2025-12-24 10:40:53 +08:00
30 lines
500 B
Go
30 lines
500 B
Go
package tx
|
|
|
|
import (
|
|
"github.com/goal-web/contracts"
|
|
"github.com/goal-web/database/support"
|
|
"github.com/jmoiron/sqlx"
|
|
)
|
|
|
|
type Tx struct {
|
|
tx *sqlx.Tx
|
|
support.Executor
|
|
events contracts.EventDispatcher
|
|
}
|
|
|
|
func (t *Tx) Commit() error {
|
|
return t.tx.Commit()
|
|
}
|
|
|
|
func (t *Tx) Rollback() error {
|
|
return t.tx.Rollback()
|
|
}
|
|
|
|
func New(tx *sqlx.Tx, events contracts.EventDispatcher) contracts.DBTx {
|
|
return &Tx{
|
|
tx: tx,
|
|
Executor: support.NewExecutor(tx, events, nil),
|
|
events: events,
|
|
}
|
|
}
|