Documentation
¶
Index ¶
- func NewStoreNode(database DBTX) pgmesh.Node[*ReadQueries, *StoreQueries]
- type Account
- type CopyAccountsParams
- type DBTX
- type GetAccountParams
- type Querier
- type Queries
- func (q *Queries) CopyAccounts(ctx context.Context, arg []*CopyAccountsParams) (int64, error)
- func (q *Queries) GetAccount(ctx context.Context, arg *GetAccountParams) (*Account, error)
- func (q *Queries) ListAccounts(ctx context.Context) ([]*Account, error)
- func (q *Queries) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
- func (q *Queries) UpsertAccount(ctx context.Context, arg *UpsertAccountParams) (*Account, error)
- func (q *Queries) WithTx(tx pgx.Tx) *Queries
- type ReadQuerier
- type ReadQueries
- type RouteOption
- type ShardResolver
- type ShardedQueries
- func (q *ShardedQueries[SK]) GetAccount(ctx context.Context, arg *GetAccountParams, routeOptions ...RouteOption) (*Account, error)
- func (q *ShardedQueries[SK]) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams, routeOptions ...RouteOption) (*Account, error)
- func (q *ShardedQueries[SK]) UpsertAccount(ctx context.Context, arg *UpsertAccountParams, routeOptions ...RouteOption) (*Account, error)
- type StoreQuerier
- type StoreQueries
- type UpdateAccountNameParams
- type UpsertAccountParams
- type WriteQuerier
- type WriteQueries
- func (q *WriteQueries) CopyAccounts(ctx context.Context, arg []*CopyAccountsParams) (int64, error)
- func (q *WriteQueries) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
- func (q *WriteQueries) UpsertAccount(ctx context.Context, arg *UpsertAccountParams) (*Account, 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 DBTX) pgmesh.Node[*ReadQueries, *StoreQueries]
NewStoreNode creates a pgmesh node backed by database.
Types ¶
type CopyAccountsParams ¶
type DBTX ¶
type DBTX interface {
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
QueryRow(context.Context, string, ...interface{}) pgx.Row
CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
}
type GetAccountParams ¶
type Querier ¶
type Querier interface {
// kind: write
CopyAccounts(ctx context.Context, arg []*CopyAccountsParams) (int64, error)
// kind: read
// shard: tenant(tenant_id)
GetAccount(ctx context.Context, arg *GetAccountParams) (*Account, error)
// kind: read
ListAccounts(ctx context.Context) ([]*Account, error)
// kind: write
// shard: tenant(tenant_id)
UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
// kind: write
// shard: tenant(tenant_id)
UpsertAccount(ctx context.Context, arg *UpsertAccountParams) (*Account, error)
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) CopyAccounts ¶
kind: write
func (*Queries) GetAccount ¶
kind: read shard: tenant(tenant_id)
func (*Queries) ListAccounts ¶
kind: read
func (*Queries) UpdateAccountName ¶
func (q *Queries) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
kind: write shard: tenant(tenant_id)
func (*Queries) UpsertAccount ¶
kind: write shard: tenant(tenant_id)
type ReadQuerier ¶
type ReadQuerier interface {
// GetAccount executes the generated GetAccount query.
GetAccount(ctx context.Context, arg *GetAccountParams) (*Account, error)
// ListAccounts executes the generated ListAccounts query.
ListAccounts(ctx context.Context) ([]*Account, 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 DBTX) *ReadQueries
NewReadQueries creates a read-only query wrapper.
func (*ReadQueries) GetAccount ¶
func (q *ReadQueries) GetAccount(ctx context.Context, arg *GetAccountParams) (*Account, error)
GetAccount executes the generated GetAccount query.
func (*ReadQueries) ListAccounts ¶
func (q *ReadQueries) ListAccounts(ctx context.Context) ([]*Account, error)
ListAccounts executes the generated ListAccounts 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]) GetAccount ¶
func (q *ShardedQueries[SK]) GetAccount(ctx context.Context, arg *GetAccountParams, routeOptions ...RouteOption) (*Account, error)
GetAccount executes the generated query on its resolved shard.
func (*ShardedQueries[SK]) UpdateAccountName ¶
func (q *ShardedQueries[SK]) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams, routeOptions ...RouteOption) (*Account, error)
UpdateAccountName executes the generated query on its resolved shard.
func (*ShardedQueries[SK]) UpsertAccount ¶
func (q *ShardedQueries[SK]) UpsertAccount(ctx context.Context, arg *UpsertAccountParams, routeOptions ...RouteOption) (*Account, error)
UpsertAccount 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 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 UpdateAccountNameParams ¶
type UpsertAccountParams ¶
type WriteQuerier ¶
type WriteQuerier interface {
// CopyAccounts executes the generated CopyAccounts query.
CopyAccounts(ctx context.Context, arg []*CopyAccountsParams) (int64, error)
// UpdateAccountName executes the generated UpdateAccountName query.
UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
// UpsertAccount executes the generated UpsertAccount query.
UpsertAccount(ctx context.Context, arg *UpsertAccountParams) (*Account, 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 DBTX) *WriteQueries
NewWriteQueries creates a primary-capable query wrapper.
func (*WriteQueries) CopyAccounts ¶
func (q *WriteQueries) CopyAccounts(ctx context.Context, arg []*CopyAccountsParams) (int64, error)
CopyAccounts executes the generated CopyAccounts query.
func (*WriteQueries) UpdateAccountName ¶
func (q *WriteQueries) UpdateAccountName(ctx context.Context, arg *UpdateAccountNameParams) (*Account, error)
UpdateAccountName executes the generated UpdateAccountName query.
func (*WriteQueries) UpsertAccount ¶
func (q *WriteQueries) UpsertAccount(ctx context.Context, arg *UpsertAccountParams) (*Account, error)
UpsertAccount executes the generated UpsertAccount 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.