pub struct JoinFilter { /* private fields */ }Expand description
A filter for join condition evaluation between two rows.
Implementations§
Source§impl JoinFilter
impl JoinFilter
Sourcepub fn new(
expr: &Expression,
left_columns: &[String],
right_columns: &[String],
function_registry: &FunctionRegistry,
) -> Result<Self>
pub fn new( expr: &Expression, left_columns: &[String], right_columns: &[String], function_registry: &FunctionRegistry, ) -> Result<Self>
Create a join filter by compiling the condition.
§Arguments
expr- The join condition expressionleft_columns- Column names for the left tableright_columns- Column names for the right table
Sourcepub fn with_context(self, ctx: &ExecutionContext) -> Self
pub fn with_context(self, ctx: &ExecutionContext) -> Self
Set parameters from execution context. This is required when the join condition contains parameter placeholders ($1, $2, etc.).
Sourcepub fn matches(&self, left_row: &Row, right_row: &Row) -> Result<bool>
pub fn matches(&self, left_row: &Row, right_row: &Row) -> Result<bool>
Check if a pair of rows satisfies the join condition.
Sourcepub fn matches_checked(&self, left_row: &Row, right_row: &Row) -> Result<bool>
pub fn matches_checked(&self, left_row: &Row, right_row: &Row) -> Result<bool>
Checked join predicate evaluation. Runtime expression errors must be propagated by physical operators rather than converted into non-matches.
Sourcepub fn matches_row_ref_checked(
&self,
left_row: &RowRef,
right_row: &Row,
) -> Result<bool>
pub fn matches_row_ref_checked( &self, left_row: &RowRef, right_row: &Row, ) -> Result<bool>
Checked predicate evaluation over a deferred JOIN outer row.
This preserves the same compiled program and SQL semantics as
matches_checked, but lets a following JOIN edge read projected slots
without forcing the preceding edge to materialize an owned Row.
Sourcepub fn matches_row_refs_checked(
&self,
left_row: &RowRef,
right_row: &RowRef,
) -> Result<bool>
pub fn matches_row_refs_checked( &self, left_row: &RowRef, right_row: &RowRef, ) -> Result<bool>
Checked predicate evaluation over two virtual JOIN inputs.
This is the hash-join residual path: equality candidates remain row
references until the complete ON predicate accepts the pair.
Sourcepub fn program(&self) -> &SharedProgram
pub fn program(&self) -> &SharedProgram
Get the underlying program.
Trait Implementations§
Source§impl Clone for JoinFilter
impl Clone for JoinFilter
Source§fn clone(&self) -> JoinFilter
fn clone(&self) -> JoinFilter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more