common

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2025 License: Apache-2.0 Imports: 29 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cases = []struct {
	Name string
	Fn   func(*testing.T, driver.KeyValueStore)
}{
	{"RangeQueries", TTestRangeQueries},
	{"SimpleReadWrite", TTestSimpleReadWrite},
	{"GetNonExistent", TTestGetNonExistent},
	{"DB1", TTestDB1},
	{"DB2", TTestDB2},
	{"RangeQueries1", TTestRangeQueries1},
	{"MultiWritesAndRangeQueries", TTestMultiWritesAndRangeQueries},
	{"TTestMultiWrites", TTestMultiWrites},
	{"CompositeKeys", TTestCompositeKeys},
}
View Source
var ErrorCases = []struct {
	Name string
	Fn   func(t *testing.T, readDB *sql.DB, writeDB WriteDB, errorWrapper driver.SQLErrorWrapper, table string)
}{
	{"Duplicate", TTestDuplicate},
}
View Source
var UnversionedCases = []struct {
	Name string
	Fn   func(*testing.T, driver.KeyValueStore)
}{
	{"UnversionedSimple", TTestUnversionedSimple},
	{"UnversionedRange", TTestUnversionedRange},
	{"NonUTF8keys", TTestNonUTF8keys},
}
View Source
var UnversionedNotifierCases = []struct {
	Name string
	Fn   func(*testing.T, driver.UnversionedNotifier)
}{
	{"UnversionedNotifierSimple", TTestUnversionedNotifierSimple},
}

Functions

func BenchmarkBuilder

func BenchmarkBuilder(b *testing.B)

func BenchmarkConcatenation

func BenchmarkConcatenation(b *testing.B)

func FromBytes

func FromBytes(data driver3.RawVersion) (driver3.BlockNum, driver3.TxNum, error)

func HasKeys

func HasKeys(ns driver2.Namespace, keys ...driver2.PKey) cond2.Condition

func InitSchema

func InitSchema(db WriteDB, schemas ...string) (err error)

func NewIterator

func NewIterator[V any](rows *sql.Rows, scan func(*V) error) iterators.Iterator[*V]

func NewSanitizer

func NewSanitizer(s sql2.Sanitizer) *sanitizer

func QueryUnique

func QueryUnique[T any](db *sql.DB, query string, args ...any) (T, error)

func QueryUniqueContext

func QueryUniqueContext[T any](ctx context.Context, db *sql.DB, query string, args ...any) (T, error)

func ReadExisting

func ReadExisting(b *testing.B, db driver.KeyValueStore)

func ReadNonExisting

func ReadNonExisting(b *testing.B, db driver.KeyValueStore)

func TTestCompositeKeys

func TTestCompositeKeys(t *testing.T, db driver.KeyValueStore)

func TTestDB1

func TTestDB1(t *testing.T, db driver.KeyValueStore)

func TTestDB2

func TTestDB2(t *testing.T, db driver.KeyValueStore)

func TTestDuplicate

func TTestDuplicate(t *testing.T, _ *sql.DB, writeDB WriteDB, errorWrapper driver.SQLErrorWrapper, table string)

func TTestGetNonExistent

func TTestGetNonExistent(t *testing.T, db driver.KeyValueStore)

func TTestMultiWrites

func TTestMultiWrites(t *testing.T, db driver.KeyValueStore)

func TTestMultiWritesAndRangeQueries

func TTestMultiWritesAndRangeQueries(t *testing.T, db driver.KeyValueStore)

func TTestNonUTF8keys

func TTestNonUTF8keys(t *testing.T, db driver.KeyValueStore)

Postgres doesn't like non-utf8 in TEXT fields, so we made it a BYTEA. cannot check if key exists: pq: invalid byte sequence for encoding "UTF8": 0xc2 0x32]

func TTestRangeQueries

func TTestRangeQueries(t *testing.T, db driver.KeyValueStore)

