Documentation
¶
Index ¶
- type ConnectionManager
- func (cm *ConnectionManager) CheckHealth(ctx context.Context, id string) error
- func (cm *ConnectionManager) CheckInstanceHealth(ctx context.Context, id string) error
- func (cm *ConnectionManager) Connect(ctx context.Context, cfg adapter.ConnectionConfig) error
- func (cm *ConnectionManager) ConnectInstance(ctx context.Context, cfg adapter.InstanceConfig) error
- func (cm *ConnectionManager) Disconnect(ctx context.Context, id string) error
- func (cm *ConnectionManager) DisconnectAll(ctx context.Context) error
- func (cm *ConnectionManager) DisconnectInstance(ctx context.Context, id string) error
- func (cm *ConnectionManager) GetConnection(id string) (adapter.Connection, error)
- func (cm *ConnectionManager) GetConnectionInfo(id string) (map[string]interface{}, error)
- func (cm *ConnectionManager) GetInstance(id string) (adapter.InstanceConnection, error)
- func (cm *ConnectionManager) GetLogger() *logger.Logger
- func (cm *ConnectionManager) ListConnections() []string
- func (cm *ConnectionManager) ListInstances() []string
- func (cm *ConnectionManager) SetLogger(logger *logger.Logger)
- type ConnectionRegistry
- func (r *ConnectionRegistry) AddReplicationClient(client *dbclient.ReplicationClient)
- func (r *ConnectionRegistry) CheckDatabaseHealth(ctx context.Context, id string) error
- func (r *ConnectionRegistry) CheckInstanceHealth(ctx context.Context, id string) error
- func (r *ConnectionRegistry) ConnectDatabase(config dbclient.DatabaseConfig) (*dbclient.DatabaseClient, error)
- func (r *ConnectionRegistry) ConnectInstance(config dbclient.InstanceConfig) (*dbclient.InstanceClient, error)
- func (r *ConnectionRegistry) DisconnectDatabase(id string) error
- func (r *ConnectionRegistry) DisconnectInstance(id string) error
- func (r *ConnectionRegistry) DisconnectReplication(replicationID string) error
- func (r *ConnectionRegistry) GetActiveReplicationClients() ([]*dbclient.ReplicationClient, error)
- func (r *ConnectionRegistry) GetAdapterConnection(id string) (adapter.Connection, error)
- func (r *ConnectionRegistry) GetAllDatabaseClientIDs() []string
- func (r *ConnectionRegistry) GetAllInstanceClientIDs() []string
- func (r *ConnectionRegistry) GetDatabaseClient(id string) (*dbclient.DatabaseClient, error)
- func (r *ConnectionRegistry) GetInstanceClient(id string) (*dbclient.InstanceClient, error)
- func (r *ConnectionRegistry) GetReplicationClient(replicationID string) (*dbclient.ReplicationClient, error)
- func (r *ConnectionRegistry) RemoveReplicationClient(databaseID, replicationID string)
- func (r *ConnectionRegistry) SetLogger(logger *logger.Logger)
- type DatabaseLogContext
- type DatabaseLogger
- func (dl *DatabaseLogger) LogClientConnectionAttempt(databaseType, databaseID, host string, port int)
- func (dl *DatabaseLogger) LogClientConnectionFailure(databaseType, databaseID, host string, port int, err error)
- func (dl *DatabaseLogger) LogClientConnectionSuccess(databaseType, databaseID, host string, port int)
- func (dl *DatabaseLogger) LogConnectionAttempt(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogConnectionFailure(ctx DatabaseLogContext, err error)
- func (dl *DatabaseLogger) LogConnectionSuccess(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogDisconnectionAttempt(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogDisconnectionFailure(ctx DatabaseLogContext, err error)
- func (dl *DatabaseLogger) LogDisconnectionSuccess(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogHealthCheck(ctx DatabaseLogContext, isHealthy bool, err error)
- func (dl *DatabaseLogger) LogInternalConnectionAttempt(host string, port int)
- func (dl *DatabaseLogger) LogInternalConnectionFailure(host string, port int, err error)
- func (dl *DatabaseLogger) LogInternalConnectionSuccess(host string, port int)
- func (dl *DatabaseLogger) LogOperationAttempt(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogOperationFailure(ctx DatabaseLogContext, err error)
- func (dl *DatabaseLogger) LogOperationSuccess(ctx DatabaseLogContext)
- func (dl *DatabaseLogger) LogReplicationError(ctx DatabaseLogContext, err error)
- func (dl *DatabaseLogger) LogReplicationEvent(ctx DatabaseLogContext, event string, details interface{})
- type LogLevel
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 ¶
func (cm *ConnectionManager) Connect(ctx context.Context, cfg adapter.ConnectionConfig) error
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