Expand description
Session-scoped forward-only cursors over streaming results.
A cursor holds one StreamingQueryResult execution handle plus a small
row buffer. Fetching pulls chunks until the requested page is full (or
the execution is exhausted); the frontend never buffers the full result.
Explicit close drops the handle promptly. Query deregistration runs
through the handle’s drop callback, the single path shared with streaming
queries, which also covers idle-timeout sweeps, fetch-failure removals,
and session drops.
Structs§
- Cursor
Context - Session-owned cursor registry, keyed by server-assigned cursor id.
- Cursor
Page - One fetched page: column names plus row-major values.
- Cursor
State - One open cursor: an execution handle plus buffered rows.
Constants§
- CURSOR_
IDLE_ TIMEOUT - Idle cursors are reclaimed on the next cursor operation.
- MAX_
CURSORS_ PER_ SESSION - Cap on concurrently open cursors per session.
- MAX_
CURSOR_ PAGE_ SIZE - Largest page a single fetch returns.
- MIN_
CURSOR_ PAGE_ SIZE - Smallest page a single fetch returns.