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

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

@type t() :: module()

The ClickHouse network interface.

Link to this section Callbacks

Link to this callback

execute(client, query, opts)

View Source
@callback 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.

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

A callback to start the network interface.

Link to this callback

stream_into_next(t, arg2)

View Source
@callback 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.

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

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

@callback 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.

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

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