plugin_helpers

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2025 License: Apache-2.0 Imports: 15 Imported by: 5

Documentation

Index

Constants

View Source
const (
	ALL_METHODS                      = "*"
	CONNECT_METHOD                   = "Conn.Connect"
	FORCE_CONNECT_METHOD             = "Conn.ForceConnect"
	ACCEPTS_STRATEGY_METHOD          = "acceptsStrategy"
	GET_HOST_INFO_BY_STRATEGY_METHOD = "getHostInfoByStrategy"
	GET_HOST_SELECT_STRATEGY_METHOD  = "getHostSelectorStrategy"
	INIT_HOST_PROVIDER_METHOD        = "initHostProvider"
	NOTIFY_CONNECTION_CHANGED_METHOD = "notifyConnectionChanged"
	NOTIFY_HOST_LIST_CHANGED_METHOD  = "notifyHostListChanged"
)

Variables

View Source
var DEFAULT_HOST_AVAILABILITY_CACHE_EXPIRE_NANO = 5 * time.Minute
View Source
var DEFAULT_STATUS_CACHE_EXPIRE_NANO = 60 * time.Minute

Functions

func ClearCaches

func ClearCaches()

This cleans up all long-standing caches. To be called at the end of program, not each time a Conn is closed.

func NewPluginManagerImpl

func NewPluginManagerImpl(
	targetDriver driver.Driver,
	props *utils.RWMap[string, string],
	connProviderManager driver_infrastructure.ConnectionProviderManager,
	telemetryFactory telemetry.TelemetryFactory) driver_infrastructure.PluginManager

Types

type PluginChain

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

func (*PluginChain) Connect

func (chain *PluginChain) Connect(
	pluginFunc driver_infrastructure.PluginConnectFunc,
	props *utils.RWMap[string, string],
	connectFunc func(props *utils.RWMap[string, string]) (driver.Conn, error)) (driver.Conn, error)

func (*PluginChain) ConnectAddToHead

func (chain *PluginChain) ConnectAddToHead(plugin driver_infrastructure.ConnectionPlugin)

func (*PluginChain) ExecAddToHead

func (chain *PluginChain) ExecAddToHead(plugin driver_infrastructure.ConnectionPlugin)

func (*PluginChain) Execute

func (chain *PluginChain) Execute(pluginFunc driver_infrastructure.PluginExecFunc, execFunc func() (any, any, bool, error)) (any, any, bool, error)

type PluginManagerImpl

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

func (*PluginManagerImpl) AcceptsStrategy

func (pluginManager *PluginManagerImpl) AcceptsStrategy(strategy string) bool

func (*PluginManagerImpl) Connect

func (pluginManager *PluginManagerImpl) Connect(
	hostInfo *host_info_util.HostInfo,
	props *utils.RWMap[string, string],
	isInitialConnection bool,
	pluginToSkip driver_infrastructure.ConnectionPlugin) (driver.Conn, error)

func (*PluginManagerImpl) Execute

func (pluginManager *PluginManagerImpl) Execute(
	connInvokedOn driver.Conn,
	methodName string,
	executeFunc driver_infrastructure.ExecuteFunc,
	methodArgs ...any) (any, any, bool, error)

func (*PluginManagerImpl) ForceConnect

func (pluginManager *PluginManagerImpl) ForceConnect(
	hostInfo *host_info_util.HostInfo,
	props *utils.RWMap[string, string],
	isInitialConnection bool) (driver.Conn, error)

func (*PluginManagerImpl) GetConnectionProviderManager

func (pluginManager *PluginManagerImpl) GetConnectionProviderManager() driver_infrastructure.ConnectionProviderManager

func (*PluginManagerImpl) GetDefaultConnectionProvider

func (pluginManager *PluginManagerImpl) GetDefaultConnectionProvider() driver_infrastructure.ConnectionProvider

func (*PluginManagerImpl) GetEffectiveConnectionProvider

func (pluginManager *PluginManagerImpl) GetEffectiveConnectionProvider() driver_infrastructure.ConnectionProvider

func (*PluginManagerImpl) GetHostInfoByStrategy

func (pluginManager *PluginManagerImpl) GetHostInfoByStrategy(
	role host_info_util.HostRole,
	strategy string,
	hosts []*host_info_util.HostInfo) (host *host_info_util.HostInfo, err error)

func (*PluginManagerImpl) GetHostSelectorStrategy

func (pluginManager *PluginManagerImpl) GetHostSelectorStrategy(strategy string) (hostSelector driver_infrastructure.HostSelector, err error)

func (*PluginManagerImpl) GetTelemetryContext

func (pluginManager *PluginManagerImpl) GetTelemetryContext() context.Context

