Documentation
¶
Index ¶
Constants ¶
View Source
const ( DefaultMaxIdleConnsMultiplier = 4 DefaultMaxOpenConnsMultiplier = 16 DefaultMinIdleConns = 25 DefaultMinOpenConns = 100 DefaultConnMaxIdleTime = 5 * time.Minute DefaultConnMaxLifetime = 30 * time.Minute )
Default connection pool constants.
Variables ¶
View Source
var (
ErrUnsupportedDBType = errors.New("unsupported database type")
)
Database error types.
Functions ¶
func CreateDb ¶
CreateDb creates a new *bun.DB instance with custom options.
Parameters:
- config: The datasource configuration containing database connection details
- options: Variadic list of Option functions to customize the database initialization
Returns:
- *bun.DB: A configured bun database instance ready for use
- error: Any error that occurred during database initialization
Types ¶
type ConnectionPoolConfig ¶
type ConnectionPoolConfig struct {
MaxIdleConns int
MaxOpenConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
}
ConnectionPoolConfig defines the connection pool configuration.
func NewDefaultConnectionPoolConfig ¶
func NewDefaultConnectionPoolConfig() *ConnectionPoolConfig
NewDefaultConnectionPoolConfig creates a default connection pool configuration.
type DatabaseError ¶
DatabaseError represents a database-specific error with additional context.
func (*DatabaseError) Error ¶
func (e *DatabaseError) Error() string
func (*DatabaseError) Unwrap ¶
func (e *DatabaseError) Unwrap() error
type DatabaseProvider ¶
type DatabaseProvider interface {
// Connect establishes a connection to the database
Connect(config *config.DatasourceConfig) (*sql.DB, schema.Dialect, error)
// Type returns the database type identifier
Type() constants.DbType
// ValidateConfig validates the datasource configuration for this provider
ValidateConfig(config *config.DatasourceConfig) error
// QueryVersion queries the database version
QueryVersion(db *bun.DB) (string, error)
}
DatabaseProvider defines the interface for database providers.
type Option ¶
type Option func(*databaseOptions)
Option defines a function type for configuring databaseOptions.
func WithBunOptions ¶
WithBunOptions adds additional bun options.
func WithConnectionPool ¶
func WithConnectionPool(poolConfig *ConnectionPoolConfig) Option
WithConnectionPool sets a custom connection pool configuration.
func WithQueryHook ¶
WithQueryHook enables or disables the query hook.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.