QuackDB.DBConnection (quackdb v0.1.0)

Copy Markdown View Source

DBConnection implementation for the remote DuckDB Quack protocol.

This module owns connection lifecycle, request execution, cursor-based streaming, transaction callbacks, and result normalization. It intentionally keeps HTTP transport and binary protocol encoding delegated to lower-level modules so the protocol codec can stay independent from DBConnection.

Summary

Types

state()

@type state() :: %QuackDB.DBConnection{
  client_version: String.t(),
  connection_id: String.t() | nil,
  cursors: map(),
  server: QuackDB.Protocol.Message.ConnectionResponse.t() | nil,
  status: DBConnection.status(),
  token: String.t(),
  transport: function(),
  uri: URI.t()
}

Functions

child_spec(options)

@spec child_spec(Keyword.t()) :: Supervisor.child_spec()

start_link(options)

@spec start_link(Keyword.t()) :: GenServer.on_start()