func (*PluginManagerImpl) GetTelemetryFactory

func (pluginManager *PluginManagerImpl) GetTelemetryFactory() telemetry.TelemetryFactory

func (*PluginManagerImpl) Init

func (*PluginManagerImpl) InitHostProvider

func (pluginManager *PluginManagerImpl) InitHostProvider(
	props *utils.RWMap[string, string],
	hostListProviderService driver_infrastructure.HostListProviderService) error

func (*PluginManagerImpl) IsPluginInUse added in v1.1.0

func (pluginManager *PluginManagerImpl) IsPluginInUse(pluginCode string) bool

func (*PluginManagerImpl) NotifyConnectionChanged

func (pluginManager *PluginManagerImpl) NotifyConnectionChanged(
	changes map[driver_infrastructure.HostChangeOptions]bool,
	skipNotificationForThisPlugin driver_infrastructure.ConnectionPlugin) map[driver_infrastructure.OldConnectionSuggestedAction]bool

func (*PluginManagerImpl) NotifyHostListChanged

func (pluginManager *PluginManagerImpl) NotifyHostListChanged(changes map[string]map[driver_infrastructure.HostChangeOptions]bool)

func (*PluginManagerImpl) NotifySubscribedPlugins

func (pluginManager *PluginManagerImpl) NotifySubscribedPlugins(
	methodName string,
	pluginFunc driver_infrastructure.PluginExecFunc,
	skipNotificationForThisPlugin driver_infrastructure.ConnectionPlugin) error

func (*PluginManagerImpl) ReleaseResources

func (pluginManager *PluginManagerImpl) ReleaseResources()

func (*PluginManagerImpl) SetTelemetryContext

func (pluginManager *PluginManagerImpl) SetTelemetryContext(ctx context.Context)

func (*PluginManagerImpl) UnwrapPlugin added in v1.1.0

func (pluginManager *PluginManagerImpl) UnwrapPlugin(pluginCode string) driver_infrastructure.ConnectionPlugin

type PluginServiceImpl

type PluginServiceImpl struct {
	AllHosts []*host_info_util.HostInfo
	// contains filtered or unexported fields
}

func (*PluginServiceImpl) AcceptsStrategy

func (p *PluginServiceImpl) AcceptsStrategy(strategy string) bool

func (*PluginServiceImpl) Connect

func (*PluginServiceImpl) CreateHostListProvider

func (p *PluginServiceImpl) CreateHostListProvider(props *utils.RWMap[string, string]) driver_infrastructure.HostListProvider

func (*PluginServiceImpl) FillAliases

func (p *PluginServiceImpl) FillAliases(conn driver.Conn, hostInfo *host_info_util.HostInfo)

func (*PluginServiceImpl) ForceConnect

func (p *PluginServiceImpl) ForceConnect(hostInfo *host_info_util.HostInfo, props *utils.RWMap[string, string]) (driver.Conn, error)

func (*PluginServiceImpl) ForceRefreshHostList

func (p *PluginServiceImpl) ForceRefreshHostList(conn driver.Conn) error

func (*PluginServiceImpl) ForceRefreshHostListWithTimeout

func (p *PluginServiceImpl) ForceRefreshHostListWithTimeout(shouldVerifyWriter bool, timeoutMs int) (bool, error)

func (*PluginServiceImpl) GetAllHosts added in v1.2.0

func (p *PluginServiceImpl) GetAllHosts() []*host_info_util.HostInfo

func (*PluginServiceImpl) GetBgStatus added in v1.1.0

func (*PluginServiceImpl) GetConnectionProvider

func (p *PluginServiceImpl) GetConnectionProvider() driver_infrastructure.ConnectionProvider

func (*PluginServiceImpl) GetCurrentConnection

func (p *PluginServiceImpl) GetCurrentConnection() driver.Conn

func (*PluginServiceImpl) GetCurrentConnectionRef

func (p *PluginServiceImpl) GetCurrentConnectionRef() *driver.Conn

func (*PluginServiceImpl) GetCurrentHostInfo

func (p *PluginServiceImpl) GetCurrentHostInfo() (*host_info_util.HostInfo, error)

func (*PluginServiceImpl) GetCurrentTx

func (p *PluginServiceImpl) GetCurrentTx() driver.Tx

func (*PluginServiceImpl) GetDialect

func (*PluginServiceImpl) GetHostInfoByStrategy

func (p *PluginServiceImpl) GetHostInfoByStrategy(
	role host_info_util.HostRole,
	strategy string,
	hosts []*host_info_util.HostInfo) (*host_info_util.HostInfo, error)

func (*PluginServiceImpl) GetHostListProvider

