本文整理汇总了Golang中github.com/boltdb/bolt.Tx.Rollback方法的典型用法代码示例。如果您正苦于以下问题:Golang Tx.Rollback方法的具体用法?Golang Tx.Rollback怎么用?Golang Tx.Rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/boltdb/bolt.Tx
的用法示例。
在下文中一共展示了Tx.Rollback方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Open
func (s Store) Open(dbPath string, cfg *config.Config) (driver.IDB, error) {
os.MkdirAll(dbPath, 0755)
name := path.Join(dbPath, "ledis_bolt.db")
db := new(DB)
var err error
db.path = name
db.cfg = cfg
db.db, err = bolt.Open(name, 0600, nil)
if err != nil {
return nil, err
}
var tx *bolt.Tx
tx, err = db.db.Begin(true)
if err != nil {
return nil, err
}
_, err = tx.CreateBucketIfNotExists(bucketName)
if err != nil {
tx.Rollback()
return nil, err
}
if err = tx.Commit(); err != nil {
return nil, err
}
return db, nil
}
示例2: Open
func Open(dbPath string, conf *Config, create, repair bool) (*BoltDB, error) {
os.MkdirAll(dbPath, 0755)
name := path.Join(dbPath, "rpdb_bolt.db")
db := &BoltDB{
path: dbPath,
cfg: conf,
}
var err error
db.db, err = bolt.Open(name, 0600, nil)
if err != nil {
return nil, err
}
var tx *bolt.Tx
tx, err = db.db.Begin(true)
if err != nil {
return nil, err
}
_, err = tx.CreateBucketIfNotExists(bucketName)
if err != nil {
tx.Rollback()
return nil, err
}
if err = tx.Commit(); err != nil {
return nil, err
}
return db, nil
}
示例3: Open
func Open(cfg *Config) (*DB, error) {
os.MkdirAll(cfg.Path, os.ModePerm)
name := path.Join(cfg.Path, "ledis_bolt.db")
db := new(DB)
var err error
db.db, err = bolt.Open(name, 0600, nil)
if err != nil {
return nil, err
}
db.db.NoSync = cfg.NoSync
var tx *bolt.Tx
tx, err = db.db.Begin(true)
if err != nil {
return nil, err
}
_, err = tx.CreateBucketIfNotExists(bucketName)
if err != nil {
tx.Rollback()
return nil, err
}
if err = tx.Commit(); err != nil {
return nil, err
}
return db, nil
}
示例4: Open
func (db *DB) Open(dbPath string) error {
var (
err error
boltDB *bolt.DB
)
boltDB, err = bolt.Open(dbPath, 0600, nil)
if err != nil {
return err
}
var tx *bolt.Tx
tx, err = boltDB.Begin(true)
if err != nil {
return err
}
bucketName := []byte(base64.StdEncoding.EncodeToString([]byte(dbPath)))
_, err = tx.CreateBucketIfNotExists(bucketName)
if err != nil {
tx.Rollback()
return err
}
if err = tx.Commit(); err != nil {
return err
}
db.boltDB = boltDB
db.dbPath = dbPath
db.bucketName = bucketName
return nil
}
示例5: commit
func (self *Progress) commit(tx *bolt.Tx) {
// Commit the transaction and check for error.
log.Println("Committing the changes")
if err := tx.Commit(); err != nil {
log.Println("Rolling back transaction", err)
tx.Rollback()
}
}