Expand description
Define all Rule
Re-exportsยง
pub use logical_filter_expression_simplify_rule::*;
pub use over_window_merge_rule::*;
pub use project_join_merge_rule::*;
pub use project_eliminate_rule::*;
pub use project_merge_rule::*;
pub use pull_up_correlated_predicate_rule::*;
pub use index_delta_join_rule::*;
pub use left_deep_tree_join_ordering_rule::*;
pub use apply_agg_transpose_rule::*;
pub use apply_filter_transpose_rule::*;
pub use apply_project_transpose_rule::*;
pub use apply_eliminate_rule::*;
pub use translate_apply_rule::*;
pub use merge_multijoin_rule::*;
pub use max_one_row_eliminate_rule::*;
pub use apply_join_transpose_rule::*;
pub use apply_to_join_rule::*;
pub use distinct_agg_rule::*;
pub use index_selection_rule::*;
pub use push_calculation_of_join_rule::*;
pub use over_window_to_agg_and_join_rule::*;
pub use over_window_split_rule::*;
pub use join_commute_rule::*;
pub use over_window_to_topn_rule::*;
pub use union_to_distinct_rule::*;
pub use agg_project_merge_rule::*;
pub use union_merge_rule::*;
pub use dag_to_tree_rule::*;
pub use apply_share_eliminate_rule::*;
pub use top_n_on_index_rule::*;
pub use stream::bushy_tree_join_ordering_rule::*;
pub use stream::filter_with_now_to_join_rule::*;
pub use stream::generate_series_with_now_rule::*;
pub use stream::split_now_and_rule::*;
pub use stream::split_now_or_rule::*;
pub use stream::stream_project_merge_rule::*;
pub use trivial_project_to_values_rule::*;
pub use union_input_values_merge_rule::*;
pub use rewrite_like_expr_rule::*;
pub use min_max_on_index_rule::*;
pub use always_false_filter_rule::*;
pub use join_project_transpose_rule::*;
pub use limit_push_down_rule::*;
pub use pull_up_hop_rule::*;
pub use intersect_to_semi_join_rule::*;
pub use except_to_anti_join_rule::*;
pub use intersect_merge_rule::*;
pub use except_merge_rule::*;
pub use apply_union_transpose_rule::*;
pub use apply_dedup_transpose_rule::*;
pub use project_join_separate_rule::*;
pub use grouping_sets_to_expand_rule::*;
pub use apply_project_set_transpose_rule::*;
pub use cross_join_eliminate_rule::*;
pub use table_function_to_project_set_rule::*;
pub use apply_topn_transpose_rule::*;
pub use apply_limit_transpose_rule::*;
pub use batch::batch_project_merge_rule::*;
pub use common_sub_expr_extract_rule::*;
pub use apply_over_window_transpose_rule::*;
pub use apply_expand_transpose_rule::*;
pub use expand_to_project_rule::*;
pub use agg_group_by_simplify_rule::*;
pub use apply_hop_window_transpose_rule::*;
pub use agg_call_merge_rule::*;
pub use add_logstore_rule::*;
pub use batch::batch_iceberg_count_star::*;
pub use batch::batch_iceberg_predicate_pushdown::*;
pub use batch::batch_push_limit_to_scan_rule::*;
pub use pull_up_correlated_predicate_agg_rule::*;
pub use source_to_iceberg_scan_rule::*;
pub use source_to_kafka_scan_rule::*;
pub use table_function_to_file_scan_rule::*;
pub use table_function_to_mysql_query_rule::*;
pub use table_function_to_postgres_query_rule::*;
pub use values_extract_project_rule::*;
Modulesยง
- add_
logstore_ ๐rule - agg_
call_ ๐merge_ rule - agg_
group_ ๐by_ simplify_ rule - agg_
project_ ๐merge_ rule - always_
false_ ๐filter_ rule - apply_
agg_ ๐transpose_ rule - apply_
dedup_ ๐transpose_ rule - apply_
eliminate_ ๐rule - apply_
expand_ ๐transpose_ rule - apply_
filter_ ๐transpose_ rule - apply_
hop_ ๐window_ transpose_ rule - apply_
join_ ๐transpose_ rule - apply_
limit_ ๐transpose_ rule - apply_
offset_ ๐rewriter - apply_
over_ ๐window_ transpose_ rule - apply_
project_ ๐set_ transpose_ rule - apply_
project_ ๐transpose_ rule - apply_
share_ ๐eliminate_ rule - apply_
to_ ๐join_ rule - apply_
topn_ ๐transpose_ rule - apply_
union_ ๐transpose_ rule - batch ๐
- common_
sub_ ๐expr_ extract_ rule - cross_
join_ ๐eliminate_ rule - dag_
to_ ๐tree_ rule - distinct_
agg_ ๐rule - except_
merge_ ๐rule - except_
to_ ๐anti_ join_ rule - expand_
to_ ๐project_ rule - grouping_
sets_ ๐to_ expand_ rule - index_
delta_ ๐join_ rule - index_
selection_ ๐rule - Index selection cost matrix
- intersect_
merge_ ๐rule - intersect_
to_ ๐semi_ join_ rule - join_
commute_ ๐rule - join_
project_ ๐transpose_ rule - left_
deep_ ๐tree_ join_ ordering_ rule - limit_
push_ ๐down_ rule - logical_
filter_ ๐expression_ simplify_ rule - max_
one_ ๐row_ eliminate_ rule - merge_
multijoin_ ๐rule - min_
max_ ๐on_ index_ rule - over_
window_ ๐merge_ rule - over_
window_ ๐split_ rule - over_
window_ ๐to_ agg_ and_ join_ rule - over_
window_ ๐to_ topn_ rule - project_
eliminate_ ๐rule - project_
join_ ๐merge_ rule - project_
join_ ๐separate_ rule - project_
merge_ ๐rule - pull_
up_ ๐correlated_ predicate_ agg_ rule - pull_
up_ ๐correlated_ predicate_ rule - pull_
up_ ๐hop_ rule - push_
calculation_ ๐of_ join_ rule - rewrite_
like_ ๐expr_ rule - source_
to_ ๐iceberg_ scan_ rule - source_
to_ ๐kafka_ scan_ rule - stream ๐
- table_
function_ ๐to_ file_ scan_ rule - table_
function_ ๐to_ mysql_ query_ rule - table_
function_ ๐to_ postgres_ query_ rule - table_
function_ ๐to_ project_ set_ rule - top_
n_ ๐on_ index_ rule - translate_
apply_ ๐rule - trivial_
project_ ๐to_ values_ rule - union_
input_ ๐values_ merge_ rule - union_
merge_ ๐rule - union_
to_ ๐distinct_ rule - values_
extract_ ๐project_ rule
Macrosยง
- impl_
description ๐
Enumsยง
- Apply
Result - Result when applying a
Rule
to aPlanNode
.
Traitsยง
- Description
- Fallible
Rule - An one-to-one transform for the
PlanNode
that may return an unrecoverable error that stops further optimization. - Infallible
Rule ๐ - An one-to-one transform for the
PlanNode
.
Type Aliasesยง
- Boxed
Rule ๐