postgres

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2025 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewInterpreter

func NewInterpreter() *interpreter

func NewSimplePrimaryKey

func NewSimplePrimaryKey(name driver.ColumnKey) *primaryKey

func NewUnversionedNotifier

func NewUnversionedNotifier(opts common.Opts, table string) (*unversionedPersistenceNotifier, error)

func NewVersionedNotifier

func NewVersionedNotifier(opts common.Opts, table string) (*versionedPersistenceNotifier, error)

func OpenDB

func OpenDB(dataSourceName string, maxOpenConns, maxIdleConns int, maxIdleTime time.Duration) (*sql.DB, error)

func StartPostgres

func StartPostgres(t Logger, printLogs bool) (func(), string, error)

func StartPostgresWithFmt

func StartPostgresWithFmt(configs map[string]*ContainerConfig) (func(), error)

Types

type BasePersistence

type BasePersistence[V any, R any] struct {
	*common.BasePersistence[V, R]
	// contains filtered or unexported fields
}

func (*BasePersistence[V, R]) DeleteState

func (db *BasePersistence[V, R]) DeleteState(namespace driver.Namespace, key driver.PKey) error

func (*BasePersistence[V, R]) DeleteStates

func (db *BasePersistence[V, R]) DeleteStates(namespace driver.Namespace, keys ...driver.PKey) map[driver.PKey]error

func (*BasePersistence[V, R]) Exists

func (db *BasePersistence[V, R]) Exists(ns driver.Namespace, key driver.PKey) (bool, error)

func (*BasePersistence[V, R]) GetState

func (db *BasePersistence[V, R]) GetState(namespace driver.Namespace, key driver.PKey) (V, error)

func (*BasePersistence[V, R]) GetStateRangeScanIterator

func (db *BasePersistence[V, R]) GetStateRangeScanIterator(ns driver.Namespace, startKey, endKey string) (collections.Iterator[*R], error)

func (*BasePersistence[V, R]) GetStateSetIterator

func (db *BasePersistence[V, R]) GetStateSetIterator(ns driver.Namespace, keys ...driver.PKey) (collections.Iterator[*R], error)

func (*BasePersistence[V, R]) SetState

func (db *BasePersistence[V, R]) SetState(ns driver.Namespace, pkey driver.PKey, value V) error

func (*BasePersistence[V, R]) SetStateWithTx

func (db *BasePersistence[V, R]) SetStateWithTx(tx *sql.Tx, ns driver.Namespace, pkey driver.PKey, value V) error

func (*BasePersistence[V, R]) SetStates

func (db *BasePersistence[V, R]) SetStates(ns driver.Namespace, kvs map[driver.PKey]V) map[driver.PKey]error

func (*BasePersistence[V, R]) UpsertStates

func (db *BasePersistence[V, R]) UpsertStates(ns driver.Namespace, valueKeys []string, vals map[driver.PKey][]any) map[driver.PKey]error

type Config

type Config struct {
	DBName string
	User   string
	Pass   string
	Host   string
	Port   int
}

func (*Config) DataSource

func (c *Config) DataSource() string

type ContainerConfig

type ContainerConfig struct {
	Image     string
	Container string
	*Config
}

func DefaultConfig

func DefaultConfig(node string) *ContainerConfig

type DataSourceProvider

type DataSourceProvider interface {
	DataSource() string
}

type Logger

type Logger interface {
	Log(...any)
	Errorf(string, ...any)
}

type Notifier

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

func NewNotifier

func NewNotifier(writeDB *sql.DB, table, dataSource string, notifyOperations []driver.Operation, primaryKeys ...primaryKey) *Notifier

func (*Notifier) CreateSchema

func (db *Notifier) CreateSchema() error

func (*Notifier) GetSchema

func (db *Notifier) GetSchema() string

func (*Notifier) Subscribe

func (db *Notifier) Subscribe(callback driver.TriggerCallback) error

func (*Notifier) UnsubscribeAll

func (db *Notifier) UnsubscribeAll() error

type TestDriver

type TestDriver struct {
	Name    string
	ConnStr string
}

func (*TestDriver) NewTransactionalUnversioned

func (t *TestDriver) NewTransactionalUnversioned(dataSourceName string, config driver.Config) (driver.TransactionalUnversionedPersistence, error)

func (*TestDriver) NewTransactionalVersioned

func (t *TestDriver) NewTransactionalVersioned(dataSourceName string, config driver.Config) (driver.TransactionalVersionedPersistence, error)

func (*TestDriver) NewUnversioned

