qplan 0.1.0

Compile a typed query AST (qexpr) into execution-friendly plans (prime-ideal: planning).
Documentation
  • Coverage
  • 100%
    15 out of 15 items documented0 out of 5 items with examples
  • Size
  • Source code size: 22.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.06 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 27s Average build duration of successful builds.
  • all releases: 27s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • arclabs561/qplan
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • arclabs561

qplan

Compile typed query expressions (qexpr) into execution-friendly query plans.

This crate is intentionally narrow today: it supports compiling a subset of QExpr into a conjunctive plan (AND of terms/phrases/near constraints). Unsupported operators return explicit errors so downstream systems can choose a fallback.

Usage

[dependencies]
qplan = { git = "https://github.com/arclabs561/qplan" }

Example:

use qexpr::{Phrase, QExpr, Term};
use qplan::compile_conjunctive;

let q = QExpr::And(vec![
    QExpr::Term(Term::new("alpha")),
    QExpr::Phrase(Phrase::new(vec![Term::new("new"), Term::new("york")])),
]);

let p = compile_conjunctive(&q).unwrap();
assert!(!p.bag_terms.is_empty());

Development

cargo test