Versions in this module Expand all Collapse all v0 v0.1.0 Jan 17, 2026 Changes in this version + const DefaultPageSize + const MaxPageSize + var ErrMismatchedValues = errors.New("values count does not match columns") + var ErrMissingColumns = errors.New("columns required") + var ErrMissingTable = errors.New("table required") + var ErrMissingValues = errors.New("values required") + func Exec(ctx context.Context, timeout time.Duration, db Execer, query string, ...) (sql.Result, error) + func Open(driver, dsn string, options Options) (*sql.DB, error) + func Query(ctx context.Context, timeout time.Duration, db Queryer, query string, ...) (*sql.Rows, error) + func QueryRow(ctx context.Context, timeout time.Duration, db QueryRower, query string, ...) (*sql.Row, context.CancelFunc) + func WithTimeout(ctx context.Context, timeout time.Duration) (context.Context, context.CancelFunc) + type Dialect int + const DialectDollar + const DialectQuestion + type Execer interface + ExecContext func(ctx context.Context, query string, args ...any) (sql.Result, error) + type Helper struct + Timeout time.Duration + func (h Helper) Exec(ctx context.Context, db Execer, query string, args ...any) (sql.Result, error) + func (h Helper) Query(ctx context.Context, db Queryer, query string, args ...any) (*sql.Rows, error) + func (h Helper) QueryRow(ctx context.Context, db QueryRower, query string, args ...any) (*sql.Row, context.CancelFunc) + type InsertBuilder struct + func Insert(table string) InsertBuilder + func (b InsertBuilder) Build() (string, []any, error) + func (b InsertBuilder) Columns(columns ...string) InsertBuilder + func (b InsertBuilder) Dialect(dialect Dialect) InsertBuilder + func (b InsertBuilder) Values(values ...any) InsertBuilder + type LoggedDB struct + DB QueryDB + Hook QueryHook + func WithQueryHook(db QueryDB, hook QueryHook) LoggedDB + func (l LoggedDB) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error) + func (l LoggedDB) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error) + func (l LoggedDB) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row + type Options struct + ConnMaxIdleTime time.Duration + ConnMaxLifetime time.Duration + MaxIdleConns int + MaxOpenConns int + PingTimeout time.Duration + type Pagination struct + MaxSize int + Page int + Size int + func (p Pagination) LimitOffset() (int, int) + func (p Pagination) Normalize() Pagination + type QueryDB interface + type QueryHook func(ctx context.Context, query string, args []any, duration time.Duration, ...) + type QueryRower interface + QueryRowContext func(ctx context.Context, query string, args ...any) *sql.Row + type Queryer interface + QueryContext func(ctx context.Context, query string, args ...any) (*sql.Rows, error) + type Repository struct + DB QueryDB + Helper Helper + func NewRepository(db QueryDB, timeout time.Duration) Repository + func (r Repository) Exec(ctx context.Context, query string, args ...any) (sql.Result, error) + func (r Repository) Paginate(p Pagination) (int, int) + func (r Repository) Query(ctx context.Context, query string, args ...any) (*sql.Rows, error) + func (r Repository) QueryRow(ctx context.Context, query string, args ...any) (*sql.Row, context.CancelFunc) + func (r Repository) WithTimeout(timeout time.Duration) Repository + type SelectBuilder struct + func Select(columns ...string) SelectBuilder + func (b SelectBuilder) Build() (string, []any, error) + func (b SelectBuilder) Dialect(dialect Dialect) SelectBuilder + func (b SelectBuilder) From(table string) SelectBuilder + func (b SelectBuilder) Limit(limit int) SelectBuilder + func (b SelectBuilder) Offset(offset int) SelectBuilder + func (b SelectBuilder) OrderBy(order string) SelectBuilder + func (b SelectBuilder) Where(condition string, args ...any) SelectBuilder + type UpdateBuilder struct + func Update(table string) UpdateBuilder + func (b UpdateBuilder) Build() (string, []any, error) + func (b UpdateBuilder) Dialect(dialect Dialect) UpdateBuilder + func (b UpdateBuilder) Set(column string, value any) UpdateBuilder + func (b UpdateBuilder) Where(condition string, args ...any) UpdateBuilder