statecouchdb

package
v0.0.0-...-a56bd7b Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2020 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CleanupDB

func CleanupDB(t testing.TB, dbProvider statedb.VersionedDBProvider)

CleanupDB deletes all the databases other than fabric internal database

Types

type TestVDBEnv

type TestVDBEnv struct {
	DBProvider statedb.VersionedDBProvider
	// contains filtered or unexported fields
}

TestVDBEnv provides a couch db backed versioned db for testing

func NewTestVDBEnv

func NewTestVDBEnv(t testing.TB) *TestVDBEnv

NewTestVDBEnv instantiates and new couch db backed TestVDB

func (*TestVDBEnv) Cleanup

func (env *TestVDBEnv) Cleanup()

Cleanup drops the test couch databases and closes the db provider

func (*TestVDBEnv) CloseAndReopen

func (env *TestVDBEnv) CloseAndReopen()

type VersionedDB

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

VersionedDB implements VersionedDB interface

func (*VersionedDB) ApplyUpdates

func (vdb *VersionedDB) ApplyUpdates(updates *statedb.UpdateBatch, height *version.Height) error

ApplyUpdates implements method in VersionedDB interface

func (*VersionedDB) BytesKeySupported

func (vdb *VersionedDB) BytesKeySupported() bool

BytesKeySupported implements method in VersionvdbedDB interface

func (*VersionedDB) ClearCachedVersions

func (vdb *VersionedDB) ClearCachedVersions()

ClearCachedVersions clears committedVersions and revisionNumbers

func (*VersionedDB) Close

func (vdb *VersionedDB) Close()

Close implements method in VersionedDB interface

func (*VersionedDB) ExecuteQuery

func (vdb *VersionedDB) ExecuteQuery(namespace, query string) (statedb.ResultsIterator, error)

ExecuteQuery implements method in VersionedDB interface

func (*VersionedDB) ExecuteQueryWithMetadata

func (vdb *VersionedDB) ExecuteQueryWithMetadata(namespace, query string, metadata map[string]interface{}) (statedb.QueryResultsIterator, error)

ExecuteQueryWithMetadata implements method in VersionedDB interface

func (*VersionedDB) GetCachedVersion

func (vdb *VersionedDB) GetCachedVersion(namespace string, key string) (*version.Height, bool)

GetCachedVersion returns version from cache. `LoadCommittedVersions` function populates the cache

func (*VersionedDB) GetDBType

func (vdb *VersionedDB) GetDBType() string

GetDBType returns the hosted stateDB

func (*VersionedDB) GetLatestSavePoint

func (vdb *VersionedDB) GetLatestSavePoint() (*version.Height, error)

GetLatestSavePoint implements method in VersionedDB interface

func (*VersionedDB) GetState

func (vdb *VersionedDB) GetState(namespace string, key string) (*statedb.VersionedValue, error)

GetState implements method in VersionedDB interface

func (*VersionedDB) GetStateMultipleKeys

func (vdb *VersionedDB) GetStateMultipleKeys(namespace string, keys []string) ([]*statedb.VersionedValue, error)

GetStateMultipleKeys implements method in VersionedDB interface

func (*VersionedDB) GetStateRangeScanIterator

func (vdb *VersionedDB) GetStateRangeScanIterator(namespace string, startKey string, endKey string) (statedb.ResultsIterator, error)

GetStateRangeScanIterator implements method in VersionedDB interface startKey is inclusive endKey is exclusive

func (*VersionedDB) GetStateRangeScanIteratorWithMetadata

func (vdb *VersionedDB) GetStateRangeScanIteratorWithMetadata(namespace string, startKey string, endKey string, metadata map[string]interface{}) (statedb.QueryResultsIterator, error)

GetStateRangeScanIteratorWithMetadata implements method in VersionedDB interface startKey is inclusive endKey is exclusive metadata contains a map of additional query options

func (*VersionedDB) GetVersion

func (vdb *VersionedDB) GetVersion(namespace string, key string) (*version.Height, error)

GetVersion implements method in VersionedDB interface

func (*VersionedDB) LoadCommittedVersions

func (vdb *VersionedDB) LoadCommittedVersions(keys []*statedb.CompositeKey) error

LoadCommittedVersions populates committedVersions and revisionNumbers into cache. A bulk retrieve from couchdb is used to populate the cache. committedVersions cache will be used for state validation of readsets revisionNumbers cache will be used during commit phase for couchdb bulk updates

func (*VersionedDB) Open

func (vdb *VersionedDB) Open() error

Open implements method in VersionedDB interface

func (*VersionedDB) ProcessIndexesForChaincodeDeploy

func (vdb *VersionedDB) ProcessIndexesForChaincodeDeploy(namespace string, fileEntries []*ccprovider.TarFileEntry) error

ProcessIndexesForChaincodeDeploy creates indexes for a specified namespace

func (*VersionedDB) ValidateKeyValue

func (vdb *VersionedDB) ValidateKeyValue(key string, value []byte) error

ValidateKeyValue implements method in VersionedDB interface

type VersionedDBProvider

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

VersionedDBProvider implements interface VersionedDBProvider

func NewVersionedDBProvider

func NewVersionedDBProvider(config *couchdb.Config, metricsProvider metrics.Provider, cache *statedb.Cache) (*VersionedDBProvider, error)

NewVersionedDBProvider instantiates VersionedDBProvider

func (*VersionedDBProvider) Close

func (provider *VersionedDBProvider) Close()

Close closes the underlying db instance

func (*VersionedDBProvider) GetDBHandle

func (provider *VersionedDBProvider) GetDBHandle(dbName string) (statedb.VersionedDB, error)

GetDBHandle gets the handle to a named database

func (*VersionedDBProvider) HealthCheck

func (provider *VersionedDBProvider) HealthCheck(ctx context.Context) error

HealthCheck checks to see if the couch instance of the peer is healthy

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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