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
@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
@spec child_spec(Keyword.t()) :: Supervisor.child_spec()
@spec start_link(Keyword.t()) :: GenServer.on_start()