database

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 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) CreateIndex added in v1.4.0

func (db *Database) CreateIndex(ctx context.Context, table string, cfg driver.GSIConfig) (*driver.IndexInfo, error)

func (*Database) CreateTable

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

func (*Database) DeleteIndex added in v1.4.0

func (db *Database) DeleteIndex(ctx context.Context, table, indexName string) 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) DescribeIndex added in v1.4.0

func (db *Database) DescribeIndex(ctx context.Context, table, indexName string) (*driver.IndexInfo, error)

func (*Database) DescribeTTL added in v1.2.0

func (db *Database) DescribeTTL(ctx context.Context, table string) (*driver.TTLConfig, 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) GetStreamRecords added in v1.2.0

func (db *Database) GetStreamRecords(
	ctx context.Context, table string, limit int, token string,
) (*driver.StreamIterator, error)

func (*Database) ListIndexes added in v1.4.0

func (db *Database) ListIndexes(ctx context.Context, table string) ([]driver.IndexInfo, error)

func (*Database) ListTables

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

func (*Database) ListTagsOfResource added in v1.6.4

func (db *Database) ListTagsOfResource(ctx context.Context, table string) (map[string]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)

func (*Database) TagResource added in v1.6.4

func (db *Database) TagResource(ctx context.Context, table string, tags map[string]string) error

func (*Database) TransactWriteItems added in v1.2.0

func (db *Database) TransactWriteItems(
	ctx context.Context, table string, puts []map[string]any, deletes []map[string]any,
) error

func (*Database) UntagResource added in v1.6.4

func (db *Database) UntagResource(ctx context.Context, table string, tagKeys []string) error

func (*Database) UpdateItem added in v1.3.1

func (db *Database) UpdateItem(ctx context.Context, input driver.UpdateItemInput) (map[string]any, error)

func (*Database) UpdateStreamConfig added in v1.2.0

func (db *Database) UpdateStreamConfig(ctx context.Context, table string, cfg driver.StreamConfig) error

func (*Database) UpdateTTL added in v1.2.0

func (db *Database) UpdateTTL(ctx context.Context, table string, cfg driver.TTLConfig) 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