Skip to content

Commit 974beb6

Browse files
committed
fix
1 parent f0ced89 commit 974beb6

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

src/query/sql/src/planner/optimizer/optimizers/common_subexpression/analyze.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use crate::plans::MaterializedCTERef;
2626
use crate::plans::RelOperator;
2727
pub fn analyze_common_subexpression(
2828
s_expr: &SExpr,
29-
metadata: &Metadata,
29+
metadata: &mut Metadata,
3030
) -> Result<(Vec<SExprReplacement>, Vec<SExpr>)> {
3131
// Skip CSE optimization if the expression contains recursive CTE
3232
if contains_recursive_cte(s_expr) {
@@ -46,7 +46,7 @@ fn process_candidate_expressions(
4646
candidates: &[(Vec<usize>, SExpr)],
4747
replacements: &mut Vec<SExprReplacement>,
4848
materialized_ctes: &mut Vec<SExpr>,
49-
_metadata: &Metadata,
49+
metadata: &mut Metadata,
5050
) -> Result<()> {
5151
if candidates.len() < 2 {
5252
return Ok(());
@@ -60,6 +60,7 @@ fn process_candidate_expressions(
6060
new_scan.push_down_predicates = None;
6161
new_scan.limit = None;
6262
new_scan.order_by = None;
63+
new_scan.scan_id = metadata.next_scan_id();
6364
Arc::new(SExpr::create_leaf(Arc::new(RelOperator::Scan(new_scan))))
6465
} else {
6566
Arc::new(cte_def.clone())

src/query/sql/src/planner/optimizer/optimizers/common_subexpression/optimizer.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ pub struct CommonSubexpressionOptimizer {
3131
impl Optimizer for CommonSubexpressionOptimizer {
3232
async fn optimize(&mut self, s_expr: &SExpr) -> Result<SExpr> {
3333
let metadata = self._opt_ctx.get_metadata();
34-
let metadata = metadata.read();
35-
let (replacements, materialized_ctes) = analyze_common_subexpression(s_expr, &metadata)?;
34+
let mut metadata = metadata.write();
35+
let (replacements, materialized_ctes) =
36+
analyze_common_subexpression(s_expr, &mut metadata)?;
3637
rewrite_sexpr(s_expr, replacements, materialized_ctes)
3738
}
3839

src/query/storages/fuse/src/operations/read/parquet_data_source_deserializer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ impl DeserializeDataTransform {
140140
fn runtime_filter(&mut self, data_block: DataBlock) -> Result<Option<Bitmap>> {
141141
// Check if already cached runtime filters
142142
if self.cached_runtime_filter.is_none() {
143-
let bloom_filters = self.ctx.get_bloom_runtime_filter_with_id(self.table_index);
143+
let bloom_filters = self.ctx.get_bloom_runtime_filter_with_id(self.scan_id);
144144
let bloom_filters = bloom_filters
145145
.into_iter()
146146
.filter_map(|filter| {

0 commit comments

Comments
 (0)