local

package
v0.5.65 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2025 License: AGPL-3.0, AGPL-3.0-or-later Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FixedKey      = "fixed"
	FixedRangeKey = "fixed"
	NoneRangeKey  = "none"
	Delimeter     = "/"
)
View Source
const ErrKeyNotFound = DBError("warp db: key not found")

Variables

This section is empty.

Functions

This section is empty.

Types

type Broadcaster added in v0.5.65

type Broadcaster = crdt.Broadcaster

type DB

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

func New

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

func (*DB) BatchGet added in v0.5.65

func (db *DB) BatchGet(keys ...DatabaseKey) ([]ListItem, error)

func (*DB) BatchSet added in v0.5.65

func (db *DB) BatchSet(data []ListItem) (err error)

func (*DB) Close

func (db *DB) Close()

func (*DB) Delete

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

func (*DB) EnableCRDT added in v0.5.65

func (db *DB) EnableCRDT(ns string, b Broadcaster) (err error)

func (*DB) Get

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

func (*DB) GetSize

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

func (*DB) IsFirstRun

func (db *DB) IsFirstRun() bool

func (*DB) LocalStore added in v0.5.65

func (db *DB) LocalStore() LocalStore

func (*DB) NewTxn

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

func (*DB) Run

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

func (*DB) Set

func (db *DB) Set(key DatabaseKey, value []byte) (err 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() (err error)

type DBError

type DBError = localDB.DBError

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

type LocalStore interface {
	localDB.Datastore
	localDB.Batching
}

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

type PubSubProvider interface {
	SubscribeUserUpdate(userId string) (err error)
	UnsubscribeUserUpdate(userId string) (err error)
	PublishUpdateToFollowers(ownerId, dest string, bt []byte) (err error)
	Close() error
}

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 WarpTransactioner

type WarpTransactioner interface {
	Set(key DatabaseKey, value []byte) error
	Get(key DatabaseKey) ([]byte, error)
	Rollback()
	Commit() error
	Delete(key DatabaseKey) error
	List(prefix DatabaseKey, limit *uint64, cursor *string) ([]ListItem, string, error)
	Increment(key DatabaseKey) (uint64, error)
	Decrement(key DatabaseKey) (uint64, error)
	SetWithTTL(key DatabaseKey, value []byte, ttl time.Duration) error
}

type WarpTxn

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

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) 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()

Rollback is back compatible with Badger V3

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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