diff --git a/packages/cubejs-backend-native/Cargo.lock b/packages/cubejs-backend-native/Cargo.lock index ef76695ee3420..8daad0520d194 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "arrow", "chrono", @@ -840,7 +840,7 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "datafusion" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "ahash 0.7.8", "arrow", @@ -873,7 +873,7 @@ dependencies = [ [[package]] name = "datafusion-common" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "arrow", "ordered-float 2.10.1", @@ -884,7 +884,7 @@ dependencies = [ [[package]] name = "datafusion-data-access" version = "1.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "async-trait", "chrono", @@ -897,7 +897,7 @@ dependencies = [ [[package]] name = "datafusion-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "ahash 0.7.8", "arrow", @@ -908,7 +908,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" version = "7.0.0" -source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "ahash 0.7.8", "arrow", diff --git a/rust/cubesql/Cargo.lock b/rust/cubesql/Cargo.lock index 8a353440dcfae..1bc909c039808 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" 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=48ff05841a0758bba9d69c4918f724d9515d84a6#48ff05841a0758bba9d69c4918f724d9515d84a6" +source = "git+https://github.com/cube-js/arrow-datafusion.git?rev=cf034bac8babafdeb56d29a6bf75cbaa7912a8b4#cf034bac8babafdeb56d29a6bf75cbaa7912a8b4" dependencies = [ "ahash 0.7.8", "arrow", diff --git a/rust/cubesql/cubesql/Cargo.toml b/rust/cubesql/cubesql/Cargo.toml index 83e7850db7317..ecf0c898ddc89 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 = "48ff05841a0758bba9d69c4918f724d9515d84a6", default-features = false, features = [ +datafusion = { git = 'https://github.com/cube-js/arrow-datafusion.git', rev = "cf034bac8babafdeb56d29a6bf75cbaa7912a8b4", 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 6f3a936efa557..a09dae881eb50 100644 --- a/rust/cubesql/cubesql/src/compile/mod.rs +++ b/rust/cubesql/cubesql/src/compile/mod.rs @@ -18170,4 +18170,14 @@ LIMIT {{ limit }}{% endif %}"#.to_string(), } ) } + + #[tokio::test] + async fn test_coerce_string_to_number() -> Result<(), CubeError> { + insta::assert_snapshot!( + "coerce_string_to_number", + execute_query("SELECT COS('0')".to_string(), DatabaseProtocol::PostgreSQL).await? + ); + + Ok(()) + } } diff --git a/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__coerce_string_to_number.snap b/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__coerce_string_to_number.snap new file mode 100644 index 0000000000000..f8746e3d7a2df --- /dev/null +++ b/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__coerce_string_to_number.snap @@ -0,0 +1,9 @@ +--- +source: cubesql/src/compile/mod.rs +expression: "execute_query(\"SELECT COS('0')\".to_string(),\nDatabaseProtocol::PostgreSQL).await?" +--- ++----------------+ +| cos(Utf8("0")) | ++----------------+ +| 1 | ++----------------+