Module rule

Source
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ยง

ApplyResult
Result when applying a Rule to a PlanNode.

Traitsยง

Description
FallibleRule
An one-to-one transform for the PlanNode that may return an unrecoverable error that stops further optimization.
InfallibleRule ๐Ÿ”’
An one-to-one transform for the PlanNode.

Type Aliasesยง

BoxedRule ๐Ÿ”’