kermit-algos 0.0.11

Algorithms used in Kermit
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! This module defines the `JoinAlgo` trait, used as a base for join
//! algorithms.

use {kermit_iters::JoinIterable, kermit_parser::JoinQuery, std::collections::HashMap};

/// The `JoinAlgo` trait is used as a base for join algorithms.
pub trait JoinAlgo<DS>
where
    DS: JoinIterable,
{
    /// Joins the given iterables based on the specified join plan.
    /// Returns an iterator over the resulting join.
    fn join_iter(
        query: JoinQuery, datastructures: HashMap<String, &DS>,
    ) -> impl Iterator<Item = Vec<usize>>;
}