Skip to content

Commit f8baa21

Browse files
committed
optimizer: add enable_less_reduce_in_eqprop feature flag
1 parent c5a39cd commit f8baa21

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
@@ -122,6 +122,8 @@ optimizer_feature_flags!({
122122
enable_join_prioritize_arranged: bool,
123123
// See the feature flag of the same name.
124124
enable_projection_pushdown_after_relation_cse: bool,
125+
// See the feature flag of the same name.
126+
enable_less_reduce_in_eqprop: bool,
125127
});
126128

127129
/// 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
@@ -4653,7 +4653,9 @@ pub fn unplan_create_cluster(
46534653
enable_reduce_reduction: _,
46544654
enable_join_prioritize_arranged,
46554655
enable_projection_pushdown_after_relation_cse,
4656+
enable_less_reduce_in_eqprop: _,
46564657
} = optimizer_feature_overrides;
4658+
// The ones from above that don't occur below are not wired up to cluster features.
46574659
let features_extracted = ClusterFeatureExtracted {
46584660
// Seen is ignored when unplanning.
46594661
seen: Default::default(),

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

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

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2203,6 +2203,12 @@ feature_flags!(
22032203
default: true,
22042204
enable_for_item_parsing: false,
22052205
},
2206+
{
2207+
name: enable_less_reduce_in_eqprop,
2208+
desc: "Run MSE::reduce in EquivalencePropagation only if reduce_expr changed something.",
2209+
default: true,
2210+
enable_for_item_parsing: false,
2211+
},
22062212
);
22072213

22082214
impl From<&super::SystemVars> for OptimizerFeatures {
@@ -2221,6 +2227,7 @@ impl From<&super::SystemVars> for OptimizerFeatures {
22212227
enable_join_prioritize_arranged: vars.enable_join_prioritize_arranged(),
22222228
enable_projection_pushdown_after_relation_cse: vars
22232229
.enable_projection_pushdown_after_relation_cse(),
2230+
enable_less_reduce_in_eqprop: vars.enable_less_reduce_in_eqprop(),
22242231
}
22252232
}
22262233
}

0 commit comments

Comments
 (0)