clickhouse

package
v1.0.0-beta.224 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Logger              *slog.Logger
	ClickHouse          clickhouse.Conn
	Database            string
	EventsTableName     string
	AsyncInsert         bool
	AsyncInsertWait     bool
	InsertQuerySettings map[string]string
	MeterQuerySettings  map[string]string
	EnablePrewhere      bool
	ProgressManager     progressmanager.Service
	SkipCreateTables    bool
}

func (Config) Validate

func (c Config) Validate() error

type Connector

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

Connector implements `ingest.Connector" and `namespace.Handler interfaces.

func New

func New(ctx context.Context, config Config) (*Connector, error)

func (*Connector) BatchInsert

func (c *Connector) BatchInsert(ctx context.Context, rawEvents []streaming.RawEvent) error

func (*Connector) CountEvents

func (c *Connector) CountEvents(ctx context.Context, namespace string, params streaming.CountEventsParams) ([]streaming.CountEventRow, error)

func (*Connector) CreateNamespace

func (c *Connector) CreateNamespace(ctx context.Context, namespace string) error

func (*Connector) DeleteNamespace

func (c *Connector) DeleteNamespace(ctx context.Context, namespace string) error

func (*Connector) ListEvents

func (c *Connector) ListEvents(ctx context.Context, namespace string, params streaming.ListEventsParams) ([]streaming.RawEvent, error)

func (*Connector) ListEventsV2

func (c *Connector) ListEventsV2(ctx context.Context, params streaming.ListEventsV2Params) ([]streaming.RawEvent, error)

func (*Connector) ListSubjects

func (c *Connector) ListSubjects(ctx context.Context, params streaming.ListSubjectsParams) ([]string, error)

func (*Connector) QueryMeter

func (c *Connector) QueryMeter(ctx context.Context, namespace string, meter meterpkg.Meter, params streaming.QueryParams) ([]meterpkg.MeterQueryRow, error)

func (*Connector) ValidateJSONPath

func (c *Connector) ValidateJSONPath(ctx context.Context, jsonPath string) (bool, error)

ValidateJSONPath checks if the given JSON path is valid by executing a simple query with it.

type InsertEventsQuery

type InsertEventsQuery struct {
	Database        string
	EventsTableName string
	Events          []streaming.RawEvent
	QuerySettings   map[string]string
}

Insert Events Query

func (InsertEventsQuery) ToSQL

func (q InsertEventsQuery) ToSQL() (string, []interface{})

type MockClickHouse

type MockClickHouse struct {
	mock.Mock
}

MockClickHouse is a mock for the ClickHouse connection

func NewMockClickHouse

func NewMockClickHouse() *MockClickHouse

func (*MockClickHouse) AsyncInsert

func (m *MockClickHouse) AsyncInsert(ctx context.Context, query string, wait bool, args ...interface{}) error

func (*MockClickHouse) Close

func (m *MockClickHouse) Close() error

func (*MockClickHouse) Contributors

func (m *MockClickHouse) Contributors() []string

func (*MockClickHouse) Exec

func (m *MockClickHouse) Exec(ctx context.Context, query string, args ...interface{}) error

func (*MockClickHouse) Ping

func (m *MockClickHouse) Ping(ctx context.Context) error

func (*MockClickHouse) PrepareBatch

func (m *MockClickHouse) PrepareBatch(ctx context.Context, query string, options ...driver.PrepareBatchOption) (driver.Batch, error)

func (*MockClickHouse) Query

func (m *MockClickHouse) Query(ctx context.Context, query string, queryArgs ...interface{}) (driver.Rows, error)

func (*MockClickHouse) QueryRow

func (m *MockClickHouse) QueryRow(ctx context.Context, query string, queryArgs ...interface{}) driver.Row

func (*MockClickHouse) Select

func (m *MockClickHouse) Select(ctx context.Context, dest any, query string, queryArgs ...any) error

func (*MockClickHouse) ServerVersion

func (m *MockClickHouse) ServerVersion() (*clickhouse.ServerVersion, error)

func (*MockClickHouse) Stats

func (m *MockClickHouse) Stats() driver.Stats

type MockRows

type MockRows struct {
	mock.Mock
}

MockRows is a mock for the Rows interface

func NewMockRows

func NewMockRows() *MockRows

func (*MockRows) Close

func (m *MockRows) Close() error

func (*MockRows) ColumnTypes

func (m *MockRows) ColumnTypes() []driver.ColumnType

func (*MockRows) Columns

func (m *MockRows) Columns() []string

func (*MockRows) Err

func (m *MockRows) Err() error

func (*MockRows) Next

func (m *MockRows) Next() bool

func (*MockRows) Scan

func (m *MockRows) Scan(dest ...interface{}) error

func (*MockRows) ScanStruct

func (m *MockRows) ScanStruct(dest any) error

func (*MockRows) Totals

func (m *MockRows) Totals(dest ...interface{}) error

Jump to

Keyboard shortcuts

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