func (p *PluginServiceImpl) GetHostListProvider() driver_infrastructure.HostListProvider

func (*PluginServiceImpl) GetHostRole

func (p *PluginServiceImpl) GetHostRole(conn driver.Conn) host_info_util.HostRole

func (*PluginServiceImpl) GetHostSelectorStrategy

func (p *PluginServiceImpl) GetHostSelectorStrategy(strategy string) (hostSelector driver_infrastructure.HostSelector, err error)

func (*PluginServiceImpl) GetHosts

func (p *PluginServiceImpl) GetHosts() []*host_info_util.HostInfo

func (*PluginServiceImpl) GetInitialConnectionHostInfo

func (p *PluginServiceImpl) GetInitialConnectionHostInfo() *host_info_util.HostInfo

func (*PluginServiceImpl) GetProperties

func (p *PluginServiceImpl) GetProperties() *utils.RWMap[string, string]

func (*PluginServiceImpl) GetTargetDriverDialect

func (p *PluginServiceImpl) GetTargetDriverDialect() driver_infrastructure.DriverDialect

func (*PluginServiceImpl) GetTelemetryContext

func (p *PluginServiceImpl) GetTelemetryContext() context.Context

func (*PluginServiceImpl) GetTelemetryFactory

func (p *PluginServiceImpl) GetTelemetryFactory() telemetry.TelemetryFactory

func (*PluginServiceImpl) GetUpdatedHostListWithTimeout

func (p *PluginServiceImpl) GetUpdatedHostListWithTimeout(shouldVerifyWriter bool, timeoutMs int) ([]*host_info_util.HostInfo, error)

func (*PluginServiceImpl) IdentifyConnection

func (p *PluginServiceImpl) IdentifyConnection(conn driver.Conn) (*host_info_util.HostInfo, error)

func (*PluginServiceImpl) IsInTransaction

func (p *PluginServiceImpl) IsInTransaction() bool

func (*PluginServiceImpl) IsLoginError

func (p *PluginServiceImpl) IsLoginError(err error) bool

func (*PluginServiceImpl) IsNetworkError

func (p *PluginServiceImpl) IsNetworkError(err error) bool

func (*PluginServiceImpl) IsPluginInUse added in v1.1.0

func (p *PluginServiceImpl) IsPluginInUse(pluginName string) bool

func (*PluginServiceImpl) IsStaticHostListProvider

func (p *PluginServiceImpl) IsStaticHostListProvider() bool

func (*PluginServiceImpl) RefreshHostList

func (p *PluginServiceImpl) RefreshHostList(conn driver.Conn) error

func (*PluginServiceImpl) ReleaseResources

func (p *PluginServiceImpl) ReleaseResources()

func (*PluginServiceImpl) ResetSession added in v1.1.0

func (p *PluginServiceImpl) ResetSession()

func (*PluginServiceImpl) SetAllowedAndBlockedHosts added in v1.2.0

func (p *PluginServiceImpl) SetAllowedAndBlockedHosts(allowedAndBlockedHosts *driver_infrastructure.AllowedAndBlockedHosts)

func (*PluginServiceImpl) SetAvailability

func (p *PluginServiceImpl) SetAvailability(hostAliases map[string]bool, availability host_info_util.HostAvailability)

func (*PluginServiceImpl) SetBgStatus added in v1.1.0

func (*PluginServiceImpl) SetCurrentConnection

func (p *PluginServiceImpl) SetCurrentConnection(
	conn driver.Conn,
	hostInfo *host_info_util.HostInfo,
	skipNotificationForThisPlugin driver_infrastructure.ConnectionPlugin) error

func (*PluginServiceImpl) SetCurrentTx

func (p *PluginServiceImpl) SetCurrentTx(tx driver.Tx)

func (*PluginServiceImpl) SetDialect

func (*PluginServiceImpl) SetHostListProvider

func (p *PluginServiceImpl) SetHostListProvider(hostListProvider driver_infrastructure.HostListProvider)

func (*PluginServiceImpl) SetInTransaction

func (p *PluginServiceImpl) SetInTransaction(inTransaction bool)

func (*PluginServiceImpl) SetInitialConnectionHostInfo

func (p *PluginServiceImpl) SetInitialConnectionHostInfo(hostInfo *host_info_util.HostInfo)

func (*PluginServiceImpl) SetTelemetryContext

func (p *PluginServiceImpl) SetTelemetryContext(ctx context.Context)

func (*PluginServiceImpl) UpdateDialect

func (p *PluginServiceImpl) UpdateDialect(conn driver.Conn)

func (*PluginServiceImpl) UpdateState

func (p *PluginServiceImpl) UpdateState(sql string, methodArgs ...any)

Jump to

Keyboard shortcuts

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