Skip to content

Commit 8708d83

Browse files
committed
update
1 parent 304de6e commit 8708d83

File tree

5 files changed

+16
-4
lines changed

5 files changed

+16
-4
lines changed

rust/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ impl QueryProperties {
451451
let time_dimensions = self
452452
.time_dimensions
453453
.iter()
454-
.map(|d| -> Rc<dyn BaseMember> { d.clone() });
454+
.map(|d| -> Rc<dyn BaseMember> { d.base_dimension().clone() });
455455
dimensions
456456
.chain(time_dimensions)
457457
.chain(measures)

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/cube_names_collector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl TraversalVisitor for CubeNamesCollector {
3838
self.names.insert(name);
3939
}
4040
}
41-
MemberSymbol::TimeDimension(e) => self.apply(e.base_symbol(), &())?,
41+
MemberSymbol::TimeDimension(e) => return self.on_node_traverse(e.base_symbol(), &()),
4242
MemberSymbol::Measure(e) => {
4343
if e.owned_by_cube() {
4444
self.names.insert(e.cube_name().clone());

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/join_hints_collector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ impl TraversalVisitor for JoinHintsCollector {
3636
self.hints.push(name);
3737
}
3838
}
39-
MemberSymbol::TimeDimension(e) => self.apply(e.base_symbol(), &())?,
39+
MemberSymbol::TimeDimension(e) => return self.on_node_traverse(e.base_symbol(), &()),
4040
MemberSymbol::Measure(e) => {
4141
if e.owned_by_cube() {
4242
self.hints.push(e.cube_name().clone());

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ impl TraversalVisitor for SubQueryDimensionsCollector {
5050
}
5151
Ok(Some(()))
5252
}
53+
MemberSymbol::TimeDimension(dim) => {
54+
self.on_node_traverse(dim.base_symbol(), &())
55+
56+
}
5357
_ => Ok(Some(())),
5458
}
5559
}

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,22 @@ use std::rc::Rc;
33

44
pub struct TimeDimensionSymbol {
55
base_symbol: Rc<MemberSymbol>,
6+
full_name: String,
67
granularity: Option<String>,
78
}
89

910
impl TimeDimensionSymbol {
1011
pub fn new(base_symbol: Rc<MemberSymbol>, granularity: Option<String>) -> Self {
12+
let name_suffix = if let Some(granularity) = &granularity {
13+
granularity.clone()
14+
} else {
15+
"day".to_string()
16+
};
17+
let full_name = format!("{}_{}", base_symbol.full_name(), name_suffix);
1118
Self {
1219
base_symbol,
1320
granularity,
21+
full_name,
1422
}
1523
}
1624

@@ -23,7 +31,7 @@ impl TimeDimensionSymbol {
2331
}
2432

2533
pub fn full_name(&self) -> String {
26-
self.base_symbol.full_name()
34+
self.full_name.clone()
2735
}
2836

2937
pub fn get_dependencies(&self) -> Vec<Rc<MemberSymbol>> {

0 commit comments

Comments
 (0)