storage

package
v0.3.90 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 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    = errors.New("DB is not running")
	ErrKeyNotFound   = badger.ErrKeyNotFound
	ErrWrongPassword = errors.New("wrong username or password")
	ErrStopIteration = errors.New("stop iteration")
)

Functions

This section is empty.

Types

type DB

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

func New

func New(
	path string,
	isInMemory bool,
	dataFolder string,
) (*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 added in v0.3.9

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 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 added in v0.3.9

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 added in v0.3.9

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 added in v0.3.9

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

func (*WarpTxn) BatchSet added in v0.3.9

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

func (*WarpTxn) Commit added in v0.3.9

func (t *WarpTxn) Commit() error

func (*WarpTxn) Decrement added in v0.3.9

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

func (*WarpTxn) Delete added in v0.3.9

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

func (*WarpTxn) Discard added in v0.3.15

func (t *WarpTxn) Discard() error

func (*WarpTxn) Get added in v0.3.9

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

func (*WarpTxn) Increment added in v0.3.9

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

func (*WarpTxn) IterateKeys added in v0.3.9

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

func (*WarpTxn) List added in v0.3.9

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

func (*WarpTxn) ReverseIterateKeys added in v0.3.9

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

func (*WarpTxn) Rollback added in v0.3.9

func (t *WarpTxn) Rollback()

func (*WarpTxn) Set added in v0.3.9

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

func (*WarpTxn) SetWithTTL added in v0.3.9

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