Documentation
¶
Index ¶
- func NewStoreNode(database db.DBTX) pgmesh.Node[*ReadQueries, *StoreQueries]
- type ReadQuerier
- type ReadQueries
- func (q *ReadQueries) GetAnalysis(ctx context.Context, arg *db.GetAnalysisParams) (*db.Analysis, error)
- func (q *ReadQueries) GetUser(ctx context.Context, arg *db.GetUserParams) (*db.User, error)
- func (q *ReadQueries) ListUsers(ctx context.Context) ([]*db.User, error)
- func (q *ReadQueries) WithTx(tx pgx.Tx) *ReadQueries
- type RouteOption
- type ShardResolver
- type ShardedQueries
- func (q *ShardedQueries[SK]) CreateUser(ctx context.Context, arg *db.CreateUserParams, routeOptions ...RouteOption) (*db.User, error)
- func (q *ShardedQueries[SK]) GetAnalysis(ctx context.Context, arg *db.GetAnalysisParams, routeOptions ...RouteOption) (*db.Analysis, error)
- func (q *ShardedQueries[SK]) GetUser(ctx context.Context, arg *db.GetUserParams, routeOptions ...RouteOption) (*db.User, error)
- type StoreQuerier
- type StoreQueries
- type WriteQuerier
- type WriteQueries
- func (q *WriteQueries) CopyUsers(ctx context.Context, arg []*db.CopyUsersParams) (int64, error)
- func (q *WriteQueries) CreateUser(ctx context.Context, arg *db.CreateUserParams) (*db.User, error)
- func (q *WriteQueries) WithMirrors(qs ...*WriteQueries) *WriteQueries
- func (q *WriteQueries) WithTx(tx pgx.Tx) *WriteQueries
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewStoreNode ¶
func NewStoreNode(database db.DBTX) pgmesh.Node[*ReadQueries, *StoreQueries]
NewStoreNode creates a pgmesh node backed by database.
Types ¶
type ReadQuerier ¶
type ReadQuerier interface {
// GetAnalysis executes the generated GetAnalysis query.
GetAnalysis(ctx context.Context, arg *db.GetAnalysisParams) (*db.Analysis, error)
// GetUser executes the generated GetUser query.
GetUser(ctx context.Context, arg *db.GetUserParams) (*db.User, error)
// ListUsers executes the generated ListUsers query.
ListUsers(ctx context.Context) ([]*db.User, error)
}
ReadQuerier exposes generated read queries.
type ReadQueries ¶
type ReadQueries struct {
// contains filtered or unexported fields
}
ReadQueries exposes read-only generated queries.
func NewReadQueries ¶
func NewReadQueries(database db.DBTX) *ReadQueries
NewReadQueries creates a read-only query wrapper.
func (*ReadQueries) GetAnalysis ¶
func (q *ReadQueries) GetAnalysis(ctx context.Context, arg *db.GetAnalysisParams) (*db.Analysis, error)
GetAnalysis executes the generated GetAnalysis query.
func (*ReadQueries) GetUser ¶
func (q *ReadQueries) GetUser(ctx context.Context, arg *db.GetUserParams) (*db.User, error)
GetUser executes the generated GetUser query.
func (*ReadQueries) WithTx ¶
func (q *ReadQueries) WithTx(tx pgx.Tx) *ReadQueries
WithTx returns a read wrapper that executes queries through tx.
type RouteOption ¶
type RouteOption func(*routeOptions)
RouteOption customizes routing for one generated query call.
func ReadFromPrimary ¶
func ReadFromPrimary() RouteOption
ReadFromPrimary routes a read query to the shard's primary.
func WithTx ¶
func WithTx(tx pgx.Tx) RouteOption
WithTx routes a query through tx and suppresses write mirrors.
type ShardResolver ¶
type ShardResolver[SK any] interface { // Tenant resolves the "tenant" shard route. Tenant(tenantID int64) SK }
ShardResolver resolves generated query parameters to shard keys.
type ShardedQueries ¶
type ShardedQueries[SK any] struct { // contains filtered or unexported fields }
ShardedQueries routes generated queries through a pgmesh mesh.
func NewShardedQueries ¶
func NewShardedQueries[SK any](mesh *pgmesh.Mesh[*ReadQueries, *StoreQueries, SK], resolver ShardResolver[SK]) *ShardedQueries[SK]
NewShardedQueries creates a routed query facade.
func (*ShardedQueries[SK]) CreateUser ¶
func (q *ShardedQueries[SK]) CreateUser(ctx context.Context, arg *db.CreateUserParams, routeOptions ...RouteOption) (*db.User, error)
CreateUser executes the generated query on its resolved shard.
func (*ShardedQueries[SK]) GetAnalysis ¶
func (q *ShardedQueries[SK]) GetAnalysis(ctx context.Context, arg *db.GetAnalysisParams, routeOptions ...RouteOption) (*db.Analysis, error)
GetAnalysis executes the generated query on its resolved shard.
func (*ShardedQueries[SK]) GetUser ¶
func (q *ShardedQueries[SK]) GetUser(ctx context.Context, arg *db.GetUserParams, routeOptions ...RouteOption) (*db.User, error)
GetUser executes the generated query on its resolved shard.
type StoreQuerier ¶
type StoreQuerier interface {
ReadQuerier
WriteQuerier
}
StoreQuerier combines the generated read and write query interfaces.
type StoreQueries ¶
type StoreQueries struct {
*ReadQueries
*WriteQueries
}
StoreQueries combines read-only and primary-capable generated queries.
func NewStoreQueries ¶
func NewStoreQueries(database db.DBTX) *StoreQueries
NewStoreQueries creates a combined query wrapper.
func (*StoreQueries) WithMirrors ¶
func (q *StoreQueries) WithMirrors(qs ...*StoreQueries) *StoreQueries
WithMirrors returns a copy that also writes to the supplied mirrors.
func (*StoreQueries) WithTx ¶
func (q *StoreQueries) WithTx(tx pgx.Tx) *StoreQueries
WithTx returns a store wrapper that executes queries through tx.
type WriteQuerier ¶
type WriteQuerier interface {
// CopyUsers executes the generated CopyUsers query.
CopyUsers(ctx context.Context, arg []*db.CopyUsersParams) (int64, error)
// CreateUser executes the generated CreateUser query.
CreateUser(ctx context.Context, arg *db.CreateUserParams) (*db.User, error)
}
WriteQuerier exposes generated write queries.
type WriteQueries ¶
type WriteQueries struct {
// contains filtered or unexported fields
}
WriteQueries exposes primary-capable generated queries.
func NewWriteQueries ¶
func NewWriteQueries(database db.DBTX) *WriteQueries
NewWriteQueries creates a primary-capable query wrapper.
func (*WriteQueries) CopyUsers ¶
func (q *WriteQueries) CopyUsers(ctx context.Context, arg []*db.CopyUsersParams) (int64, error)
CopyUsers executes the generated CopyUsers query.
func (*WriteQueries) CreateUser ¶
func (q *WriteQueries) CreateUser(ctx context.Context, arg *db.CreateUserParams) (*db.User, error)
CreateUser executes the generated CreateUser query.
func (*WriteQueries) WithMirrors ¶
func (q *WriteQueries) WithMirrors(qs ...*WriteQueries) *WriteQueries
WithMirrors returns a copy that also writes to the supplied mirrors.
func (*WriteQueries) WithTx ¶
func (q *WriteQueries) WithTx(tx pgx.Tx) *WriteQueries
WithTx returns a write wrapper that executes queries through tx.