[][src]Trait agnes::join::Predicate

pub trait Predicate {
    fn is_equality_pred() -> bool;
fn is_greater_than_pred() -> bool;
fn is_less_than_pred() -> bool;
fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction
    where
        T: PartialEq + Ord
;
fn advance(
        left_idx: &mut usize,
        right_idx: &mut usize,
        left_end: usize,
        right_end: usize
    ); }

A trait for describing the course of action in a sort-merge join. This trait differentiates the actions that are taken during a sort-merge join based on the implementing type.

Required methods

fn is_equality_pred() -> bool

Returns true if predicate is an 'equality' predicate (==, <=, =>)

fn is_greater_than_pred() -> bool

Returns true if predicate is a 'greater than' predicate (>=, >)

fn is_less_than_pred() -> bool

Returns true if predciate is a 'less than' predicate (<=, <)

fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction where
    T: PartialEq + Ord

Applies this predicate to the two values and returns the desired action.

fn advance(
    left_idx: &mut usize,
    right_idx: &mut usize,
    left_end: usize,
    right_end: usize
)

Advances indices appropriately as required for this predicate type.

Loading content...

Implementors

impl Predicate for Equal[src]

impl Predicate for GreaterThan[src]

impl Predicate for GreaterThanEqual[src]

impl Predicate for LessThan[src]

impl Predicate for LessThanEqual[src]

Loading content...