ClickHouse.Interface behaviour (ClickHouse v0.19.1) View Source

A behaviour to implement a network interface with a ClickHouse server.

Link to this section Summary

Types

t()

The ClickHouse network interface.

Callbacks

A callback to execute a query with the network interface.

A callback to start the network interface.

A callback to stream the next chunk into the network interface.

A callback to start streaming a collectable into the network interface.

A callback to stream the next chunk with the network interface.

A callback to start a query stream with the network interface.

Link to this section Types

Specs

t() :: module()

The ClickHouse network interface.

Link to this section Callbacks

Link to this callback

execute(client, query, opts)

View Source

Specs

execute(
  client :: ClickHouse.Client.t(),
  query :: ClickHouse.Query.t(),
  opts :: keyword()
) :: {:ok, ClickHouse.Result.t()} | {:error, ClickHouse.error()}

A callback to execute a query with the network interface.

Specs

start_link(keyword()) :: GenServer.on_start()

A callback to start the network interface.

Link to this callback

stream_into_next(arg1, arg2)

View Source

Specs

stream_into_next(ClickHouse.Stream.t(), {:cont, iodata()} | :done | :halt) ::
  {:ok, ClickHouse.Stream.t() | ClickHouse.Result.t()}
  | {:error, ClickHouse.error()}

A callback to stream the next chunk into the network interface.

Specs

stream_into_start(ClickHouse.Stream.t()) ::
  {:ok, ClickHouse.Stream.t()} | {:error, ClickHouse.error()}

A callback to start streaming a collectable into the network interface.

Specs

stream_next(ClickHouse.Stream.t()) ::
  {:cont, ClickHouse.Stream.t()}
  | {:cont, ClickHouse.Stream.t(), iodata()}
  | {:halt, ClickHouse.Stream.t()}
  | {:error, ClickHouse.error()}

A callback to stream the next chunk with the network interface.

Specs

stream_start(ClickHouse.Stream.t()) ::
  {:ok, ClickHouse.Stream.t()} | {:error, ClickHouse.error()}

A callback to start a query stream with the network interface.