badgerhelper

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: May 9, 2024 License: MIT Imports: 3 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteFirstObject added in v0.0.7

func DeleteFirstObject[V any, T PtrDbAccessible[V]](prefix []byte) (n int, err error)

func DeleteObjects added in v0.0.7

func DeleteObjects[V any, T PtrDbAccessible[V]](prefix []byte) (n int, err error)

delete multiple objects

func DeleteOneObject added in v0.0.7

func DeleteOneObject[V any, T PtrDbAccessible[V]](key []byte) (n int, err error)

delete one object

func GetFirstObject added in v0.0.7

func GetFirstObject[V any, T PtrDbAccessible[V]](prefix []byte, filter func(T) bool) (T, error)

func GetMap added in v0.0.7

func GetMap[V any, T PtrDbAccessible[V]](prefix []byte, filter func([]byte, any) bool) (map[string]any, error)

use Unmarshal returned data as map-value, filter key is []byte type

func GetObjectCount added in v0.0.7

func GetObjectCount[V any, T PtrDbAccessible[V]](prefix []byte, filter func(T) bool) (int, error)

func GetObjects added in v0.0.7

func GetObjects[V any, T PtrDbAccessible[V]](prefix []byte, filter func(T) bool) ([]T, error)

all objects if prefix is nil or empty

func GetOneObject added in v0.0.7

func GetOneObject[V any, T PtrDbAccessible[V]](key []byte) (T, error)

one object with fixed key

func UpdateFirstObject added in v0.0.7

func UpdateFirstObject[V any, T PtrDbAccessible[V]](prefix []byte, object T) (n int, err error)

func UpsertObjects added in v0.0.7

func UpsertObjects[V any, T PtrDbAccessible[V]](objects ...T) error

update or insert many objects

func UpsertOneObject added in v0.0.7

func UpsertOneObject[V any, T PtrDbAccessible[V]](object T) error

update or insert one object

func UpsertPartObject added in v0.0.7

func UpsertPartObject[V any, T PtrDbAccessible[V]](object T, at any) error

update or insert part object at specific area

Types

type DbAccessible

type DbAccessible interface {
	BadgerDB() *badger.DB
	Key() []byte
	Marshal(at any) (forKey []byte, forValue []byte)
	Unmarshal(dbKey []byte, dbVal []byte) (any, error)
}

type PtrDbAccessible

type PtrDbAccessible[T any] interface {
	DbAccessible
	*T
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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