plugins

package
v0.0.0-...-987291d Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseAllConnections

func CloseAllConnections(_ context.Context)

CloseAllConnections closes all cached connections (call on shutdown).

func ConfigureConnectionPool

func ConfigureConnectionPool(db *gorm.DB) error

ConfigureConnectionPool sets recommended connection pool settings for database connections. This should be called after opening a GORM connection to ensure proper pool management. Settings are tuned for long-running server applications with connection caching.

func GetCachedSSLStatus

func GetCachedSSLStatus(config *engine.PluginConfig) *engine.SSLStatus

GetCachedSSLStatus retrieves the SSL status from the connection cache. Returns nil if not cached or connection doesn't exist.

func GetDefaultPort

func GetDefaultPort(dbType engine.DatabaseType) (string, bool)

GetDefaultPort returns the default port for a database type

func GetGormLogConfig

func GetGormLogConfig() logger.LogLevel

GetGormLogConfig returns the GORM logger level based on the environment log level setting.

func RegisterDatabasePort

func RegisterDatabasePort(dbType engine.DatabaseType, port string)

RegisterDatabasePort allows external packages to register additional database ports

func RemoveConnection

func RemoveConnection(config *engine.PluginConfig)

RemoveConnection removes a specific connection from cache and closes it (call on logout).

func SetCachedSSLStatus

func SetCachedSSLStatus(config *engine.PluginConfig, status *engine.SSLStatus)

SetCachedSSLStatus stores SSL status in the connection cache.

func WithConnection

func WithConnection[T any](config *engine.PluginConfig, DB DBCreationFunc, operation DBOperation[T]) (T, error)

WithConnection manages the database connection lifecycle for an operation. Connections are cached and reused across operations to prevent connection exhaustion. The underlying sql.DB handles connection pooling internally. If config.Transaction is set (as a *gorm.DB), it will be used instead of creating a new connection. Multi-statement connections bypass the cache and are closed immediately after use.

Types

type AndCondition

type AndCondition struct {
	Conditions []SearchCondition
}

AndCondition represents multiple conditions joined with AND.

type AtomicCondition

type AtomicCondition struct {
	Key        string
	Operator   string
	Value      any
	ColumnType string
}

AtomicCondition represents a single comparison condition (e.g., column = value).

type DBCreationFunc

type DBCreationFunc func(pluginConfig *engine.PluginConfig) (*gorm.DB, error)

DBCreationFunc is a function that creates a new GORM database connection.

type DBOperation

type DBOperation[T any] func(*gorm.DB) (T, error)

DBOperation is a function that performs database operations with a GORM connection.

type OrCondition

type OrCondition struct {
	Conditions []SearchCondition
}

OrCondition represents multiple conditions joined with OR.

type SearchCondition

type SearchCondition struct {
	And    *AndCondition
	Or     *OrCondition
	Atomic *AtomicCondition
}

SearchCondition represents a WHERE clause condition that can be atomic, AND, or OR.

type Sort

type Sort struct {
	Column    string
	Direction SortDirection
}

Sort represents a column sort condition with direction.

type SortDirection

type SortDirection int

SortDirection indicates ascending or descending sort order.

const (
	Up   SortDirection = iota // ASC
	Down                      // DESC
)

Directories

Path Synopsis
Package ssl provides SSL/TLS configuration types and utilities for database connections.
Package ssl provides SSL/TLS configuration types and utilities for database connections.

Jump to

Keyboard shortcuts

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