database

package
v0.0.0-...-ba04163 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2025 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionManager

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

ConnectionManager manages adapter-based database connections This is a simplified replacement for DatabaseManager that only handles connection lifecycle - all business logic is delegated to adapters.

func NewConnectionManager

func NewConnectionManager() *ConnectionManager

NewConnectionManager creates a new ConnectionManager instance

func (*ConnectionManager) CheckHealth

func (cm *ConnectionManager) CheckHealth(ctx context.Context, id string) error

CheckHealth pings a database connection to verify it's healthy

func (*ConnectionManager) CheckInstanceHealth

func (cm *ConnectionManager) CheckInstanceHealth(ctx context.Context, id string) error

CheckInstanceHealth pings an instance connection to verify it's healthy

func (*ConnectionManager) Connect

Connect establishes a database connection using the appropriate adapter

func (*ConnectionManager) ConnectInstance

func (cm *ConnectionManager) ConnectInstance(ctx context.Context, cfg adapter.InstanceConfig) error

ConnectInstance establishes a connection to a database instance (without specific database)

func (*ConnectionManager) Disconnect

func (cm *ConnectionManager) Disconnect(ctx context.Context, id string) error

Disconnect closes and removes a database connection

func (*ConnectionManager) DisconnectAll

func (cm *ConnectionManager) DisconnectAll(ctx context.Context) error

DisconnectAll closes all connections

func (*ConnectionManager) DisconnectInstance

func (cm *ConnectionManager) DisconnectInstance(ctx context.Context, id string) error

DisconnectInstance closes and removes an instance connection

func (*ConnectionManager) GetConnection

func (cm *ConnectionManager) GetConnection(id string) (adapter.Connection, error)

GetConnection retrieves a database connection by ID

func (*ConnectionManager) GetConnectionInfo

func (cm *ConnectionManager) GetConnectionInfo(id string) (map[string]interface{}, error)

GetConnectionInfo returns connection information for a database

func (*ConnectionManager) GetInstance

func (cm *ConnectionManager) GetInstance(id string) (adapter.InstanceConnection, error)

GetInstance retrieves an instance connection by ID

func (*ConnectionManager) GetLogger

func (cm *ConnectionManager) GetLogger() *logger.Logger

GetLogger returns the logger

func (*ConnectionManager) ListConnections

func (cm *ConnectionManager) ListConnections() []string

ListConnections returns a list of all active database connection IDs

func (*ConnectionManager) ListInstances

func (cm *ConnectionManager) ListInstances() []string

ListInstances returns a list of all active instance connection IDs

func (*ConnectionManager) SetLogger

func (cm *ConnectionManager) SetLogger(logger *logger.Logger)

SetLogger sets the logger for the connection manager

type ConnectionRegistry

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

ConnectionRegistry provides connection lifecycle management for watchers. It wraps ConnectionManager and provides additional features like listing connections, status tracking, and metadata collection.

func NewConnectionRegistry

func NewConnectionRegistry(connMgr *ConnectionManager) *ConnectionRegistry

NewConnectionRegistry creates a new connection registry.

func (*ConnectionRegistry) AddReplicationClient

func (r *ConnectionRegistry) AddReplicationClient(client *dbclient.ReplicationClient)

AddReplicationClient tracks a replication client

func (*ConnectionRegistry) CheckDatabaseHealth

func (r *ConnectionRegistry) CheckDatabaseHealth(ctx context.Context, id string) error

CheckDatabaseHealth checks if a database connection is healthy.

func (*ConnectionRegistry) CheckInstanceHealth

func (r *ConnectionRegistry) CheckInstanceHealth(ctx context.Context, id string) error

CheckInstanceHealth checks if an instance connection is healthy.

func (*ConnectionRegistry) ConnectDatabase

func (r *ConnectionRegistry) ConnectDatabase(config dbclient.DatabaseConfig) (*dbclient.DatabaseClient, error)

ConnectDatabase establishes a database connection and tracks it.

func (*ConnectionRegistry) ConnectInstance

func (r *ConnectionRegistry) ConnectInstance(config dbclient.InstanceConfig) (*dbclient.InstanceClient, error)

ConnectInstance establishes an instance connection and tracks it.

func (*ConnectionRegistry) DisconnectDatabase

func (r *ConnectionRegistry) DisconnectDatabase(id string) error

DisconnectDatabase disconnects a database.

func (*ConnectionRegistry) DisconnectInstance

func (r *ConnectionRegistry) DisconnectInstance(id string) error

DisconnectInstance disconnects an instance.

func (*ConnectionRegistry) DisconnectReplication

func (r *ConnectionRegistry) DisconnectReplication(replicationID string) error

DisconnectReplication disconnects a replication client

func (*ConnectionRegistry) GetActiveReplicationClients

func (r *ConnectionRegistry) GetActiveReplicationClients() ([]*dbclient.ReplicationClient, error)

GetActiveReplicationClients returns all active replication clients

func (*ConnectionRegistry) GetAdapterConnection

func (r *ConnectionRegistry) GetAdapterConnection(id string) (adapter.Connection, error)

GetAdapterConnection retrieves a database adapter connection by ID. This returns the adapter.Connection interface for database-agnostic operations.

func (*ConnectionRegistry) GetAllDatabaseClientIDs

func (r *ConnectionRegistry) GetAllDatabaseClientIDs() []string

GetAllDatabaseClientIDs returns all tracked database IDs.

func (*ConnectionRegistry) GetAllInstanceClientIDs

func (r *ConnectionRegistry) GetAllInstanceClientIDs() []string

GetAllInstanceClientIDs returns all tracked instance IDs.

func (*ConnectionRegistry) GetDatabaseClient

