Module push_down_filter

Module push_down_filter 

Source
Expand description

PushDownFilter applies filters as early as possible

Structsยง

ColumnChecker ๐Ÿ”’
Evaluates the columns referenced in the given expression to see if they refer only to the left or right columns
InferredPredicates ๐Ÿ”’
Inferred predicates collector. When the JoinType is not Inner, we need to detect whether the inferred predicate can strictly filter out NULL, otherwise ignore it. e.g.
PushDownFilter
Optimizer rule for pushing (moving) filter expressions down in a plan so they are applied as early as possible.

Functionsยง

can_evaluate_as_join_condition ๐Ÿ”’
Determine whether the predicate can evaluate as the join conditions
contain ๐Ÿ”’
check whether the expression uses the columns in check_map.
extract_or_clause ๐Ÿ”’
extract qual from OR sub-clause.
extract_or_clauses_for_join ๐Ÿ”’
examine OR clause to see if any useful clauses can be extracted and push down. extract at least one qual from each sub clauses of OR clause, then form the quals to new OR clause as predicate.
infer_join_predicates ๐Ÿ”’
Extracts any equi-join join predicates from the given filter expressions.
infer_join_predicates_from_on_filters ๐Ÿ”’
Infer predicates from the join filter.
infer_join_predicates_from_predicates ๐Ÿ”’
Infer predicates from the pushed down predicates.
infer_join_predicates_impl ๐Ÿ”’
Infer predicates from the given predicates.
insert_below ๐Ÿ”’
Replace the existing child of the single input node with new_child.
lr_is_preserved ๐Ÿ”’
For a given JOIN type, determine whether each input of the join is preserved for post-join (WHERE clause) filters.
make_filter
Creates a new LogicalPlan::Filter node.
on_lr_is_preserved ๐Ÿ”’
For a given JOIN type, determine whether each input of the join is preserved for the join condition (ON clause filters).
push_down_all_join ๐Ÿ”’
push down join/cross-join
push_down_join ๐Ÿ”’
replace_cols_by_name
replaces columns by its name on the projection.
rewrite_projection ๐Ÿ”’
Attempts to push predicate into a FilterExec below `projection
schema_columns ๐Ÿ”’
Returns all columns in the schema