From cea93d6c78308322db281149b5fcab22bf3e616c Mon Sep 17 00:00:00 2001 From: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com> Date: Wed, 16 Jul 2025 22:50:34 +0300 Subject: [PATCH 1/2] fix(cubesql): Fix sort push down projection on complex expressions Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com> --- rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs index 18ee390431d6e..a55f5fc9e0b5e 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs @@ -7,7 +7,7 @@ use egg::Subst; use crate::{ compile::{ - datafusion::logical_plan::Column, + datafusion::logical_plan::{Column, Expr}, rewrite::{ analysis::OriginalExpr, column_expr, column_name_to_member_vec, @@ -370,6 +370,13 @@ impl OrderRules { continue; }; + // TODO: workaround the issue with `generate_sql_for_push_to_cube` + // accepting only columns and erroring on more complex expressions. + // Remove this when `generate_sql_for_push_to_cube` is fixed. + if !matches!(expr, Expr::Column(_)) { + continue; + } + let Ok(new_expr_id) = LogicalPlanToLanguageConverter::add_expr(egraph, expr, flat_list) else { From 454ff2ebaf2373378be1c440059d0f2ab81987b6 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Thu, 17 Jul 2025 11:46:39 +0300 Subject: [PATCH 2/2] temp switch to macos14 for gh ci runner --- .github/workflows/rust-cubesql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rust-cubesql.yml b/.github/workflows/rust-cubesql.yml index a759162ae3d32..8c84fe30ba79f 100644 --- a/.github/workflows/rust-cubesql.yml +++ b/.github/workflows/rust-cubesql.yml @@ -232,7 +232,7 @@ jobs: matrix: # We do not need to test under all versions, we do it under linux node-version: [22.x] - os-version: ["macos-13"] + os-version: ["macos-14"] target: ["x86_64-apple-darwin", "aarch64-apple-darwin"] include: - target: x86_64-apple-darwin @@ -308,8 +308,8 @@ jobs: CARGO_BUILD_TARGET: ${{ matrix.target }} run: cd packages/cubejs-backend-native && yarn run native:build-debug-python - name: Tests - # We cannot test arm64 on x64 - if: (matrix.target == 'x86_64-apple-darwin') + # We cannot test x64 on arm64 + if: (matrix.target == 'aarch64-apple-darwin') env: CUBESQL_STREAM_MODE: true CUBEJS_NATIVE_INTERNAL_DEBUG: true