Skip to content

Commit 577220d

Browse files
committed
fix(cubesql): Don't duplicate time dimensions
1 parent 69ba0ee commit 577220d

File tree

2 files changed

+13
-22
lines changed

2 files changed

+13
-22
lines changed

rust/cubesql/cubesql/src/compile/mod.rs

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4381,11 +4381,6 @@ limit
43814381
"2023-10-07T23:59:59.999Z".to_string()
43824382
])),
43834383
},
4384-
V1LoadRequestQueryTimeDimension {
4385-
dimension: "KibanaSampleDataEcommerce.order_date".to_string(),
4386-
granularity: Some("year".to_string()),
4387-
date_range: None,
4388-
},
43894384
V1LoadRequestQueryTimeDimension {
43904385
dimension: "KibanaSampleDataEcommerce.order_date".to_string(),
43914386
granularity: Some("month".to_string()),
@@ -23385,21 +23380,14 @@ LIMIT {{ limit }}{% endif %}"#.to_string(),
2338523380
measures: Some(vec![]),
2338623381
dimensions: Some(vec![]),
2338723382
segments: Some(vec![]),
23388-
time_dimensions: Some(vec![
23389-
V1LoadRequestQueryTimeDimension {
23390-
dimension: "KibanaSampleDataEcommerce.order_date".to_string(),
23391-
granularity: Some("quarter".to_string()),
23392-
date_range: Some(json!(vec![
23393-
"2024-01-01T00:00:00.000Z".to_string(),
23394-
"2024-12-31T23:59:59.999Z".to_string(),
23395-
])),
23396-
},
23397-
V1LoadRequestQueryTimeDimension {
23398-
dimension: "KibanaSampleDataEcommerce.order_date".to_string(),
23399-
granularity: Some("quarter".to_string()),
23400-
date_range: None,
23401-
},
23402-
]),
23383+
time_dimensions: Some(vec![V1LoadRequestQueryTimeDimension {
23384+
dimension: "KibanaSampleDataEcommerce.order_date".to_string(),
23385+
granularity: Some("quarter".to_string()),
23386+
date_range: Some(json!(vec![
23387+
"2024-01-01T00:00:00.000Z".to_string(),
23388+
"2024-12-31T23:59:59.999Z".to_string(),
23389+
])),
23390+
},]),
2340323391
order: None,
2340423392
limit: None,
2340523393
offset: None,

rust/cubesql/cubesql/src/compile/rewrite/converter.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1597,7 +1597,7 @@ impl LanguageToLogicalPlanConverter {
15971597
TimeDimensionDateRange
15981598
);
15991599
let expr = self.to_expr(params[3])?;
1600-
query_time_dimensions.push(V1LoadRequestQueryTimeDimension {
1600+
let query_time_dimension = V1LoadRequestQueryTimeDimension {
16011601
dimension: dimension.to_string(),
16021602
granularity: granularity.clone(),
16031603
date_range: date_range.map(|date_range| {
@@ -1608,7 +1608,10 @@ impl LanguageToLogicalPlanConverter {
16081608
.collect(),
16091609
)
16101610
}),
1611-
});
1611+
};
1612+
if !query_time_dimensions.contains(&query_time_dimension) {
1613+
query_time_dimensions.push(query_time_dimension);
1614+
}
16121615
if let Some(granularity) = &granularity {
16131616
fields.push((
16141617
DFField::new(

0 commit comments

Comments
 (0)