driver

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BatchItem added in v0.3.0

type BatchItem struct {
	SQL  string
	Args []any
}

BatchItem is a single queued query in a pipelined batch.

type BatchResults added in v0.3.0

type BatchResults interface {
	// Query returns the rows for the next queued query.
	Query() (Rows, error)
	// Close releases the batch results.
	Close() error
}

BatchResults yields the result rows for each queued query, in order.

type Driver

type Driver interface {
	QueryRow(ctx context.Context, sql string, args ...any) Row
	Query(ctx context.Context, sql string, args ...any) (Rows, error)
	Exec(ctx context.Context, sql string, args ...any) (int64, error)
	Begin(ctx context.Context) (Tx, error)
	BeginTx(ctx context.Context, opts TxOptions) (Tx, error)
	Close()
}

Driver abstracts database access for the drel engine.

type IsolationLevel

type IsolationLevel int

IsolationLevel represents a transaction isolation level.

const (
	IsoDefault IsolationLevel = iota
	IsoReadCommitted
	IsoRepeatableRead
	IsoSerializable
)

type Pipeliner added in v0.3.0

type Pipeliner interface {
	SendBatch(ctx context.Context, items []BatchItem) (BatchResults, error)
}

Pipeliner is an optional Driver capability: sending multiple queries in a single network round-trip (e.g. the pgx pipeline). Drivers that do not implement it fall back to sequential execution.

type PoolConfig added in v0.3.2

type PoolConfig struct {
	MaxConns        int           // maximum open connections
	ConnMaxLifetime time.Duration // recycle connections older than this
	ConnMaxIdleTime time.Duration // close connections idle longer than this
}

PoolConfig configures a driver's connection pool. Zero values mean "use the driver default".

type Row

type Row interface {
	Scan(dest ...any) error
}

Row represents a single database row that can scan values into destinations.

type Rows

type Rows interface {
	Next() bool
	Scan(dest ...any) error
	Close()
	Err() error
}

Rows represents a set of database rows from a query result.

type Tx

type Tx interface {
	QueryRow(ctx context.Context, sql string, args ...any) Row
	Query(ctx context.Context, sql string, args ...any) (Rows, error)
	Exec(ctx context.Context, sql string, args ...any) (int64, error)
	Commit(ctx context.Context) error
	Rollback(ctx context.Context) error
}

Tx represents a database transaction.

type TxOptions

type TxOptions struct {
	Isolation IsolationLevel
	ReadOnly  bool
}

TxOptions configures transaction behaviour.

Directories

Path Synopsis
Package libsqldriver implements driver.Driver for libSQL / Turso using the database/sql libsql driver.
Package libsqldriver implements driver.Driver for libSQL / Turso using the database/sql libsql driver.

Jump to

Keyboard shortcuts

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