pub struct ExportRequest<'a> {
pub query: &'a str,
pub incremental: Option<&'a IncrementalCursorPlan>,
pub cursor: Option<&'a CursorState>,
pub tuning: &'a SourceTuning,
pub column_overrides: &'a ColumnOverrides,
pub page_limit: Option<usize>,
}Expand description
Read-only inputs for a single export call.
Packs the parameters that used to live as 5 positional args on
Source::export into a named struct. sink is not part of this struct
— it is &mut and conceptually the output channel, separate from the
read-only request configuration.
Fields§
§query: &'a strAlready-materialized SQL (after resolve_query). The driver still wraps
it with the dialect-specific incremental predicate via
[crate::source::query::build_incremental_query] when incremental is set.
incremental: Option<&'a IncrementalCursorPlan>§cursor: Option<&'a CursorState>§tuning: &'a SourceTuning§column_overrides: &'a ColumnOverridesPer-column type declarations from rivet.yaml (exports[].columns:).
Drivers apply them during schema building so e.g. a NUMERIC column
without declared precision can still be exported as Decimal128(18,2)
when the user has stated the type explicitly.
page_limit: Option<usize>Keyset (seek) pagination page size (OPT-4). When Some(n) and
incremental carries the key plan, the driver builds one keyset page
(WHERE key > cursor ORDER BY key LIMIT n) instead of the unbounded
incremental/snapshot query. The keyset runner drives the outer loop.