#![deny(missing_docs)]
mod const_rewrite;
mod join_algo;
mod leapfrog_join;
mod leapfrog_triejoin;
mod singleton;
mod trie_iter_kind;
use {clap::ValueEnum, std::str::FromStr};
pub use {
const_rewrite::{rewrite_atoms, ConstSpec, RewriteError},
join_algo::JoinAlgo,
kermit_parser::JoinQuery,
leapfrog_triejoin::LeapfrogTriejoin,
singleton::SingletonTrieIter,
trie_iter_kind::TrieIterKind,
};
#[derive(Copy, Clone, PartialEq, Eq, Debug, ValueEnum)]
pub enum JoinAlgorithm {
LeapfrogTriejoin,
}
impl FromStr for JoinAlgorithm {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
| "leapfrog_triejoin" => Ok(Self::LeapfrogTriejoin),
| _ => Err(format!("Invalid join algorithm: {}", s)),
}
}
}