dualwrite

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Orchestrator

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

Orchestrator manages dual-write operations

func NewOrchestrator

func NewOrchestrator(db *sql.DB, cfg *config.Config) *Orchestrator

NewOrchestrator creates a new dual-write orchestrator

func (*Orchestrator) ExecuteWithDualWrite

func (o *Orchestrator) ExecuteWithDualWrite(ctx context.Context, query string, args ...interface{}) (sql.Result, error)

ExecuteWithDualWrite executes a query with dual-write transformation

func (*Orchestrator) GetStats

func (o *Orchestrator) GetStats() Stats

GetStats returns current statistics (placeholder for metrics)

func (*Orchestrator) InterceptAndRewrite

func (o *Orchestrator) InterceptAndRewrite(query string) (string, error)

InterceptAndRewrite intercepts a query and rewrites it for dual-write if needed

func (*Orchestrator) QueryWithDualWrite

func (o *Orchestrator) QueryWithDualWrite(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)

QueryWithDualWrite executes a SELECT query (no transformation needed, but kept for consistency)

type Stats

type Stats struct {
	TotalQueries       int64
	TransformedQueries int64
	SuccessfulWrites   int64
	FailedWrites       int64
	TotalErrors        int64
}

Stats tracks dual-write statistics

Jump to

Keyboard shortcuts

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