diff --git a/packages/cubejs-backend-native/Cargo.lock b/packages/cubejs-backend-native/Cargo.lock index 39a76087239de..a12db095b2ef3 100644 --- a/packages/cubejs-backend-native/Cargo.lock +++ b/packages/cubejs-backend-native/Cargo.lock @@ -667,7 +667,7 @@ dependencies = [ [[package]] name = "cube-ext" version = "1.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "arrow", "chrono", @@ -838,7 +838,7 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "datafusion" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", @@ -871,7 +871,7 @@ dependencies = [ [[package]] name = "datafusion-common" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "arrow", "ordered-float 2.10.1", @@ -882,7 +882,7 @@ dependencies = [ [[package]] name = "datafusion-data-access" version = "1.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "async-trait", "chrono", @@ -895,7 +895,7 @@ dependencies = [ [[package]] name = "datafusion-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", @@ -906,7 +906,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", diff --git a/rust/cubesql/Cargo.lock b/rust/cubesql/Cargo.lock index 1973f1d85e295..9afd011a25bdf 100644 --- a/rust/cubesql/Cargo.lock +++ b/rust/cubesql/Cargo.lock @@ -697,7 +697,7 @@ dependencies = [ [[package]] name = "cube-ext" version = "1.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "arrow", "chrono", @@ -821,7 +821,7 @@ dependencies = [ [[package]] name = "datafusion" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", @@ -854,7 +854,7 @@ dependencies = [ [[package]] name = "datafusion-common" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "arrow", "ordered-float 2.10.0", @@ -865,7 +865,7 @@ dependencies = [ [[package]] name = "datafusion-data-access" version = "1.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "async-trait", "chrono", @@ -878,7 +878,7 @@ dependencies = [ [[package]] name = "datafusion-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", @@ -889,7 +889,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=0ba29ac12e2b13444bd536e1cbe4f73411383521#0ba29ac12e2b13444bd536e1cbe4f73411383521" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=6ac106244a1d4699f36d2bcbf435ca37363d1e21#6ac106244a1d4699f36d2bcbf435ca37363d1e21" dependencies = [ "ahash 0.7.8", "arrow", diff --git a/rust/cubesql/cubesql/Cargo.toml b/rust/cubesql/cubesql/Cargo.toml index f5908d950c4c9..6ef2a1a01a5a9 100644 --- a/rust/cubesql/cubesql/Cargo.toml +++ b/rust/cubesql/cubesql/Cargo.toml @@ -10,7 +10,7 @@ homepage = "https://cube.dev" [dependencies] arc-swap = "1" -datafusion = { git = 'https://github.com/cube-js/arrow-datafusion.git', rev = "0ba29ac12e2b13444bd536e1cbe4f73411383521", default-features = false, features = [ +datafusion = { git = 'https://github.com/cube-js/arrow-datafusion.git', rev = "6ac106244a1d4699f36d2bcbf435ca37363d1e21", default-features = false, features = [ "regex_expressions", "unicode_expressions", ] } diff --git a/rust/cubesql/cubesql/src/compile/mod.rs b/rust/cubesql/cubesql/src/compile/mod.rs index 638254f20250c..87abdf0b772f9 100644 --- a/rust/cubesql/cubesql/src/compile/mod.rs +++ b/rust/cubesql/cubesql/src/compile/mod.rs @@ -17778,4 +17778,41 @@ LIMIT {{ limit }}{% endif %}"#.to_string(), } ) } + + #[tokio::test] + async fn test_order_by_missing_aggr() { + if !Rewriter::sql_push_down_enabled() { + return; + } + init_testing_logger(); + + let logical_plan = convert_select_to_query_plan( + r#" + SELECT customer_gender + FROM KibanaSampleDataEcommerce + GROUP BY customer_gender + ORDER BY SUM(sumPrice) DESC + "# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await + .as_logical_plan(); + + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec![ + "KibanaSampleDataEcommerce.customer_gender".to_string(), + ]), + segments: Some(vec![]), + order: Some(vec![vec![ + "KibanaSampleDataEcommerce.sumPrice".to_string(), + "desc".to_string(), + ]]), + ..Default::default() + } + ) + } }