Lightweight 0.20260617.0
Loading...
Searching...
No Matches
Lightweight::SqlRowWiseFetchableColumn Concept Reference

A column usable on the native row-wise array-FETCH fast path. Intentionally identical to the write-side SqlRowBindableColumn — the set of types we can bind row-wise into a record block on fetch matches the set we can bind row-wise as a parameter array on execute: fixed-width primitives, date/time/datetime, numeric, char-based fixed-capacity strings, and non-numeric optionals of those. More...

#include <SqlStatement.hpp>

Concept definition

template<typename V>
A column value type usable on the native row-wise batch path — either a row-bindable fixed value or a...
A column usable on the native row-wise array-FETCH fast path. Intentionally identical to the write-si...

Detailed Description

A column usable on the native row-wise array-FETCH fast path. Intentionally identical to the write-side SqlRowBindableColumn — the set of types we can bind row-wise into a record block on fetch matches the set we can bind row-wise as a parameter array on execute: fixed-width primitives, date/time/datetime, numeric, char-based fixed-capacity strings, and non-numeric optionals of those.

Char fixed strings are materialized by a dedicated SQL_C_CHAR bind plus a per-row length/trim fixup (see BindRowWiseOutputColumn / FinalizeRowWiseOutputColumn); on PostgreSQL, whose driver transcodes SQL_C_CHAR through the client codepage, records carrying one fall back to the per-row (wide) path instead — see SqlConnection::RoundTripsNarrowTextByteExact. Growable strings/binary, GUID and variant are not row-bindable and make the whole record fall back to the per-row fetch path.

Definition at line 1214 of file SqlStatement.hpp.