From cad69187bf41f1c8b6ab7c0bcd7b55ae6d36627c Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Thu, 7 Nov 2024 23:17:11 +0200 Subject: [PATCH] fix(cubesql): Allow to push LIMIT 0 to CubeScan --- .../cubesql/src/compile/rewrite/rules/members.rs | 12 ++++-------- .../cubesql/cubesql/src/compile/test/test_wrapper.rs | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs index 1e41448d53dbe..94153c6188d27 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs @@ -1621,17 +1621,13 @@ impl MemberRules { let mut skip_value = None; for skip in var_iter!(egraph[subst[skip_var]], LimitSkip) { - if skip.unwrap_or_default() > 0 { - skip_value = *skip; - break; - } + skip_value = *skip; + break; } let mut fetch_value = None; for fetch in var_iter!(egraph[subst[fetch_var]], LimitFetch) { - if fetch.unwrap_or_default() > 0 { - fetch_value = *fetch; - break; - } + fetch_value = *fetch; + break; } let mut inner_skip_value = None; diff --git a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs index 0408f978b2b14..9e2e40e123a2e 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs @@ -1234,7 +1234,7 @@ async fn select_agg_where_false() { segments: Some(vec![]), dimensions: Some(vec![]), order: Some(vec![]), - limit: None, + limit: Some(0), ungrouped: Some(true), ..Default::default() }