func (t *TestDriver) NewUnversioned(dataSourceName string, config driver.Config) (driver.UnversionedPersistence, error)

func (*TestDriver) NewVersioned

func (t *TestDriver) NewVersioned(dataSourceName string, config driver.Config) (driver.VersionedPersistence, error)

type UnversionedPersistence

type UnversionedPersistence struct {
	*common.UnversionedPersistence
}

func NewUnversioned

func NewUnversioned(opts common.Opts, table string) (*UnversionedPersistence, error)

func (*UnversionedPersistence) DeleteState

func (p *UnversionedPersistence) DeleteState(namespace driver2.Namespace, key driver2.PKey) error

func (*UnversionedPersistence) DeleteStates

func (p *UnversionedPersistence) DeleteStates(namespace driver2.Namespace, keys ...driver2.PKey) map[driver2.PKey]error

func (*UnversionedPersistence) GetState

func (*UnversionedPersistence) GetStateRangeScanIterator

func (p *UnversionedPersistence) GetStateRangeScanIterator(namespace driver2.Namespace, startKey, endKey driver2.PKey) (collections.Iterator[*driver.UnversionedRead], error)

func (*UnversionedPersistence) GetStateSetIterator

func (*UnversionedPersistence) SetState

func (p *UnversionedPersistence) SetState(namespace driver2.Namespace, key driver2.PKey, value driver.UnversionedValue) error

func (*UnversionedPersistence) SetStates

type VersionedPersistence

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

func NewVersioned

func NewVersioned(opts common.Opts, table string) (*VersionedPersistence, error)

func (*VersionedPersistence) BeginUpdate

func (db *VersionedPersistence) BeginUpdate() error

func (*VersionedPersistence) Close

func (db *VersionedPersistence) Close() error

func (*VersionedPersistence) Commit

func (db *VersionedPersistence) Commit() error

func (*VersionedPersistence) CreateSchema

func (db *VersionedPersistence) CreateSchema() error

func (*VersionedPersistence) DeleteState

func (db *VersionedPersistence) DeleteState(namespace driver2.Namespace, key driver2.PKey) error

func (*VersionedPersistence) DeleteStateWithTx

func (db *VersionedPersistence) DeleteStateWithTx(tx *sql.Tx, namespace driver2.Namespace, key driver2.PKey) error

func (*VersionedPersistence) DeleteStates

func (db *VersionedPersistence) DeleteStates(namespace driver2.Namespace, keys ...driver2.PKey) map[driver2.PKey]error

func (*VersionedPersistence) Discard

func (db *VersionedPersistence) Discard() error

func (*VersionedPersistence) GetState

func (db *VersionedPersistence) GetState(namespace driver2.Namespace, key driver2.PKey) (driver.VersionedValue, error)

func (*VersionedPersistence) GetStateMetadata

func (db *VersionedPersistence) GetStateMetadata(namespace driver2.Namespace, key driver2.PKey) (driver2.Metadata, driver2.RawVersion, error)

func (*VersionedPersistence) GetStateRangeScanIterator

func (db *VersionedPersistence) GetStateRangeScanIterator(namespace driver2.Namespace, startKey, endKey driver2.PKey) (collections.Iterator[*driver.VersionedRead], error)

func (*VersionedPersistence) GetStateSetIterator

func (db *VersionedPersistence) GetStateSetIterator(ns driver2.Namespace, keys ...driver2.PKey) (collections.Iterator[*driver.VersionedRead], error)

func (*VersionedPersistence) NewWriteTransaction

func (db *VersionedPersistence) NewWriteTransaction() (driver.WriteTransaction, error)

func (*VersionedPersistence) SetState

func (db *VersionedPersistence) SetState(namespace driver2.Namespace, key driver2.PKey, value driver.VersionedValue) error

func (*VersionedPersistence) SetStateMetadata

func (db *VersionedPersistence) SetStateMetadata(namespace driver2.Namespace, key driver2.PKey, metadata driver2.Metadata, version driver2.RawVersion) error

func (*VersionedPersistence) SetStateMetadatas

func (*VersionedPersistence) SetStateWithTx

func (db *VersionedPersistence) SetStateWithTx(tx *sql.Tx, ns driver2.Namespace, pkey driver2.PKey, value driver.VersionedValue) error

func (*VersionedPersistence) SetStates

func (db *VersionedPersistence) SetStates(namespace driver2.Namespace, kvs map[driver2.PKey]driver.VersionedValue) map[driver2.PKey]error

func (*VersionedPersistence) Stats

func (db *VersionedPersistence) Stats() any

Jump to

Keyboard shortcuts

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