database

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package database provides a portable database API with cross-cutting concerns.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

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

Database is the portable database type wrapping a driver.

func NewDatabase

func NewDatabase(d driver.Database, opts ...Option) *Database

NewDatabase creates a new portable Database.

func (*Database) BatchGetItems

func (db *Database) BatchGetItems(ctx context.Context, table string, keys []map[string]any) ([]map[string]any, error)

func (*Database) BatchPutItems

func (db *Database) BatchPutItems(ctx context.Context, table string, items []map[string]any) error

func (*Database) CreateTable

func (db *Database) CreateTable(ctx context.Context, config driver.TableConfig) error

func (*Database) DeleteItem

func (db *Database) DeleteItem(ctx context.Context, table string, key map[string]any) error

func (*Database) DeleteTable

func (db *Database) DeleteTable(ctx context.Context, name string) error

func (*Database) DescribeTable

func (db *Database) DescribeTable(ctx context.Context, name string) (*driver.TableConfig, error)

func (*Database) GetItem

func (db *Database) GetItem(ctx context.Context, table string, key map[string]any) (map[string]any, error)

func (*Database) ListTables

func (db *Database) ListTables(ctx context.Context) ([]string, error)

func (*Database) PutItem

func (db *Database) PutItem(ctx context.Context, table string, item map[string]any) error

func (*Database) Query

func (db *Database) Query(ctx context.Context, input driver.QueryInput) (*driver.QueryResult, error)

func (*Database) Scan

func (db *Database) Scan(ctx context.Context, input driver.ScanInput) (*driver.QueryResult, error)

type Option

type Option func(*Database)

Option configures a portable Database.

func WithErrorInjection

func WithErrorInjection(i *inject.Injector) Option

func WithLatency

func WithLatency(dur time.Duration) Option

func WithMetrics

func WithMetrics(m *metrics.Collector) Option

func WithRateLimiter

func WithRateLimiter(l *ratelimit.Limiter) Option

func WithRecorder

func WithRecorder(r *recorder.Recorder) Option

Directories

Path Synopsis
Package driver defines the interface for database service implementations.
Package driver defines the interface for database service implementations.

Jump to

Keyboard shortcuts

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