relationaldb

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: May 23, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package relationaldb provides a portable relational-database service API (RDS, Cloud SQL, Azure SQL) layered on top of driver.RelationalDB. It threads recording, metrics, rate-limit, error-injection and latency through every call so consumers get the same cross-cutting story the other portable services have.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

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

DB is the portable handle around a relational-database driver.

func NewDB

func NewDB(d driver.RelationalDB, opts ...Option) *DB

NewDB wraps d with the supplied options.

func (*DB) CreateCluster

func (db *DB) CreateCluster(ctx context.Context, cfg driver.ClusterConfig) (*driver.Cluster, error)

CreateCluster creates an Aurora-style cluster.

func (*DB) CreateClusterSnapshot

func (db *DB) CreateClusterSnapshot(
	ctx context.Context, cfg driver.ClusterSnapshotConfig,
) (*driver.ClusterSnapshot, error)

CreateClusterSnapshot snapshots a cluster.

func (*DB) CreateInstance

func (db *DB) CreateInstance(ctx context.Context, cfg driver.InstanceConfig) (*driver.Instance, error)

CreateInstance creates a new database instance.

func (*DB) CreateSnapshot

func (db *DB) CreateSnapshot(ctx context.Context, cfg driver.SnapshotConfig) (*driver.Snapshot, error)

CreateSnapshot snapshots an instance.

func (*DB) DeleteCluster

func (db *DB) DeleteCluster(ctx context.Context, id string) error

DeleteCluster removes a cluster.

func (*DB) DeleteClusterSnapshot

func (db *DB) DeleteClusterSnapshot(ctx context.Context, id string) error

DeleteClusterSnapshot removes a cluster snapshot.

func (*DB) DeleteInstance

func (db *DB) DeleteInstance(ctx context.Context, id string) error

DeleteInstance removes an instance.

func (*DB) DeleteSnapshot

func (db *DB) DeleteSnapshot(ctx context.Context, id string) error

DeleteSnapshot removes an instance snapshot.

func (*DB) DescribeClusterSnapshots

func (db *DB) DescribeClusterSnapshots(
	ctx context.Context, ids []string, clusterID string,
) ([]driver.ClusterSnapshot, error)

DescribeClusterSnapshots returns cluster snapshots matching ids and/or cluster.

func (*DB) DescribeClusters

func (db *DB) DescribeClusters(ctx context.Context, ids []string) ([]driver.Cluster, error)

DescribeClusters returns clusters matching ids (or all if empty).

func (*DB) DescribeInstances

func (db *DB) DescribeInstances(ctx context.Context, ids []string) ([]driver.Instance, error)

DescribeInstances returns instances matching ids (or all if empty).

func (*DB) DescribeSnapshots

func (db *DB) DescribeSnapshots(
	ctx context.Context, ids []string, instanceID string,
) ([]driver.Snapshot, error)

DescribeSnapshots returns snapshots matching ids and/or instance.

func (*DB) ModifyCluster

func (db *DB) ModifyCluster(
	ctx context.Context, id string, input driver.ModifyInstanceInput,
) (*driver.Cluster, error)

ModifyCluster applies changes to a cluster.

func (*DB) ModifyInstance

func (db *DB) ModifyInstance(
	ctx context.Context, id string, input driver.ModifyInstanceInput,
) (*driver.Instance, error)

ModifyInstance applies the supplied changes to an instance.

func (*DB) RebootInstance

func (db *DB) RebootInstance(ctx context.Context, id string) error

RebootInstance cycles an instance through rebooting → available.

func (*DB) RestoreClusterFromSnapshot

func (db *DB) RestoreClusterFromSnapshot(
	ctx context.Context, input driver.RestoreClusterInput,
) (*driver.Cluster, error)

RestoreClusterFromSnapshot creates a new cluster from a cluster snapshot.

func (*DB) RestoreInstanceFromSnapshot

func (db *DB) RestoreInstanceFromSnapshot(
	ctx context.Context, input driver.RestoreInstanceInput,
) (*driver.Instance, error)

RestoreInstanceFromSnapshot creates a new instance from a snapshot.

func (*DB) StartCluster

func (db *DB) StartCluster(ctx context.Context, id string) error

StartCluster moves a stopped cluster to available.

func (*DB) StartInstance

func (db *DB) StartInstance(ctx context.Context, id string) error

StartInstance moves a stopped instance to available.

func (*DB) StopCluster

func (db *DB) StopCluster(ctx context.Context, id string) error

StopCluster moves an available cluster to stopped.

func (*DB) StopInstance

func (db *DB) StopInstance(ctx context.Context, id string) error

StopInstance moves an available instance to stopped.

type Option

type Option func(*DB)

Option configures a DB.

func WithErrorInjection

func WithErrorInjection(i *inject.Injector) Option

WithErrorInjection attaches an error injector.

func WithLatency

func WithLatency(d time.Duration) Option

WithLatency adds artificial per-call latency.

func WithMetrics

func WithMetrics(m *metrics.Collector) Option

WithMetrics attaches a metrics collector.

func WithRateLimiter

func WithRateLimiter(l *ratelimit.Limiter) Option

WithRateLimiter attaches a rate limiter.

func WithRecorder

func WithRecorder(r *recorder.Recorder) Option

WithRecorder attaches a call recorder.

Directories

Path Synopsis
Package driver defines the interface for relational-database service implementations (RDS, Cloud SQL, Azure SQL, …).
Package driver defines the interface for relational-database service implementations (RDS, Cloud SQL, Azure SQL, …).

Jump to

Keyboard shortcuts

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