Skip to content

Commit 4095ed9

Browse files
committed
feat(cubestore): ProjectionAboveLimit query optimization
1 parent 1beba2d commit 4095ed9

File tree

2 files changed

+666
-1
lines changed

2 files changed

+666
-1
lines changed

rust/cubestore/cubestore/src/queryplanner/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub use planning::PlanningMeta;
88
mod check_memory;
99
pub mod physical_plan_flags;
1010
pub mod pretty_printers;
11+
mod projection_above_limit;
1112
pub mod query_executor;
1213
pub mod serialized_plan;
1314
mod tail_limit;
@@ -40,6 +41,7 @@ use crate::queryplanner::info_schema::{
4041
};
4142
use crate::queryplanner::now::MaterializeNow;
4243
use crate::queryplanner::planning::{choose_index_ext, ClusterSendNode};
44+
use crate::queryplanner::projection_above_limit::ProjectionAboveLimit;
4345
use crate::queryplanner::query_executor::{
4446
batches_to_dataframe, ClusterSendExec, InlineTableProvider,
4547
};
@@ -199,7 +201,8 @@ impl QueryPlannerImpl {
199201
ExecutionConfig::new()
200202
.with_metadata_cache_factory(self.metadata_cache_factory.clone())
201203
.add_optimizer_rule(Arc::new(MaterializeNow {}))
202-
.add_optimizer_rule(Arc::new(FlattenUnion {})),
204+
.add_optimizer_rule(Arc::new(FlattenUnion {}))
205+
.add_optimizer_rule(Arc::new(ProjectionAboveLimit {})),
203206
)))
204207
}
205208
}

0 commit comments

Comments
 (0)