func TTestRangeQueries1

func TTestRangeQueries1(t *testing.T, db driver.KeyValueStore)

func TTestSimpleReadWrite

func TTestSimpleReadWrite(t *testing.T, db driver.KeyValueStore)

func TTestUnversionedNotifierSimple

func TTestUnversionedNotifierSimple(t *testing.T, db driver.UnversionedNotifier)

func TTestUnversionedRange

func TTestUnversionedRange(t *testing.T, db driver.KeyValueStore)

func TTestUnversionedSimple

func TTestUnversionedSimple(t *testing.T, db driver.KeyValueStore)

func TestCases

func TestCases(t *testing.T,
	unversionedProvider provider[driver.KeyValueStore],
	unversionedNotifierProvider provider[driver.UnversionedNotifier],
	baseUnpacker func(p driver.KeyValueStore) *KeyValueStore)

func ToBytes

func ToBytes(Block driver3.BlockNum, TxNum driver3.TxNum) []byte

func WriteMany

func WriteMany(b *testing.B, db driver.KeyValueStore)

func WriteOne

func WriteOne(b *testing.B, db driver.KeyValueStore)

func WriteParallel

func WriteParallel(b *testing.B, db driver.KeyValueStore)

Types

type AuditInfoStore

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

func NewAuditInfoStore

func NewAuditInfoStore(writeDB WriteDB, readDB *sql.DB, table string, errorWrapper driver.SQLErrorWrapper, ci common.CondInterpreter) *AuditInfoStore

func (*AuditInfoStore) CreateSchema

func (db *AuditInfoStore) CreateSchema() error

func (*AuditInfoStore) GetAuditInfo

func (db *AuditInfoStore) GetAuditInfo(ctx context.Context, id view.Identity) ([]byte, error)

func (*AuditInfoStore) PutAuditInfo

func (db *AuditInfoStore) PutAuditInfo(ctx context.Context, id view.Identity, info []byte) error

type BindingStore

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

func NewBindingStore

func NewBindingStore(readDB *sql.DB, writeDB WriteDB, table string, errorWrapper driver.SQLErrorWrapper, ci common.CondInterpreter) *BindingStore

func (*BindingStore) CreateSchema

func (db *BindingStore) CreateSchema() error

func (*BindingStore) GetLongTerm

func (db *BindingStore) GetLongTerm(ctx context.Context, ephemeral view.Identity) (view.Identity, error)

func (*BindingStore) HaveSameBinding

func (db *BindingStore) HaveSameBinding(ctx context.Context, this, that view.Identity) (bool, error)

type IsolationLevelMapper

type IsolationLevelMapper interface {
	Map(level driver.IsolationLevel) (sql.IsolationLevel, error)
}

type KeyValueStore

type KeyValueStore struct {
	*common.BaseDB[*sql.Tx]
	// contains filtered or unexported fields
}

func NewKeyValueStore

func NewKeyValueStore(writeDB WriteDB, readDB *sql.DB, table string, errorWrapper driver.SQLErrorWrapper, ci common2.CondInterpreter) *KeyValueStore

func (*KeyValueStore) Close

func (db *KeyValueStore) Close() error

func (*KeyValueStore) CreateSchema

func (db *KeyValueStore) CreateSchema() error

func (*KeyValueStore) DeleteState

func (db *KeyValueStore) DeleteState(ctx context.Context, ns driver2.Namespace, key driver2.PKey) error

func (*KeyValueStore) DeleteStateWithTx

func (db *KeyValueStore) DeleteStateWithTx(ctx context.Context, tx dbTransaction, ns driver2.Namespace, key driver2.PKey) error

func (*KeyValueStore) DeleteStates

func (db *KeyValueStore) DeleteStates(ctx context.Context, namespace driver2.Namespace, keys ...driver2.PKey) map[driver2.PKey]error

