Skip to main content

Crate oxidelake_api

Crate oxidelake_api 

Source
Expand description

Public API facade (docs/SPEC.md §2.8): the fluent DataFrame API and SQL entry points over the runtime — OxideSession for sessions (embedded or cluster), OxideFrame for queries, and the l2_distance / cosine_distance SQL UDFs registered on every session.

use oxidelake_api::prelude::*;

let session = OxideSession::local()?;
session.register_parquet("t", "data/").await?;
let top = session
    .table("t")
    .await?
    .filter(col("k").gt_eq(lit(2)))?
    .vector_distance("emb", &[0.0; 8], DistanceMetric::L2, "d")?
    .sort(vec![col("d").sort(true, false)])?
    .limit(10)?
    .collect()
    .await?;

Dependency direction: depends on oxidelake-runtime (and oxidelake-core).

Modules§

prelude
Commonly used imports: the session and frame types plus the DataFusion expression builders the verbs take.

Structs§

OxideFrame
A lazily built query over one session, collected with Self::collect.
OxideSession
An OxideLake session.
SessionOptions
Knobs a session is built with.

Enums§

BackendKind
The execution backends OxideLake knows about.
DistanceMetric
Distance metric for the vector kernel.
EngineError
Errors produced by OxideLake library crates.
OutputFormat
Output formats accepted by oxide sql --output.
SessionMode
Where a session executes.

Traits§

OxideSessionExt
Frame-producing entry points on OxideSession.