From 898d0bebc2fd11168aabf6c84fff6de2b3b38249 Mon Sep 17 00:00:00 2001 From: xxchan Date: Thu, 19 Sep 2024 20:37:11 +0800 Subject: [PATCH] revert upgrade --- Cargo.lock | 367 +++++++++--------- Cargo.toml | 18 +- src/common/Cargo.toml | 20 +- src/common/src/array/arrow/arrow_48.rs | 23 ++ src/common/src/array/arrow/arrow_50.rs | 23 ++ src/common/src/array/arrow/arrow_52.rs | 5 +- src/common/src/array/arrow/arrow_deltalake.rs | 14 +- src/common/src/array/arrow/arrow_iceberg.rs | 11 +- src/common/src/array/arrow/arrow_udf.rs | 7 +- src/common/src/array/arrow/mod.rs | 17 +- src/expr/core/src/aggregate/user_defined.rs | 2 +- src/expr/core/src/expr/expr_udf.rs | 2 +- .../core/src/table_function/user_defined.rs | 2 +- src/expr/impl/src/udf/quickjs.rs | 2 +- 14 files changed, 270 insertions(+), 243 deletions(-) create mode 100644 src/common/src/array/arrow/arrow_48.rs create mode 100644 src/common/src/array/arrow/arrow_50.rs diff --git a/Cargo.lock b/Cargo.lock index b434a322edf67..bd98f519bc586 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -609,23 +609,22 @@ dependencies = [ [[package]] name = "arrow-flight" -version = "52.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd624aafd1f34710a1d6ed44ea0e9b06f7b75adc4277c53bac4a2d23229030b" +checksum = "1d7f215461ad6346f2e4cc853e377d4e076d533e1ed78d327debe83023e3601f" dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-ipc 52.0.0", - "arrow-schema 52.0.0", - "base64 0.22.0", + "arrow-array 50.0.0", + "arrow-buffer 50.0.0", + "arrow-cast 50.0.0", + "arrow-ipc 50.0.0", + "arrow-schema 50.0.0", + "base64 0.21.7", "bytes", "futures", "paste", - "prost 0.12.6", - "prost-types 0.12.6", + "prost 0.12.1", "tokio", - "tonic 0.11.0", + "tonic 0.10.2", ] [[package]] @@ -894,64 +893,65 @@ dependencies = [ [[package]] name = "arrow-udf-flight" -version = "0.3.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fbd8c05d6c16cccfc762bc865ff40fdb73cad6776a7ec14b65973f83e19074" +checksum = "4adb3a066bd22fb520bc3d040d9d59ee54f320c21faeb6df815ea20445c80c54" dependencies = [ - "arrow-array 52.0.0", + "arrow-array 50.0.0", "arrow-flight", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "arrow-schema 50.0.0", + "arrow-select 50.0.0", "futures-util", "thiserror", "tokio", - "tonic 0.11.0", + "tonic 0.10.2", "tracing", ] [[package]] name = "arrow-udf-js" -version = "0.4.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e09de178aed1119c14dab54def3bd9d383dfdb84f1af467bb0fbf0b64a88b04" +checksum = "76cb6d108605c5489fff1ef9c520656946ad05ed0de3ea6d26d56bcb34bdb8c5" dependencies = [ "anyhow", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-schema 52.0.0", + "arrow-array 50.0.0", + "arrow-buffer 50.0.0", + "arrow-schema 50.0.0", "atomic-time", "rquickjs", ] [[package]] name = "arrow-udf-python" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd364e0016acc32928c7e00a768f5fa6339ae8a243052fd3d354639d57b08aa" +checksum = "4506efc6fbc200c083add2a7ed4e3616a859941a745e922320ae7051d90d12ec" dependencies = [ "anyhow", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-ipc 52.0.0", - "arrow-schema 52.0.0", + "arrow-array 50.0.0", + "arrow-buffer 50.0.0", + "arrow-ipc 50.0.0", + "arrow-schema 50.0.0", + "lazy_static", "pyo3", "pyo3-build-config", ] [[package]] name = "arrow-udf-wasm" -version = "0.3.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e322a311a82351c980de6ac3e4a74fcd483d3591096411242208632e1b7acab" +checksum = "eb829e25925161d93617d4b053bae03fe51e708f2cce088d85df856011d4f369" dependencies = [ "anyhow", - "arrow-array 52.0.0", - "arrow-ipc 52.0.0", - "arrow-schema 52.0.0", + "arrow-array 50.0.0", + "arrow-ipc 50.0.0", + "arrow-schema 50.0.0", "async-trait", "base64 0.22.0", "genawaiter", - "once_cell", + "lazy_static", "tempfile", "wasi-common", "wasmtime", @@ -2828,12 +2828,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "cobs" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" - [[package]] name = "colorchoice" version = "1.0.0" @@ -3045,18 +3039,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6b33d7e757a887989eb18b35712b2a67d96171ec3149d1bfb657b29b7b367c" +checksum = "79b27922a6879b5b5361d0a084cb0b1941bf109a98540addcb932da13b68bed4" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9acf15cb22be42d07c3b57d7856329cb228b7315d385346149df2566ad5e4aa" +checksum = "304c455b28bf56372729acb356afbb55d622f2b0f2f7837aa5e57c138acaac4d" dependencies = [ "bumpalo", "cranelift-bforest", @@ -3069,40 +3063,39 @@ dependencies = [ "hashbrown 0.14.3", "log", "regalloc2", - "rustc-hash", "smallvec", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e934d301392b73b3f8b0540391fb82465a0f179a3cee7c726482ac4727efcc97" +checksum = "1653c56b99591d07f67c5ca7f9f25888948af3f4b97186bff838d687d666f613" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb2a2566b3d54b854dfb288b3b187f6d3d17d6f762c92898207eba302931da" +checksum = "f5b6a9cf6b6eb820ee3f973a0db313c05dc12d370f37b4fe9630286e1672573f" [[package]] name = "cranelift-control" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0100f33b704cdacd01ad66ff41f8c5030d57cbff078e2a4e49ab1822591299fa" +checksum = "d9d06e6bf30075fb6bed9e034ec046475093392eea1aff90eb5c44c4a033d19a" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8cfdc315e5d18997093e040a8d234bea1ac1e118a716d3e30f40d449e78207b" +checksum = "29be04f931b73cdb9694874a295027471817f26f26d2f0ebe5454153176b6e3a" dependencies = [ "serde", "serde_derive", @@ -3110,9 +3103,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f74b84f16af2e982b0c0c72233503d9d55cbfe3865dbe807ca28dc6642a28b5" +checksum = "a07fd7393041d7faa2f37426f5dc7fc04003b70988810e8c063beefeff1cd8f9" dependencies = [ "cranelift-codegen", "log", @@ -3122,15 +3115,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf306d3dde705fb94bd48082f01d38c4ededc74293a4c007805f610bf08bc6e" +checksum = "f341d7938caa6dff8149dac05bb2b53fc680323826b83b4cf175ab9f5139a3c9" [[package]] name = "cranelift-native" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea0ebdef7aff4a79bcbc8b6495f31315f16b3bf311152f472eaa8d679352581" +checksum = "82af6066e6448d26eeabb7aa26a43f7ff79f8217b06bade4ee6ef230aecc8880" dependencies = [ "cranelift-codegen", "libc", @@ -3139,9 +3132,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.109.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d549108a1942065cdbac3bb96c2952afa0e1b9a3beff4b08c4308ac72257576d" +checksum = "2766fab7284a914a7f17f90ebe865c86453225fb8637ac31f123f5028fee69cd" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -3805,7 +3798,7 @@ dependencies = [ "datafusion-common", "datafusion-expr", "object_store", - "prost 0.12.6", + "prost 0.12.1", ] [[package]] @@ -4331,18 +4324,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-io" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" - -[[package]] -name = "embedded-io" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" - [[package]] name = "encode_unicode" version = "0.3.6" @@ -5338,7 +5319,7 @@ dependencies = [ "http 0.2.9", "thiserror", "tokio", - "tonic 0.11.0", + "tonic 0.10.2", "tower", "tracing", "trust-dns-resolver 0.23.2", @@ -5607,7 +5588,6 @@ checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ "ahash 0.8.11", "allocator-api2", - "serde", ] [[package]] @@ -7849,9 +7829,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "d8dd6c0cdf9429bce006e1362bfce61fa1bfd8c898a643ed8d2b471934701d3d" dependencies = [ "crc32fast", "hashbrown 0.14.3", @@ -8071,7 +8051,7 @@ dependencies = [ "opentelemetry", "opentelemetry-proto", "opentelemetry_sdk", - "prost 0.12.6", + "prost 0.12.1", "thiserror", "tokio", "tonic 0.11.0", @@ -8085,7 +8065,7 @@ checksum = "984806e6cf27f2b49282e2a05e288f30594f3dbc74eb7a6e99422bc48ed78162" dependencies = [ "opentelemetry", "opentelemetry_sdk", - "prost 0.12.6", + "prost 0.12.1", "tonic 0.11.0", ] @@ -8769,18 +8749,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" -[[package]] -name = "postcard" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" -dependencies = [ - "cobs", - "embedded-io 0.4.0", - "embedded-io 0.6.1", - "serde", -] - [[package]] name = "postgres-derive" version = "0.4.5" @@ -9123,12 +9091,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", - "prost-derive 0.12.6", + "prost-derive 0.12.1", ] [[package]] @@ -9177,8 +9145,8 @@ dependencies = [ "once_cell", "petgraph", "prettyplease 0.2.15", - "prost 0.12.6", - "prost-types 0.12.6", + "prost 0.12.1", + "prost-types 0.12.1", "regex", "syn 2.0.66", "tempfile", @@ -9221,12 +9189,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.66", @@ -9281,11 +9249,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.12.6", + "prost 0.12.1", ] [[package]] @@ -10289,12 +10257,16 @@ dependencies = [ "anyhow", "arc-swap", "arrow-array 48.0.1", + "arrow-array 50.0.0", "arrow-array 52.0.0", "arrow-buffer 48.0.1", + "arrow-buffer 50.0.0", "arrow-buffer 52.0.0", "arrow-cast 48.0.1", + "arrow-cast 50.0.0", "arrow-cast 52.0.0", "arrow-schema 48.0.1", + "arrow-schema 50.0.0", "arrow-schema 52.0.0", "async-trait", "auto_enums", @@ -14416,8 +14388,11 @@ dependencies = [ "hyper-timeout 0.4.1", "percent-encoding", "pin-project", - "prost 0.12.6", + "prost 0.12.1", + "rustls 0.21.11", + "rustls-pemfile 1.0.4", "tokio", + "tokio-rustls 0.24.1", "tokio-stream 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "tower", "tower-layer", @@ -14443,11 +14418,8 @@ dependencies = [ "hyper-timeout 0.4.1", "percent-encoding", "pin-project", - "prost 0.12.6", - "rustls-pemfile 2.1.1", - "rustls-pki-types", + "prost 0.12.1", "tokio", - "tokio-rustls 0.25.0", "tokio-stream 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "tower", "tower-layer", @@ -15170,9 +15142,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi-common" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86fd41e1e26ff6af9451c6a332a5ce5f5283ca51e87d875cdd9a05305598ee3" +checksum = "63255d85e10627b07325d7cf4e5fe5a40fa4ff183569a0a67931be26d50ede07" dependencies = [ "anyhow", "bitflags 2.6.0", @@ -15268,18 +15240,18 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-encoder" -version = "0.209.1" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4a05336882dae732ce6bd48b7e11fe597293cb72c13da4f35d7d5f8d53b2a7" +checksum = "bfd106365a7f5f7aa3c1916a98cbb3ad477f5ff96ddb130285a91c6e7429e67a" dependencies = [ "leb128", ] [[package]] name = "wasm-encoder" -version = "0.217.0" +version = "0.206.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b88b0814c9a2b323a9b46c687e726996c255ac8b64aa237dd11c81ed4854760" +checksum = "d759312e1137f199096d80a70be685899cd7d3d09c572836bb2e9b69b4dc3b1e" dependencies = [ "leb128", ] @@ -15312,23 +15284,20 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.209.1" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07035cc9a9b41e62d3bb3a3815a66ab87c993c06fe1cf6b2a3f2a18499d937db" +checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ - "ahash 0.8.11", "bitflags 2.6.0", - "hashbrown 0.14.3", "indexmap 2.2.6", "semver 1.0.18", - "serde", ] [[package]] name = "wasmprinter" -version = "0.209.1" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceca8ae6eaa8c7c87b33c25c53bdf299f8c2a764aee1179402ff7652ef3a6859" +checksum = "ab1cc9508685eef9502e787f4d4123745f5651a1e29aec047645d3cac1e2da7a" dependencies = [ "anyhow", "wasmparser", @@ -15336,45 +15305,35 @@ dependencies = [ [[package]] name = "wasmtime" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786d8b5e7a4d54917c5ebe555b9667337e5f93383f49bddaaeec2eba68093b45" +checksum = "5a5990663c28d81015ddbb02a068ac1bf396a4ea296eba7125b2dfc7c00cb52e" dependencies = [ "addr2line", "anyhow", "async-trait", + "bincode 1.3.3", "bumpalo", - "cc", "cfg-if", "encoding_rs", "fxprof-processed-profile", "gimli", - "hashbrown 0.14.3", "indexmap 2.2.6", "ittapi", "libc", - "libm", "log", - "mach2", - "memfd", - "memoffset", - "object 0.36.4", + "object 0.33.0", "once_cell", "paste", - "postcard", - "psm", "rayon", "rustix 0.38.31", "semver 1.0.18", "serde", "serde_derive", "serde_json", - "smallvec", - "sptr", "target-lexicon", - "wasm-encoder 0.209.1", + "wasm-encoder 0.202.0", "wasmparser", - "wasmtime-asm-macros", "wasmtime-cache", "wasmtime-component-macro", "wasmtime-component-util", @@ -15383,8 +15342,8 @@ dependencies = [ "wasmtime-fiber", "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", + "wasmtime-runtime", "wasmtime-slab", - "wasmtime-versioned-export-macros", "wasmtime-winch", "wat", "windows-sys 0.52.0", @@ -15392,24 +15351,24 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d697d99c341d4a9ffb72f3af7a02124d233eeb59aee010f36d88e97cca553d5e" +checksum = "625ee94c72004f3ea0228989c9506596e469517d7d0ed66f7300d1067bdf1ca9" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "916610f9ae9a6c22deb25bba2e6247ba9f00b093d30620875203b91328a1adfa" +checksum = "98534bf28de232299e83eab33984a7a6c40c69534d6bd0ea216150b63d41a83a" dependencies = [ "anyhow", "base64 0.21.7", + "bincode 1.3.3", "directories-next", "log", - "postcard", "rustix 0.38.31", "serde", "serde_derive", @@ -15421,9 +15380,9 @@ dependencies = [ [[package]] name = "wasmtime-component-macro" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b29b462b068e73b5b27fae092a27f47e5937cabf6b26be2779c978698a52feca" +checksum = "64f84414a25ee3a624c8b77550f3fe7b5d8145bd3405ca58886ee6900abb6dc2" dependencies = [ "anyhow", "proc-macro2", @@ -15436,15 +15395,15 @@ dependencies = [ [[package]] name = "wasmtime-component-util" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d2912c53d9054984b380dfbd7579f9c3681b2a73b903a56bd71a1c4f175f1e" +checksum = "78580bdb4e04c7da3bf98088559ca1d29382668536e4d5c7f2f966d79c390307" [[package]] name = "wasmtime-cranelift" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3975deafea000457ba84355c7c0fce0372937204f77026510b7b454f28a3a65" +checksum = "b60df0ee08c6a536c765f69e9e8205273435b66d02dd401e938769a2622a6c1a" dependencies = [ "anyhow", "cfg-if", @@ -15456,7 +15415,7 @@ dependencies = [ "cranelift-wasm", "gimli", "log", - "object 0.36.4", + "object 0.33.0", "target-lexicon", "thiserror", "wasmparser", @@ -15466,23 +15425,24 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f444e900e848b884d8a8a2949b6f5b92af642a3e663ff8fbe78731143a55be61" +checksum = "64ffc1613db69ee47c96738861534f9a405e422a5aa00224fbf5d410b03fb445" dependencies = [ "anyhow", + "bincode 1.3.3", "cpp_demangle", "cranelift-entity", "gimli", "indexmap 2.2.6", "log", - "object 0.36.4", - "postcard", + "object 0.33.0", "rustc-demangle", "serde", "serde_derive", "target-lexicon", - "wasm-encoder 0.209.1", + "thiserror", + "wasm-encoder 0.202.0", "wasmparser", "wasmprinter", "wasmtime-component-util", @@ -15491,9 +15451,9 @@ dependencies = [ [[package]] name = "wasmtime-fiber" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ded58eb2d1bf0dcd2182d0ccd7055c4b10b50d711514f1d73f61515d0fa829d" +checksum = "f043514a23792761c5765f8ba61a4aa7d67f260c0c37494caabceb41d8ae81de" dependencies = [ "anyhow", "cc", @@ -15506,11 +15466,11 @@ dependencies = [ [[package]] name = "wasmtime-jit-debug" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bc54198c6720f098210a85efb3ba8c078d1de4d373cdb6778850a66ae088d11" +checksum = "9c0ca2ad8f5d2b37f507ef1c935687a690e84e9f325f5a2af9639440b43c1f0e" dependencies = [ - "object 0.36.4", + "object 0.33.0", "once_cell", "rustix 0.38.31", "wasmtime-versioned-export-macros", @@ -15518,40 +15478,69 @@ dependencies = [ [[package]] name = "wasmtime-jit-icache-coherence" -version = "22.0.0" +version = "20.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9f93a3289057b26dc75eb84d6e60d7694f7d169c7c09597495de6e016a13ff" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5afe2f0499542f9a4bcfa1b55bfdda803b6ade4e7c93c6b99e0f39dba44b0a91" +checksum = "c6332a2b0af4224c3ea57c857ad39acd2780ccc2b0c99ba1baa01864d90d7c94" dependencies = [ "anyhow", + "cc", "cfg-if", + "encoding_rs", + "indexmap 2.2.6", "libc", + "log", + "mach2", + "memfd", + "memoffset", + "paste", + "psm", + "rustix 0.38.31", + "sptr", + "wasm-encoder 0.202.0", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit-debug", + "wasmtime-slab", + "wasmtime-versioned-export-macros", "windows-sys 0.52.0", ] [[package]] name = "wasmtime-slab" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7de1f2bec5bbb35d532e61c85c049dc84ae671df60492f90b954ecf21169e7" +checksum = "8b3655075824a374c536a2b2cc9283bb765fcdf3d58b58587862c48571ad81ef" [[package]] name = "wasmtime-types" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "412463e9000e14cf6856be48628d2213c20c153e29ffc22b036980c892ea6964" +checksum = "b98cf64a242b0b9257604181ca28b28a5fcaa4c9ea1d396f76d1d2d1c5b40eef" dependencies = [ "cranelift-entity", "serde", "serde_derive", - "smallvec", + "thiserror", "wasmparser", ] [[package]] name = "wasmtime-versioned-export-macros" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5a9bc4f44ceeb168e9e8e3be4e0b4beb9095b468479663a9e24c667e36826f" +checksum = "8561d9e2920db2a175213d557d71c2ac7695831ab472bbfafb9060cd1034684f" dependencies = [ "proc-macro2", "quote", @@ -15560,14 +15549,14 @@ dependencies = [ [[package]] name = "wasmtime-winch" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4db238a0241df2d15f79ad17b3a37a27f2ea6cb885894d81b42ae107544466" +checksum = "a06b573d14ac846a0fb8c541d8fca6a64acf9a1d176176982472274ab1d2fa5d" dependencies = [ "anyhow", "cranelift-codegen", "gimli", - "object 0.36.4", + "object 0.33.0", "target-lexicon", "wasmparser", "wasmtime-cranelift", @@ -15577,9 +15566,9 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc077306b38288262e5ba01d4b21532a6987416cdc0aedf04bb06c22a68fdc" +checksum = "595bc7bb3b0ff4aa00fab718c323ea552c3034d77abc821a35112552f2ea487a" dependencies = [ "anyhow", "heck 0.4.1", @@ -15598,24 +15587,24 @@ dependencies = [ [[package]] name = "wast" -version = "217.0.0" +version = "206.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79004ecebded92d3c710d4841383368c7f04b63d0992ddd6b0c7d5029b7629b7" +checksum = "68586953ee4960b1f5d84ebf26df3b628b17e6173bc088e0acfbce431469795a" dependencies = [ "bumpalo", "leb128", "memchr", "unicode-width", - "wasm-encoder 0.217.0", + "wasm-encoder 0.206.0", ] [[package]] name = "wat" -version = "1.217.0" +version = "1.206.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c126271c3d92ca0f7c63e4e462e40c69cca52fd4245fcda730d1cf558fb55088" +checksum = "da4c6f2606276c6e991aebf441b2fc92c517807393f039992a3e0ad873efe4ad" dependencies = [ - "wast 217.0.0", + "wast 206.0.0", ] [[package]] @@ -15690,9 +15679,9 @@ checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "wiggle" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29830e5d01c182d24b94092c697aa7ab0ee97d22e78a2bf40ca91eae6ebca5c2" +checksum = "1b6552dda951239e219c329e5a768393664e8d120c5e0818487ac2633f173b1f" dependencies = [ "anyhow", "async-trait", @@ -15705,9 +15694,9 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557567f2793508760cd855f7659b7a0b9dc4dbc451f53f1415d6943a15311ade" +checksum = "da64cb31e0bfe8b1d2d13956ef9fd5c77545756a1a6ef0e6cfd44e8f1f207aed" dependencies = [ "anyhow", "heck 0.4.1", @@ -15720,9 +15709,9 @@ dependencies = [ [[package]] name = "wiggle-macro" -version = "22.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc26129a8aea20b62c961d1b9ab4a3c3b56b10042ed85d004f8678af0f21ba6e" +checksum = "900b2416ef2ff2903ded6cf55d4a941fed601bf56a8c4874856d7a77c1891994" dependencies = [ "proc-macro2", "quote", @@ -15763,9 +15752,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "0.20.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c6915884e731b2db0d8cf08cb64474cb69221a161675fd3c135f91febc3daa" +checksum = "fb23450977f9d4a23c02439cf6899340b2d68887b19465c5682740d9cc37d52e" dependencies = [ "anyhow", "cranelift-codegen", @@ -16073,9 +16062,9 @@ dependencies = [ [[package]] name = "wit-parser" -version = "0.209.1" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e79b9e3c0b6bb589dec46317e645851e0db2734c44e2be5e251b03ff4a51269" +checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc" dependencies = [ "anyhow", "id-arena", diff --git a/Cargo.toml b/Cargo.toml index c34b414ad0a7b..01123152d56da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -140,32 +140,18 @@ prost-build = { version = "0.13" } icelake = { git = "https://github.com/risingwavelabs/icelake.git", rev = "3f4724158acee37a4785f56670a1427993a58739", features = [ "prometheus", ] } -arrow-array-iceberg = { package = "arrow-array", version = "52" } -arrow-schema-iceberg = { package = "arrow-schema", version = "52" } -arrow-buffer-iceberg = { package = "arrow-buffer", version = "52" } -arrow-cast-iceberg = { package = "arrow-cast", version = "52" } + # branch dev iceberg = { git = "https://github.com/risingwavelabs/iceberg-rust.git", rev = "84bf51c9d0d5886e4ee306ca4f383f029e1767a4" } iceberg-catalog-rest = { git = "https://github.com/risingwavelabs/iceberg-rust.git", rev = "84bf51c9d0d5886e4ee306ca4f383f029e1767a4" } iceberg-catalog-glue = { git = "https://github.com/risingwavelabs/iceberg-rust.git", rev = "84bf51c9d0d5886e4ee306ca4f383f029e1767a4" } opendal = "0.47" -arrow-array = "50" -arrow-arith = "50" -arrow-cast = "50" -arrow-schema = "50" -arrow-buffer = "50" +# used only by arrow-udf-flight arrow-flight = "50" -arrow-select = "50" -arrow-ord = "50" -arrow-row = "50" arrow-udf-js = "0.3.1" arrow-udf-wasm = { version = "0.2.2", features = ["build"] } arrow-udf-python = "0.2" arrow-udf-flight = "0.1" -arrow-array-deltalake = { package = "arrow-array", version = "48.0.1" } -arrow-buffer-deltalake = { package = "arrow-buffer", version = "48.0.1" } -arrow-cast-deltalake = { package = "arrow-cast", version = "48.0.1" } -arrow-schema-deltalake = { package = "arrow-schema", version = "48.0.1" } clap = { version = "4", features = ["cargo", "derive", "env"] } # Use a forked version which removes the dependencies on dynamo db to reduce # compile time and binary size. diff --git a/src/common/Cargo.toml b/src/common/Cargo.toml index fdc2b6369f26f..58a4b9870dfaf 100644 --- a/src/common/Cargo.toml +++ b/src/common/Cargo.toml @@ -17,14 +17,18 @@ normal = ["workspace-hack"] ahash = "0.8" anyhow = "1" arc-swap = "1" -arrow-52-array = { workspace = true } -arrow-52-buffer = { workspace = true } -arrow-52-cast = { workspace = true } -arrow-52-schema = { workspace = true } -arrow-array-deltalake = { workspace = true } -arrow-buffer-deltalake = { workspace = true } -arrow-cast-deltalake = { workspace = true } -arrow-schema-deltalake = { workspace = true } +arrow-48-array = { package = "arrow-array", version = "48" } +arrow-48-buffer = { package = "arrow-buffer", version = "48" } +arrow-48-cast = { package = "arrow-cast", version = "48" } +arrow-48-schema = { package = "arrow-schema", version = "48" } +arrow-50-array = { package = "arrow-array", version = "50" } +arrow-50-buffer = { package = "arrow-buffer", version = "50" } +arrow-50-cast = { package = "arrow-cast", version = "50" } +arrow-50-schema = { package = "arrow-schema", version = "50" } +arrow-52-array = { package = "arrow-array", version = "52" } +arrow-52-buffer = { package = "arrow-buffer", version = "52" } +arrow-52-cast = { package = "arrow-cast", version = "52" } +arrow-52-schema = { package = "arrow-schema", version = "52" } async-trait = "0.1" auto_enums = { workspace = true } auto_impl = "1" diff --git a/src/common/src/array/arrow/arrow_48.rs b/src/common/src/array/arrow/arrow_48.rs new file mode 100644 index 0000000000000..6f7333b0e70c1 --- /dev/null +++ b/src/common/src/array/arrow/arrow_48.rs @@ -0,0 +1,23 @@ +// Copyright 2024 RisingWave Labs +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#[allow(clippy::duplicate_mod)] +#[path = "./arrow_impl.rs"] +mod arrow_impl; +type ArrowIntervalType = i128; +pub use arrow_impl::{FromArrow, ToArrow}; +pub use { + arrow_48_array as arrow_array, arrow_48_buffer as arrow_buffer, arrow_48_cast as arrow_cast, + arrow_48_schema as arrow_schema, +}; diff --git a/src/common/src/array/arrow/arrow_50.rs b/src/common/src/array/arrow/arrow_50.rs new file mode 100644 index 0000000000000..17b5328806ce6 --- /dev/null +++ b/src/common/src/array/arrow/arrow_50.rs @@ -0,0 +1,23 @@ +// Copyright 2024 RisingWave Labs +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#[allow(clippy::duplicate_mod)] +#[path = "./arrow_impl.rs"] +mod arrow_impl; +type ArrowIntervalType = i128; +pub use arrow_impl::{FromArrow, ToArrow}; +pub use { + arrow_50_array as arrow_array, arrow_50_buffer as arrow_buffer, arrow_50_cast as arrow_cast, + arrow_50_schema as arrow_schema, +}; diff --git a/src/common/src/array/arrow/arrow_52.rs b/src/common/src/array/arrow/arrow_52.rs index 6a5a4555e38cb..1590366e1281b 100644 --- a/src/common/src/array/arrow/arrow_52.rs +++ b/src/common/src/array/arrow/arrow_52.rs @@ -12,11 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. +#[allow(clippy::duplicate_mod)] #[path = "./arrow_impl.rs"] mod arrow_impl; -use arrow_buffer::IntervalMonthDayNano as ArrowIntervalType; +type ArrowIntervalType = arrow_buffer::IntervalMonthDayNano; pub use arrow_impl::{FromArrow, ToArrow}; -use { +pub use { arrow_52_array as arrow_array, arrow_52_buffer as arrow_buffer, arrow_52_cast as arrow_cast, arrow_52_schema as arrow_schema, }; diff --git a/src/common/src/array/arrow/arrow_deltalake.rs b/src/common/src/array/arrow/arrow_deltalake.rs index 5584f89206bf2..7e3684233745a 100644 --- a/src/common/src/array/arrow/arrow_deltalake.rs +++ b/src/common/src/array/arrow/arrow_deltalake.rs @@ -22,17 +22,11 @@ use std::sync::Arc; use arrow_array::ArrayRef; use num_traits::abs; -pub use { - arrow_array_deltalake as arrow_array, arrow_buffer_deltalake as arrow_buffer, - arrow_cast_deltalake as arrow_cast, arrow_schema_deltalake as arrow_schema, -}; -type ArrowIntervalType = i128; -use self::arrow_impl::ToArrow; +pub use super::arrow_48::{ + arrow_array, arrow_buffer, arrow_cast, arrow_schema, FromArrow, ToArrow, +}; use crate::array::{Array, ArrayError, DataChunk, Decimal, DecimalArray}; -#[expect(clippy::duplicate_mod)] -#[path = "./arrow_impl.rs"] -mod arrow_impl; pub struct DeltaLakeConvert; @@ -103,8 +97,8 @@ mod test { use arrow_array::cast::AsArray; use arrow_array::ArrayRef; use arrow_schema::Field; - use {arrow_array_deltalake as arrow_array, arrow_schema_deltalake as arrow_schema}; + use super::*; use crate::array::arrow::arrow_deltalake::DeltaLakeConvert; use crate::array::{ArrayImpl, Decimal, DecimalArray, ListArray, ListValue}; use crate::bitmap::Bitmap; diff --git a/src/common/src/array/arrow/arrow_iceberg.rs b/src/common/src/array/arrow/arrow_iceberg.rs index 315b23a4807d5..845dcc8a0f6f9 100644 --- a/src/common/src/array/arrow/arrow_iceberg.rs +++ b/src/common/src/array/arrow/arrow_iceberg.rs @@ -19,12 +19,10 @@ use std::sync::Arc; use arrow_array::ArrayRef; use num_traits::abs; -pub use { - arrow_52_array as arrow_array, arrow_52_buffer as arrow_buffer, arrow_52_cast as arrow_cast, - arrow_52_schema as arrow_schema, -}; -pub use super::arrow_52::{FromArrow, ToArrow}; +pub use super::arrow_52::{ + arrow_array, arrow_buffer, arrow_cast, arrow_schema, FromArrow, ToArrow, +}; use crate::array::{Array, ArrayError, ArrayImpl, DataChunk, DataType, DecimalArray}; use crate::types::StructType; @@ -232,9 +230,8 @@ mod test { use std::sync::Arc; use super::arrow_array::{ArrayRef, Decimal128Array}; - use super::arrow_impl::ToArrow; use super::arrow_schema::DataType; - use super::IcebergArrowConvert; + use super::*; use crate::array::{Decimal, DecimalArray}; #[test] diff --git a/src/common/src/array/arrow/arrow_udf.rs b/src/common/src/array/arrow/arrow_udf.rs index e59687a05be23..0a2e85785c772 100644 --- a/src/common/src/array/arrow/arrow_udf.rs +++ b/src/common/src/array/arrow/arrow_udf.rs @@ -20,12 +20,9 @@ use std::sync::Arc; -pub use { - arrow_52_array as arrow_array, arrow_52_buffer as arrow_buffer, arrow_52_cast as arrow_cast, - arrow_52_schema as arrow_schema, +pub use super::arrow_50::{ + arrow_array, arrow_buffer, arrow_cast, arrow_schema, FromArrow, ToArrow, }; - -pub use super::arrow_52::{FromArrow, ToArrow}; use crate::array::{ArrayError, ArrayImpl, DataType, DecimalArray, JsonbArray}; /// Arrow conversion for UDF. diff --git a/src/common/src/array/arrow/mod.rs b/src/common/src/array/arrow/mod.rs index a43d306f926a3..ade14a5948d2f 100644 --- a/src/common/src/array/arrow/mod.rs +++ b/src/common/src/array/arrow/mod.rs @@ -12,31 +12,44 @@ // See the License for the specific language governing permissions and // limitations under the License. +// These mods imports arrow_impl.rs to provide FromArrow, ToArrow traits for corresponding arrow versions, +// and the default From/To implementations. +mod arrow_48; +mod arrow_50; mod arrow_52; +// These mods import mods above and may override some methods. mod arrow_deltalake; mod arrow_iceberg; mod arrow_udf; pub use arrow_deltalake::DeltaLakeConvert; pub use arrow_iceberg::{IcebergArrowConvert, IcebergCreateTableArrowConvert}; -pub use arrow_udf::{FromArrow, ToArrow, UdfArrowConvert}; +pub use arrow_udf::UdfArrowConvert; pub use reexport::*; +/// For other RisingWave crates, they can directly use arrow re-exported here, without adding +/// `arrow` dependencies in their `Cargo.toml`. And they don't need to care about the version. mod reexport { pub use super::arrow_deltalake::{ arrow_array as arrow_array_deltalake, arrow_buffer as arrow_buffer_deltalake, arrow_cast as arrow_cast_deltalake, arrow_schema as arrow_schema_deltalake, + FromArrow as DeltaLakeFromArrow, ToArrow as DeltaLakeToArrow, }; pub use super::arrow_iceberg::{ arrow_array as arrow_array_iceberg, arrow_buffer as arrow_buffer_iceberg, arrow_cast as arrow_cast_iceberg, arrow_schema as arrow_schema_iceberg, + FromArrow as IcebergFromArrow, ToArrow as IcebergToArrow, }; pub use super::arrow_udf::{ arrow_array as arrow_array_udf, arrow_buffer as arrow_buffer_udf, - arrow_cast as arrow_cast_udf, arrow_schema as arrow_schema_udf, + arrow_cast as arrow_cast_udf, arrow_schema as arrow_schema_udf, FromArrow as UdfFromArrow, + ToArrow as UdfToArrow, }; } use crate::types::Interval; +/// Arrow 52 changed the interval type from `i128` to `arrow_buffer::IntervalMonthDayNano`, so +/// we introduced this trait to customize the conversion in `arrow_impl.rs`. +/// We may delete this after all arrow versions are upgraded. trait ArrowIntervalTypeTrait { fn to_interval(self) -> Interval; fn from_interval(value: Interval) -> Self; diff --git a/src/expr/core/src/aggregate/user_defined.rs b/src/expr/core/src/aggregate/user_defined.rs index e63169da4aefb..2f4fdc5f9f9c5 100644 --- a/src/expr/core/src/aggregate/user_defined.rs +++ b/src/expr/core/src/aggregate/user_defined.rs @@ -17,7 +17,7 @@ use std::sync::Arc; use anyhow::Context; use risingwave_common::array::arrow::arrow_array_udf::ArrayRef; use risingwave_common::array::arrow::arrow_schema_udf::{Field, Fields, Schema, SchemaRef}; -use risingwave_common::array::arrow::{FromArrow, ToArrow, UdfArrowConvert}; +use risingwave_common::array::arrow::{UdfArrowConvert, UdfFromArrow, UdfToArrow}; use risingwave_common::array::Op; use risingwave_common::bitmap::Bitmap; use risingwave_pb::expr::PbUserDefinedFunctionMetadata; diff --git a/src/expr/core/src/expr/expr_udf.rs b/src/expr/core/src/expr/expr_udf.rs index 71a8cc4ce4460..6ae27dabb2458 100644 --- a/src/expr/core/src/expr/expr_udf.rs +++ b/src/expr/core/src/expr/expr_udf.rs @@ -19,7 +19,7 @@ use anyhow::Context; use await_tree::InstrumentAwait; use prometheus::{exponential_buckets, Registry}; use risingwave_common::array::arrow::arrow_schema_udf::{Fields, Schema, SchemaRef}; -use risingwave_common::array::arrow::{FromArrow, ToArrow, UdfArrowConvert}; +use risingwave_common::array::arrow::{UdfArrowConvert, UdfFromArrow, UdfToArrow}; use risingwave_common::array::{Array, ArrayRef, DataChunk}; use risingwave_common::metrics::*; use risingwave_common::monitor::GLOBAL_METRICS_REGISTRY; diff --git a/src/expr/core/src/table_function/user_defined.rs b/src/expr/core/src/table_function/user_defined.rs index 83841f355b1a9..b490e9b023af1 100644 --- a/src/expr/core/src/table_function/user_defined.rs +++ b/src/expr/core/src/table_function/user_defined.rs @@ -16,7 +16,7 @@ use std::sync::Arc; use anyhow::Context; use risingwave_common::array::arrow::arrow_schema_udf::{Fields, Schema, SchemaRef}; -use risingwave_common::array::arrow::{FromArrow, ToArrow, UdfArrowConvert}; +use risingwave_common::array::arrow::{UdfArrowConvert, UdfFromArrow, UdfToArrow}; use risingwave_common::array::I32Array; use risingwave_common::bail; diff --git a/src/expr/impl/src/udf/quickjs.rs b/src/expr/impl/src/udf/quickjs.rs index eb0dee6db9bc4..fb13f3f374b84 100644 --- a/src/expr/impl/src/udf/quickjs.rs +++ b/src/expr/impl/src/udf/quickjs.rs @@ -15,7 +15,7 @@ use arrow_udf_js::{CallMode, Runtime}; use futures_util::StreamExt; use risingwave_common::array::arrow::arrow_schema_udf::{DataType, Field}; -use risingwave_common::array::arrow::{ToArrow, UdfArrowConvert}; +use risingwave_common::array::arrow::{UdfArrowConvert, UdfToArrow}; use super::*;