Skip to content

Commit be33981

Browse files
committed
Add ProjectionAboveLimit optimization
1 parent fa95bd3 commit be33981

File tree

3 files changed

+687
-0
lines changed

3 files changed

+687
-0
lines changed

datafusion/src/execution/context.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ use crate::optimizer::constant_folding::ConstantFolding;
6161
use crate::optimizer::filter_push_down::FilterPushDown;
6262
use crate::optimizer::limit_push_down::LimitPushDown;
6363
use crate::optimizer::optimizer::OptimizerRule;
64+
use crate::optimizer::projection_above_limit::ProjectionAboveLimit;
6465
use crate::optimizer::projection_push_down::ProjectionPushDown;
6566
use crate::optimizer::simplify_expressions::SimplifyExpressions;
6667
use crate::physical_optimizer::merge_exec::AddCoalescePartitionsExec;
@@ -700,6 +701,7 @@ impl Default for ExecutionConfig {
700701
Arc::new(HashBuildProbeOrder::new()),
701702
Arc::new(LimitPushDown::new()),
702703
Arc::new(FoldCrossJoinAggregate {}), // CubeStore extension.
704+
Arc::new(ProjectionAboveLimit::new()), // CubeStore extension.
703705
],
704706
physical_optimizers: vec![
705707
// NOTE: disabled in the CubeStore fork.

datafusion/src/optimizer/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ pub mod constant_folding;
2323
pub mod eliminate_limit;
2424
pub mod filter_push_down;
2525
pub mod hash_build_probe_order;
26+
pub mod projection_above_limit;
2627
pub mod limit_push_down;
2728
pub mod optimizer;
2829
pub mod projection_push_down;

0 commit comments

Comments
 (0)