ClickHouse.Interface behaviour (ClickHouse v0.18.0) 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 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.

Specs

stream_into(stream :: ClickHouse.Stream.t()) ::
  {stream :: ClickHouse.Stream.t(),
   collector :: (ClickHouse.Stream.t(), Collectable.command() -> term())}

A callback to stream a collectable into the network interface.

Specs

stream_next(stream :: 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.