Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DatastoreManager ¶
type DatastoreManager interface {
// Datastore provides access to the datastore for performing batched
// read and write operations.
Datastore() ds.Batching
// DB returns the raw database object, allowing for more direct
// access to the underlying database features and operations.
DB() storage.DB
// Close terminates the connection to the datastore and releases
// any associated resources. This method should be called
// when finished using the datastore to ensure proper resource cleanup.
Close() error
// CollectGarbage initiates garbage collection on the datastore
// to reclaim unused space and optimize performance.
CollectGarbage(ctx context.Context) error
}
DatastoreManager defines the interface for managing a datastore. It provides methods for accessing the datastore, the underlying database, closing the datastore, and performing garbage collection.
func CreateDatastoreManager ¶ added in v0.43.0
func CreateDatastoreManager( logger zerolog.Logger, executionDataDir string, ) (DatastoreManager, error)
CreateDatastoreManager creates a new datastore manager of the specified type. It supports both Badger and Pebble datastores.
type PebbleDatastoreManager ¶
type PebbleDatastoreManager struct {
// contains filtered or unexported fields
}
PebbleDatastoreManager wraps the PebbleDB to implement the StorageDB interface.
func NewPebbleDatastoreManager ¶
func NewPebbleDatastoreManager(logger zerolog.Logger, path string, options *pebble.Options) (*PebbleDatastoreManager, error)
NewPebbleDatastoreManager creates and returns a new instance of PebbleDatastoreManager. It initializes the PebbleDB database with the specified path and options. If no options are provided, default options are used.
Parameters:
- path: The path to the directory where the PebbleDB files will be stored.
- options: Configuration options for the PebbleDB database. If nil, default options are applied.
No errors are expected during normal operations.
func (*PebbleDatastoreManager) Close ¶
func (p *PebbleDatastoreManager) Close() error
Close terminates the connection to the datastore and releases any associated resources. This method should be called when finished using the datastore to ensure proper resource cleanup.
func (*PebbleDatastoreManager) CollectGarbage ¶
func (p *PebbleDatastoreManager) CollectGarbage(_ context.Context) error
CollectGarbage initiates garbage collection on the datastore to reclaim unused space and optimize performance.
func (*PebbleDatastoreManager) DB ¶
func (p *PebbleDatastoreManager) DB() storage.DB
DB returns the raw database object, allowing for more direct access to the underlying database features and operations.
func (*PebbleDatastoreManager) Datastore ¶
func (p *PebbleDatastoreManager) Datastore() ds.Batching
Datastore provides access to the datastore for performing batched read and write operations.