sqlite

package
v0.0.0-...-b4c9458 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package sqlite provides log state persistence backed by an sqlite database.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Opts

type Opts struct {
	// Path is the path the location of the underlying SQLite database file.
	Path string
	// MaxOpenConns sets to maximum number of open connections to the database.
	MaxOpenConns int
}

Opts represents options for the sqlite persistence layer.

type Persistence

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

Persistence is an implementation of witness.Persistence which knows how to use an sqlite database to safely store witness state.

func New

func New(ctx context.Context, opts Opts) (*Persistence, func() error, error)

New returns a persistence object that is backed by the provided database.

The returned shutdown func should be called once the persistence instance is no longer required.

func (*Persistence) AddLogs

func (p *Persistence) AddLogs(ctx context.Context, lc []config.Log) error

AddLogs adds the provided log configs to the database.

func (*Persistence) Init

func (p *Persistence) Init(ctx context.Context) error

Init initialises the persistence layer.

func (*Persistence) Latest

func (p *Persistence) Latest(ctx context.Context, origin string) ([]byte, error)

Latest returns the latest checkpoint for the given log, if it exists, and nil otherwise.

func (*Persistence) Log

func (p *Persistence) Log(ctx context.Context, origin string) (config.Log, bool, error)

Log returns the configuration info for the provided log, if it exists. Returns the config and true if found, false and no error if not found. An error is returned only if there was an error while attempting to read from the storage.

func (*Persistence) Logs

Logs returns an iterator over the set of known and enabled log configs. Disabled logs will be skipped. An error is returned only if there was an error while attempting to read from the storage.

func (*Persistence) Update

func (p *Persistence) Update(ctx context.Context, origin string, f func([]byte) ([]byte, error)) error

Update attempts to atomically update the latest checkpoint for the given log.

Jump to

Keyboard shortcuts

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