Skip to content

Commit 28aa008

Browse files
authored
fix(cubesql): normalize column names in filter node (#5788)
1 parent c335007 commit 28aa008

File tree

1 file changed

+15
-1
lines changed
  • rust/cubesql/cubesql/src/compile/rewrite/rules

1 file changed

+15
-1
lines changed

rust/cubesql/cubesql/src/compile/rewrite/rules/filters.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2964,14 +2964,28 @@ impl FilterRules {
29642964
} else if let Some((_, cube)) =
29652965
meta_context.find_cube_by_column(alias_to_cube, &column)
29662966
{
2967-
return Some((format!("{}.{}", cube.name, column.name), cube));
2967+
if let Some(original_name) = Self::original_member_name(&cube, &column.name) {
2968+
return Some((original_name, cube));
2969+
}
29682970
}
29692971
}
29702972
}
29712973

29722974
None
29732975
}
29742976

2977+
fn original_member_name(cube: &V1CubeMeta, name: &String) -> Option<String> {
2978+
if let Some(measure) = cube.lookup_measure(name) {
2979+
return Some(measure.name.clone());
2980+
} else if let Some(dimension) = cube.lookup_dimension(name) {
2981+
return Some(dimension.name.clone());
2982+
} else if let Some(dimension) = cube.lookup_segment(name) {
2983+
return Some(dimension.name.clone());
2984+
}
2985+
2986+
None
2987+
}
2988+
29752989
fn transform_between_dates(
29762990
&self,
29772991
column_var: &'static str,

0 commit comments

Comments
 (0)