Documentation

Index

Constants

View Source
const (
	IteratorForward  uint8 = 0
	IteratorBackward uint8 = 1
)
View Source
const (
	RangeClose uint8 = 0x00
	RangeLOpen uint8 = 0x01
	RangeROpen uint8 = 0x10
	RangeOpen  uint8 = 0x11
)

Variables

This section is empty.

Functions

func Repair

func Repair(cfg *config.Config) error

Types

type BatchData

type BatchData struct {
	leveldb.Batch
}

func NewBatchData

func NewBatchData(data []byte) (*BatchData, error)

func (*BatchData) Data

func (d *BatchData) Data() []byte

func (*BatchData) Items

func (d *BatchData) Items() ([]BatchItem, error)

func (*BatchData) Replay

func (d *BatchData) Replay(r BatchDataReplay) error

func (*BatchData) Reset

func (d *BatchData) Reset()

type BatchDataReplay

type BatchDataReplay interface {
	Put(key, value []byte)
	Delete(key []byte)
}

type BatchItem

type BatchItem struct {
	Key   []byte
	Value []byte
}

type DB

type DB struct {
	// contains filtered or unexported fields
}

func Open

func Open(cfg *config.Config) (*DB, error)

func (*DB) Close

func (db *DB) Close() error

func (*DB) Compact

func (db *DB) Compact() error

func (*DB) Delete

func (db *DB) Delete(key []byte) error

func (*DB) Get

func (db *DB) Get(key []byte) ([]byte, error)

func (*DB) GetSlice

func (db *DB) GetSlice(key []byte) (Slice, error)

func (*DB) NewIterator

func (db *DB) NewIterator() *Iterator

func (*DB) NewSnapshot

func (db *DB) NewSnapshot() (*Snapshot, error)

func (*DB) NewWriteBatch

func (db *DB) NewWriteBatch() *WriteBatch

func (*DB) Put

func (db *DB) Put(key []byte, value []byte) error

func (*DB) RangeIterator

func (db *DB) RangeIterator(min []byte, max []byte, rangeType uint8) *RangeLimitIterator

func (*DB) RangeLimitIterator

