mirror of
https://github.com/VinGarcia/ksql.git
synced 2025-05-31 11:42:25 +00:00
Add an example call to the Transaction function on README
This commit is contained in:
parent
1972ccd989
commit
3d14ed0296
27
README.md
27
README.md
@ -208,6 +208,33 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Making transactions:
|
||||||
|
err = db.Transaction(ctx, func(db kisssql.SQLProvider) error {
|
||||||
|
var cris2 User
|
||||||
|
err = db.QueryOne(ctx, &cris2, "SELECT * FROM users WHERE id = ?", cris.ID)
|
||||||
|
if err != nil {
|
||||||
|
// This will cause an automatic rollback:
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = db.Update(ctx, PartialUpdateUser{
|
||||||
|
ID: cris2.ID,
|
||||||
|
Age: nullable.Int(29),
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
// This will also cause an automatic rollback and then panic again
|
||||||
|
// so that we don't hide the panic inside the KissSQL library
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
// Commits the transaction
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Printf("Users: %#v\n", users)
|
fmt.Printf("Users: %#v\n", users)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -132,5 +132,32 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Making transactions:
|
||||||
|
err = db.Transaction(ctx, func(db kisssql.SQLProvider) error {
|
||||||
|
var cris2 User
|
||||||
|
err = db.QueryOne(ctx, &cris2, "SELECT * FROM users WHERE id = ?", cris.ID)
|
||||||
|
if err != nil {
|
||||||
|
// This will cause an automatic rollback:
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = db.Update(ctx, PartialUpdateUser{
|
||||||
|
ID: cris2.ID,
|
||||||
|
Age: nullable.Int(29),
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
// This will also cause an automatic rollback and then panic again
|
||||||
|
// so that we don't hide the panic inside the KissSQL library
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
// Commits the transaction
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Printf("Users: %#v\n", users)
|
fmt.Printf("Users: %#v\n", users)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user