local

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2025 License: AGPL-3.0, AGPL-3.0-or-later Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FixedKey      = "fixed"
	FixedRangeKey = "fixed"
	NoneRangeKey  = "none"
	Delimeter     = "/"
)

Variables

View Source
var (
	ErrNotRunning    = DBError("DB is not running")
	ErrKeyNotFound   = badger.ErrKeyNotFound
	ErrWrongPassword = DBError("wrong username or password")
	ErrStopIteration = DBError("stop iteration")
)

Functions

This section is empty.

Types

type DB

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

func New

func New(
	dbPath string,
	isInMemory bool,
) (*DB, error)

func (*DB) Close

func (db *DB) Close()

func (*DB) Delete

func (db *DB) Delete(key DatabaseKey) error

func (*DB) GC

func (db *DB) GC()

func (*DB) Get

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

func (*DB) GetExpiration

func (db *DB) GetExpiration(key DatabaseKey) (uint64, error)

func (*DB) GetSize

func (db *DB) GetSize(key DatabaseKey) (int64, error)

func (*DB) InnerDB

func (db *DB) InnerDB() *badger.DB

func (*DB) IsClosed

func (db *DB) IsClosed() bool

func (*DB) IsFirstRun

func (db *DB) IsFirstRun() bool

func (*DB) NewTxn

func (db *DB) NewTxn() (WarpTransactioner, error)

func (*DB) NextSequence

func (db *DB) NextSequence() (uint64, error)

func (*DB) Path

func (db *DB) Path() string

func (*DB) Run

func (db *DB) Run(username, password string) (err error)

func (*DB) Set

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

func (*DB) SetWithTTL

func (db *DB) SetWithTTL(key DatabaseKey, value []byte, ttl time.Duration) error

func (*DB) Stats

func (db *DB) Stats() map[string]string

func (*DB) Sync

func (db *DB) Sync() error

type DBError

type DBError string

func (DBError) Error

func (e DBError) Error() string

type DatabaseKey

type DatabaseKey string

func (DatabaseKey) Bytes

func (k DatabaseKey) Bytes() []byte

func (DatabaseKey) DropId

func (k DatabaseKey) DropId() string

func (DatabaseKey) IsEmpty

func (k DatabaseKey) IsEmpty() bool

func (DatabaseKey) String

func (k DatabaseKey) String() string

type IdLayer

type IdLayer string

func (IdLayer) AddId

func (l IdLayer) AddId(mandatoryPrefix string) IdLayer

func (IdLayer) AddReversedTimestamp

func (l IdLayer) AddReversedTimestamp(tm time.Time) RangeLayer

func (IdLayer) Build

func (l IdLayer) Build() DatabaseKey

type IterKeysFunc

type IterKeysFunc func(key string) error

type ListItem

type ListItem struct {
	Key   string
	Value []byte
}

type Namespace

type Namespace string

func NewPrefixBuilder

func NewPrefixBuilder(mandatoryNamespace string) Namespace

NewPrefixBuilder creates a new PrefixBuilder instance

func (Namespace) AddRootID

func (ns Namespace) AddRootID(mandatoryPrefix string) ParentLayer

func (Namespace) AddSubPrefix

func (ns Namespace) AddSubPrefix(p string) Namespace

func (Namespace) Build

func (ns Namespace) Build() DatabaseKey

type ParentLayer

type ParentLayer string

func (ParentLayer) AddParentId

func (l ParentLayer) AddParentId(mandatoryPrefix string) IdLayer

func (ParentLayer) AddRange

func (l ParentLayer) AddRange(mandatoryPrefix RangePrefix) RangeLayer

func (ParentLayer) AddReversedTimestamp

func (l ParentLayer) AddReversedTimestamp(tm time.Time) RangeLayer

func (ParentLayer) Build

func (l ParentLayer) Build() DatabaseKey

type PrefixBuilder

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

PrefixBuilder is a struct that holds a key and any potential error

func (*PrefixBuilder) AddReaderId

func (pb *PrefixBuilder) AddReaderId(readerId string) *PrefixBuilder

func (*PrefixBuilder) AddWriterId

func (pb *PrefixBuilder) AddWriterId(writerId string) *PrefixBuilder

AddFollowedId adds a followee ID segment to the key (reuses user ID validation)

type RangeLayer

type RangeLayer string

func (RangeLayer) AddParentId

func (l RangeLayer) AddParentId(mandatoryPrefix string) IdLayer

func (RangeLayer) Build

func (l RangeLayer) Build() DatabaseKey

type RangePrefix

type RangePrefix string

type Txn

type Txn = badger.Txn

type WarpDB

type WarpDB = badger.DB

type WarpDBLogger

type WarpDBLogger interface {
	Errorf(string, ...interface{})
	Warningf(string, ...interface{})
	Infof(string, ...interface{})
	Debugf(string, ...interface{})
}

type WarpTransactioner

type WarpTransactioner interface {
	Set(key DatabaseKey, value []byte) error
	Get(key DatabaseKey) ([]byte, error)
	SetWithTTL(key DatabaseKey, value []byte, ttl time.Duration) error
	BatchSet(data []ListItem) (err error)
	Delete(key DatabaseKey) error
	Increment(key DatabaseKey) (uint64, error)
	Decrement(key DatabaseKey) (uint64, error)
	Commit() error
	Discard() error
	Rollback()
	IterateKeys(prefix DatabaseKey, handler IterKeysFunc) error
	ReverseIterateKeys(prefix DatabaseKey, handler IterKeysFunc) error
	List(prefix DatabaseKey, limit *uint64, cursor *string) ([]ListItem, string, error)
	BatchGet(keys ...DatabaseKey) ([]ListItem, error)
}

type WarpTxn

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

func (*WarpTxn) BatchGet

func (t *WarpTxn) BatchGet(keys ...DatabaseKey) ([]ListItem, error)

func (*WarpTxn) BatchSet

func (t *WarpTxn) BatchSet(data []ListItem) (err error)

func (*WarpTxn) Commit

func (t *WarpTxn) Commit() error

func (*WarpTxn) Decrement

func (t *WarpTxn) Decrement(key DatabaseKey) (uint64, error)

func (*WarpTxn) Delete

func (t *WarpTxn) Delete(key DatabaseKey) error

func (*WarpTxn) Discard

func (t *WarpTxn) Discard() error

func (*WarpTxn) Get

func (t *WarpTxn) Get(key DatabaseKey) ([]byte, error)

func (*WarpTxn) Increment

func (t *WarpTxn) Increment(key DatabaseKey) (uint64, error)

func (*WarpTxn) IterateKeys

func (t *WarpTxn) IterateKeys(prefix DatabaseKey, handler IterKeysFunc) error

func (*WarpTxn) List

func (t *WarpTxn) List(prefix DatabaseKey, limit *uint64, cursor *string) ([]ListItem, string, error)

func (*WarpTxn) ReverseIterateKeys

func (t *WarpTxn) ReverseIterateKeys(prefix DatabaseKey, handler IterKeysFunc) error

func (*WarpTxn) Rollback

func (t *WarpTxn) Rollback()

func (*WarpTxn) Set

func (t *WarpTxn) Set(key DatabaseKey, value []byte) error

func (*WarpTxn) SetWithTTL

func (t *WarpTxn) SetWithTTL(key DatabaseKey, value []byte, ttl time.Duration) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL