4. External types
Types referenced by the generated module pages but owned elsewhere — the
postgres_stmt statement module, the raw postgres libpq binding, and
daslang’s daslib/sql core. This page anchors their labels so the generated
pages link without dangling references; follow the upstream links for the
authoritative definitions. (Daslang-core types such as Result / Option
resolve against the daslang documentation via
intersphinx.)
4.1. postgres_stmt::PgStmt
The provider statement handle spliced into _sql-emitted bind/reader blocks.
libpq has no per-index bind API — PQexecParams takes the whole parameter set
at execute time — so the handle accumulates three parallel arrays (text-format
value, NULL flag, explicit type OID) during the bind block, then carries the
executed PGresult and the current row for the readers. User code never
constructs one; the run_select family owns its lifecycle.
4.2. postgres::PGconn
The raw libpq connection handle (libpq documentation), owned by
SqlRunner and passed to PQ* functions when dropping below the boost
layer.
4.3. postgres::PGresult
The raw libpq result handle (libpq exec documentation) — a fully
materialized query result read by (row, column). Owned by the runner helpers;
PgStmt.res points at one while rows are read.
4.4. sql::SqlType
Daslang’s abstract SQL storage class (Integer / Real / Text /
Blob / Null, from daslib/sql). The provider renders it to PostgreSQL
spellings via postgres_sql_type — BIGINT / DOUBLE PRECISION /
TEXT / BYTEA.
4.5. sql::SqlError
Option<string> from daslib/sql — none on success, some(errmsg)
on failure. The return type of every try_* helper that has no payload.