badgerhelper

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2022 License: MIT Imports: 3 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteFirstObjectDB

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

func DeleteObjectsDB

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

delete multiple object

func DeleteOneObjectDB

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

delete one object

func GetFirstObjectDB

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

func GetMapDB

func GetMapDB[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 GetObjectCountDB

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

func GetObjectsDB

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

all objects if prefix is nil or empty

func GetOneObjectDB

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

one object with fixed key

func UpdateFirstObjectDB

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

func UpsertObjectsDB

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

update or insert many objects

func UpsertOneObjectDB

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

update or insert one object

func UpsertPartObjectDB

func UpsertPartObjectDB[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