func (*KeyValueStore) DeleteStatesWithTx

func (db *KeyValueStore) DeleteStatesWithTx(ctx context.Context, tx dbTransaction, namespace driver2.Namespace, keys ...driver2.PKey) map[driver2.PKey]error

func (*KeyValueStore) Exec

func (db *KeyValueStore) Exec(ctx context.Context, query string, args ...any) (sql.Result, error)

func (*KeyValueStore) GetState

func (db *KeyValueStore) GetState(ctx context.Context, namespace driver2.Namespace, key driver2.PKey) (driver.UnversionedValue, error)

func (*KeyValueStore) GetStateRangeScanIterator

func (db *KeyValueStore) GetStateRangeScanIterator(ctx context.Context, ns driver2.Namespace, startKey, endKey driver2.PKey) (iterators.Iterator[*driver.UnversionedRead], error)

func (*KeyValueStore) GetStateSetIterator

func (db *KeyValueStore) GetStateSetIterator(ctx context.Context, ns driver2.Namespace, keys ...driver2.PKey) (iterators.Iterator[*driver.UnversionedRead], error)

func (*KeyValueStore) SetState

func (*KeyValueStore) SetStateWithTx

func (db *KeyValueStore) SetStateWithTx(ctx context.Context, tx dbTransaction, ns driver2.Namespace, pkey driver2.PKey, value driver.UnversionedValue) error

func (*KeyValueStore) SetStates

func (*KeyValueStore) SetStatesWithTx

func (db *KeyValueStore) SetStatesWithTx(ctx context.Context, tx dbTransaction, ns driver2.Namespace, kvs map[driver2.PKey]driver.UnversionedValue) map[driver2.PKey]error

func (*KeyValueStore) Stats

func (db *KeyValueStore) Stats() any

type PersistenceConstructor

type PersistenceConstructor[V common.DBObject] func(*common.RWDB, TableNames) (V, error)

type SignerInfoStore

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

func NewSignerInfoStore

func NewSignerInfoStore(writeDB WriteDB, readDB *sql.DB, table string, errorWrapper driver.SQLErrorWrapper, ci common.CondInterpreter) *SignerInfoStore

func (*SignerInfoStore) CreateSchema

func (db *SignerInfoStore) CreateSchema() error

func (*SignerInfoStore) FilterExistingSigners

func (db *SignerInfoStore) FilterExistingSigners(ctx context.Context, ids ...view.Identity) ([]view.Identity, error)

func (*SignerInfoStore) PutSigner

func (db *SignerInfoStore) PutSigner(ctx context.Context, id view.Identity) error

type SimpleKeyDataStore

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

func NewSimpleKeyDataStore

func NewSimpleKeyDataStore(writeDB WriteDB, readDB *sql.DB, table string, errorWrapper driver.SQLErrorWrapper, ci common2.CondInterpreter) *SimpleKeyDataStore

func (*SimpleKeyDataStore) CreateSchema

func (db *SimpleKeyDataStore) CreateSchema() error

func (*SimpleKeyDataStore) ExistData

func (db *SimpleKeyDataStore) ExistData(ctx context.Context, key string) (bool, error)

func (*SimpleKeyDataStore) GetData

func (db *SimpleKeyDataStore) GetData(ctx context.Context, key string) ([]byte, error)

func (*SimpleKeyDataStore) PutData

func (db *SimpleKeyDataStore) PutData(ctx context.Context, key string, data []byte) error

type TableNames

type TableNames struct {
	KVS        string
	Binding    string
	SignerInfo string
	AuditInfo  string
}

func GetTableNames

func GetTableNames(prefix string, params ...string) TableNames

type TracingConfig

type TracingConfig struct{}

type WriteDB

type WriteDB interface {
	Begin() (*sql.Tx, error)
	Exec(query string, args ...any) (sql.Result, error)
	ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
	Close() error
}

Jump to

Keyboard shortcuts

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