infraclickhouse

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionConfig

type ConnectionConfig struct {
	// Database address. "host:port"
	Address string `mapstructure:"address"`

	// Database credentials
	Credentials Credentials `mapstructure:"credentials"`

	// Maximum number of physical connections
	MaxConnections int `mapstructure:"max_connections"`

	// Maximum number of idle connections
	MaxIdleConnections int `mapstructure:"max_idle_connections"`

	// Maximum connection lifetime. Connections that active more than that period will be closed
	MaxConnectionLifetime time.Duration `mapstructure:"max_connection_lifetime"`

	// Connection idle time. Connections that idle more than that period will be closed
	MaxConnectionIdleTime time.Duration `mapstructure:"max_connection_idle_time"`
}

func (*ConnectionConfig) GetConnectionDSN

func (c *ConnectionConfig) GetConnectionDSN() string

func (*ConnectionConfig) Validate

func (c *ConnectionConfig) Validate() error

type ConnectionsConfig

type ConnectionsConfig map[string]*ConnectionConfig

func (*ConnectionsConfig) Validate

func (c *ConnectionsConfig) Validate() error

type Container

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

Container is a simple container for holding named clickhouse connections.

func NewContainer

func NewContainer() *Container

func (*Container) Connect

func (cont *Container) Connect(name string, cfg *ConnectionConfig) error

Connect creates a new named clickhouse connection

func (*Container) Get

func (cont *Container) Get(name string) *sql.DB

Get gets connection from a container

func (*Container) GetCollector

func (cont *Container) GetCollector(name string) *sqlstats.StatsCollector

GetCollector gets metrics collector from a container

type Credentials

type Credentials struct {
	Database string `mapstructure:"database"`
	Username string `mapstructure:"username"`
	Password string `mapstructure:"password"`
}

func (*Credentials) Validate

func (c *Credentials) Validate() error

Jump to

Keyboard shortcuts

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