Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationSetting ¶
type Querier ¶
type Querier interface {
// kind: read
// store: Settings
GetSetting(ctx context.Context, key string) (*ApplicationSetting, error)
// kind: write
// store: Settings
UpsertSetting(ctx context.Context, arg *UpsertSettingParams) (*ApplicationSetting, error)
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) GetSetting ¶
kind: read store: Settings
func (*Queries) UpsertSetting ¶
func (q *Queries) UpsertSetting(ctx context.Context, arg *UpsertSettingParams) (*ApplicationSetting, error)
kind: write store: Settings
type QueryOption ¶
type QueryOption func(*queryOptions)
QueryOption customizes routing for one generated query call.
func ReadFromPrimary ¶
func ReadFromPrimary() QueryOption
ReadFromPrimary routes a read query to the primary database.
func WithTx ¶
func WithTx(tx pgx.Tx) QueryOption
WithTx executes a query through tx and suppresses write mirrors.
type Settings ¶
type Settings interface {
SettingsReader
SettingsWriter
}
Settings exposes all queries in its generated store group.
type SettingsReader ¶
type SettingsReader interface {
// GetSetting executes the generated GetSetting query.
GetSetting(ctx context.Context, key string, storeOptions ...QueryOption) (*ApplicationSetting, error)
}
SettingsReader exposes read queries in the Settings store group.
type SettingsWriter ¶
type SettingsWriter interface {
// UpsertSetting executes the generated UpsertSetting query.
UpsertSetting(ctx context.Context, arg *UpsertSettingParams, storeOptions ...QueryOption) (*ApplicationSetting, error)
}
SettingsWriter exposes write queries in the Settings store group.
type SingletonOption ¶
type SingletonOption func(*singletonConfig)
SingletonOption customizes a single-database topology.
func WithDatabaseName ¶
func WithDatabaseName(name string) SingletonOption
WithDatabaseName identifies the database in telemetry. An empty name defaults to "default".
func WithReadReplicas ¶
func WithReadReplicas(databases ...DBTX) SingletonOption
WithReadReplicas appends databases used for round-robin reads.
func WithWriteMirrors ¶
func WithWriteMirrors(databases ...DBTX) SingletonOption
WithWriteMirrors appends databases that synchronously receive writes.
type Store ¶
type Store interface {
// Settings returns the Settings query group.
Settings() Settings
}
Store is the topology-independent generated query API.
type StoreOption ¶
type StoreOption func(*storeOptions)
StoreOption customizes telemetry for a generated store.
func WithLogger ¶
func WithLogger(logger *slog.Logger) StoreOption
WithLogger configures optional structured logging for routed queries. A nil logger disables logging.
func WithMeterProvider ¶
func WithMeterProvider(provider metric.MeterProvider) StoreOption
WithMeterProvider configures the provider used for routed query metrics. A nil provider uses the global OpenTelemetry meter provider.
func WithTracerProvider ¶
func WithTracerProvider(provider trace.TracerProvider) StoreOption
WithTracerProvider configures the provider used for routed query spans. A nil provider uses the global OpenTelemetry tracer provider.
type Topology ¶
type Topology interface {
// contains filtered or unexported methods
}
Topology is an opaque database topology for Store.
func Singleton ¶
func Singleton(primary DBTX, options ...SingletonOption) Topology
Singleton returns a topology with one primary database.