func (db *DB) RangeLimitIterator(min []byte, max []byte, rangeType uint8, offset int, count int) *RangeLimitIterator

    RangeLimitIterator count < 0, unlimit.

    offset must >= 0, if < 0, will get nothing.

    func (*DB) RevRangeIterator

    func (db *DB) RevRangeIterator(min []byte, max []byte, rangeType uint8) *RangeLimitIterator

    func (*DB) RevRangeLimitIterator

    func (db *DB) RevRangeLimitIterator(min []byte, max []byte, rangeType uint8, offset int, count int) *RangeLimitIterator

      RevRangeLimitIterator count < 0, unlimit.

      offset must >= 0, if < 0, will get nothing.

      func (*DB) Stat

      func (db *DB) Stat() *Stat

      func (*DB) String

      func (db *DB) String() string

      type Iterator

      type Iterator struct {
      	// contains filtered or unexported fields
      }

      func (*Iterator) BufKey

      func (it *Iterator) BufKey(b []byte) []byte

        BufKey copy key to b, if b len is small or nil, returns a new one.

        func (*Iterator) BufValue

        func (it *Iterator) BufValue(b []byte) []byte

          BufValue copy value to b, if b len is small or nil, returns a new one.

          func (*Iterator) Close

          func (it *Iterator) Close()

          func (*Iterator) Find

          func (it *Iterator) Find(key []byte) []byte

            Find finds by key, if not found, nil returns.

            func (*Iterator) Key

            func (it *Iterator) Key() []byte

              Key returns a copy of key.

              func (*Iterator) Next

              func (it *Iterator) Next()

              func (*Iterator) Prev

              func (it *Iterator) Prev()

              func (*Iterator) RawFind

              func (it *Iterator) RawFind(key []byte) []byte

                RawFind finds by key, if not found, nil returns, else a reference of value returns. you must be careful that it will be changed after next iterate.

                func (*Iterator) RawKey

                func (it *Iterator) RawKey() []byte

                  RawKey returns a reference of key. you must be careful that it will be changed after next iterate.

                  func (*Iterator) RawValue

                  func (it *Iterator) RawValue() []byte

                    RawValue returns a reference of value. you must be careful that it will be changed after next iterate.

                    func (*Iterator) Seek

                    func (it *Iterator) Seek(key []byte)

                    func (*Iterator) SeekToFirst

                    func (it *Iterator) SeekToFirst()

                    func (*Iterator) SeekToLast

                    func (it *Iterator) SeekToLast()

                    func (*Iterator) Valid

                    func (it *Iterator) Valid() bool

                    func (*Iterator) Value

                    func (it *Iterator) Value() []byte

                      Value returns a copy of value.

                      type Limit

                      type Limit struct {
                      	Offset int
                      	Count  int
                      }

                      type Range

                      type Range struct {
                      	Min []byte
                      	Max []byte
                      
                      	Type uint8
                      }

                        Range min must less or equal than max

                        range type:

                        close: [min, max]
                        open: (min, max)
                        lopen: (min, max]
                        ropen: [min, max)
                        

                        type RangeLimitIterator

                        type RangeLimitIterator struct {
                        	// contains filtered or unexported fields
                        }

                        func NewRangeIterator

                        func NewRangeIterator(i *Iterator, r *Range) *RangeLimitIterator

                        func NewRangeLimitIterator

                        func NewRangeLimitIterator(i *Iterator, r *Range, l *Limit) *RangeLimitIterator

                        func NewRevRangeIterator

                        func NewRevRangeIterator(i *Iterator, r *Range) *RangeLimitIterator

                        func NewRevRangeLimitIterator

                        func NewRevRangeLimitIterator(i *Iterator, r *Range, l *Limit) *RangeLimitIterator

                        func (*RangeLimitIterator) BufKey

                        func (it *RangeLimitIterator) BufKey(b []byte) []byte

                        func (*RangeLimitIterator) BufValue

                        func (it *RangeLimitIterator) BufValue(b []byte) []byte

                        func (*RangeLimitIterator) Close

                        func (it *RangeLimitIterator) Close()

                        func (*RangeLimitIterator) Key

                        func (it *RangeLimitIterator) Key() []byte

                        func (*RangeLimitIterator) Next

                        func (it *RangeLimitIterator) Next()

                        func (*RangeLimitIterator) RawKey

                        func (it *RangeLimitIterator) RawKey() []byte

                        func (*RangeLimitIterator) RawValue

                        func (it *RangeLimitIterator) RawValue() []byte

                        func (*RangeLimitIterator) Valid

                        func (it *RangeLimitIterator) Valid() bool

                        func (*RangeLimitIterator) Value

                        func (it *RangeLimitIterator) Value() []byte

                        type Slice

                        type Slice interface {
                        	driver.ISlice
                        }

                        type Snapshot

                        type Snapshot struct {
                        	driver.ISnapshot
                        	// contains filtered or unexported fields
                        }

                        func (*Snapshot) Close

                        func (s *Snapshot) Close()

                        func (*Snapshot) Get

                        func (s *Snapshot) Get(key []byte) ([]byte, error)

                        func (*Snapshot) GetSlice

                        func (s *Snapshot) GetSlice(key []byte) (Slice, error)

                        func (*Snapshot) NewIterator

                        func (s *Snapshot) NewIterator() *Iterator

                        type Stat

                        type Stat struct {
                        	GetNum               sync2.AtomicInt64
                        	GetMissingNum        sync2.AtomicInt64
                        	GetTotalTime         sync2.AtomicDuration
                        	PutNum               sync2.AtomicInt64
                        	DeleteNum            sync2.AtomicInt64
                        	IterNum              sync2.AtomicInt64
                        	IterSeekNum          sync2.AtomicInt64
                        	IterCloseNum         sync2.AtomicInt64
                        	SnapshotNum          sync2.AtomicInt64
                        	SnapshotCloseNum     sync2.AtomicInt64
                        	BatchNum             sync2.AtomicInt64
                        	BatchCommitNum       sync2.AtomicInt64
                        	BatchCommitTotalTime sync2.AtomicDuration
                        	TxNum                sync2.AtomicInt64
                        	TxCommitNum          sync2.AtomicInt64
                        	TxCloseNum           sync2.AtomicInt64
                        	CompactNum           sync2.AtomicInt64
                        	CompactTotalTime     sync2.AtomicDuration
                        }

                        func (*Stat) Reset

                        func (st *Stat) Reset()

                        type WriteBatch

                        type WriteBatch struct {
                        	// contains filtered or unexported fields
                        }

                        func (*WriteBatch) BatchData

                        func (wb *WriteBatch) BatchData() *BatchData

                          BatchData the data will be undefined after commit or rollback

                          func (*WriteBatch) Close

                          func (wb *WriteBatch) Close()

                          func (*WriteBatch) Commit

                          func (wb *WriteBatch) Commit() error

                          func (*WriteBatch) Data

                          func (wb *WriteBatch) Data() []byte

                          func (*WriteBatch) Delete

                          func (wb *WriteBatch) Delete(key []byte)

                          func (*WriteBatch) Put

                          func (wb *WriteBatch) Put(key []byte, value []byte)

                          func (*WriteBatch) Rollback

                          func (wb *WriteBatch) Rollback() error

                          Directories

                          Path Synopsis