package tezos-protocol-010-PtGRANAD

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The generic signature of indexed data accessors (a set of values of the same type indexed by keys of the same form in the hierarchical (key x value) database).

include Non_iterable_indexed_data_storage
type t
type context = t
type key

An abstract type for keys

type value

The type of values

val mem : context -> key -> bool Lwt.t

Tells if a given key is already bound to a storage bucket

val get : context -> key -> (value, Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.error Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.trace) result Lwt.t

Retrieve a value from the storage bucket at a given key ; returns Storage_errorMissing_key if the key is not set ; returns Storage_errorCorrupted_data if the deserialisation fails.

val find : context -> key -> (value option, Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.error Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.trace) result Lwt.t

Retrieve a value from the storage bucket at a given key ; returns None if the value is not set ; returns Storage_error Corrupted_data if the deserialisation fails.

val update : context -> key -> value -> (Raw_context.t, Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.error Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.trace) result Lwt.t

Updates the content of a bucket ; returns A Storage_Error Missing_key if the value does not exists.

val init : context -> key -> value -> (Raw_context.t, Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.error Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.trace) result Lwt.t

Allocates a storage bucket at the given key and initializes it ; returns a Storage_errorExisting_key if the bucket exists.

val add : context -> key -> value -> Raw_context.t Lwt.t

Allocates a storage bucket at the given key and initializes it with a value ; just updates it if the bucket exists.

val add_or_remove : context -> key -> value option -> Raw_context.t Lwt.t

When the value is Some v, allocates the data and initializes it with v ; just updates it if the bucket exists. When the value is None, delete the storage bucket when the value ; does nothing if the bucket does not exists.

val remove_existing : context -> key -> (Raw_context.t, Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.error Tezos_protocol_environment_010_PtGRANAD__Environment.Error_monad.trace) result Lwt.t

Delete a storage bucket and its contents ; returns a Storage_errorMissing_key if the bucket does not exists.

val remove : context -> key -> Raw_context.t Lwt.t

Removes a storage bucket and its contents ; does nothing if the bucket does not exists.

val clear : context -> Raw_context.t Lwt.t

Empties all the keys and associated data.

val keys : context -> key list Lwt.t

Lists all the keys.

val bindings : context -> (key * value) list Lwt.t

Lists all the keys and associated data.

val fold : context -> init:'a -> f:(key -> value -> 'a -> 'a Lwt.t) -> 'a Lwt.t

Iterates over all the keys and associated data.

val fold_keys : context -> init:'a -> f:(key -> 'a -> 'a Lwt.t) -> 'a Lwt.t

Iterate over all the keys.