postgres

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2025 License: Apache-2.0 Imports: 41 Imported by: 2

Documentation

Index

Constants

View Source
const (
	Persistence driver2.PersistenceType = "postgres"
)
View Source
const PostgresImage = "fsc.itests/postgres:latest"

postgres:latest will not work on Podman, because Podman automatically prefixes it with localhost/ docker.io/postgres:latest will not work on Docker, because Docker omits the default repo docker.io itests will not be recognized as a domain, so Podman will still prefix it with localhost Hence we use fsc.itests as domain

Variables

Functions

func NewConditionInterpreter

func NewConditionInterpreter() *interpreter

func NewNamedDriver

func NewNamedDriver(config driver.Config, dbProvider DbProvider) driver.NamedDriver

func NewPaginationInterpreter

func NewPaginationInterpreter() common.PagInterpreter

func NewPersistenceWithOpts

func NewPersistenceWithOpts[V common3.DBObject](cfg *ConfigProvider, dbProvider DbProvider, name driver.PersistenceName, constructor common2.PersistenceConstructor[V], params ...string) (V, error)

func NewSanitizer

func NewSanitizer() *stringSanitizer

func NewSimplePrimaryKey

func NewSimplePrimaryKey(name driver.ColumnKey) *primaryKey

func Open

func Open(opts Opts) (*common.RWDB, error)

func StartPostgres

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

func StartPostgresWithFmt

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

Types

type AuditInfoStore

type AuditInfoStore struct {
	*common3.AuditInfoStore
}

func NewAuditInfoStore

func NewAuditInfoStore(dbs *common2.RWDB, tables common3.TableNames) (*AuditInfoStore, error)

type BindingStore

type BindingStore struct {
	*common3.BindingStore
	// contains filtered or unexported fields
}

func NewBindingStore

func NewBindingStore(dbs *common2.RWDB, tables common3.TableNames) (*BindingStore, error)

func (*BindingStore) PutBinding

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

type Config

type Config struct {
	TablePrefix     string
	DataSource      string
	MaxOpenConns    int
	MaxIdleConns    *int
	MaxIdleTime     *time.Duration
	SkipCreateTable bool
	TableNameParams []string
	Tracing         *common2.TracingConfig
}

type ConfigProvider

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

func NewConfigProvider

func NewConfigProvider(config config) *ConfigProvider

func (*ConfigProvider) GetOpts

func (r *ConfigProvider) GetOpts(name driver.PersistenceName, params ...string) (*Config, error)

type ContainerConfig

type ContainerConfig struct {
	Image     string
	Container string
	*DbConfig
}

func DefaultConfig

func DefaultConfig(node string) *ContainerConfig

func ReadDataSource

func ReadDataSource(s string) (*ContainerConfig, error)

type DataSourceProvider

type DataSourceProvider interface {
	DataSource() string
}

type DbConfig

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

func (*DbConfig) DataSource

func (c *DbConfig) DataSource() string

type DbProvider

type DbProvider interface {
	Get(Opts) (*common.RWDB, error)
}

func NewDbProvider

func NewDbProvider() DbProvider

type Driver

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

func NewDriver

func NewDriver(config driver.Config) *Driver

func NewDriverWithDbProvider

func NewDriverWithDbProvider(config driver.Config, dbProvider DbProvider) *Driver

func (*Driver) NewAuditInfo

func (d *Driver) NewAuditInfo(name driver.PersistenceName, params ...string) (driver.AuditInfoStore, error)

func (*Driver) NewBinding

func (d *Driver) NewBinding(name driver.PersistenceName, params ...string) (driver.BindingStore, error)

func (*Driver) NewKVS

func (d *Driver) NewKVS(name driver.PersistenceName, params ...string) (driver.KeyValueStore, error)

func (*Driver) NewSignerInfo

func (d *Driver) NewSignerInfo(name driver.PersistenceName, params ...string) (driver.SignerInfoStore, error)

type ErrorMapper

type ErrorMapper struct{}

func (*ErrorMapper) WrapError

func (m *ErrorMapper) WrapError(err error) error

type KeyValueStore

type KeyValueStore struct {
	*common4.KeyValueStore
	// contains filtered or unexported fields
}

func NewKeyValueStore

func NewKeyValueStore(dbs *common3.RWDB, tables common4.TableNames) (*KeyValueStore, error)

func (*KeyValueStore) GetStateRangeScanIterator

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

func (*KeyValueStore) GetStateSetIterator

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

func (*KeyValueStore) SetStateWithTx

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

func (*KeyValueStore) SetStates

type KeyValueStoreNotifier

type KeyValueStoreNotifier struct {
	*KeyValueStore
	*Notifier
}

func (*KeyValueStoreNotifier) CreateSchema

func (db *KeyValueStoreNotifier) CreateSchema() error

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 Opts

type Opts struct {
	DataSource      string
	MaxOpenConns    int
	MaxIdleConns    int
	MaxIdleTime     time.Duration
	TablePrefix     string
	TableNameParams []string
	Tracing         *common2.TracingConfig
}

type SignerInfoStore

type SignerInfoStore struct {
	*common3.SignerInfoStore
}

func NewSignerInfoStore

func NewSignerInfoStore(dbs *common2.RWDB, tables common3.TableNames) (*SignerInfoStore, error)

Jump to

Keyboard shortcuts

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