Skip to content

Instantly share code, notes, and snippets.

@jjhuff
Forked from robdaemon/gist:6213eb0cac14e1e0860f
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save jjhuff/77f61fb9daf72cff9e01 to your computer and use it in GitHub Desktop.

Select an option

Save jjhuff/77f61fb9daf72cff9e01 to your computer and use it in GitHub Desktop.
func doit(db *Database) error {
err := db.Execute
if err != nil {
return err
}
err := db.Execute
if err != nil {
return
}
}
func RunInTransaction(fn func() error) error {
db.StartTransaction()
err := fn(db)
if err != nil {
db.Rollback()
} else {
db.Commit()
}
}
###################
type transactional func(db *Database) error
func doit(db *Database) error {
err := db.Execute
if err != nil {
return err
}
err := db.Execute
if err != nil {
return
}
}
func (fn transactional) Run(db *Database) {
db.StartTransaction()
err := fn(db)
if err != nil {
db.Rollback()
} else {
db.Commit()
}
}
func whatever() {
transactional(doit).Run()
}
################################
db.StartTransaction
err := db.Execute
if err == nil {
err = db.Execute
}
if err != nil {
db.Rollback
return
}
db.Commit
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment