database

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2020 License: Apache-2.0, BSD-2-Clause Imports: 14 Imported by: 0

Documentation

Overview

Package database is a plugin that manages the badger database (e.g. garbage collection).

Index

Constants

View Source
const (
	ObjectTypeDBSchemaVersion byte = iota
	ObjectTypeBootupData
	ObjectTypeDistributedKeyData
	ObjectTypeSolidState
	ObjectTypeStateUpdateBatch
	ObjectTypeProcessedRequestId
	ObjectTypeSolidStateIndex
	ObjectTypeStateVariable
	ObjectTypeProgramMetadata
	ObjectTypeProgramCode
)

database is structured with 34 byte long prefixes 'address' || 'object type byte '

View Source
const (
	// DBVersion defines the version of the database schema this version of Wasp supports.
	// Every time there's a breaking change regarding the stored data, this version flag should be adjusted.
	DBVersion = 0
)
View Source
const PluginName = "Database"

Database is the name of the database plugin.

Variables

View Source
var (
	// ErrDBVersionIncompatible is returned when the database has an unexpected version.
	ErrDBVersionIncompatible = errors.New("database version is not compatible. please delete your database folder and restart")
)

Functions

func GetRegistryPartition

func GetRegistryPartition() kvstore.KVStore

func Init

func Init() *node.Plugin

func MakeKey

func MakeKey(objType byte, keyBytes ...[]byte) []byte

MakeKey makes key within the partition. It consists to one byte for object type and arbitrary byte fragments concatenated together

Types

type Partition

type Partition struct {
	kvstore.KVStore
	// contains filtered or unexported fields
}

func GetPartition

func GetPartition(addr *address.Address) *Partition

Partition returns store prefixed with the smart contract address Wasp ledger is partitioned by smart contract addresses cached to be able to work with MapsDB TODO

func (*Partition) Lock

func (part *Partition) Lock()

func (*Partition) RLock

func (part *Partition) RLock()

func (*Partition) RUnlock

func (part *Partition) RUnlock()

func (*Partition) Unlock

func (part *Partition) Unlock()

Jump to

Keyboard shortcuts

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