Help us shape the future of Go! Take the 2026 Go Developer Survey

database

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const ConnectPingTimeout = 5 * time.Second

Variables

This section is empty.

Functions

func Connect

func Connect[DB Pinger](ctx context.Context, newDB NewFunc[DB]) (DB, error)

func Name

func Name() (string, error)

func RunMigrations

func RunMigrations(ctx context.Context, pool *pgxpool.Pool) error

func Setup

func Setup(ctx context.Context) (*pgxpool.Pool, error)

func URL

func URL() (string, error)

Types

type Caller

type Caller interface {
	Call(ctx context.Context, options pgx.TxOptions, p transaction.Func) error
}

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
}

type List

type List struct {
	ID   int32
	Name string
}

type NewFunc

type NewFunc[DB Pinger] func(ctx context.Context, dbURL string) (DB, error)

type Pinger

type Pinger interface {
	DBTX
	Ping(context.Context) error
}

type Plan

type Plan struct {
	ID           int32
	Instructions string
}

type Querier

type Querier interface {
	// interface: ReadOnlyQuerier TaskPriorityUpdater
	ListByID(ctx context.Context, id int32) (List, error)
	// interface: ReadOnlyQuerier
	Lists(ctx context.Context) ([]List, error)
	// interface: TaskPriorityUpdater
	SetTaskPriority(ctx context.Context, arg SetTaskPriorityParams) error
	// interface: ReadOnlyQuerier
	TasksByListID(ctx context.Context, id int32) ([]TasksByListIDRow, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) ListByID

func (q *Queries) ListByID(ctx context.Context, id int32) (List, error)

interface: ReadOnlyQuerier TaskPriorityUpdater

func (*Queries) Lists

func (q *Queries) Lists(ctx context.Context) ([]List, error)

interface: ReadOnlyQuerier

func (*Queries) SetTaskPriority

func (q *Queries) SetTaskPriority(ctx context.Context, arg SetTaskPriorityParams) error

interface: TaskPriorityUpdater

func (*Queries) TasksByListID

func (q *Queries) TasksByListID(ctx context.Context, id int32) ([]TasksByListIDRow, error)

interface: ReadOnlyQuerier

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type ReadOnlyFunc

type ReadOnlyFunc func(ReadOnlyQuerier) error

func (ReadOnlyFunc) Func

func (f ReadOnlyFunc) Func(_ context.Context, tx pgx.Tx) error

type ReadOnlyQuerier

type ReadOnlyQuerier interface {
	ListByID(ctx context.Context, id int32) (List, error)
	Lists(ctx context.Context) ([]List, error)
	TasksByListID(ctx context.Context, id int32) ([]TasksByListIDRow, error)
}

type SetTaskPriorityParams

type SetTaskPriorityParams struct {
	Priority int32
	ID       int32
}

type Task

type Task struct {
	ID       int32
	ListID   int32
	PlanID   int32
	Priority int32
}

type TaskPriorityUpdateFunc

type TaskPriorityUpdateFunc func(TaskPriorityUpdater) error

func (TaskPriorityUpdateFunc) Func

type TaskPriorityUpdater

type TaskPriorityUpdater interface {
	ListByID(ctx context.Context, id int32) (List, error)
	SetTaskPriority(ctx context.Context, arg SetTaskPriorityParams) error
}

type TasksByListIDRow

type TasksByListIDRow struct {
	ID           int32
	ListID       int32
	PlanID       int32
	Priority     int32
	Instructions string
}

type Transactions

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

func NewTransactions

func NewTransactions(conn transaction.Beginner) *Transactions

func NewTransactionsWithCaller

func NewTransactionsWithCaller(m Caller) *Transactions

func (Transactions) ReadOnly

func (t Transactions) ReadOnly(ctx context.Context, f ReadOnlyFunc) error

func (Transactions) UpdatePriorityList

func (t Transactions) UpdatePriorityList(ctx context.Context, f TaskPriorityUpdateFunc) error

Directories

Path Synopsis
internal
fake
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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