func (r *ConnectionRegistry) GetDatabaseClient(id string) (*dbclient.DatabaseClient, error)

GetDatabaseClient retrieves a database client.

func (*ConnectionRegistry) GetInstanceClient

func (r *ConnectionRegistry) GetInstanceClient(id string) (*dbclient.InstanceClient, error)

GetInstanceClient retrieves an instance client.

func (*ConnectionRegistry) GetReplicationClient

func (r *ConnectionRegistry) GetReplicationClient(replicationID string) (*dbclient.ReplicationClient, error)

GetReplicationClient retrieves a replication client by ID

func (*ConnectionRegistry) RemoveReplicationClient

func (r *ConnectionRegistry) RemoveReplicationClient(databaseID, replicationID string)

RemoveReplicationClient removes a replication client from tracking

func (*ConnectionRegistry) SetLogger

func (r *ConnectionRegistry) SetLogger(logger *logger.Logger)

SetLogger sets the logger for the registry.

type DatabaseLogContext

type DatabaseLogContext struct {
	DatabaseType  string
	DatabaseID    string
	InstanceID    string
	ReplicationID string
	TenantID      string
	Host          string
	Port          int
	Operation     string
	IsInternal    bool // true for internal PostgreSQL, false for client databases
}

DatabaseLogContext provides structured context for database logging

type DatabaseLogger

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

DatabaseLogger provides unified logging for all database operations

func NewDatabaseLogger

func NewDatabaseLogger(logger *logger.Logger) *DatabaseLogger

NewDatabaseLogger creates a new database logger

func (*DatabaseLogger) LogClientConnectionAttempt

func (dl *DatabaseLogger) LogClientConnectionAttempt(databaseType, databaseID, host string, port int)

LogClientConnectionAttempt logs connection attempts for client databases

func (*DatabaseLogger) LogClientConnectionFailure

func (dl *DatabaseLogger) LogClientConnectionFailure(databaseType, databaseID, host string, port int, err error)

LogClientConnectionFailure logs connection failures for client databases (as warnings)

func (*DatabaseLogger) LogClientConnectionSuccess

func (dl *DatabaseLogger) LogClientConnectionSuccess(databaseType, databaseID, host string, port int)

LogClientConnectionSuccess logs successful connections for client databases

func (*DatabaseLogger) LogConnectionAttempt

func (dl *DatabaseLogger) LogConnectionAttempt(ctx DatabaseLogContext)

LogConnectionAttempt logs when a connection attempt is starting

func (*DatabaseLogger) LogConnectionFailure

func (dl *DatabaseLogger) LogConnectionFailure(ctx DatabaseLogContext, err error)

LogConnectionFailure logs connection failures with appropriate severity

func (*DatabaseLogger) LogConnectionSuccess

func (dl *DatabaseLogger) LogConnectionSuccess(ctx DatabaseLogContext)

LogConnectionSuccess logs successful database connections

func (*DatabaseLogger) LogDisconnectionAttempt

func (dl *DatabaseLogger) LogDisconnectionAttempt(ctx DatabaseLogContext)

LogDisconnectionAttempt logs when disconnection is starting

func (*DatabaseLogger) LogDisconnectionFailure

func (dl *DatabaseLogger) LogDisconnectionFailure(ctx DatabaseLogContext, err error)

LogDisconnectionFailure logs disconnection failures

func (*DatabaseLogger) LogDisconnectionSuccess

func (dl *DatabaseLogger) LogDisconnectionSuccess(ctx DatabaseLogContext)

LogDisconnectionSuccess logs successful disconnections

func (*DatabaseLogger) LogHealthCheck

func (dl *DatabaseLogger) LogHealthCheck(ctx DatabaseLogContext, isHealthy bool, err error)

LogHealthCheck logs database health check results

func (*DatabaseLogger) LogInternalConnectionAttempt

func (dl *DatabaseLogger) LogInternalConnectionAttempt(host string, port int)

LogInternalConnectionAttempt logs connection attempts for internal PostgreSQL database

func (*DatabaseLogger) LogInternalConnectionFailure

func (dl *DatabaseLogger) LogInternalConnectionFailure(host string, port int, err error)

LogInternalConnectionFailure logs connection failures for internal PostgreSQL database (as errors)

func (*DatabaseLogger) LogInternalConnectionSuccess

func (dl *DatabaseLogger) LogInternalConnectionSuccess(host string, port int)

LogInternalConnectionSuccess logs successful connections for internal PostgreSQL database

func (*DatabaseLogger) LogOperationAttempt

func (dl *DatabaseLogger) LogOperationAttempt(ctx DatabaseLogContext)

LogOperationAttempt logs when a database operation is starting

func (*DatabaseLogger) LogOperationFailure

func (dl *DatabaseLogger) LogOperationFailure(ctx DatabaseLogContext, err error)

LogOperationFailure logs operation failures

func (*DatabaseLogger) LogOperationSuccess

func (dl *DatabaseLogger) LogOperationSuccess(ctx DatabaseLogContext)

LogOperationSuccess logs successful database operations

func (*DatabaseLogger) LogReplicationError

func (dl *DatabaseLogger) LogReplicationError(ctx DatabaseLogContext, err error)

LogReplicationError logs replication errors

func (*DatabaseLogger) LogReplicationEvent

func (dl *DatabaseLogger) LogReplicationEvent(ctx DatabaseLogContext, event string, details interface{})

LogReplicationEvent logs replication-specific events

type LogLevel

type LogLevel int

LogLevel represents the severity of a log message

const (
	LogLevelDebug LogLevel = iota
	LogLevelInfo
	LogLevelWarn
	LogLevelError
)

Jump to

Keyboard shortcuts

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