package chpool

import "github.com/ClickHouse/ch-go/chpool"

Package chpool is a connection pool for ch.

Index

Constants

const (
	DefaultMaxConnLifetime   = time.Hour
	DefaultMaxConnIdleTime   = time.Minute * 30
	DefaultHealthCheckPeriod = time.Minute
)

Defaults for pool.

Types

type Client

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

Client is an acquired *ch.Client from a Pool.

func (*Client) Do

func (c *Client) Do(ctx context.Context, q ch.Query) (err error)

func (*Client) Ping

func (c *Client) Ping(ctx context.Context) error

func (*Client) Release

func (c *Client) Release()

Release returns client to the pool.

type Options

type Options struct {
	ClientOptions     ch.Options
	MaxConnLifetime   time.Duration
	MaxConnIdleTime   time.Duration
	MaxConns          int32
	MinConns          int32
	HealthCheckPeriod time.Duration
}

Options for Pool.

type Pool

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

Pool of connections to ClickHouse.

func Dial

func Dial(ctx context.Context, opt Options) (*Pool, error)

Dial returns a pool of connections to ClickHouse. Checks if ClickHouse is available, fails if not.

func New

func New(ctx context.Context, opt Options) (*Pool, error)

New returns a pool of connections to ClickHouse.

func (*Pool) Acquire

func (p *Pool) Acquire(ctx context.Context) (*Client, error)

Acquire connection from pool.

func (*Pool) Close

func (p *Pool) Close()

Close pool.

func (*Pool) Do

func (p *Pool) Do(ctx context.Context, q ch.Query) (err error)

func (*Pool) Ping

func (p *Pool) Ping(ctx context.Context) error

func (*Pool) Stat

func (p *Pool) Stat() *puddle.Stat

Stat return pool statistic.

Source Files

client.go conn.go doc.go pool.go

Version
v0.61.2
Published
Jan 29, 2024
Platform
js/wasm
Imports
6 packages
Last checked
2 seconds ago

Tools for package owners.