Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrDuplicateStore = errors.New("store already exists")
ErrDuplicateStore is used when an attempt is made to create a duplicate store.
var ErrGetAllNotSupported = errors.New("getting all key-value pairs is not supported")
ErrGetAllNotSupported is used when the get all function is not supported by the store implementation.
var ErrIndexingNotSupported = errors.New("indexing is not supported")
ErrIndexingNotSupported is used when create index is not supported by the store implementation.
var ErrKeyRequired = errors.New("key is mandatory")
ErrKeyRequired is returned when an attempt is made to call a method with an empty key when it's not allowed.
var ErrQueryingNotSupported = errors.New("querying is not supported")
ErrQueryingNotSupported is used when querying is not supported by the store implementation.
var ErrStoreNotFound = errors.New("store not found")
ErrStoreNotFound is used when a given store was not found in a provider.
var ErrValueNotFound = errors.New("store does not have a value associated with this key")
ErrValueNotFound is used when an attempt is made to retrieve a value using a key that isn't in the store.
Functions ¶
This section is empty.
Types ¶
type CreateIndexRequest ¶ added in v0.1.3
type CreateIndexRequest struct {
// IndexStorageLocation is the place where the index (and any associated configuration data) is stored.
// The usage of this depends on the implementation.
IndexStorageLocation string
// IndexName is the user-defined name that should be assigned to this new index.
IndexName string
// WhatToIndex are the field(s) that you want to index.
// The syntax for this string depends on the implementation.
WhatToIndex string
}
CreateIndexRequest represents the information that a store needs to create a new user-specified index.
type Provider ¶
type Provider interface {
// CreateStore creates a new store with the given name.
CreateStore(name string) error
// OpenStore opens an existing store and returns it.
OpenStore(name string) (Store, error)
// CloseStore closes the store with the given name.
CloseStore(name string) error
// Close closes all stores created under this store provider.
Close() error
}
Provider represents a storage provider.
type ResultsIterator ¶ added in v0.1.3
type ResultsIterator interface {
// Next moves the pointer to the next value in the iterator. It returns false if the iterator is exhausted.
Next() (bool, error)
// Release releases associated resources. Release should always result in success
// and can be called multiple times without causing an error.
Release() error
// Key returns the key of the current key-value pair.
Key() (string, error)
// Value returns the value of the current key-value pair.
Value() ([]byte, error)
}
ResultsIterator represents an iterator that can be used to iterate over all the stored key-value pairs.
type Store ¶
type Store interface {
// Put stores the key-value pair.
Put(k string, v []byte) error
// GetAll fetches all the key-value pairs within this store.
GetAll() (map[string][]byte, error)
// Get fetches the value associated with the given key.
Get(k string) ([]byte, error)
// CreateIndex creates an index in the store based on the provided CreateIndexRequest.
CreateIndex(createIndexRequest CreateIndexRequest) error
// Query queries the store for data based on the provided query string, the format of
// which will be dependent on what the underlying store requires.
Query(query string) (ResultsIterator, error)
// Delete deletes the key-value pair associated with k.
Delete(k string) error
}
Store represents a storage database.