aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/ClickHouse/clickhouse-go/clickhouse_ping.go
blob: 9c6b50a2bfa831aee0f60549aaa6587dec71ef07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package clickhouse

import (
	"context"
	"database/sql/driver"

	"github.com/ClickHouse/clickhouse-go/lib/protocol"
)

func (ch *clickhouse) Ping(ctx context.Context) error {
	return ch.ping(ctx)
}

func (ch *clickhouse) ping(ctx context.Context) error {
	if ch.conn.closed {
		return driver.ErrBadConn
	}
	ch.logf("-> ping")
	finish := ch.watchCancel(ctx)
	defer finish()
	if err := ch.encoder.Uvarint(protocol.ClientPing); err != nil {
		return err
	}
	if err := ch.encoder.Flush(); err != nil {
		return err
	}
	return ch.process()
}