Skip to content

Commit 763d310

Browse files
committed
optimizer: add enable_less_reduce_in_eqprop feature flag
1 parent e9e4f10 commit 763d310

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

src/repr/src/optimize.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ optimizer_feature_flags!({
124124
enable_projection_pushdown_after_relation_cse: bool,
125125
// See the feature flag of the same name.
126126
enable_let_prefix_extraction: bool,
127+
// See the feature flag of the same name.
128+
enable_less_reduce_in_eqprop: bool,
127129
});
128130

129131
/// A trait used to implement layered config construction.

src/sql/src/plan/statement/ddl.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4654,7 +4654,9 @@ pub fn unplan_create_cluster(
46544654
enable_join_prioritize_arranged,
46554655
enable_projection_pushdown_after_relation_cse,
46564656
enable_let_prefix_extraction: _,
4657+
enable_less_reduce_in_eqprop: _,
46574658
} = optimizer_feature_overrides;
4659+
// The ones from above that don't occur below are not wired up to cluster features.
46584660
let features_extracted = ClusterFeatureExtracted {
46594661
// Seen is ignored when unplanning.
46604662
seen: Default::default(),

src/sql/src/plan/statement/dml.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ impl TryFrom<ExplainPlanOptionExtracted> for ExplainConfig {
435435
enable_projection_pushdown_after_relation_cse: v
436436
.enable_projection_pushdown_after_relation_cse,
437437
enable_let_prefix_extraction: Default::default(),
438+
enable_less_reduce_in_eqprop: Default::default(),
438439
},
439440
})
440441
}

src/sql/src/session/vars/definitions.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2209,6 +2209,12 @@ feature_flags!(
22092209
default: true,
22102210
enable_for_item_parsing: false,
22112211
},
2212+
{
2213+
name: enable_less_reduce_in_eqprop,
2214+
desc: "Run MSE::reduce in EquivalencePropagation only if reduce_expr changed something.",
2215+
default: true,
2216+
enable_for_item_parsing: false,
2217+
},
22122218
);
22132219

22142220
impl From<&super::SystemVars> for OptimizerFeatures {
@@ -2228,6 +2234,7 @@ impl From<&super::SystemVars> for OptimizerFeatures {
22282234
enable_projection_pushdown_after_relation_cse: vars
22292235
.enable_projection_pushdown_after_relation_cse(),
22302236
enable_let_prefix_extraction: vars.enable_let_prefix_extraction(),
2237+
enable_less_reduce_in_eqprop: vars.enable_less_reduce_in_eqprop(),
22312238
}
22322239
}
22332240
}

0 commit comments

Comments
 (0)