akar-processor 0.1.17

Query processor and execution engine for the Akar embedded graph database
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Core types and traits for physical operators.

use akar_common::error::ProcessorError;
use akar_common::types::Value;
use akar_common::vector::DataChunk;
use std::collections::HashMap;

/// Result of executing a physical operator.
pub type OperatorResult = Result<Vec<DataChunk>, ProcessorError>;

pub type HashJoinBucket = Vec<(Value, Vec<(usize, usize)>)>;
pub type HashJoinTable = HashMap<u64, HashJoinBucket>;

pub trait PhysicalOperatorExec: Send + Sync {
    fn execute(&self, input: Vec<DataChunk>) -> OperatorResult;
    fn operator_type(&self) -> &str;
}