Documentation
¶
Index ¶
- Constants
- Variables
- func IsNotFoundError(err error) bool
- func ToDatatoreErrNotFound(err error) error
- type DB
- func (db *DB) Close()
- func (db *DB) Delete(key DatabaseKey) error
- func (db *DB) GC()
- func (db *DB) Get(key DatabaseKey) ([]byte, error)
- func (db *DB) GetExpiration(key DatabaseKey) (uint64, error)
- func (db *DB) GetSize(key DatabaseKey) (int64, error)
- func (db *DB) InnerDB() *badger.DB
- func (db *DB) IsClosed() bool
- func (db *DB) IsFirstRun() bool
- func (db *DB) NewTxn() (WarpTransactioner, error)
- func (db *DB) NextSequence() (uint64, error)
- func (db *DB) Path() string
- func (db *DB) Run(username, password string) (err error)
- func (db *DB) Set(key DatabaseKey, value []byte) error
- func (db *DB) SetWithTTL(key DatabaseKey, value []byte, ttl time.Duration) error
- func (db *DB) Stats() map[string]string
- func (db *DB) Sync() error
- type DBError
- type DatabaseKey
- type Entry
- type IdLayer
- type Item
- type IterKeysFunc
- type ListItem
- type Namespace
- type Options
- type ParentLayer
- type PrefixBuilder
- type RangeLayer
- type RangePrefix
- type Txn
- type WarpDB
- type WarpDBLogger
- type WarpTransactioner
- type WriteBatch
Constants ¶
View Source
const ( ErrNotRunning = DBError("DB is not running") ErrWrongPassword = DBError("wrong username or password") PermanentTTL = math.MaxInt64 )
View Source
const ( FixedKey = "fixed" FixedRangeKey = "fixed" NoneRangeKey = "none" Delimeter = "/" )
Variables ¶
View Source
var DefaultIteratorOptions = badger.DefaultIteratorOptions
Functions ¶
func IsNotFoundError ¶
func ToDatatoreErrNotFound ¶
Types ¶
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
func (*DB) Delete ¶
func (db *DB) Delete(key DatabaseKey) error
func (*DB) GetExpiration ¶
func (db *DB) GetExpiration(key DatabaseKey) (uint64, error)
func (*DB) IsFirstRun ¶
func (*DB) NewTxn ¶
func (db *DB) NewTxn() (WarpTransactioner, error)
func (*DB) NextSequence ¶
func (*DB) SetWithTTL ¶
type DatabaseKey ¶
type DatabaseKey string
func (DatabaseKey) Bytes ¶
func (k DatabaseKey) Bytes() []byte
func (DatabaseKey) DatastoreKey ¶
func (k DatabaseKey) DatastoreKey() datastore.Key
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) AddReversedTimestamp ¶
func (l IdLayer) AddReversedTimestamp(tm time.Time) RangeLayer
func (IdLayer) Build ¶
func (l IdLayer) Build() DatabaseKey
type IterKeysFunc ¶
type Namespace ¶
type Namespace string
func NewPrefixBuilder ¶
NewPrefixBuilder creates a new PrefixBuilder instance
func (Namespace) AddRootID ¶
func (ns Namespace) AddRootID(mandatoryPrefix string) ParentLayer
func (Namespace) AddSubPrefix ¶
func (Namespace) Build ¶
func (ns Namespace) Build() DatabaseKey
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
func DefaultOptions ¶
func DefaultOptions() *Options
func (*Options) WithDiscardRatioGC ¶
func (*Options) WithInMemory ¶
func (*Options) WithIntervalGC ¶
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 following 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 WarpDBLogger ¶
type WarpTransactioner ¶
type WarpTransactioner interface {
Set(key DatabaseKey, value []byte) error
Get(key DatabaseKey) ([]byte, error)
GetExpiration(key DatabaseKey) (uint64, 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)
ListKeys(prefix DatabaseKey, limit *uint64, cursor *string) ([]string, string, error)
BatchGet(keys ...DatabaseKey) ([]ListItem, error)
}
type WriteBatch ¶
type WriteBatch = badger.WriteBatch
Click to show internal directories.
Click to hide internal directories.