cloudflared-mirror/vendor/github.com/kshvakov/clickhouse/clickhouse_ping.go

29 lines
532 B
Go

package clickhouse
import (
"context"
"database/sql/driver"
"github.com/kshvakov/clickhouse/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()
}