Sign in

    superbigcup325/moonlake/engine does not have a README file

    BoundQuery

    pub struct BoundQuery {
    // private fields
    } derive(
    Debug
    )

    The bound query, ready for the executor.

    ExecOptions

    pub(all) struct ExecOptions {
    budget : Int
    spill : SpillStore?
    }

    ExecOptions::in_memory

    fn ExecOptions::in_memory() -> ExecOptions

    Default options: unlimited memory, no spill store — the historical in-memory behavior.

    SelectResult

    pub struct SelectResult {
    // private fields
    }

    SelectResult::get

    Scalar cell accessor for result consumption (row, column).

    SelectResult::names

    fn SelectResult::names(self : SelectResult) -> Array[String]

    SelectResult::row_count

    fn SelectResult::row_count(self : SelectResult) -> Int

    SelectResult::to_json

    fn SelectResult::to_json(self : SelectResult) -> String

    Whole result as one JSON array line. Strings are escaped; SQL NULL becomes null. DATE renders as a quoted calendar date (DuckDB's own JSON spelling), not a bare epoch integer.

    SpillStore

    pub(all) struct SpillStore {
    write : (Bytes) -> Int raise
    SqlError

    read : (Int) -> Bytes raise
    SqlError

    remove : (Int) -> Unit raise
    SqlError

    }

    Storage for spilled intermediate state (sorted runs today). Ids are opaque and scoped to one query; the engine removes everything it wrote when the query ends, successfully or not.

    explain

    Render the physical plan without executing it: join steps with pushdown classification, aggregation, projection, ordering.

    explain_analyze

    Run the query and render the physical plan annotated with the actual row counts each stage produced — scans, join outputs, aggregate groups and the final result. No clocks: row counts are the deterministic part of ANALYZE.

    run_select_opts

    Execute with explicit options (memory budget + spill store).