Skip to content

Commit 64f176a

Browse files
committed
fix(cubesql): Match inDateRange as time dimension date range in AND
1 parent 48e7ad4 commit 64f176a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,7 +1735,7 @@ impl LanguageToLogicalPlanConverter {
17351735
query_time_dimensions: &mut Vec<V1LoadRequestQueryTimeDimension>,
17361736
filters: Vec<LogicalPlanLanguage>,
17371737
node_by_id: &impl Index<Id, Output = LogicalPlanLanguage>,
1738-
is_in_and_or: bool,
1738+
is_in_or: bool,
17391739
) -> Result<
17401740
(
17411741
Vec<V1LoadRequestQueryFilterItem>,
@@ -1758,11 +1758,12 @@ impl LanguageToLogicalPlanConverter {
17581758
);
17591759
let op =
17601760
match_data_node!(node_by_id, params[1], FilterOpOp);
1761+
let is_and_op = op == "and";
17611762
let (filters, segments, change_user) = to_filter(
17621763
query_time_dimensions,
17631764
filters,
17641765
node_by_id,
1765-
true,
1766+
!is_in_or || !is_and_op,
17661767
)?;
17671768
match op.as_str() {
17681769
"and" => {
@@ -1827,7 +1828,7 @@ impl LanguageToLogicalPlanConverter {
18271828
params[2],
18281829
FilterMemberValues
18291830
);
1830-
if !is_in_and_or && op == "inDateRange" {
1831+
if !is_in_or && op == "inDateRange" {
18311832
let existing_time_dimension =
18321833
query_time_dimensions.iter_mut().find_map(|td| {
18331834
if td.dimension == member

0 commit comments

Comments
 (0)