use crate::algebra::Solution;
#[derive(Debug, Clone)]
pub struct FunctionRegistry {}
impl FunctionRegistry {
pub fn new() -> Self {
Self {}
}
}
#[derive(Debug, Clone, Copy)]
pub enum AccessPath {
SubjectIndex,
PredicateIndex,
ObjectIndex,
FullScan,
}
#[derive(Debug, Clone, Copy, Default)]
pub enum ExecutionStrategy {
Serial,
Parallel,
Streaming,
#[default]
Adaptive,
}
#[derive(Debug, Clone)]
pub struct CachedResult {
pub solution: Solution,
pub timestamp: std::time::Instant,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct UnknownFunctionError(pub String);
impl std::fmt::Display for UnknownFunctionError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Unknown function: {}", self.0)
}
}
impl std::error::Error for UnknownFunctionError {}