Documentation ¶
Index ¶
- func LoadStore(db dbm.DB, id types.CommitID, pruning types.PruningOptions, lazyLoading bool) (types.CommitStore, error)
- type Store
- func (st *Store) CacheWrap() types.CacheWrap
- func (st *Store) CacheWrapWithTrace(w io.Writer, tc types.TraceContext) types.CacheWrap
- func (st *Store) Commit() types.CommitID
- func (st *Store) Delete(key []byte)
- func (st *Store) Get(key []byte) (value []byte)
- func (st *Store) GetImmutable(version int64) (*Store, error)
- func (st *Store) GetStoreType() types.StoreType
- func (st *Store) Has(key []byte) (exists bool)
- func (st *Store) Iterator(start, end []byte) types.Iterator
- func (st *Store) LastCommitID() types.CommitID
- func (st *Store) Query(req abci.RequestQuery) (res abci.ResponseQuery)
- func (st *Store) ReverseIterator(start, end []byte) types.Iterator
- func (st *Store) Set(key, value []byte)
- func (st *Store) SetPruning(opt types.PruningOptions)
- func (st *Store) SetVersion(version int64)
- func (st *Store) VersionExists(version int64) bool
- type Tree
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store Implements types.KVStore and CommitStore.
func UnsafeNewStore ¶
func UnsafeNewStore(tree *iavl.MutableTree, numRecent int64, storeEvery int64) *Store
CONTRACT: tree should be fully loaded. nolint: unparam
func (*Store) CacheWrapWithTrace ¶
CacheWrapWithTrace implements the Store interface.
func (*Store) GetImmutable ¶
GetImmutable returns a reference to a new store backed by an immutable IAVL tree at a specific version (height) without any pruning options. This should be used for querying and iteration only. If the version does not exist or has been pruned, an error will be returned. Any mutable operations executed will result in a panic.
func (*Store) Query ¶
func (st *Store) Query(req abci.RequestQuery) (res abci.ResponseQuery)
Query implements ABCI interface, allows queries
by default we will return from (latest height -1), as we will have merkle proofs immediately (header height = data height + 1) If latest-1 is not present, use latest (which must be present) if you care to have the latest data to see a tx results, you must explicitly set the height you want to see
func (*Store) ReverseIterator ¶
Implements types.KVStore.
func (*Store) SetPruning ¶
func (st *Store) SetPruning(opt types.PruningOptions)
Implements Committer.
func (*Store) SetVersion ¶
func (*Store) VersionExists ¶
VersionExists returns whether or not a given version is stored.
type Tree ¶
type Tree interface { Has(key []byte) bool Get(key []byte) (index int64, value []byte) Set(key, value []byte) bool Remove(key []byte) ([]byte, bool) SaveVersion() ([]byte, int64, error) SetVersion(version int64) error DeleteVersion(version int64) error Version() int64 Hash() []byte VersionExists(version int64) bool GetVersioned(key []byte, version int64) (int64, []byte) GetVersionedWithProof(key []byte, version int64) ([]byte, *iavl.RangeProof, error) GetImmutable(version int64) (*iavl.ImmutableTree, error) }
Tree defines an interface that both mutable and immutable IAVL trees must implement. For mutable IAVL trees, the interface is directly implemented by an iavl.MutableTree. For an immutable IAVL tree, a wrapper must be made.