Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 2feaec9

Browse files
committedMay 29, 2025·
refactor the optimize trace
1 parent 8f62e2a commit 2feaec9

File tree

4 files changed

+258
-305
lines changed

4 files changed

+258
-305
lines changed
 

‎src/query/sql/src/planner/optimizer/optimizers/recursive/recursive.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ impl RecursiveRuleOptimizer {
110110
let result = &state.results()[0];
111111

112112
// Only trace if collector exists and tracing is enabled
113-
if let Some(collector) = &self.trace_collector {
114-
if self.ctx.get_enable_trace() {
113+
if self.ctx.get_enable_trace() {
114+
if let Some(collector) = &self.trace_collector {
115115
let metadata_ref = self.ctx.get_metadata();
116116
let metadata = &metadata_ref.read();
117117

‎src/query/sql/src/planner/optimizer/pipeline/pipeline.rs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ use super::common::contains_local_table_scan;
2222
use super::common::contains_warehouse_table_scan;
2323
use crate::optimizer::ir::Memo;
2424
use crate::optimizer::ir::SExpr;
25-
use crate::optimizer::pipeline::trace::OptimizerExecution;
26-
use crate::optimizer::pipeline::trace::OptimizerTraceCollector;
25+
use crate::optimizer::pipeline::OptimizerTraceCollector;
2726
use crate::optimizer::Optimizer;
2827
use crate::optimizer::OptimizerContext;
2928

@@ -115,10 +114,6 @@ impl OptimizerPipeline {
115114
let mut current_expr = self.s_expr.clone();
116115
let total_optimizers = self.optimizers.len();
117116

118-
// Update trace status from context
119-
self.trace_collector
120-
.set_enable_trace(self.opt_ctx.get_enable_trace());
121-
122117
for (idx, optimizer) in self.optimizers.iter_mut().enumerate() {
123118
// Save the expression before optimization
124119
let before_expr = current_expr.clone();
@@ -139,17 +134,15 @@ impl OptimizerPipeline {
139134
// Only trace if tracing is enabled
140135
if self.opt_ctx.get_enable_trace() {
141136
let metadata_ref = self.opt_ctx.get_metadata();
142-
let execution = OptimizerExecution {
143-
name: optimizer.name(),
144-
index: idx,
145-
total: total_optimizers,
146-
time: duration,
147-
before: &before_expr,
148-
after: &current_expr,
149-
};
150-
151-
self.trace_collector
152-
.trace_optimizer(execution, &metadata_ref.read())?;
137+
self.trace_collector.trace_optimizer(
138+
optimizer.name(),
139+
idx,
140+
total_optimizers,
141+
duration,
142+
&before_expr,
143+
&current_expr,
144+
&metadata_ref.read(),
145+
)?;
153146
}
154147
}
155148

‎src/query/sql/src/planner/optimizer/pipeline/trace/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,5 @@ mod expr_diff;
1616
#[allow(clippy::module_inception)]
1717
mod trace;
1818

19-
pub use trace::OptimizerExecution;
2019
pub use trace::OptimizerTrace;
2120
pub use trace::OptimizerTraceCollector;
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Please sign in to comment.