Versions in this module Expand all Collapse all v1 v1.0.0 Apr 12, 2023 Changes in this version + const DefaultFillPercent + const FreelistArrayType + const FreelistMapType + const MaxKeySize + const MaxValueSize + var DefaultOptions = &Options + var ErrBucketExists = errors.ErrBucketExists + var ErrBucketNameRequired = errors.ErrBucketNameRequired + var ErrBucketNotFound = errors.ErrBucketNotFound + var ErrChecksum = errors.ErrChecksum + var ErrDatabaseNotOpen = errors.ErrDatabaseNotOpen + var ErrDatabaseOpen = errors.ErrDatabaseOpen + var ErrDatabaseReadOnly = errors.ErrDatabaseReadOnly + var ErrFreePagesNotLoaded = errors.ErrFreePagesNotLoaded + var ErrIncompatibleValue = errors.ErrIncompatibleValue + var ErrInvalid = errors.ErrInvalid + var ErrInvalidMapping = errors.ErrInvalidMapping + var ErrKeyRequired = errors.ErrKeyRequired + var ErrKeyTooLarge = errors.ErrKeyTooLarge + var ErrTimeout = errors.ErrTimeout + var ErrTxClosed = errors.ErrTxClosed + var ErrTxNotWritable = errors.ErrTxNotWritable + var ErrValueTooLarge = errors.ErrValueTooLarge + var ErrVersionMismatch = errors.ErrVersionMismatch + func Compact(dst, src *DB, txMaxSize int64) error + type Bucket struct + FillPercent float64 + func (b *Bucket) Bucket(name []byte) *Bucket + func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) + func (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) + func (b *Bucket) Cursor() *Cursor + func (b *Bucket) Delete(key []byte) error + func (b *Bucket) DeleteBucket(key []byte) error + func (b *Bucket) ForEach(fn func(k, v []byte) error) error + func (b *Bucket) ForEachBucket(fn func(k []byte) error) error + func (b *Bucket) Get(key []byte) []byte + func (b *Bucket) NextSequence() (uint64, error) + func (b *Bucket) Put(key []byte, value []byte) error + func (b *Bucket) Root() common.Pgid + func (b *Bucket) Sequence() uint64 + func (b *Bucket) SetSequence(v uint64) error + func (b *Bucket) Stats() BucketStats + func (b *Bucket) Tx() *Tx + func (b *Bucket) Writable() bool + type BucketStats struct + BranchAlloc int + BranchInuse int + BranchOverflowN int + BranchPageN int + BucketN int + Depth int + InlineBucketInuse int + InlineBucketN int + KeyN int + LeafAlloc int + LeafInuse int + LeafOverflowN int + LeafPageN int + func (s *BucketStats) Add(other BucketStats) + type CheckOption func(options *checkConfig) + func WithKVStringer(kvStringer KVStringer) CheckOption + type Cursor struct + func (c *Cursor) Bucket() *Bucket + func (c *Cursor) Delete() error + func (c *Cursor) First() (key []byte, value []byte) + func (c *Cursor) Last() (key []byte, value []byte) + func (c *Cursor) Next() (key []byte, value []byte) + func (c *Cursor) Prev() (key []byte, value []byte) + func (c *Cursor) Seek(seek []byte) (key []byte, value []byte) + type DB struct + AllocSize int + FreelistType common.FreelistType + MaxBatchDelay time.Duration + MaxBatchSize int + Mlock bool + MmapFlags int + NoFreelistSync bool + NoGrowSync bool + NoSync bool + PreLoadFreelist bool + StrictMode bool + func Open(path string, mode os.FileMode, options *Options) (*DB, error) + func (db *DB) Batch(fn func(*Tx) error) error + func (db *DB) Begin(writable bool) (*Tx, error) + func (db *DB) Close() error + func (db *DB) GoString() string + func (db *DB) Info() *Info + func (db *DB) IsReadOnly() bool + func (db *DB) Path() string + func (db *DB) Stats() Stats + func (db *DB) String() string + func (db *DB) Sync() error + func (db *DB) Update(fn func(*Tx) error) error + func (db *DB) View(fn func(*Tx) error) error + type Info struct + Data uintptr + PageSize int + type KVStringer interface + KeyToString func([]byte) string + ValueToString func([]byte) string + func HexKVStringer() KVStringer + type Options struct + FreelistType common.FreelistType + InitialMmapSize int + Mlock bool + MmapFlags int + NoFreelistSync bool + NoGrowSync bool + NoSync bool + OpenFile func(string, int, os.FileMode) (*os.File, error) + PageSize int + PreLoadFreelist bool + ReadOnly bool + Timeout time.Duration + type Stats struct + FreeAlloc int + FreePageN int + FreelistInuse int + OpenTxN int + PendingPageN int + TxN int + TxStats TxStats + func (s *Stats) Sub(other *Stats) Stats + type Tx struct + WriteFlag int + func (tx *Tx) Bucket(name []byte) *Bucket + func (tx *Tx) Check(options ...CheckOption) <-chan error + func (tx *Tx) Commit() error + func (tx *Tx) Copy(w io.Writer) error + func (tx *Tx) CopyFile(path string, mode os.FileMode) error + func (tx *Tx) CreateBucket(name []byte) (*Bucket, error) + func (tx *Tx) CreateBucketIfNotExists(name []byte) (*Bucket, error) + func (tx *Tx) Cursor() *Cursor + func (tx *Tx) DB() *DB + func (tx *Tx) DeleteBucket(name []byte) error + func (tx *Tx) ForEach(fn func(name []byte, b *Bucket) error) error + func (tx *Tx) ID() int + func (tx *Tx) OnCommit(fn func()) + func (tx *Tx) Page(id int) (*common.PageInfo, error) + func (tx *Tx) Rollback() error + func (tx *Tx) Root() *Bucket + func (tx *Tx) Size() int64 + func (tx *Tx) Stats() TxStats + func (tx *Tx) Writable() bool + func (tx *Tx) WriteTo(w io.Writer) (n int64, err error) + type TxStats struct + CursorCount int64 + NodeCount int64 + NodeDeref int64 + PageAlloc int64 + PageCount int64 + Rebalance int64 + RebalanceTime time.Duration + Spill int64 + SpillTime time.Duration + Split int64 + Write int64 + WriteTime time.Duration + func (s *TxStats) GetCursorCount() int64 + func (s *TxStats) GetNodeCount() int64 + func (s *TxStats) GetNodeDeref() int64 + func (s *TxStats) GetPageAlloc() int64 + func (s *TxStats) GetPageCount() int64 + func (s *TxStats) GetRebalance() int64 + func (s *TxStats) GetRebalanceTime() time.Duration + func (s *TxStats) GetSpill() int64 + func (s *TxStats) GetSpillTime() time.Duration + func (s *TxStats) GetSplit() int64 + func (s *TxStats) GetWrite() int64 + func (s *TxStats) GetWriteTime() time.Duration + func (s *TxStats) IncCursorCount(delta int64) int64 + func (s *TxStats) IncNodeCount(delta int64) int64 + func (s *TxStats) IncNodeDeref(delta int64) int64 + func (s *TxStats) IncPageAlloc(delta int64) int64 + func (s *TxStats) IncPageCount(delta int64) int64 + func (s *TxStats) IncRebalance(delta int64) int64 + func (s *TxStats) IncRebalanceTime(delta time.Duration) time.Duration + func (s *TxStats) IncSpill(delta int64) int64 + func (s *TxStats) IncSpillTime(delta time.Duration) time.Duration + func (s *TxStats) IncSplit(delta int64) int64 + func (s *TxStats) IncWrite(delta int64) int64 + func (s *TxStats) IncWriteTime(delta time.Duration) time.Duration + func (s *TxStats) Sub(other *TxStats) TxStats