当前位置: 首页>>代码示例>>Golang>>正文


Golang DB.Close方法代码示例

本文整理汇总了Golang中github.com/boltdb/bolt.DB.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang DB.Close方法的具体用法?Golang DB.Close怎么用?Golang DB.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/boltdb/bolt.DB的用法示例。


在下文中一共展示了DB.Close方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: SerializeIndex

func (c *Context) SerializeIndex(index *Index) (err error) {
	var data []byte
	var db *bolt.DB

	if data, err = json.Marshal(index); err != nil {
		return
	}

	db, err = c.OpenDB()
	if err != nil {
		return err
	}
	defer db.Close()

	return db.Update(func(tx *bolt.Tx) error {
		bucket, err := tx.CreateBucketIfNotExists(byteify(IndicesKey))
		if err != nil {
			return err
		}
		if bucket == nil {
			return ErrNoSuchDbBucket
		}
		return bucket.Put(byteify(index.FileId), data)
	})
}
开发者ID:hatchling,项目名称:drive,代码行数:25,代码来源:config.go

示例2: NewHeap

// New creates a wait queue.
// The bucket will be created if it does not exist. Otherwise,
// the bucket will be deleted and created again.
func NewHeap(db *bolt.DB, bucket []byte, bufsize int) (h *Heap, err error) {
	if err = db.Update(func(tx *bolt.Tx) error {
		if tx.Bucket(bucket) != nil {
			if err := tx.DeleteBucket(bucket); err != nil {
				return err
			}
		}
		if _, err := tx.CreateBucketIfNotExists(bucket); err != nil {
			return err
		}
		return nil

	}); err != nil {
		db.Close()
		return
	}
	h = &Heap{
		db:       db,
		count:    0,
		min:      nil,
		writebuf: list.New(),
		bufsize:  bufsize,
		bucket:   bucket,
	}
	return
}
开发者ID:fanyang01,项目名称:crawler,代码行数:29,代码来源:diskheap.go

示例3: tearDownBoltDB

// tearDownBoltDB closes and deletes boltdb
func tearDownBoltDB(db *bolt.DB) error {
	p := db.Path()
	err := db.Close()
	if err != nil {
		return err
	}

	return os.Remove(p)
}
开发者ID:slok,项目名称:khronos,代码行数:10,代码来源:boltdb_test.go

示例4: closedb

// closedb closes and deletes a ReportifyDB database.
func closedb(db *bolt.DB) {
	if db == nil {
		return
	}
	path := db.Path()
	db.Close()
	if path != "" {
		os.Remove(path)
	}
}
开发者ID:deepakm,项目名称:coalescer,代码行数:11,代码来源:coalescer_test.go

示例5: Run

func Run(cfg config.Config) (err error) {
	var db *bolt.DB
	db, err = bolt.Open(cfg.DatabasePath, 0600, &bolt.Options{Timeout: cfg.Timeout})
	if err != nil {
		return err
	}
	defer func() {
		if err == nil {
			err = db.Close()
		} else {
			db.Close()
		}
	}()
	return nil
}
开发者ID:PieterD,项目名称:crap,代码行数:15,代码来源:server.go

示例6:

		db, err = GetDB(pth)
		Expect(err).To(BeNil())

		u = NewUser(
			"inspector",
			UserPassword("abc123bs"),
			UserPermission("write"),
			UserDB(db),
		)
		_, err = u.Save()
		Expect(err).To(BeNil())
	})

	AfterEach(func() {
		db.Close()
		os.RemoveAll(dir)
	})

	It("can save", func() {
		u2 := NewUser("inspector", UserDB(db))
		Expect(u2.Fetch()).To(BeNil())
		Expect(u2.Password).To(Equal(""))
		Expect(len(u2.HashedPassword)).ToNot(Equal(0))
		Expect(u2.Permission).To(Equal("write"))
	})

	It("can delete", func() {
		err := u.Delete()
		Expect(err).To(BeNil())
		u2 := NewUser("inspector", UserDB(db))
开发者ID:cswank,项目名称:quimby,代码行数:30,代码来源:user_test.go

示例7: closeAndRemove

func closeAndRemove(db *bolt.DB, filename string) {
	db.Close()
	removeFile(filename)
}
开发者ID:wojtekzw,项目名称:statsdaemon,代码行数:4,代码来源:statsdaemon_test.go

示例8: closePageDatabase

func closePageDatabase(db *bolt.DB) {
	if db != nil {
		db.Close()
		db = nil
	}
}
开发者ID:s-oram,项目名称:malkovich-wiki,代码行数:6,代码来源:functions.go

示例9: clean_bolt

func clean_bolt(db *bolt.DB) {
	db.Close()
	os.Remove(db.Path())
}
开发者ID:pennydb,项目名称:lex,代码行数:4,代码来源:example_bolt_test.go

示例10: closeDB

func closeDB(db *bolt.DB) {
	db.Close()
	if err := os.Remove(getDBPath()); err != nil {
		panic(err)
	}
}
开发者ID:lacion,项目名称:feature-flags,代码行数:6,代码来源:features_test.go


注:本文中的github.com/boltdb/bolt.DB.Close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。