Skip to content

Commit a72b200

Browse files
authored
fix(cubesql): Pass window expressions in SQL push down (#9953)
1 parent cb54545 commit a72b200

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ impl CubeScanWrapperNode {
884884
vec![],
885885
vec![],
886886
vec![],
887-
// TODO
887+
vec![],
888888
from_alias.clone().unwrap_or("".to_string()),
889889
None,
890890
None,
@@ -3579,7 +3579,7 @@ impl WrappedSelectNode {
35793579
aggregate,
35803580
patch_measures,
35813581
filter,
3582-
window: _,
3582+
window,
35833583
order,
35843584
} = columns;
35853585

@@ -3597,7 +3597,7 @@ impl WrappedSelectNode {
35973597
group_by.into_iter().map(|(m, _)| m).collect(),
35983598
group_descs,
35993599
aggregate.into_iter().map(|(m, _)| m).collect(),
3600-
// TODO
3600+
window.into_iter().map(|(m, _)| m).collect(),
36013601
from_alias.unwrap_or("".to_string()),
36023602
if !filter.is_empty() {
36033603
Some(filter.iter().map(|(f, _)| f.expr.to_string()).join(" AND "))

rust/cubesql/cubesql/src/transport/service.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ impl SqlTemplates {
402402
group_by: Vec<AliasedColumn>,
403403
group_descs: Vec<Option<GroupingSetDesc>>,
404404
aggregate: Vec<AliasedColumn>,
405+
window: Vec<AliasedColumn>,
405406
alias: String,
406407
filter: Option<String>,
407408
_having: Option<String>,
@@ -412,11 +413,13 @@ impl SqlTemplates {
412413
) -> Result<String, CubeError> {
413414
let group_by = self.to_template_columns(group_by)?;
414415
let aggregate = self.to_template_columns(aggregate)?;
416+
let window = self.to_template_columns(window)?;
415417
let projection = self.to_template_columns(projection)?;
416418
let order_by = self.to_template_columns(order_by)?;
417419
let select_concat = group_by
418420
.iter()
419421
.chain(aggregate.iter())
422+
.chain(window.iter())
420423
.chain(projection.iter())
421424
.cloned()
422425
.collect::<Vec<_>>();
@@ -437,6 +440,7 @@ impl SqlTemplates {
437440
select_concat => select_concat,
438441
group_by => group_by_expr,
439442
aggregate => aggregate,
443+
window => window,
440444
projection => projection,
441445
order_by => order_by,
442446
filter => filter,

0 commit comments

Comments
 (0)