Remote DuckDB Quack protocol client.
The public API is backed by DBConnection so it can grow into an Ecto adapter
without changing the lower-level protocol codec.
Summary
Types
@type start_option() :: {:uri, String.t()} | {:token, String.t()} | {:name, GenServer.name()}
Functions
@spec child_spec([start_option()]) :: Supervisor.child_spec()
@spec prepare(DBConnection.conn(), iodata(), Keyword.t()) :: {:ok, QuackDB.Query.t()} | {:error, Exception.t()}
@spec prepare_execute(DBConnection.conn(), iodata(), [term()], Keyword.t()) :: {:ok, QuackDB.Query.t(), QuackDB.Result.t()} | {:error, Exception.t()}
@spec query(DBConnection.conn(), iodata(), [term()], Keyword.t()) :: {:ok, QuackDB.Result.t()} | {:error, Exception.t()}
@spec query!(DBConnection.conn(), iodata(), [term()], Keyword.t()) :: QuackDB.Result.t()
@spec start_link([start_option()]) :: GenServer.on_start()
@spec stream(DBConnection.conn(), iodata(), [term()], Keyword.t()) :: QuackDB.Stream.t()