[−][src]Trait agnes::join::Predicate
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,
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
)
left_idx: &mut usize,
right_idx: &mut usize,
left_end: usize,
right_end: usize
)
Advances indices appropriately as required for this predicate type.
Implementors
impl Predicate for Equal
[src]
fn is_equality_pred() -> bool
[src]
fn is_greater_than_pred() -> bool
[src]
fn is_less_than_pred() -> bool
[src]
fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction where
T: PartialEq + Ord,
[src]
T: PartialEq + Ord,
fn advance(
left_idx: &mut usize,
right_idx: &mut usize,
left_end: usize,
right_end: usize
)
[src]
left_idx: &mut usize,
right_idx: &mut usize,
left_end: usize,
right_end: usize
)
impl Predicate for GreaterThan
[src]
fn is_equality_pred() -> bool
[src]
fn is_greater_than_pred() -> bool
[src]
fn is_less_than_pred() -> bool
[src]
fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction where
T: PartialEq + Ord,
[src]
T: PartialEq + Ord,
fn advance(
_left_idx: &mut usize,
right_idx: &mut usize,
_left_end: usize,
_right_end: usize
)
[src]
_left_idx: &mut usize,
right_idx: &mut usize,
_left_end: usize,
_right_end: usize
)
impl Predicate for GreaterThanEqual
[src]
fn is_equality_pred() -> bool
[src]
fn is_greater_than_pred() -> bool
[src]
fn is_less_than_pred() -> bool
[src]
fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction where
T: PartialEq + Ord,
[src]
T: PartialEq + Ord,
fn advance(
_left_idx: &mut usize,
right_idx: &mut usize,
_left_end: usize,
right_end: usize
)
[src]
_left_idx: &mut usize,
right_idx: &mut usize,
_left_end: usize,
right_end: usize
)
impl Predicate for LessThan
[src]
fn is_equality_pred() -> bool
[src]
fn is_greater_than_pred() -> bool
[src]
fn is_less_than_pred() -> bool
[src]
fn apply<T>(left: Value<&T>, right: Value<&T>) -> PredAction where
T: PartialEq + Ord,
[src]
T: PartialEq + Ord,
fn advance(
left_idx: &mut usize,
_right_idx: &mut usize,
_left_end: usize,
_right_end: usize
)
[src]
left_idx: &mut usize,
_right_idx: &mut usize,
_left_end: usize,
_right_end: usize
)