From 2aaeb8201e1e21dd17b23fd4833a9c70830e2428 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 12 Jan 2024 11:55:08 +0100 Subject: [PATCH 01/18] Update nightly version --- rust-toolchain.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 904c6cc5fc..003d04b560 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2023-06-01" +channel = "nightly-2024-01-09" From 241d1ac773b993031250541e8731fc32d01c60c8 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 12 Jan 2024 11:55:41 +0100 Subject: [PATCH 02/18] Add Cargo.lock --- .gitignore | 1 - Cargo.lock | 3297 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 3297 insertions(+), 1 deletion(-) create mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index c10f9e51df..27041f4b72 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ target target-tarpaulin venv lcov.info -Cargo.lock example.arrow fixtures settings.json diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..0b45696c76 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3297 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "ahash" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +dependencies = [ + "cfg-if 1.0.0", + "const-random", + "getrandom 0.2.8", + "once_cell", + "version_check", + "zerocopy 0.7.32", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anyhow" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" + +[[package]] +name = "array-init-cursor" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76" + +[[package]] +name = "arrow-array" +version = "49.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d" +dependencies = [ + "ahash", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "chrono", + "half 2.2.1", + "hashbrown 0.14.3", + "num", +] + +[[package]] +name = "arrow-buffer" +version = "49.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c" +dependencies = [ + "bytes", + "half 2.2.1", + "num", +] + +[[package]] +name = "arrow-data" +version = "49.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634" +dependencies = [ + "arrow-buffer", + "arrow-schema", + "half 2.2.1", + "num", +] + +[[package]] +name = "arrow-format" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07884ea216994cdc32a2d5f8274a8bee979cfe90274b83f86f440866ee3132c7" +dependencies = [ + "planus", + "prost 0.11.8", + "prost-derive 0.11.8", + "serde", +] + +[[package]] +name = "arrow-schema" +version = "49.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167" + +[[package]] +name = "arrow2" +version = "0.17.4" +dependencies = [ + "ahash", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-format", + "arrow-schema", + "async-stream", + "avro-rs", + "avro-schema", + "base64", + "bytemuck", + "chrono", + "chrono-tz", + "comfy-table", + "criterion", + "crossbeam-channel", + "csv", + "csv-async", + "csv-core", + "doc-comment", + "dyn-clone", + "either", + "ethnum", + "fallible-streaming-iterator", + "flate2", + "foreign_vec", + "futures", + "getrandom 0.2.8", + "hash_hasher", + "hashbrown 0.14.3", + "hex", + "indexmap", + "itertools", + "json-deserializer", + "lexical-core", + "lz4", + "memchr", + "multiversion", + "num-traits", + "odbc-api", + "orc-format", + "parquet2", + "proptest", + "rand 0.8.5", + "regex", + "regex-syntax 0.7.5", + "rustc_version", + "sample-arrow2", + "sample-std", + "sample-test", + "serde", + "serde_derive", + "serde_json", + "simdutf8", + "streaming-iterator", + "strength_reduce", + "tokio", + "tokio-util", + "zstd 0.12.3+zstd.1.5.2", +] + +[[package]] +name = "async-stream" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "async-trait" +version = "0.1.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ea188f25f0255d8f92797797c97ebf5631fa88178beb1a46fdf5622c9a00e4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "avro-rs" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece550dd6710221de9bcdc1697424d8eee4fc4ca7e017479ea9d50c348465e37" +dependencies = [ + "byteorder", + "crc 1.8.1", + "digest", + "lazy_static", + "libflate", + "num-bigint 0.2.6", + "rand 0.7.3", + "serde", + "serde_json", + "snap 0.2.5", + "strum 0.18.0", + "strum_macros 0.18.0", + "thiserror", + "typed-builder", + "uuid", + "zerocopy 0.3.0", +] + +[[package]] +name = "avro-schema" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5281855b39aba9684d2f47bf96983fbfd8f1725f12fabb0513a8ab879647bbd" +dependencies = [ + "async-stream", + "crc 2.1.0", + "fallible-streaming-iterator", + "futures", + "libflate", + "serde", + "serde_json", + "snap 1.1.0", +] + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" +dependencies = [ + "memchr", + "once_cell", + "regex-automata 0.1.10", + "serde", +] + +[[package]] +name = "build_const" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" + +[[package]] +name = "bumpalo" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aca418a974d83d40a0c1f0c5cba6ff4bc28d8df099109ca459a2118d40b6322" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "calloop" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf2eec61efe56aa1e813f5126959296933cf0700030e4314786c48779a66ab82" +dependencies = [ + "log", + "nix 0.22.3", +] + +[[package]] +name = "casey" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614586263949597dcc18675da12ef9b429135e13628d92eb8b8c6fa50ca5656b" +dependencies = [ + "syn 1.0.109", +] + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets 0.48.0", +] + +[[package]] +name = "chrono-tz" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9cc2b23599e6d7479755f3594285efb3f74a1bdca7a7374948bc831e23a552" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + +[[package]] +name = "ciborium" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369" + +[[package]] +name = "ciborium-ll" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" +dependencies = [ + "ciborium-io", + "half 1.8.2", +] + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "bitflags", + "clap_lex", + "indexmap", + "textwrap", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags", + "block", + "cocoa-foundation", + "core-foundation 0.9.3", + "core-graphics 0.22.3", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" +dependencies = [ + "bitflags", + "block", + "core-foundation 0.9.3", + "core-graphics-types", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "comfy-table" +version = "6.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" +dependencies = [ + "strum 0.24.1", + "strum_macros 0.24.3", + "unicode-width", +] + +[[package]] +name = "const-random" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.8", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys 0.8.3", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "core-graphics" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" +dependencies = [ + "bitflags", + "core-foundation 0.7.0", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation 0.9.3", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation 0.9.3", + "foreign-types", + "libc", +] + +[[package]] +name = "core-video-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828" +dependencies = [ + "cfg-if 0.1.10", + "core-foundation-sys 0.7.0", + "core-graphics 0.19.2", + "libc", + "objc", +] + +[[package]] +name = "crc" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" +dependencies = [ + "build_const", +] + +[[package]] +name = "crc" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403" + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "criterion" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +dependencies = [ + "anes", + "atty", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +dependencies = [ + "autocfg", + "cfg-if 1.0.0", + "crossbeam-utils", + "memoffset 0.8.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "csv" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-async" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71933d3f2d0481d5111cb2817b15b6961961458ec58adf8008194e6c850046f4" +dependencies = [ + "bstr", + "cfg-if 1.0.0", + "csv-core", + "futures", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +dependencies = [ + "memchr", +] + +[[package]] +name = "cty" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" + +[[package]] +name = "cxx" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn 2.0.48", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +dependencies = [ + "libloading", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dyn-clone" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "env_logger" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "ethnum" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0198b9d0078e0f30dedc7acbb21c974e838fc8fae3ee170128658a98cb2c1c04" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "force-send-sync" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d9188d4e883c054455b2c7950be30c54b11d7400f0a8562b74a4acd79c495b6" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673" + +[[package]] +name = "futures" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" + +[[package]] +name = "futures-executor" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" + +[[package]] +name = "futures-macro" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "futures-sink" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" + +[[package]] +name = "futures-task" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" + +[[package]] +name = "futures-util" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "half" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +dependencies = [ + "crunchy", + "num-traits", +] + +[[package]] +name = "hash_hasher" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "iana-time-zone" +version = "0.1.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +dependencies = [ + "android_system_properties", + "core-foundation-sys 0.8.3", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-deserializer" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f63b421e16eb4100beb677af56f0b4f3a4f08bab74ef2af079ce5bb92c2683f" +dependencies = [ + "indexmap", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" + +[[package]] +name = "libflate" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97822bf791bd4d5b403713886a5fbe8bf49520fe78e323b0dc480ca1a03e50b0" +dependencies = [ + "adler32", + "crc32fast", + "libflate_lz77", +] + +[[package]] +name = "libflate_lz77" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf" +dependencies = [ + "rle-decode-fast", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if 1.0.0", + "winapi", +] + +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + +[[package]] +name = "link-cplusplus" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "lz4" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +dependencies = [ + "libc", + "lz4-sys", +] + +[[package]] +name = "lz4-sys" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "lz4_flex" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a8cbbb2831780bc3b9c15a41f5b49222ef756b6730a95f3decfdd15903eb5a3" +dependencies = [ + "twox-hash", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memmap2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b6c2ebff6180198788f5db08d7ce3bc1d0b617176678831a7510825973e357" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys", +] + +[[package]] +name = "multiversion" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2c7b9d7fe61760ce5ea19532ead98541f6b4c495d87247aff9826445cf6872a" +dependencies = [ + "multiversion-macros", + "target-features", +] + +[[package]] +name = "multiversion-macros" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26a83d8500ed06d68877e9de1dde76c1dbb83885dcdbda4ef44ccbc3fbda2ac8" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "target-features", +] + +[[package]] +name = "ndk" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d868f654c72e75f8687572699cdabe755f03effbb62542768e995d5b8d699d" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-glue" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71bee8ea72d685477e28bd004cfe1bf99c754d688cd78cad139eae4089484d4" +dependencies = [ + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-macro", + "ndk-sys", +] + +[[package]] +name = "ndk-macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" +dependencies = [ + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ndk-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" + +[[package]] +name = "nix" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +dependencies = [ + "num-bigint 0.4.3", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint 0.4.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "odbc-api" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d9ca44aa6e1cd7c7a64dc9eeff0fb918993e118b6c235f5844f05321c6ac13" +dependencies = [ + "force-send-sync", + "log", + "odbc-sys", + "thiserror", + "widestring", + "winit", +] + +[[package]] +name = "odbc-sys" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592c5c4ce58f47dde428c52b39904252191d25436b410cc232fae0813ff58f08" + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "orc-format" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "402a2dcf15f0a73c4fe33c622dec93adf95e05cb72d5b9a9af2bf51f3cc41f0b" +dependencies = [ + "fallible-streaming-iterator", + "flate2", + "prost 0.9.0", +] + +[[package]] +name = "os_str_bytes" +version = "6.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "parquet-format-safe" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1131c54b167dd4e4799ce762e1ab01549ebb94d5bdd13e6ec1b467491c378e1f" +dependencies = [ + "async-trait", + "futures", +] + +[[package]] +name = "parquet2" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aefc53bedbf9bbe0ff8912befafaafe30ced83851fb0aebe86696a9289ebb29e" +dependencies = [ + "async-stream", + "brotli", + "flate2", + "futures", + "lz4", + "lz4_flex", + "parquet-format-safe", + "seq-macro", + "snap 1.1.0", + "streaming-decompression", + "xxhash-rust", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "parse-zoneinfo" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41" +dependencies = [ + "regex", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "phf" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_shared" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "planus" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f" +dependencies = [ + "array-init-cursor", +] + +[[package]] +name = "plotters" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" + +[[package]] +name = "plotters-svg" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70" +dependencies = [ + "bitflags", + "byteorder", + "lazy_static", + "num-traits", + "quick-error", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.6.28", + "unarray", +] + +[[package]] +name = "prost" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +dependencies = [ + "bytes", + "prost-derive 0.9.0", +] + +[[package]] +name = "prost" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" +dependencies = [ + "bytes", + "prost-derive 0.11.8", +] + +[[package]] +name = "prost-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-derive" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quickcheck" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +dependencies = [ + "env_logger", + "log", + "rand 0.8.5", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.8", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_regex" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a9fe2d7d9eeaf3279d1780452a5bbd26b31b27938787ef1c3e930d1e9cfbd" +dependencies = [ + "rand 0.8.5", + "regex-syntax 0.6.28", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "raw-window-handle" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" +dependencies = [ + "cty", +] + +[[package]] +name = "rayon" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rle-decode-fast" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sample-arrow2" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b557c2d798c04f6ce0ae365117c6dcc48554bd71149dd4d78129badbbc717ac" +dependencies = [ + "arrow2", + "sample-std", +] + +[[package]] +name = "sample-std" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567a153dc3302ce838920fb095c025a6d0529fff0290d25deeec2136e41a57c8" +dependencies = [ + "casey", + "quickcheck", + "rand 0.8.5", + "rand_regex", + "regex", +] + +[[package]] +name = "sample-test" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713e500947ff19fc1ae2805afa33ef45f3bb2ec656c77d92252d24cf9e3091b2" +dependencies = [ + "quickcheck", + "sample-std", + "sample-test-macros", +] + +[[package]] +name = "sample-test-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1a2c832a259aae95b6ed1da3aa377111ffde38d4282fa734faa3fff356534e" +dependencies = [ + "proc-macro2", + "quote", + "sample-std", + "syn 1.0.109", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "scratch" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" + +[[package]] +name = "semver" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" + +[[package]] +name = "seq-macro" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc" + +[[package]] +name = "serde" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "smithay-client-toolkit" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a28f16a97fa0e8ce563b2774d1e732dd5d4025d2772c5dba0a41a0f90a29da3" +dependencies = [ + "bitflags", + "calloop", + "dlib", + "lazy_static", + "log", + "memmap2", + "nix 0.22.3", + "pkg-config", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "snap" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95d697d63d44ad8b78b8d235bf85b34022a78af292c8918527c5f0cffdde7f43" +dependencies = [ + "byteorder", + "lazy_static", +] + +[[package]] +name = "snap" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "streaming-decompression" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf6cc3b19bfb128a8ad11026086e31d3ce9ad23f8ea37354b31383a187c44cf3" +dependencies = [ + "fallible-streaming-iterator", +] + +[[package]] +name = "streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" + +[[package]] +name = "strength_reduce" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum_macros" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" +dependencies = [ + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + +[[package]] +name = "target-features" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24840de800c1707d75c800893dbd727a5e1501ce921944e602f0698167491e36" + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tokio" +version = "1.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +dependencies = [ + "autocfg", + "bytes", + "memchr", + "pin-project-lite", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tokio-util" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" + +[[package]] +name = "toml_edit" +version = "0.19.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc18466501acd8ac6a3f615dd29a3438f8ca6bb3b19537138b3106e575621274" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if 1.0.0", + "static_assertions", +] + +[[package]] +name = "typed-builder" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78cea224ddd4282dfc40d1edabbd0c020a12e946e3a48e2c2b8f6ff167ad29fe" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.8", + "serde", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" + +[[package]] +name = "wayland-client" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +dependencies = [ + "bitflags", + "downcast-rs", + "libc", + "nix 0.24.3", + "scoped-tls", + "wayland-commons", + "wayland-scanner", + "wayland-sys", +] + +[[package]] +name = "wayland-commons" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +dependencies = [ + "nix 0.24.3", + "once_cell", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-cursor" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +dependencies = [ + "nix 0.24.3", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +dependencies = [ + "bitflags", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +dependencies = [ + "dlib", + "lazy_static", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "widestring" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winit" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b43cc931d58b99461188607efd7acb2a093e65fc621f54cad78517a6063e73a" +dependencies = [ + "bitflags", + "cocoa", + "core-foundation 0.9.3", + "core-graphics 0.22.3", + "core-video-sys", + "dispatch", + "instant", + "lazy_static", + "libc", + "log", + "mio", + "ndk", + "ndk-glue", + "ndk-sys", + "objc", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "smithay-client-toolkit", + "wasm-bindgen", + "wayland-client", + "wayland-protocols", + "web-sys", + "winapi", + "x11-dl", +] + +[[package]] +name = "winnow" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d020b441f92996c80d94ae9166e8501e59c7bb56121189dc9eab3bd8216966" +dependencies = [ + "memchr", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "xcursor" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" +dependencies = [ + "nom", +] + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + +[[package]] +name = "zerocopy" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6580539ad917b7c026220c4b3f2c08d52ce54d6ce0dc491e66002e35388fab46" +dependencies = [ + "byteorder", + "zerocopy-derive 0.2.0", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive 0.7.32", +] + +[[package]] +name = "zerocopy-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d498dbd1fd7beb83c86709ae1c33ca50942889473473d287d56ce4770a18edfb" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.3+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" +dependencies = [ + "zstd-safe 6.0.5+zstd.1.5.4", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-safe" +version = "6.0.5+zstd.1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.7+zstd.1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" +dependencies = [ + "cc", + "libc", + "pkg-config", +] From 9682af80ace0ac36d341390a96192c68975a29ab Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 12 Jan 2024 13:51:56 +0100 Subject: [PATCH 03/18] Remove submodules --- .github/workflows/coverage.yml | 2 -- .github/workflows/integration-parquet.yml | 2 -- .github/workflows/test.yml | 8 -------- .gitmodules | 6 ------ DEVELOPMENT.md | 18 ++---------------- testing/arrow-testing | 1 - testing/parquet-testing | 1 - 7 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 .gitmodules delete mode 160000 testing/arrow-testing delete mode 160000 testing/parquet-testing diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 69d448cd7c..e9469eb5be 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -7,8 +7,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - with: - submodules: true # needed to test IPC, which are located in a submodule - name: Install Rust run: rustup toolchain install stable --component llvm-tools-preview - name: Install cargo-llvm-cov diff --git a/.github/workflows/integration-parquet.yml b/.github/workflows/integration-parquet.yml index 53a76d5b52..88c84da9ba 100644 --- a/.github/workflows/integration-parquet.yml +++ b/.github/workflows/integration-parquet.yml @@ -8,8 +8,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - submodules: true - name: Setup Rust toolchain run: | rustup toolchain install stable diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9a9e91c243..8abddfd616 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,8 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - submodules: true # needed to test IPC, which are located in a submodule - name: Install Rust run: rustup update stable - name: Setup parquet files @@ -35,8 +33,6 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - with: - submodules: true # needed to test IPC, which are located in a submodule - name: Install Rust run: rustup update stable - uses: Swatinem/rust-cache@v1 @@ -98,8 +94,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - submodules: true # needed to test IPC, which are located in a submodule - uses: actions-rs/toolchain@v1 with: toolchain: nightly-2022-12-05 @@ -162,8 +156,6 @@ jobs: - arm-linux-androideabi steps: - uses: actions/checkout@v2 - with: - submodules: true - uses: actions-rs/toolchain@v1 with: toolchain: nightly-2022-12-05 diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 61a00f837c..0000000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "testing/arrow-testing"] - path = testing/arrow-testing - url = https://github.com/apache/arrow-testing -[submodule "testing/parquet-testing"] - path = testing/parquet-testing - url = https://github.com/apache/parquet-testing diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 23ed2664e0..d61099da18 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -4,12 +4,6 @@ This crate follows the standard for developing a Rust library via `cargo`. The CI is our "ground truth" over the state of the library. Check out the different parts of the CI to understand how to test the different parts of this library locally. -## Git clone with submodules -The crate comes with additional submodules to aid with testing, to ensure you have them if you plan on testing, using `--recurse-submodules` will clone the submodules alongside the repository. - -```bash -git clone --recurse-submodules https://github.com/jorgecarleitao/arrow2 -``` ## Checks @@ -22,7 +16,7 @@ cargo clippy --all --features=full --tests -- -D warnings ## Testing -The simplest way to test the crate is to run +The simplest way to test the crate is to run ```bash cargo test --tests @@ -62,14 +56,6 @@ python tests/it/io/orc/write.py deactivate ``` -If you receive warnings about other files not found (IPC), ensure you have all submodules: -```bash -# If you didn't clone with `git clone --recurse-submodules https://github.com/jorgecarleitao/arrow2` -git submodule update --init --recursive - -# Update to the latest submodules -git submodule update --recursive --remote -``` during development of particular parts of the crate, it is usually faster to reduce the feature set - the tests are gated to only the relevant tests @@ -91,7 +77,7 @@ an issue, we favor having the PR on the changelog, since it includes a reference the author (credits). Summary: -* pull requests with both backward-incompatible changes and new +* pull requests with both backward-incompatible changes and new features/enhancements MUST close at least one issue (the one documenting the backward-incompatible change) * Every other pull request MAY close one issue diff --git a/testing/arrow-testing b/testing/arrow-testing deleted file mode 160000 index e8ce32338f..0000000000 --- a/testing/arrow-testing +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e8ce32338f2dfeca3a5126f7677bdee159604000 diff --git a/testing/parquet-testing b/testing/parquet-testing deleted file mode 160000 index 8e7badc6a3..0000000000 --- a/testing/parquet-testing +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8e7badc6a3817a02e06d17b5d8ab6b6dc356e890 From 7e3bed69e723d0dcbc7aea9d6f7ec7af1fa42f42 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 12 Jan 2024 13:52:57 +0100 Subject: [PATCH 04/18] Rename crate to re_arrow2 --- .gitignore | 1 + Cargo.lock | 114 +++++++++------ Cargo.toml | 47 +++--- DEVELOPMENT.md | 1 - README.md | 135 +----------------- arrow-odbc-integration-testing/Cargo.toml | 2 +- arrow-odbc-integration-testing/src/lib.rs | 2 +- arrow-odbc-integration-testing/src/read.rs | 12 +- arrow-odbc-integration-testing/src/write.rs | 10 +- arrow-parquet-integration-testing/Cargo.toml | 6 +- arrow-parquet-integration-testing/src/main.rs | 10 +- arrow-pyarrow-integration-testing/Cargo.toml | 7 +- .../src/c_stream.rs | 6 +- arrow-pyarrow-integration-testing/src/lib.rs | 8 +- benches/aggregate.rs | 6 +- benches/arithmetic_kernels.rs | 8 +- benches/assign_ops.rs | 4 +- benches/avro_read.rs | 6 +- benches/bitmap.rs | 2 +- benches/bitmap_assign_ops.rs | 4 +- benches/bitmap_ops.rs | 2 +- benches/bitwise.rs | 2 +- benches/cast_kernels.rs | 8 +- benches/comparison_kernels.rs | 6 +- benches/concatenate.rs | 2 +- benches/count_zeros.rs | 2 +- benches/filter_kernels.rs | 12 +- benches/growable.rs | 2 +- benches/hash_kernel.rs | 4 +- benches/iter_list.rs | 2 +- benches/iter_utf8.rs | 2 +- benches/length_kernel.rs | 4 +- benches/like_kernels.rs | 6 +- benches/read_json.rs | 8 +- benches/read_parquet.rs | 4 +- benches/slices_iterator.rs | 2 +- benches/sort_kernel.rs | 6 +- benches/take_kernels.rs | 6 +- benches/unset_count.rs | 2 +- benches/write_csv.rs | 10 +- benches/write_ipc.rs | 14 +- benches/write_json.rs | 8 +- benches/write_parquet.rs | 14 +- examples/arithmetics.rs | 10 +- examples/avro_kafka.rs | 2 +- examples/avro_read.rs | 6 +- examples/avro_read_async.rs | 8 +- examples/avro_write.rs | 2 +- examples/cow.rs | 4 +- examples/csv_read.rs | 8 +- examples/csv_read_async.rs | 4 +- examples/csv_read_parallel.rs | 6 +- examples/csv_write.rs | 2 +- examples/csv_write_parallel.rs | 2 +- examples/extension.rs | 12 +- examples/ffi.rs | 8 +- examples/growable.rs | 4 +- examples/io_odbc.rs | 16 +-- examples/ipc_file_mmap.rs | 22 +-- examples/ipc_file_read.rs | 12 +- examples/ipc_file_write.rs | 10 +- examples/ipc_pyarrow/src/main.rs | 8 +- examples/json_read.rs | 6 +- examples/json_write.rs | 2 +- examples/metadata.rs | 2 +- examples/ndjson_read.rs | 8 +- examples/ndjson_write.rs | 6 +- examples/orc_read.rs | 6 +- examples/parquet_read.rs | 4 +- examples/parquet_read_async.rs | 4 +- examples/parquet_read_parallel/src/main.rs | 2 +- examples/parquet_write.rs | 2 +- examples/parquet_write_async.rs | 2 +- examples/parquet_write_parallel/src/main.rs | 2 +- examples/s3/src/main.rs | 6 +- guide/src/high_level.md | 34 ++--- guide/src/low_level.md | 12 +- guide/src/metadata.md | 4 +- .../src/bin/arrow-file-to-stream.rs | 6 +- .../src/bin/arrow-json-integration-test.rs | 10 +- .../src/bin/arrow-stream-to-file.rs | 6 +- .../integration_test.rs | 12 +- .../integration_test.rs | 12 +- integration-testing/src/lib.rs | 14 +- src/array/binary/mod.rs | 6 +- src/array/boolean/mod.rs | 6 +- src/array/dictionary/mutable.rs | 2 +- src/array/ord.rs | 4 +- src/array/primitive/mod.rs | 12 +- src/array/struct_/mod.rs | 6 +- src/array/utf8/mod.rs | 6 +- src/bitmap/immutable.rs | 2 +- src/bitmap/mutable.rs | 2 +- src/buffer/immutable.rs | 2 +- src/compute/aggregate/min_max.rs | 4 +- src/compute/arithmetics/basic/add.rs | 40 +++--- src/compute/arithmetics/basic/div.rs | 16 +-- src/compute/arithmetics/basic/mod.rs | 12 +- src/compute/arithmetics/basic/mul.rs | 40 +++--- src/compute/arithmetics/basic/pow.rs | 8 +- src/compute/arithmetics/basic/rem.rs | 16 +-- src/compute/arithmetics/basic/sub.rs | 40 +++--- src/compute/arithmetics/decimal/add.rs | 24 ++-- src/compute/arithmetics/decimal/div.rs | 24 ++-- src/compute/arithmetics/decimal/mul.rs | 24 ++-- src/compute/arithmetics/decimal/sub.rs | 24 ++-- src/compute/arithmetics/time.rs | 18 +-- src/compute/boolean.rs | 40 +++--- src/compute/boolean_kleene.rs | 28 ++-- src/compute/comparison/mod.rs | 12 +- src/compute/concatenate.rs | 4 +- src/compute/filter.rs | 6 +- src/compute/hash.rs | 4 +- src/compute/if_then_else.rs | 6 +- src/compute/length.rs | 4 +- src/compute/like.rs | 16 +-- src/compute/merge_sort/mod.rs | 12 +- src/compute/nullif.rs | 26 ++-- src/compute/regex_match.rs | 4 +- src/compute/sort/lex_sort.rs | 6 +- src/compute/sort/mod.rs | 4 +- src/compute/substring.rs | 4 +- src/compute/take/mod.rs | 4 +- src/compute/temporal.rs | 8 +- src/compute/utf8.rs | 8 +- src/compute/window.rs | 4 +- src/doc/lib.md | 14 +- src/io/flight/mod.rs | 2 +- src/io/ipc/mod.rs | 10 +- src/io/ipc/write/file_async.rs | 12 +- src/io/ipc/write/stream_async.rs | 10 +- src/io/parquet/write/mod.rs | 4 +- src/io/parquet/write/sink.rs | 12 +- src/types/bit_chunk.rs | 4 +- tests/it/array/binary/mod.rs | 4 +- tests/it/array/binary/mutable.rs | 6 +- tests/it/array/binary/mutable_values.rs | 6 +- tests/it/array/binary/to_mutable.rs | 2 +- tests/it/array/boolean/mod.rs | 4 +- tests/it/array/boolean/mutable.rs | 8 +- tests/it/array/dictionary/mod.rs | 2 +- tests/it/array/dictionary/mutable.rs | 6 +- tests/it/array/equal/boolean.rs | 2 +- tests/it/array/equal/dictionary.rs | 2 +- tests/it/array/equal/fixed_size_list.rs | 2 +- tests/it/array/equal/list.rs | 6 +- tests/it/array/equal/mod.rs | 2 +- tests/it/array/equal/primitive.rs | 2 +- tests/it/array/equal/utf8.rs | 4 +- tests/it/array/fixed_size_binary/mod.rs | 2 +- tests/it/array/fixed_size_binary/mutable.rs | 6 +- tests/it/array/fixed_size_list/mod.rs | 2 +- tests/it/array/fixed_size_list/mutable.rs | 4 +- tests/it/array/growable/binary.rs | 2 +- tests/it/array/growable/boolean.rs | 4 +- tests/it/array/growable/dictionary.rs | 6 +- tests/it/array/growable/fixed_binary.rs | 2 +- tests/it/array/growable/fixed_size_list.rs | 2 +- tests/it/array/growable/list.rs | 2 +- tests/it/array/growable/map.rs | 2 +- tests/it/array/growable/mod.rs | 6 +- tests/it/array/growable/null.rs | 2 +- tests/it/array/growable/primitive.rs | 2 +- tests/it/array/growable/struct_.rs | 6 +- tests/it/array/growable/union.rs | 2 +- tests/it/array/growable/utf8.rs | 2 +- tests/it/array/list/mod.rs | 6 +- tests/it/array/list/mutable.rs | 2 +- tests/it/array/map/mod.rs | 2 +- tests/it/array/mod.rs | 6 +- tests/it/array/ord.rs | 8 +- tests/it/array/primitive/fmt.rs | 2 +- tests/it/array/primitive/mod.rs | 2 +- tests/it/array/primitive/mutable.rs | 2 +- tests/it/array/primitive/to_mutable.rs | 6 +- tests/it/array/struct_/iterator.rs | 6 +- tests/it/array/struct_/mod.rs | 6 +- tests/it/array/struct_/mutable.rs | 2 +- tests/it/array/union.rs | 2 +- tests/it/array/utf8/mod.rs | 2 +- tests/it/array/utf8/mutable.rs | 6 +- tests/it/array/utf8/mutable_values.rs | 6 +- tests/it/array/utf8/to_mutable.rs | 2 +- tests/it/arrow.rs | 8 +- tests/it/bitmap/assign_ops.rs | 2 +- tests/it/bitmap/bitmap_ops.rs | 2 +- tests/it/bitmap/immutable.rs | 2 +- tests/it/bitmap/mod.rs | 2 +- tests/it/bitmap/mutable.rs | 2 +- tests/it/bitmap/utils/bit_chunks_exact.rs | 2 +- tests/it/bitmap/utils/chunk_iter.rs | 4 +- tests/it/bitmap/utils/fmt.rs | 2 +- tests/it/bitmap/utils/iterator.rs | 2 +- tests/it/bitmap/utils/mod.rs | 2 +- tests/it/bitmap/utils/slice_iterator.rs | 4 +- tests/it/bitmap/utils/zip_validity.rs | 2 +- tests/it/buffer/immutable.rs | 2 +- tests/it/compute/aggregate/memory.rs | 2 +- tests/it/compute/aggregate/min_max.rs | 4 +- tests/it/compute/aggregate/sum.rs | 10 +- tests/it/compute/arithmetics/basic/add.rs | 8 +- tests/it/compute/arithmetics/basic/div.rs | 6 +- tests/it/compute/arithmetics/basic/mul.rs | 8 +- tests/it/compute/arithmetics/basic/pow.rs | 4 +- tests/it/compute/arithmetics/basic/rem.rs | 6 +- tests/it/compute/arithmetics/basic/sub.rs | 8 +- tests/it/compute/arithmetics/decimal/add.rs | 8 +- tests/it/compute/arithmetics/decimal/div.rs | 10 +- tests/it/compute/arithmetics/decimal/mul.rs | 8 +- tests/it/compute/arithmetics/decimal/sub.rs | 8 +- tests/it/compute/arithmetics/mod.rs | 10 +- tests/it/compute/arithmetics/time.rs | 10 +- tests/it/compute/arity_assign.rs | 4 +- tests/it/compute/bitwise.rs | 4 +- tests/it/compute/boolean.rs | 6 +- tests/it/compute/boolean_kleene.rs | 6 +- tests/it/compute/cast.rs | 10 +- tests/it/compute/comparison.rs | 16 +-- tests/it/compute/concatenate.rs | 6 +- tests/it/compute/contains.rs | 4 +- tests/it/compute/filter.rs | 6 +- tests/it/compute/hash.rs | 8 +- tests/it/compute/if_then_else.rs | 6 +- tests/it/compute/length.rs | 10 +- tests/it/compute/like.rs | 6 +- tests/it/compute/limit.rs | 4 +- tests/it/compute/merge_sort.rs | 8 +- tests/it/compute/partition.rs | 10 +- tests/it/compute/regex_match.rs | 8 +- tests/it/compute/sort/lex_sort.rs | 4 +- tests/it/compute/sort/mod.rs | 14 +- tests/it/compute/sort/row/mod.rs | 2 +- tests/it/compute/substring.rs | 6 +- tests/it/compute/take.rs | 16 +-- tests/it/compute/temporal.rs | 12 +- tests/it/compute/utf8.rs | 10 +- tests/it/compute/window.rs | 6 +- tests/it/ffi/data.rs | 8 +- tests/it/ffi/mod.rs | 4 +- tests/it/ffi/stream.rs | 6 +- tests/it/io/avro/read.rs | 12 +- tests/it/io/avro/read_async.rs | 6 +- tests/it/io/avro/write.rs | 16 +-- tests/it/io/avro/write_async.rs | 14 +- tests/it/io/csv/read.rs | 8 +- tests/it/io/csv/read_async.rs | 6 +- tests/it/io/csv/write.rs | 10 +- tests/it/io/flight/mod.rs | 12 +- tests/it/io/ipc/common.rs | 2 +- tests/it/io/ipc/mmap.rs | 14 +- tests/it/io/ipc/read/file.rs | 6 +- tests/it/io/ipc/read/stream.rs | 6 +- tests/it/io/ipc/read_file_async.rs | 4 +- tests/it/io/ipc/read_stream_async.rs | 4 +- tests/it/io/ipc/write/file.rs | 14 +- tests/it/io/ipc/write/file_append.rs | 12 +- tests/it/io/ipc/write/stream.rs | 16 +-- tests/it/io/ipc/write_file_async.rs | 16 +-- tests/it/io/ipc/write_stream_async.rs | 16 +-- tests/it/io/json/mod.rs | 10 +- tests/it/io/json/read.rs | 8 +- tests/it/io/json/write.rs | 4 +- tests/it/io/ndjson/mod.rs | 10 +- tests/it/io/ndjson/read.rs | 10 +- tests/it/io/orc/read.rs | 6 +- tests/it/io/parquet/deserialize.rs | 2 +- tests/it/io/parquet/integration.rs | 2 +- tests/it/io/parquet/mod.rs | 4 +- tests/it/io/parquet/read.rs | 20 +-- tests/it/io/parquet/read_indexes.rs | 10 +- tests/it/io/parquet/sample_tests.rs | 4 +- tests/it/io/parquet/write.rs | 4 +- tests/it/io/parquet/write_async.rs | 4 +- tests/it/io/print.rs | 2 +- tests/it/scalar/binary.rs | 2 +- tests/it/scalar/boolean.rs | 2 +- tests/it/scalar/fixed_size_binary.rs | 2 +- tests/it/scalar/fixed_size_list.rs | 2 +- tests/it/scalar/list.rs | 2 +- tests/it/scalar/map.rs | 2 +- tests/it/scalar/mod.rs | 2 +- tests/it/scalar/null.rs | 2 +- tests/it/scalar/primitive.rs | 2 +- tests/it/scalar/struct_.rs | 2 +- tests/it/scalar/utf8.rs | 2 +- tests/it/temporal_conversions.rs | 8 +- tests/it/types.rs | 2 +- 287 files changed, 1109 insertions(+), 1188 deletions(-) diff --git a/.gitignore b/.gitignore index 27041f4b72..a5a306f937 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ target +target_ra target-tarpaulin venv lcov.info diff --git a/Cargo.lock b/Cargo.lock index 0b45696c76..cc9510604a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,66 +145,21 @@ checksum = "09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167" [[package]] name = "arrow2" version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59c468daea140b747d781a1da9f7db5f0a8e6636d4af20cc539e43d05b0604fa" dependencies = [ "ahash", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-format", - "arrow-schema", - "async-stream", - "avro-rs", - "avro-schema", - "base64", "bytemuck", "chrono", - "chrono-tz", - "comfy-table", - "criterion", - "crossbeam-channel", - "csv", - "csv-async", - "csv-core", - "doc-comment", "dyn-clone", "either", "ethnum", - "fallible-streaming-iterator", - "flate2", "foreign_vec", - "futures", "getrandom 0.2.8", "hash_hasher", - "hashbrown 0.14.3", - "hex", - "indexmap", - "itertools", - "json-deserializer", - "lexical-core", - "lz4", - "memchr", - "multiversion", "num-traits", - "odbc-api", - "orc-format", - "parquet2", - "proptest", - "rand 0.8.5", - "regex", - "regex-syntax 0.7.5", "rustc_version", - "sample-arrow2", - "sample-std", - "sample-test", - "serde", - "serde_derive", - "serde_json", "simdutf8", - "streaming-iterator", - "strength_reduce", - "tokio", - "tokio-util", - "zstd 0.12.3+zstd.1.5.2", ] [[package]] @@ -2249,6 +2204,71 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "re_arrow2" +version = "0.17.4" +dependencies = [ + "ahash", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-format", + "arrow-schema", + "async-stream", + "avro-rs", + "avro-schema", + "base64", + "bytemuck", + "chrono", + "chrono-tz", + "comfy-table", + "criterion", + "crossbeam-channel", + "csv", + "csv-async", + "csv-core", + "doc-comment", + "dyn-clone", + "either", + "ethnum", + "fallible-streaming-iterator", + "flate2", + "foreign_vec", + "futures", + "getrandom 0.2.8", + "hash_hasher", + "hashbrown 0.14.3", + "hex", + "indexmap", + "itertools", + "json-deserializer", + "lexical-core", + "lz4", + "memchr", + "multiversion", + "num-traits", + "odbc-api", + "orc-format", + "parquet2", + "proptest", + "rand 0.8.5", + "regex", + "regex-syntax 0.7.5", + "rustc_version", + "sample-arrow2", + "sample-std", + "sample-test", + "serde", + "serde_derive", + "serde_json", + "simdutf8", + "streaming-iterator", + "strength_reduce", + "tokio", + "tokio-util", + "zstd 0.12.3+zstd.1.5.2", +] + [[package]] name = "redox_syscall" version = "0.2.16" diff --git a/Cargo.toml b/Cargo.toml index a8e5933d2f..537bea83bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,17 +1,21 @@ [package] -name = "arrow2" +name = "re_arrow2" version = "0.17.4" license = "Apache-2.0" description = "Unofficial implementation of Apache Arrow spec in safe Rust" -homepage = "https://github.com/jorgecarleitao/arrow2" -repository = "https://github.com/jorgecarleitao/arrow2" -authors = ["Jorge C. Leitao ", "Apache Arrow "] +homepage = "https://github.com/rerun-io/re_arrow2" +repository = "https://github.com/rerun-io/re_arrow2" +authors = [ + "Rerun.io ", + "Jorge C. Leitao ", + "Apache Arrow ", +] keywords = ["arrow", "analytics"] edition = "2021" exclude = ["testing/"] [lib] -name = "arrow2" +name = "re_arrow2" bench = false [dependencies] @@ -51,7 +55,9 @@ regex-syntax = { version = "0.7", optional = true } streaming-iterator = { version = "0.1", optional = true } fallible-streaming-iterator = { version = "0.1", optional = true } -json-deserializer = { version = "0.4.4", optional = true, features = ["preserve_order"] } +json-deserializer = { version = "0.4.4", optional = true, features = [ + "preserve_order", +] } indexmap = { version = "^1.6", optional = true } # used to print columns in a nice columnar format @@ -86,7 +92,9 @@ orc-format = { version = "0.3.0", optional = true } # Arrow integration tests support serde = { version = "^1.0", features = ["rc"], optional = true } serde_derive = { version = "^1.0", optional = true } -serde_json = { version = "^1.0", features = ["preserve_order"], optional = true } +serde_json = { version = "^1.0", features = [ + "preserve_order", +], optional = true } # for division/remainder optimization at runtime strength_reduce = { version = "0.2", optional = true } @@ -138,7 +146,7 @@ sample-test = "0.1" # ugly hack needed to match this library in sample_arrow2 [patch.crates-io] -arrow2 = { path = "." } +re_arrow2 = { path = "." } [package.metadata.docs.rs] features = ["full"] @@ -180,7 +188,11 @@ io_csv_read_async = ["csv-async", "lexical-core", "futures"] io_csv_write = ["csv-core", "streaming-iterator", "lexical-core"] io_json = ["io_json_read", "io_json_write"] io_json_read = ["json-deserializer", "indexmap", "lexical-core"] -io_json_write = ["streaming-iterator", "fallible-streaming-iterator", "lexical-core"] +io_json_write = [ + "streaming-iterator", + "fallible-streaming-iterator", + "lexical-core", +] io_ipc = ["arrow-format"] io_ipc_write_async = ["io_ipc", "futures"] io_ipc_read_async = ["io_ipc", "futures", "async-stream"] @@ -188,7 +200,13 @@ io_ipc_compression = ["lz4", "zstd"] io_flight = ["io_ipc", "arrow-format/flight-data"] # base64 + io_ipc because arrow schemas are stored as base64-encoded ipc format. -io_parquet = ["parquet2", "io_ipc", "base64", "streaming-iterator", "fallible-streaming-iterator"] +io_parquet = [ + "parquet2", + "io_ipc", + "base64", + "streaming-iterator", + "fallible-streaming-iterator", +] io_parquet_async = ["futures", "io_parquet", "parquet2/async"] io_parquet_compression = [ @@ -196,7 +214,7 @@ io_parquet_compression = [ "io_parquet_gzip", "io_parquet_snappy", "io_parquet_lz4", - "io_parquet_brotli" + "io_parquet_brotli", ] # sample testing of generated arrow data @@ -214,9 +232,7 @@ io_parquet_brotli = ["parquet2/brotli"] io_parquet_bloom_filter = ["parquet2/bloom_filter"] io_avro = ["avro-schema", "streaming-iterator"] -io_avro_compression = [ - "avro-schema/compression", -] +io_avro_compression = ["avro-schema/compression"] io_avro_async = ["avro-schema/async"] io_orc = ["orc-format"] @@ -277,7 +293,7 @@ compute = [ "compute_take", "compute_temporal", "compute_utf8", - "compute_window" + "compute_window", ] benchmarks = ["rand"] serde_types = ["serde", "serde_derive"] @@ -401,4 +417,3 @@ harness = false [[bench]] name = "like_kernels" harness = false - diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d61099da18..1afaff592b 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -4,7 +4,6 @@ This crate follows the standard for developing a Rust library via `cargo`. The CI is our "ground truth" over the state of the library. Check out the different parts of the CI to understand how to test the different parts of this library locally. - ## Checks PRs will run the following checks: diff --git a/README.md b/README.md index 0c4e428b57..55cfe4d2c6 100644 --- a/README.md +++ b/README.md @@ -1,131 +1,6 @@ -# Arrow2: Transmute-free Arrow - -[![test](https://github.com/jorgecarleitao/arrow2/actions/workflows/test.yml/badge.svg)](https://github.com/jorgecarleitao/arrow2/actions/workflows/Build.yml) -[![codecov](https://codecov.io/gh/jorgecarleitao/arrow2/branch/main/graph/badge.svg?token=AgyTF60R3D)](https://codecov.io/gh/jorgecarleitao/arrow2) -[![](https://img.shields.io/crates/d/arrow2.svg)](https://crates.io/crates/arrow2) -[![](https://img.shields.io/crates/dv/arrow2.svg)](https://crates.io/crates/arrow2) -[![](https://docs.rs/arrow2/badge.svg)](https://docs.rs/arrow2/) - -A Rust crate to work with [Apache Arrow](https://arrow.apache.org/). -The most feature-complete implementation of the Arrow format after the C++ -implementation. - -Check out [the guide](https://jorgecarleitao.github.io/arrow2/main/guide) -for a general introduction on how to use this crate, and -[API docs](https://jorgecarleitao.github.io/arrow2/main/docs/arrow2) -for a detailed documentation of each of its APIs. - -## Features - -* Most feature-complete implementation of Apache Arrow after the reference implementation (C++) - * Decimal 256 unsupported (not a Rust native type) -* C data interface supported for all Arrow types (read and write) -* C stream interface supported for all Arrow types (read and write) -* Full interoperability with Rust's `Vec` -* MutableArray API to work with bitmaps and arrays in-place -* Full support for timestamps with timezones, including arithmetics that take - timezones into account -* Support to read from, and write to: - * CSV - * Apache Arrow IPC (all types) - * Apache Arrow Flight (all types) - * Apache Parquet (except deep nested types) - * Apache Avro (all types) - * NJSON - * ODBC (some types) -* Extensive suite of compute operations - * aggregations - * arithmetics - * cast - * comparison - * sort and merge-sort - * boolean (AND, OR, etc) and boolean kleene - * filter, take - * hash - * if-then-else - * nullif - * temporal (day, month, week day, hour, etc.) - * window - * ... and more ... -* Extensive set of cargo feature flags to reduce compilation time and binary size -* Fully-decoupled IO between CPU-bounded and IO-bounded tasks, allowing - this crate to both be used in `async` contexts without blocking and leverage parallelism -* Fastest known implementation of Avro and Parquet (e.g. faster than the official - C++ implementations) - -## Safety and Security - -This crate uses `unsafe` when strictly necessary: -* when the compiler can't prove certain invariants and -* FFI - -We have extensive tests over these, all of which run and pass under MIRI. -Most uses of `unsafe` fall into 3 categories: - -* The Arrow format has invariants over UTF-8 that can't be written in safe Rust -* `TrustedLen` and trait specialization are still nightly features -* FFI - -We actively monitor for vulnerabilities in Rust's advisory and either patch or mitigate -them (see e.g. `.cargo/audit.yaml` and `.github/workflows/security.yaml`). - -Reading from untrusted data currently _may_ `panic!` on the following formats: - -* Apache Parquet -* Apache Avro - -We are actively addressing this. - -## Integration tests - -Our tests include roundtrip against: -* Apache Arrow IPC (both little and big endian) generated by C++, Java, Go, C# and JS - implementations. -* Apache Parquet format (in its different configurations) generated by Arrow's C++ and - Spark's implementation -* Apache Avro generated by the official Rust Avro implementation - -Check [DEVELOPMENT.md](DEVELOPMENT.md) for our development practices. - -## Versioning - -We use the SemVer 2.0 used by Cargo and the remaining of the Rust ecosystem, -we also use the `0.x.y` versioning, since we are iterating over the API. - -## Design - -This repo and crate's primary goal is to offer a safe Rust implementation of the Arrow specification. -As such, it - -* MUST NOT implement any logical type other than the ones defined on the arrow specification, [schema.fbs](https://github.com/apache/arrow/blob/master/format/Schema.fbs). -* MUST lay out memory according to the [arrow specification](https://arrow.apache.org/docs/format/Columnar.html) -* MUST support reading from and writing to the [C data interface](https://arrow.apache.org/docs/format/CDataInterface.html) at zero-copy. -* MUST support reading from, and writing to, the [IPC specification](https://arrow.apache.org/docs/python/ipc.html), which it MUST verify against golden files available [here](https://github.com/apache/arrow-testing). - -Design documents about each of the parts of this repo are available on their respective READMEs. - -## FAQ - -### Any plans to merge with the Apache Arrow project? - -Maybe. The primary reason to have this repo and crate is to be able to prototype -and mature using a fundamentally different design based on a transmute-free -implementation. This requires breaking backward compatibility and loss of -features that is impossible to achieve on the Arrow repo. - -Furthermore, the arrow project currently has a release mechanism that is -unsuitable for this type of work: - -* A release of the Apache consists of a release of all implementations of the - arrow format at once, with the same version. It is currently at `5.0.0`. - -This implies that the crate version is independent of the changelog or its API stability, -which violates SemVer. This procedure makes the crate incompatible with -Rust's (and many others') ecosystem that heavily relies on SemVer to constraint -software versions. - -Secondly, this implies the arrow crate is versioned as `>0.x`. This places -expectations about API stability that are incompatible with this effort. +# `re_arrow2` - a fork of +The eco-system is moving to , so we suggest you use that instead. +We are planning on switching to `arrow` in the future as well. ## License @@ -135,7 +10,3 @@ Licensed under either of * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. diff --git a/arrow-odbc-integration-testing/Cargo.toml b/arrow-odbc-integration-testing/Cargo.toml index add16ba5d2..5fb2f8ec10 100644 --- a/arrow-odbc-integration-testing/Cargo.toml +++ b/arrow-odbc-integration-testing/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Jorge C. Leitao "] edition = "2021" [dependencies] -arrow2 = { path = "../", default-features = false, features = ["io_odbc"] } +re_arrow2 = { path = "../", default-features = false, features = ["io_odbc"] } lazy_static = "1.4.0" # Function name macro is used to ensure unique table names in test stdext = "0.3.1" diff --git a/arrow-odbc-integration-testing/src/lib.rs b/arrow-odbc-integration-testing/src/lib.rs index bfc24d65dc..981523fbd7 100644 --- a/arrow-odbc-integration-testing/src/lib.rs +++ b/arrow-odbc-integration-testing/src/lib.rs @@ -3,8 +3,8 @@ mod read; mod write; -use arrow2::io::odbc::api::{Connection, Environment, Error as OdbcError}; use lazy_static::lazy_static; +use re_arrow2::io::odbc::api::{Connection, Environment, Error as OdbcError}; lazy_static! { /// This is an example for using doc comment attributes diff --git a/arrow-odbc-integration-testing/src/read.rs b/arrow-odbc-integration-testing/src/read.rs index a41b138873..faa9ecb84b 100644 --- a/arrow-odbc-integration-testing/src/read.rs +++ b/arrow-odbc-integration-testing/src/read.rs @@ -1,11 +1,11 @@ use stdext::function_name; -use arrow2::array::{Array, BinaryArray, BooleanArray, Int32Array, Int64Array, Utf8Array}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{DataType, Field, TimeUnit}; -use arrow2::error::Result; -use arrow2::io::odbc::api::{Connection, Cursor}; -use arrow2::io::odbc::read::{buffer_from_metadata, deserialize, infer_schema}; +use re_arrow2::array::{Array, BinaryArray, BooleanArray, Int32Array, Int64Array, Utf8Array}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{DataType, Field, TimeUnit}; +use re_arrow2::error::Result; +use re_arrow2::io::odbc::api::{Connection, Cursor}; +use re_arrow2::io::odbc::read::{buffer_from_metadata, deserialize, infer_schema}; use super::{setup_empty_table, ENV, MSSQL}; diff --git a/arrow-odbc-integration-testing/src/write.rs b/arrow-odbc-integration-testing/src/write.rs index bcf12761ab..9ca0739608 100644 --- a/arrow-odbc-integration-testing/src/write.rs +++ b/arrow-odbc-integration-testing/src/write.rs @@ -1,10 +1,10 @@ use stdext::function_name; -use arrow2::array::{Array, BinaryArray, BooleanArray, Int32Array, Utf8Array}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{DataType, Field}; -use arrow2::error::Result; -use arrow2::io::odbc::write::{buffer_from_description, infer_descriptions, serialize}; +use re_arrow2::array::{Array, BinaryArray, BooleanArray, Int32Array, Utf8Array}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{DataType, Field}; +use re_arrow2::error::Result; +use re_arrow2::io::odbc::write::{buffer_from_description, infer_descriptions, serialize}; use super::read::read; use super::{setup_empty_table, ENV, MSSQL}; diff --git a/arrow-parquet-integration-testing/Cargo.toml b/arrow-parquet-integration-testing/Cargo.toml index 570bd8fa6f..758eaaf0b6 100644 --- a/arrow-parquet-integration-testing/Cargo.toml +++ b/arrow-parquet-integration-testing/Cargo.toml @@ -6,7 +6,11 @@ edition = "2021" [dependencies] clap = { version = "^3", features = ["derive"] } -arrow2 = { path = "../", default-features = false, features = ["io_parquet", "io_json_integration", "io_parquet_compression"] } +re_arrow2 = { path = "../", default-features = false, features = [ + "io_parquet", + "io_json_integration", + "io_parquet_compression", +] } flate2 = "^1" serde = { version = "^1.0", features = ["rc"] } serde_derive = { version = "^1.0" } diff --git a/arrow-parquet-integration-testing/src/main.rs b/arrow-parquet-integration-testing/src/main.rs index f9c95dc26b..02f9feb4c8 100644 --- a/arrow-parquet-integration-testing/src/main.rs +++ b/arrow-parquet-integration-testing/src/main.rs @@ -1,9 +1,11 @@ use std::fs::File; use std::io::Read; -use arrow2::array::Array; -use arrow2::io::ipc::IpcField; -use arrow2::{ +use clap::Parser; +use flate2::read::GzDecoder; +use re_arrow2::array::Array; +use re_arrow2::io::ipc::IpcField; +use re_arrow2::{ chunk::Chunk, datatypes::{DataType, Schema}, error::Result, @@ -17,8 +19,6 @@ use arrow2::{ }, AHashMap, }; -use clap::Parser; -use flate2::read::GzDecoder; /// Read gzipped JSON file pub fn read_gzip_json( diff --git a/arrow-pyarrow-integration-testing/Cargo.toml b/arrow-pyarrow-integration-testing/Cargo.toml index 009dc24d7e..e686bd934e 100644 --- a/arrow-pyarrow-integration-testing/Cargo.toml +++ b/arrow-pyarrow-integration-testing/Cargo.toml @@ -18,7 +18,10 @@ [package] name = "arrow-pyarrow-integration-testing" version = "0.0.0" -authors = ["Jorge C. Leitao ", "Apache Arrow "] +authors = [ + "Jorge C. Leitao ", + "Apache Arrow ", +] license = "Apache-2.0" edition = "2021" @@ -27,7 +30,7 @@ name = "arrow_pyarrow_integration_testing" crate-type = ["cdylib"] [dependencies] -arrow2 = { path = "../", default-features = false } +re_arrow2 = { path = "../", default-features = false } pyo3 = { version = "0.14", features = ["extension-module"] } [package.metadata.maturin] diff --git a/arrow-pyarrow-integration-testing/src/c_stream.rs b/arrow-pyarrow-integration-testing/src/c_stream.rs index 1c51204088..fad9340485 100644 --- a/arrow-pyarrow-integration-testing/src/c_stream.rs +++ b/arrow-pyarrow-integration-testing/src/c_stream.rs @@ -3,9 +3,9 @@ use pyo3::ffi::Py_uintptr_t; use pyo3::prelude::*; -use arrow2::array::{Int32Array, StructArray}; -use arrow2::datatypes::DataType; -use arrow2::ffi; +use re_arrow2::array::{Int32Array, StructArray}; +use re_arrow2::datatypes::DataType; +use re_arrow2::ffi; use super::*; diff --git a/arrow-pyarrow-integration-testing/src/lib.rs b/arrow-pyarrow-integration-testing/src/lib.rs index ddfe800599..452263a42c 100644 --- a/arrow-pyarrow-integration-testing/src/lib.rs +++ b/arrow-pyarrow-integration-testing/src/lib.rs @@ -10,7 +10,7 @@ use pyo3::ffi::Py_uintptr_t; use pyo3::prelude::*; use pyo3::wrap_pyfunction; -use arrow2::{array::Array, datatypes::Field, error::Error, ffi}; +use re_arrow2::{array::Array, datatypes::Field, error::Error, ffi}; /// an error that bridges Error with a Python error #[derive(Debug)] @@ -80,8 +80,8 @@ fn to_py_array(array: Box, py: Python) -> PyResult { ))); let array = Box::new(ffi::export_array_to_c(array)); - let schema_ptr: *const arrow2::ffi::ArrowSchema = &*schema; - let array_ptr: *const arrow2::ffi::ArrowArray = &*array; + let schema_ptr: *const re_arrow2::ffi::ArrowSchema = &*schema; + let array_ptr: *const re_arrow2::ffi::ArrowArray = &*array; let pa = py.import("pyarrow")?; @@ -110,7 +110,7 @@ fn to_rust_field(ob: PyObject, py: Python) -> PyResult { fn to_py_field(field: &Field, py: Python) -> PyResult { let schema = Box::new(ffi::export_field_to_c(field)); - let schema_ptr: *const arrow2::ffi::ArrowSchema = &*schema; + let schema_ptr: *const re_arrow2::ffi::ArrowSchema = &*schema; let pa = py.import("pyarrow")?; diff --git a/benches/aggregate.rs b/benches/aggregate.rs index ac5002d31e..d29ff5cb17 100644 --- a/benches/aggregate.rs +++ b/benches/aggregate.rs @@ -1,8 +1,8 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::compute::aggregate::*; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::compute::aggregate::*; +use re_arrow2::util::bench_util::*; fn bench_sum(arr_a: &dyn Array) { sum(criterion::black_box(arr_a)).unwrap(); diff --git a/benches/arithmetic_kernels.rs b/benches/arithmetic_kernels.rs index 950a08b10f..4c755c4601 100644 --- a/benches/arithmetic_kernels.rs +++ b/benches/arithmetic_kernels.rs @@ -1,10 +1,10 @@ -use arrow2::compute::arithmetics::basic::NativeArithmetics; use criterion::{criterion_group, criterion_main, Criterion}; +use re_arrow2::compute::arithmetics::basic::NativeArithmetics; -use arrow2::array::*; -use arrow2::util::bench_util::*; -use arrow2::{compute::arithmetics::basic::add, compute::arithmetics::basic::div_scalar}; use num_traits::NumCast; +use re_arrow2::array::*; +use re_arrow2::util::bench_util::*; +use re_arrow2::{compute::arithmetics::basic::add, compute::arithmetics::basic::div_scalar}; use std::ops::{Add, Div}; fn bench_div_scalar(lhs: &PrimitiveArray, rhs: &T) diff --git a/benches/assign_ops.rs b/benches/assign_ops.rs index 5c190e43c5..ad3061b28a 100644 --- a/benches/assign_ops.rs +++ b/benches/assign_ops.rs @@ -1,7 +1,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::compute::arity_assign::{binary, unary}; -use arrow2::{ +use re_arrow2::compute::arity_assign::{binary, unary}; +use re_arrow2::{ compute::arithmetics::basic::{mul, mul_scalar}, util::bench_util::*, }; diff --git a/benches/avro_read.rs b/benches/avro_read.rs index 37088492df..c09e5ed84c 100644 --- a/benches/avro_read.rs +++ b/benches/avro_read.rs @@ -3,11 +3,11 @@ use std::io::Cursor; use avro_rs::types::Record; use criterion::*; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::read::read_metadata; -use arrow2::io::avro::read; use avro_rs::*; use avro_rs::{Codec, Schema as AvroSchema}; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::read::read_metadata; +use re_arrow2::io::avro::read; fn schema() -> AvroSchema { let raw_schema = r#" diff --git a/benches/bitmap.rs b/benches/bitmap.rs index 5fde7fca77..6adb55427a 100644 --- a/benches/bitmap.rs +++ b/benches/bitmap.rs @@ -2,7 +2,7 @@ use std::iter::FromIterator; use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::*; +use re_arrow2::bitmap::*; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/bitmap_assign_ops.rs b/benches/bitmap_assign_ops.rs index 926be0a60e..a926f4da26 100644 --- a/benches/bitmap_assign_ops.rs +++ b/benches/bitmap_assign_ops.rs @@ -1,7 +1,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::{binary_assign, unary_assign}; -use arrow2::bitmap::{Bitmap, MutableBitmap}; +use re_arrow2::bitmap::{binary_assign, unary_assign}; +use re_arrow2::bitmap::{Bitmap, MutableBitmap}; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/bitmap_ops.rs b/benches/bitmap_ops.rs index 85a6db602b..985d1f5b5c 100644 --- a/benches/bitmap_ops.rs +++ b/benches/bitmap_ops.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::Bitmap; +use re_arrow2::bitmap::Bitmap; fn bench_arrow2(lhs: &Bitmap, rhs: &Bitmap) { let r = lhs | rhs; diff --git a/benches/bitwise.rs b/benches/bitwise.rs index 704e32aac7..d45aa8661a 100644 --- a/benches/bitwise.rs +++ b/benches/bitwise.rs @@ -3,7 +3,7 @@ use std::ops::{BitAnd, BitOr, BitXor, Not}; use criterion::{criterion_group, criterion_main, Criterion}; use num_traits::NumCast; -use arrow2::{ +use re_arrow2::{ array::PrimitiveArray, compute::bitwise::*, types::NativeType, util::bench_util::create_primitive_array_with_seed, }; diff --git a/benches/cast_kernels.rs b/benches/cast_kernels.rs index 2367ef03d0..036f7e7a2a 100644 --- a/benches/cast_kernels.rs +++ b/benches/cast_kernels.rs @@ -19,10 +19,10 @@ use criterion::{criterion_group, criterion_main, Criterion}; use rand::distributions::Uniform; use rand::Rng; -use arrow2::array::*; -use arrow2::compute::cast; -use arrow2::datatypes::*; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::compute::cast; +use re_arrow2::datatypes::*; +use re_arrow2::util::bench_util::*; fn build_utf8_date_array(size: usize, with_nulls: bool) -> Utf8Array { use chrono::NaiveDate; diff --git a/benches/comparison_kernels.rs b/benches/comparison_kernels.rs index cbea8f8f74..c609cfa53f 100644 --- a/benches/comparison_kernels.rs +++ b/benches/comparison_kernels.rs @@ -1,8 +1,8 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::compute::comparison::{eq, eq_scalar}; -use arrow2::scalar::*; -use arrow2::util::bench_util::*; +use re_arrow2::compute::comparison::{eq, eq_scalar}; +use re_arrow2::scalar::*; +use re_arrow2::util::bench_util::*; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/concatenate.rs b/benches/concatenate.rs index b2e3713d44..6892173472 100644 --- a/benches/concatenate.rs +++ b/benches/concatenate.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::{ +use re_arrow2::{ compute::concatenate::concatenate, util::bench_util::{create_boolean_array, create_primitive_array}, }; diff --git a/benches/count_zeros.rs b/benches/count_zeros.rs index 38d1570d21..7d7ad6b590 100644 --- a/benches/count_zeros.rs +++ b/benches/count_zeros.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::utils::count_zeros; +use re_arrow2::bitmap::utils::count_zeros; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/filter_kernels.rs b/benches/filter_kernels.rs index 97e8dc320c..5f7386b83f 100644 --- a/benches/filter_kernels.rs +++ b/benches/filter_kernels.rs @@ -16,11 +16,13 @@ // under the License. use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::compute::filter::{build_filter, filter, filter_chunk, Filter}; -use arrow2::datatypes::DataType; -use arrow2::util::bench_util::{create_boolean_array, create_primitive_array, create_string_array}; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::compute::filter::{build_filter, filter, filter_chunk, Filter}; +use re_arrow2::datatypes::DataType; +use re_arrow2::util::bench_util::{ + create_boolean_array, create_primitive_array, create_string_array, +}; fn bench_filter(data_array: &dyn Array, filter_array: &BooleanArray) { criterion::black_box(filter(data_array, filter_array).unwrap()); diff --git a/benches/growable.rs b/benches/growable.rs index ca7ac8a904..ff7a7232c6 100644 --- a/benches/growable.rs +++ b/benches/growable.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::{ +use re_arrow2::{ array::growable::{Growable, GrowablePrimitive}, util::bench_util::create_primitive_array, }; diff --git a/benches/hash_kernel.rs b/benches/hash_kernel.rs index 81119b3aaf..67005b977e 100644 --- a/benches/hash_kernel.rs +++ b/benches/hash_kernel.rs @@ -1,7 +1,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::compute::hash::hash; -use arrow2::util::bench_util::*; +use re_arrow2::compute::hash::hash; +use re_arrow2::util::bench_util::*; fn add_benchmark(c: &mut Criterion) { let log2_size = 10; diff --git a/benches/iter_list.rs b/benches/iter_list.rs index 43b7698f3e..1cc9d47f0c 100644 --- a/benches/iter_list.rs +++ b/benches/iter_list.rs @@ -2,7 +2,7 @@ use std::iter::FromIterator; use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::{ +use re_arrow2::{ array::{ListArray, PrimitiveArray}, bitmap::Bitmap, buffer::Buffer, diff --git a/benches/iter_utf8.rs b/benches/iter_utf8.rs index d80ba12389..402e27077f 100644 --- a/benches/iter_utf8.rs +++ b/benches/iter_utf8.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::Utf8Array; +use re_arrow2::array::Utf8Array; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/length_kernel.rs b/benches/length_kernel.rs index a5fc2ab08d..3bccaec708 100644 --- a/benches/length_kernel.rs +++ b/benches/length_kernel.rs @@ -17,8 +17,8 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::compute::length::length; +use re_arrow2::array::*; +use re_arrow2::compute::length::length; fn bench_length(array: &Utf8Array) { criterion::black_box(length(array).unwrap()); diff --git a/benches/like_kernels.rs b/benches/like_kernels.rs index 24f700244c..c37cfe1223 100644 --- a/benches/like_kernels.rs +++ b/benches/like_kernels.rs @@ -1,8 +1,8 @@ -use arrow2::util::bench_util::create_string_array; use criterion::{criterion_group, criterion_main, Criterion}; +use re_arrow2::util::bench_util::create_string_array; -use arrow2::array::*; -use arrow2::compute::like::like_utf8_scalar; +use re_arrow2::array::*; +use re_arrow2::compute::like::like_utf8_scalar; fn bench_like(array: &Utf8Array, pattern: &str) { criterion::black_box(like_utf8_scalar(array, pattern).unwrap()); diff --git a/benches/read_json.rs b/benches/read_json.rs index 0da79b9437..4a9dbaedd8 100644 --- a/benches/read_json.rs +++ b/benches/read_json.rs @@ -1,9 +1,9 @@ -use arrow2::array::Array; -use arrow2::datatypes::DataType; use criterion::{criterion_group, criterion_main, Criterion}; +use re_arrow2::array::Array; +use re_arrow2::datatypes::DataType; -use arrow2::io::json::{read, write}; -use arrow2::util::bench_util::*; +use re_arrow2::io::json::{read, write}; +use re_arrow2::util::bench_util::*; fn prep(array: impl Array + 'static) -> (Vec, DataType) { let mut data = vec![]; diff --git a/benches/read_parquet.rs b/benches/read_parquet.rs index 5aa1696360..1ab57bb2a6 100644 --- a/benches/read_parquet.rs +++ b/benches/read_parquet.rs @@ -3,8 +3,8 @@ use std::{fs, io::Cursor, path::PathBuf}; use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::error::Result; -use arrow2::io::parquet::read; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::read; fn to_buffer( size: usize, diff --git a/benches/slices_iterator.rs b/benches/slices_iterator.rs index cea662d16a..353ce8ae81 100644 --- a/benches/slices_iterator.rs +++ b/benches/slices_iterator.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::{utils::SlicesIterator, Bitmap}; +use re_arrow2::bitmap::{utils::SlicesIterator, Bitmap}; fn bench_slices(lhs: &Bitmap) { let set_count = lhs.len() - lhs.unset_bits(); diff --git a/benches/sort_kernel.rs b/benches/sort_kernel.rs index 562d7d7b44..61ff3fdd02 100644 --- a/benches/sort_kernel.rs +++ b/benches/sort_kernel.rs @@ -17,9 +17,9 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::compute::sort::{lexsort, sort, sort_to_indices, SortColumn, SortOptions}; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::compute::sort::{lexsort, sort, sort_to_indices, SortColumn, SortOptions}; +use re_arrow2::util::bench_util::*; fn bench_lexsort(arr_a: &dyn Array, array_b: &dyn Array) { let columns = vec![ diff --git a/benches/take_kernels.rs b/benches/take_kernels.rs index f18e091d12..40f3e05865 100644 --- a/benches/take_kernels.rs +++ b/benches/take_kernels.rs @@ -2,9 +2,9 @@ use rand::{rngs::StdRng, Rng, SeedableRng}; use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::compute::take; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::compute::take; +use re_arrow2::util::bench_util::*; fn create_random_index(size: usize, null_density: f32) -> PrimitiveArray { let mut rng = StdRng::seed_from_u64(42); diff --git a/benches/unset_count.rs b/benches/unset_count.rs index 38d1570d21..7d7ad6b590 100644 --- a/benches/unset_count.rs +++ b/benches/unset_count.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::bitmap::utils::count_zeros; +use re_arrow2::bitmap::utils::count_zeros; fn add_benchmark(c: &mut Criterion) { (10..=20).step_by(2).for_each(|log2_size| { diff --git a/benches/write_csv.rs b/benches/write_csv.rs index 7778b0781f..494d66dd8d 100644 --- a/benches/write_csv.rs +++ b/benches/write_csv.rs @@ -1,10 +1,10 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::error::Result; -use arrow2::io::csv::write; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::error::Result; +use re_arrow2::io::csv::write; +use re_arrow2::util::bench_util::*; type ChunkBox = Chunk>; diff --git a/benches/write_ipc.rs b/benches/write_ipc.rs index 346ad78346..7746baf5fc 100644 --- a/benches/write_ipc.rs +++ b/benches/write_ipc.rs @@ -1,12 +1,14 @@ use criterion::{criterion_group, criterion_main, Criterion}; use std::io::Cursor; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Field; -use arrow2::error::Result; -use arrow2::io::ipc::write::*; -use arrow2::util::bench_util::{create_boolean_array, create_primitive_array, create_string_array}; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Field; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::write::*; +use re_arrow2::util::bench_util::{ + create_boolean_array, create_primitive_array, create_string_array, +}; fn write(array: &dyn Array) -> Result<()> { let field = Field::new("c1", array.data_type().clone(), true); diff --git a/benches/write_json.rs b/benches/write_json.rs index d4f464040e..272d5b1e3d 100644 --- a/benches/write_json.rs +++ b/benches/write_json.rs @@ -1,9 +1,9 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::*; -use arrow2::error::Error; -use arrow2::io::json::write; -use arrow2::util::bench_util::*; +use re_arrow2::array::*; +use re_arrow2::error::Error; +use re_arrow2::io::json::write; +use re_arrow2::util::bench_util::*; fn write_array(array: Box) -> Result<(), Error> { let mut writer = vec![]; diff --git a/benches/write_parquet.rs b/benches/write_parquet.rs index 7062ab919d..955b4d3e4f 100644 --- a/benches/write_parquet.rs +++ b/benches/write_parquet.rs @@ -1,11 +1,13 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use arrow2::array::{clone, Array}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{Field, Schema}; -use arrow2::error::Result; -use arrow2::io::parquet::write::*; -use arrow2::util::bench_util::{create_boolean_array, create_primitive_array, create_string_array}; +use re_arrow2::array::{clone, Array}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{Field, Schema}; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::write::*; +use re_arrow2::util::bench_util::{ + create_boolean_array, create_primitive_array, create_string_array, +}; type ChunkBox = Chunk>; diff --git a/examples/arithmetics.rs b/examples/arithmetics.rs index fe931b07e3..d129891107 100644 --- a/examples/arithmetics.rs +++ b/examples/arithmetics.rs @@ -1,8 +1,8 @@ -use arrow2::array::{Array, PrimitiveArray}; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{add as dyn_add, can_add}; -use arrow2::compute::arity::{binary, unary}; -use arrow2::datatypes::DataType; +use re_arrow2::array::{Array, PrimitiveArray}; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{add as dyn_add, can_add}; +use re_arrow2::compute::arity::{binary, unary}; +use re_arrow2::datatypes::DataType; fn main() { // say we have two arrays diff --git a/examples/avro_kafka.rs b/examples/avro_kafka.rs index 7645024939..3211d75905 100644 --- a/examples/avro_kafka.rs +++ b/examples/avro_kafka.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::{DataType, Field}, error::Error, io::avro, diff --git a/examples/avro_read.rs b/examples/avro_read.rs index 6f45afae32..e8ab2fd5e1 100644 --- a/examples/avro_read.rs +++ b/examples/avro_read.rs @@ -1,9 +1,9 @@ use std::fs::File; use std::io::BufReader; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema; -use arrow2::io::avro::read; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema; +use re_arrow2::io::avro::read; fn main() -> Result<()> { use std::env; diff --git a/examples/avro_read_async.rs b/examples/avro_read_async.rs index ac7ad0b645..63b82a3beb 100644 --- a/examples/avro_read_async.rs +++ b/examples/avro_read_async.rs @@ -5,10 +5,10 @@ use futures::StreamExt; use tokio::fs::File; use tokio_util::compat::*; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::file::Block; -use arrow2::io::avro::avro_schema::read_async::{block_stream, decompress_block, read_metadata}; -use arrow2::io::avro::read::{deserialize, infer_schema}; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::file::Block; +use re_arrow2::io::avro::avro_schema::read_async::{block_stream, decompress_block, read_metadata}; +use re_arrow2::io::avro::read::{deserialize, infer_schema}; #[tokio::main(flavor = "current_thread")] async fn main() -> Result<()> { diff --git a/examples/avro_write.rs b/examples/avro_write.rs index 6042172913..8b6bda2253 100644 --- a/examples/avro_write.rs +++ b/examples/avro_write.rs @@ -1,6 +1,6 @@ use std::fs::File; -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, datatypes::{Field, Schema}, error::Result, diff --git a/examples/cow.rs b/examples/cow.rs index 65e3920727..0b23407e61 100644 --- a/examples/cow.rs +++ b/examples/cow.rs @@ -1,6 +1,6 @@ // This example demos how to operate on arrays in-place. -use arrow2::array::{Array, PrimitiveArray}; -use arrow2::compute::arity_assign; +use re_arrow2::array::{Array, PrimitiveArray}; +use re_arrow2::compute::arity_assign; fn main() { // say we have have received an `Array` diff --git a/examples/csv_read.rs b/examples/csv_read.rs index 21addf9d0f..b3a11ea8c5 100644 --- a/examples/csv_read.rs +++ b/examples/csv_read.rs @@ -1,7 +1,7 @@ -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::error::Result; -use arrow2::io::csv::read; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::error::Result; +use re_arrow2::io::csv::read; fn read_path(path: &str, projection: Option<&[usize]>) -> Result>> { // Create a CSV reader. This is typically created on the thread that reads the file and diff --git a/examples/csv_read_async.rs b/examples/csv_read_async.rs index 10d5377fe1..638f8e88e6 100644 --- a/examples/csv_read_async.rs +++ b/examples/csv_read_async.rs @@ -1,8 +1,8 @@ use tokio::fs::File; use tokio_util::compat::*; -use arrow2::error::Result; -use arrow2::io::csv::read_async::*; +use re_arrow2::error::Result; +use re_arrow2::io::csv::read_async::*; #[tokio::main(flavor = "current_thread")] async fn main() -> Result<()> { diff --git a/examples/csv_read_parallel.rs b/examples/csv_read_parallel.rs index 0c3f6e2b10..0bfd625133 100644 --- a/examples/csv_read_parallel.rs +++ b/examples/csv_read_parallel.rs @@ -3,9 +3,9 @@ use crossbeam_channel::unbounded; use std::thread; use std::time::SystemTime; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::{error::Result, io::csv::read}; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::{error::Result, io::csv::read}; fn parallel_read(path: &str) -> Result>>> { let batch_size = 100; diff --git a/examples/csv_write.rs b/examples/csv_write.rs index 6a40fb7b51..76549a3164 100644 --- a/examples/csv_write.rs +++ b/examples/csv_write.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, chunk::Chunk, error::Result, diff --git a/examples/csv_write_parallel.rs b/examples/csv_write_parallel.rs index 65a7e74e5c..3023b40971 100644 --- a/examples/csv_write_parallel.rs +++ b/examples/csv_write_parallel.rs @@ -3,7 +3,7 @@ use std::sync::mpsc; use std::sync::mpsc::{Receiver, Sender}; use std::thread; -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, chunk::Chunk, error::Result, diff --git a/examples/extension.rs b/examples/extension.rs index c0aea84316..81f0ab3f8d 100644 --- a/examples/extension.rs +++ b/examples/extension.rs @@ -1,11 +1,11 @@ use std::io::{Cursor, Seek, Write}; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write; fn main() -> Result<()> { // declare an extension. diff --git a/examples/ffi.rs b/examples/ffi.rs index ed5b9cd87e..f1f88e6255 100644 --- a/examples/ffi.rs +++ b/examples/ffi.rs @@ -1,7 +1,7 @@ -use arrow2::array::{Array, PrimitiveArray}; -use arrow2::datatypes::Field; -use arrow2::error::Result; -use arrow2::ffi; +use re_arrow2::array::{Array, PrimitiveArray}; +use re_arrow2::datatypes::Field; +use re_arrow2::error::Result; +use re_arrow2::ffi; fn export(array: Box) -> (ffi::ArrowArray, ffi::ArrowSchema) { // importing an array requires an associated field so that the consumer knows its datatype. diff --git a/examples/growable.rs b/examples/growable.rs index cb1e20fcb7..31ca322a64 100644 --- a/examples/growable.rs +++ b/examples/growable.rs @@ -1,5 +1,5 @@ -use arrow2::array::growable::{Growable, GrowablePrimitive}; -use arrow2::array::PrimitiveArray; +use re_arrow2::array::growable::{Growable, GrowablePrimitive}; +use re_arrow2::array::PrimitiveArray; fn main() { // say we have two sorted arrays diff --git a/examples/io_odbc.rs b/examples/io_odbc.rs index 9305fab6e2..d103b5ac4c 100644 --- a/examples/io_odbc.rs +++ b/examples/io_odbc.rs @@ -5,14 +5,14 @@ //! sudo apt install libsqliteodbc sqlite3 unixodbc-dev //! sudo sed --in-place 's/libsqlite3odbc.so/\/usr\/lib\/x86_64-linux-gnu\/odbc\/libsqlite3odbc.so/' /etc/odbcinst.ini //! ``` -use arrow2::array::{Array, Int32Array, Utf8Array}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{DataType, Field}; -use arrow2::error::Result; -use arrow2::io::odbc::api; -use arrow2::io::odbc::api::Cursor; -use arrow2::io::odbc::read; -use arrow2::io::odbc::write; +use re_arrow2::array::{Array, Int32Array, Utf8Array}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{DataType, Field}; +use re_arrow2::error::Result; +use re_arrow2::io::odbc::api; +use re_arrow2::io::odbc::api::Cursor; +use re_arrow2::io::odbc::read; +use re_arrow2::io::odbc::write; fn main() -> Result<()> { let connector = "Driver={SQLite3};Database=sqlite-test.db"; diff --git a/examples/ipc_file_mmap.rs b/examples/ipc_file_mmap.rs index e51b49de5b..26081c210b 100644 --- a/examples/ipc_file_mmap.rs +++ b/examples/ipc_file_mmap.rs @@ -1,10 +1,10 @@ //! Example showing how to memory map an Arrow IPC file into a [`Chunk`]. use std::sync::Arc; -use arrow2::array::{Array, BooleanArray}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{Field, Schema}; -use arrow2::error::Error; +use re_arrow2::array::{Array, BooleanArray}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{Field, Schema}; +use re_arrow2::error::Error; // Arrow2 requires something that implements `AsRef<[u8]>`, which // `Mmap` supports. Here we mock it @@ -22,12 +22,12 @@ impl AsRef<[u8]> for Mmap { fn write( chunks: &[Chunk>], schema: &Schema, - ipc_fields: Option>, - compression: Option, + ipc_fields: Option>, + compression: Option, ) -> Result, Error> { let result = vec![]; - let options = arrow2::io::ipc::write::WriteOptions { compression }; - let mut writer = arrow2::io::ipc::write::FileWriter::try_new( + let options = re_arrow2::io::ipc::write::WriteOptions { compression }; + let mut writer = re_arrow2::io::ipc::write::FileWriter::try_new( result, schema.clone(), ipc_fields.clone(), @@ -49,16 +49,16 @@ fn check_round_trip(array: Box) -> Result<(), Error> { // we first read the files' metadata let metadata = - arrow2::io::ipc::read::read_file_metadata(&mut std::io::Cursor::new(data.as_ref()))?; + re_arrow2::io::ipc::read::read_file_metadata(&mut std::io::Cursor::new(data.as_ref()))?; // next we mmap the dictionaries // Safety: `write` above guarantees that this is a valid Arrow IPC file let dictionaries = - unsafe { arrow2::mmap::mmap_dictionaries_unchecked(&metadata, data.clone())? }; + unsafe { re_arrow2::mmap::mmap_dictionaries_unchecked(&metadata, data.clone())? }; // and finally mmap a chunk (0 in this case). // Safety: `write` above guarantees that this is a valid Arrow IPC file - let new_array = unsafe { arrow2::mmap::mmap_unchecked(&metadata, &dictionaries, data, 0)? }; + let new_array = unsafe { re_arrow2::mmap::mmap_unchecked(&metadata, &dictionaries, data, 0)? }; assert_eq!(new_array.into_arrays()[0], array); Ok(()) } diff --git a/examples/ipc_file_read.rs b/examples/ipc_file_read.rs index c171a5d18d..93e1ff47af 100644 --- a/examples/ipc_file_read.rs +++ b/examples/ipc_file_read.rs @@ -1,11 +1,11 @@ use std::fs::File; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::print; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::print; /// Simplest way: read all record batches from the file. This can be used e.g. for random access. #[allow(clippy::type_complexity)] diff --git a/examples/ipc_file_write.rs b/examples/ipc_file_write.rs index 0629faa80a..624f5a2dd6 100644 --- a/examples/ipc_file_write.rs +++ b/examples/ipc_file_write.rs @@ -1,10 +1,10 @@ use std::fs::File; -use arrow2::array::{Array, Int32Array, Utf8Array}; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{DataType, Field, Schema}; -use arrow2::error::Result; -use arrow2::io::ipc::write; +use re_arrow2::array::{Array, Int32Array, Utf8Array}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{DataType, Field, Schema}; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::write; fn write_batches(path: &str, schema: Schema, chunks: &[Chunk>]) -> Result<()> { let file = File::create(path)?; diff --git a/examples/ipc_pyarrow/src/main.rs b/examples/ipc_pyarrow/src/main.rs index ce92e4e1b2..904f323ea0 100644 --- a/examples/ipc_pyarrow/src/main.rs +++ b/examples/ipc_pyarrow/src/main.rs @@ -2,10 +2,10 @@ use std::net::TcpStream; use std::thread; use std::time::Duration; -use arrow2::array::{Array, Int64Array}; -use arrow2::datatypes::DataType; -use arrow2::error::Result; -use arrow2::io::ipc::read; +use re_arrow2::array::{Array, Int64Array}; +use re_arrow2::datatypes::DataType; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; fn main() -> Result<()> { const ADDRESS: &str = "127.0.0.1:12989"; diff --git a/examples/json_read.rs b/examples/json_read.rs index edea82f275..15c1f0964e 100644 --- a/examples/json_read.rs +++ b/examples/json_read.rs @@ -1,9 +1,9 @@ /// Example of reading a JSON file. use std::fs; -use arrow2::array::Array; -use arrow2::error::Result; -use arrow2::io::json::read; +use re_arrow2::array::Array; +use re_arrow2::error::Result; +use re_arrow2::io::json::read; fn read_path(path: &str) -> Result> { // read the file into memory (IO-bounded) diff --git a/examples/json_write.rs b/examples/json_write.rs index 1e86f0560b..6576ef35fb 100644 --- a/examples/json_write.rs +++ b/examples/json_write.rs @@ -1,6 +1,6 @@ use std::fs::File; -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, error::Error, io::json::write, diff --git a/examples/metadata.rs b/examples/metadata.rs index c56849daea..2e9949d578 100644 --- a/examples/metadata.rs +++ b/examples/metadata.rs @@ -1,4 +1,4 @@ -use arrow2::datatypes::{DataType, Field, Metadata, Schema}; +use re_arrow2::datatypes::{DataType, Field, Metadata, Schema}; fn main() { // two data types (logical types) diff --git a/examples/ndjson_read.rs b/examples/ndjson_read.rs index bd242d22df..8edffdb2f2 100644 --- a/examples/ndjson_read.rs +++ b/examples/ndjson_read.rs @@ -1,10 +1,10 @@ use std::fs::File; use std::io::{BufReader, Seek}; -use arrow2::array::Array; -use arrow2::error::Result; -use arrow2::io::ndjson::read; -use arrow2::io::ndjson::read::FallibleStreamingIterator; +use re_arrow2::array::Array; +use re_arrow2::error::Result; +use re_arrow2::io::ndjson::read; +use re_arrow2::io::ndjson::read::FallibleStreamingIterator; fn read_path(path: &str) -> Result>> { let batch_size = 1024; // number of rows per array diff --git a/examples/ndjson_write.rs b/examples/ndjson_write.rs index 91a0e1a9ed..ed5cd690fb 100644 --- a/examples/ndjson_write.rs +++ b/examples/ndjson_write.rs @@ -1,8 +1,8 @@ use std::fs::File; -use arrow2::array::{Array, Int32Array}; -use arrow2::error::Result; -use arrow2::io::ndjson::write; +use re_arrow2::array::{Array, Int32Array}; +use re_arrow2::error::Result; +use re_arrow2::io::ndjson::write; fn write_path(path: &str, array: Box) -> Result<()> { let writer = File::create(path)?; diff --git a/examples/orc_read.rs b/examples/orc_read.rs index f1a5acee4d..4149ba1484 100644 --- a/examples/orc_read.rs +++ b/examples/orc_read.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::error::Error; -use arrow2::io::orc::{format, read}; +use re_arrow2::array::*; +use re_arrow2::error::Error; +use re_arrow2::io::orc::{format, read}; fn deserialize_column(path: &str, column_name: &str) -> Result, Error> { // open the file diff --git a/examples/parquet_read.rs b/examples/parquet_read.rs index eefb2d23d6..4b839bb20a 100644 --- a/examples/parquet_read.rs +++ b/examples/parquet_read.rs @@ -1,8 +1,8 @@ use std::fs::File; use std::time::SystemTime; -use arrow2::error::Error; -use arrow2::io::parquet::read; +use re_arrow2::error::Error; +use re_arrow2::io::parquet::read; fn main() -> Result<(), Error> { // say we have a file diff --git a/examples/parquet_read_async.rs b/examples/parquet_read_async.rs index 8056b853cc..a431f6b596 100644 --- a/examples/parquet_read_async.rs +++ b/examples/parquet_read_async.rs @@ -5,8 +5,8 @@ use tokio::fs::File; use tokio::io::BufReader; use tokio_util::compat::*; -use arrow2::error::Result; -use arrow2::io::parquet::read::{self, RowGroupDeserializer}; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::read::{self, RowGroupDeserializer}; #[tokio::main(flavor = "current_thread")] async fn main() -> Result<()> { diff --git a/examples/parquet_read_parallel/src/main.rs b/examples/parquet_read_parallel/src/main.rs index 6ab26d61f7..7e293b9efc 100644 --- a/examples/parquet_read_parallel/src/main.rs +++ b/examples/parquet_read_parallel/src/main.rs @@ -6,7 +6,7 @@ use std::time::SystemTime; use log::trace; use rayon::prelude::*; -use arrow2::{ +use re_arrow2::{ array::Array, chunk::Chunk, error::Result, diff --git a/examples/parquet_write.rs b/examples/parquet_write.rs index 1387f615eb..6b816a51b4 100644 --- a/examples/parquet_write.rs +++ b/examples/parquet_write.rs @@ -1,6 +1,6 @@ use std::fs::File; -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, chunk::Chunk, datatypes::{Field, Schema}, diff --git a/examples/parquet_write_async.rs b/examples/parquet_write_async.rs index db2ae9e08c..772d486b88 100644 --- a/examples/parquet_write_async.rs +++ b/examples/parquet_write_async.rs @@ -1,7 +1,7 @@ use futures::SinkExt; use tokio::fs::File; -use arrow2::{ +use re_arrow2::{ array::{Array, Int32Array}, chunk::Chunk, datatypes::{Field, Schema}, diff --git a/examples/parquet_write_parallel/src/main.rs b/examples/parquet_write_parallel/src/main.rs index 6c87be6143..743c42ffab 100644 --- a/examples/parquet_write_parallel/src/main.rs +++ b/examples/parquet_write_parallel/src/main.rs @@ -3,7 +3,7 @@ use std::collections::VecDeque; use rayon::prelude::*; -use arrow2::{ +use re_arrow2::{ array::*, chunk::Chunk as AChunk, datatypes::*, diff --git a/examples/s3/src/main.rs b/examples/s3/src/main.rs index d3f668d442..fc708cc730 100644 --- a/examples/s3/src/main.rs +++ b/examples/s3/src/main.rs @@ -1,8 +1,8 @@ -use arrow2::array::{Array, Int64Array}; -use arrow2::error::Result; -use arrow2::io::parquet::read; use futures::future::BoxFuture; use range_reader::{RangeOutput, RangedAsyncReader}; +use re_arrow2::array::{Array, Int64Array}; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::read; use s3::Bucket; #[tokio::main] diff --git a/guide/src/high_level.md b/guide/src/high_level.md index 008bdd83db..d706be8d0b 100644 --- a/guide/src/high_level.md +++ b/guide/src/high_level.md @@ -9,7 +9,7 @@ Probably the simplest `Array` in this crate is the `PrimitiveArray`. It can b constructed from a slice of option values, ```rust -# use arrow2::array::{Array, PrimitiveArray}; +# use re_arrow2::array::{Array, PrimitiveArray}; # fn main() { let array = PrimitiveArray::::from([Some(1), None, Some(123)]); assert_eq!(array.len(), 3) @@ -19,7 +19,7 @@ assert_eq!(array.len(), 3) from a slice of values, ```rust -# use arrow2::array::{Array, PrimitiveArray}; +# use re_arrow2::array::{Array, PrimitiveArray}; # fn main() { let array = PrimitiveArray::::from_slice([1.0, 0.0, 123.0]); assert_eq!(array.len(), 3) @@ -29,7 +29,7 @@ assert_eq!(array.len(), 3) or from an iterator ```rust -# use arrow2::array::{Array, PrimitiveArray}; +# use re_arrow2::array::{Array, PrimitiveArray}; # fn main() { let array: PrimitiveArray = [Some(1), None, Some(123)].iter().collect(); assert_eq!(array.len(), 3) @@ -52,8 +52,8 @@ The first allows interoperability with Arrow's ecosystem and efficient SIMD oper In the example ```rust -# use arrow2::array::PrimitiveArray; -# use arrow2::datatypes::DataType; +# use re_arrow2::array::PrimitiveArray; +# use re_arrow2::datatypes::DataType; # fn main() { let ints = PrimitiveArray::::from([Some(1), None]); let dates = PrimitiveArray::::from([Some(1), None]).to(DataType::Date32); @@ -67,8 +67,8 @@ All physical types (e.g. `i32`) have a "natural" logical `DataType` (e.g. `DataT which is assigned when allocating arrays from iterators, slices, etc. ```rust -# use arrow2::array::{Array, Int32Array, PrimitiveArray}; -# use arrow2::datatypes::DataType; +# use re_arrow2::array::{Array, Int32Array, PrimitiveArray}; +# use re_arrow2::datatypes::DataType; # fn main() { let array = PrimitiveArray::::from_slice([1, 0, 123]); assert_eq!(array.data_type(), &DataType::Int32); @@ -96,7 +96,7 @@ The following arrays are supported: to `&dyn Array`, which enables dynamic casting and run-time nesting. ```rust -# use arrow2::array::{Array, PrimitiveArray}; +# use re_arrow2::array::{Array, PrimitiveArray}; # fn main() { let a = PrimitiveArray::::from(&[Some(1), None]); let a: &dyn Array = &a; @@ -110,8 +110,8 @@ Given a trait object `array: &dyn Array`, we know its physical type via to its concrete physical type: ```rust -# use arrow2::array::{Array, PrimitiveArray}; -# use arrow2::datatypes::PhysicalType; +# use re_arrow2::array::{Array, PrimitiveArray}; +# use re_arrow2::datatypes::PhysicalType; # fn main() { let array = PrimitiveArray::::from(&[Some(1), None]); let array = &array as &dyn Array; @@ -144,8 +144,8 @@ where `_` represents each of the variants (e.g. `PrimitiveType::Int32 <-> i32`). In this context, a common idiom in using `Array` as a trait object is as follows: ```rust -use arrow2::datatypes::{PhysicalType, PrimitiveType}; -use arrow2::array::{Array, PrimitiveArray}; +use re_arrow2::datatypes::{PhysicalType, PrimitiveType}; +use re_arrow2::array::{Array, PrimitiveArray}; fn float_operator(array: &dyn Array) -> Result, String> { match array.data_type().to_physical_type() { @@ -193,7 +193,7 @@ We've already seen how to create an array from an iterator. Most arrays also imp `IntoIterator`: ```rust -# use arrow2::array::{Array, Int32Array}; +# use re_arrow2::array::{Array, Int32Array}; # fn main() { let array = Int32Array::from(&[Some(1), None, Some(123)]); @@ -219,7 +219,7 @@ validity and values, while the latter is suitable for SIMD and copies, as they r contiguous memory regions (buffers and bitmaps). We will see below how to leverage these APIs. This idea holds more generally in this crate's arrays: `values()` returns something that has -a contiguous in-memory representation, while `iter()` returns items taking validity into account. +a contiguous in-memory representation, while `iter()` returns items taking validity into account. To get an iterator over contiguous values, use `array.values().iter()`. There is one last API that is worth mentioning, and that is `Bitmap::chunks`. When performing @@ -236,8 +236,8 @@ it often enables SIMD. For example, an unary operation `op` on a `PrimitiveArray likely emits SIMD instructions on the following code: ```rust -# use arrow2::buffer::Buffer; -# use arrow2::{ +# use re_arrow2::buffer::Buffer; +# use re_arrow2::{ # array::{Array, PrimitiveArray}, # types::NativeType, # datatypes::DataType, @@ -275,7 +275,7 @@ We support the mutation of arrays in-place via clone-on-write semantics. Essentially, all data is under an `Arc`, but it can be taken via `Arc::get_mut` and operated in place. -Below is a complete example of how to operate on a `Box` without +Below is a complete example of how to operate on a `Box` without extra allocations. ```rust,ignore diff --git a/guide/src/low_level.md b/guide/src/low_level.md index 83fa0f08bf..6ca90923a0 100644 --- a/guide/src/low_level.md +++ b/guide/src/low_level.md @@ -28,7 +28,7 @@ Let's see how these structures are used. Create a new `Buffer`: ```rust -# use arrow2::buffer::Buffer; +# use re_arrow2::buffer::Buffer; # fn main() { let x = vec![1u32, 2, 3]; let x: Buffer = x.into(); @@ -45,8 +45,8 @@ the following physical types: * `i8-i128` * `u8-u64` * `f32` and `f64` -* `arrow2::types::days_ms` -* `arrow2::types::months_days_ns` +* `re_arrow2::types::days_ms` +* `re_arrow2::types::months_days_ns` This is because the arrow specification only supports the above Rust types; all other complex types supported by arrow are built on top of these types, which enables Arrow to be a highly @@ -57,7 +57,7 @@ interoperable in-memory format. Arrow's in-memory arrangement of boolean values is different from `Vec`. Specifically, arrow uses individual bits to represent a boolean, as opposed to the usual byte that `bool` holds. -Besides the 8x compression, this makes the validity particularly useful for +Besides the 8x compression, this makes the validity particularly useful for [AVX512](https://en.wikipedia.org/wiki/AVX-512) masks. One tradeoff is that an arrows' bitmap is not represented as a Rust slice, as Rust slices use pointer arithmetics, whose smallest unit is a byte. @@ -66,7 +66,7 @@ Arrow2 has two containers for bitmaps: `Bitmap` (immutable and sharable) and `MutableBitmap` (mutable): ```rust -use arrow2::bitmap::Bitmap; +use re_arrow2::bitmap::Bitmap; # fn main() { let x = Bitmap::from(&[true, false]); let iter = x.iter().map(|x| !x); @@ -77,7 +77,7 @@ assert_eq!(y.get_bit(1), true); ``` ```rust -use arrow2::bitmap::MutableBitmap; +use re_arrow2::bitmap::MutableBitmap; # fn main() { let mut x = MutableBitmap::new(); x.push(true); diff --git a/guide/src/metadata.md b/guide/src/metadata.md index 7a78d82eda..026ef1d5cc 100644 --- a/guide/src/metadata.md +++ b/guide/src/metadata.md @@ -9,7 +9,7 @@ The Arrow specification contains a set of logical types, an enumeration of the different semantical types defined in Arrow. -In Arrow2, logical types are declared as variants of the `enum` `arrow2::datatypes::DataType`. +In Arrow2, logical types are declared as variants of the `enum` `re_arrow2::datatypes::DataType`. For example, `DataType::Int32` represents a signed integer of 32 bits. Each `DataType` has an associated `enum PhysicalType` (many-to-one) representing the @@ -29,7 +29,7 @@ nullable (`bool`), and optional metadata. ## `Schema` (table metadata) -The most common use of `Field` is to declare a `arrow2::datatypes::Schema`, a sequence of `Field`s +The most common use of `Field` is to declare a `re_arrow2::datatypes::Schema`, a sequence of `Field`s with optional metadata. `Schema` is essentially metadata of a "table": it has a sequence of named columns and their metadata (`Field`s) with optional metadata. diff --git a/integration-testing/src/bin/arrow-file-to-stream.rs b/integration-testing/src/bin/arrow-file-to-stream.rs index c63606e28c..2645bb2d2f 100644 --- a/integration-testing/src/bin/arrow-file-to-stream.rs +++ b/integration-testing/src/bin/arrow-file-to-stream.rs @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write; use clap::Parser; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write; use std::fs::File; #[derive(Debug, Parser)] diff --git a/integration-testing/src/bin/arrow-json-integration-test.rs b/integration-testing/src/bin/arrow-json-integration-test.rs index 6c1dea1e2b..a8caf86ceb 100644 --- a/integration-testing/src/bin/arrow-json-integration-test.rs +++ b/integration-testing/src/bin/arrow-json-integration-test.rs @@ -1,15 +1,15 @@ use std::fs::File; -use arrow2::io::json_integration::ArrowJson; use clap::Parser; +use re_arrow2::io::json_integration::ArrowJson; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write; -use arrow2::{ +use arrow_integration_testing::read_json_file; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write; +use re_arrow2::{ error::{Error, Result}, io::json_integration::write as json_write, }; -use arrow_integration_testing::read_json_file; #[derive(Debug, Clone, clap::ArgEnum)] #[clap(rename_all = "SCREAMING_SNAKE_CASE")] diff --git a/integration-testing/src/bin/arrow-stream-to-file.rs b/integration-testing/src/bin/arrow-stream-to-file.rs index bd431e73c0..a7c121b897 100644 --- a/integration-testing/src/bin/arrow-stream-to-file.rs +++ b/integration-testing/src/bin/arrow-stream-to-file.rs @@ -17,9 +17,9 @@ use std::io; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write; fn main() -> Result<()> { let mut reader = io::stdin(); diff --git a/integration-testing/src/flight_client_scenarios/integration_test.rs b/integration-testing/src/flight_client_scenarios/integration_test.rs index 8955a3e121..94e389b28d 100644 --- a/integration-testing/src/flight_client_scenarios/integration_test.rs +++ b/integration-testing/src/flight_client_scenarios/integration_test.rs @@ -17,7 +17,12 @@ use crate::{read_json_file, ArrowFile}; -use arrow2::{ +use arrow_format::flight::data::{ + flight_descriptor::DescriptorType, FlightData, FlightDescriptor, Location, Ticket, +}; +use arrow_format::flight::service::flight_service_client::FlightServiceClient; +use futures::{stream::BoxStream, StreamExt, TryStreamExt}; +use re_arrow2::{ array::Array, chunk::Chunk, datatypes::*, @@ -26,11 +31,6 @@ use arrow2::{ ipc::{read::Dictionaries, write, IpcField, IpcSchema}, }, }; -use arrow_format::flight::data::{ - flight_descriptor::DescriptorType, FlightData, FlightDescriptor, Location, Ticket, -}; -use arrow_format::flight::service::flight_service_client::FlightServiceClient; -use futures::{stream::BoxStream, StreamExt, TryStreamExt}; use tonic::{Request, Streaming}; type Error = Box; diff --git a/integration-testing/src/flight_server_scenarios/integration_test.rs b/integration-testing/src/flight_server_scenarios/integration_test.rs index 89df0a041b..448a936382 100644 --- a/integration-testing/src/flight_server_scenarios/integration_test.rs +++ b/integration-testing/src/flight_server_scenarios/integration_test.rs @@ -27,15 +27,15 @@ use arrow_format::flight::data::flight_descriptor::*; use arrow_format::flight::data::*; use arrow_format::flight::service::flight_service_server::*; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::io::flight::{ +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::io::flight::{ deserialize_message, deserialize_schemas, serialize_batch, serialize_schema, serialize_schema_to_info, }; -use arrow2::io::ipc; -use arrow2::io::ipc::read::Dictionaries; +use re_arrow2::io::ipc; +use re_arrow2::io::ipc::read::Dictionaries; use super::{Result, TonicStream}; diff --git a/integration-testing/src/lib.rs b/integration-testing/src/lib.rs index e36ad7eef0..58099081c4 100644 --- a/integration-testing/src/lib.rs +++ b/integration-testing/src/lib.rs @@ -17,15 +17,15 @@ //! Common code used in the integration test binaries -use arrow2::array::Array; -use arrow2::io::ipc::IpcField; +use re_arrow2::array::Array; +use re_arrow2::io::ipc::IpcField; use serde_json::Value; -use arrow2::chunk::Chunk; -use arrow2::AHashMap; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::json_integration::{read, ArrowJsonBatch, ArrowJsonDictionaryBatch}; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::json_integration::{read, ArrowJsonBatch, ArrowJsonDictionaryBatch}; +use re_arrow2::AHashMap; use std::fs::File; use std::io::BufReader; diff --git a/src/array/binary/mod.rs b/src/array/binary/mod.rs index 7247decb30..00f50e3471 100644 --- a/src/array/binary/mod.rs +++ b/src/array/binary/mod.rs @@ -33,9 +33,9 @@ mod data; /// The size of this struct is `O(1)`, as all data is stored behind an [`std::sync::Arc`]. /// # Example /// ``` -/// use arrow2::array::BinaryArray; -/// use arrow2::bitmap::Bitmap; -/// use arrow2::buffer::Buffer; +/// use re_arrow2::array::BinaryArray; +/// use re_arrow2::bitmap::Bitmap; +/// use re_arrow2::buffer::Buffer; /// /// let array = BinaryArray::::from([Some([1, 2].as_ref()), None, Some([3].as_ref())]); /// assert_eq!(array.value(0), &[1, 2]); diff --git a/src/array/boolean/mod.rs b/src/array/boolean/mod.rs index 0b634ee90e..cd7f040b88 100644 --- a/src/array/boolean/mod.rs +++ b/src/array/boolean/mod.rs @@ -34,9 +34,9 @@ pub use mutable::*; /// The size of this struct is `O(1)`, as all data is stored behind an [`std::sync::Arc`]. /// # Example /// ``` -/// use arrow2::array::BooleanArray; -/// use arrow2::bitmap::Bitmap; -/// use arrow2::buffer::Buffer; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::bitmap::Bitmap; +/// use re_arrow2::buffer::Buffer; /// /// let array = BooleanArray::from([Some(true), None, Some(false)]); /// assert_eq!(array.value(0), true); diff --git a/src/array/dictionary/mutable.rs b/src/array/dictionary/mutable.rs index b48a57a945..b340272182 100644 --- a/src/array/dictionary/mutable.rs +++ b/src/array/dictionary/mutable.rs @@ -17,7 +17,7 @@ use super::{DictionaryArray, DictionaryKey}; /// # Example /// Building a UTF8 dictionary with `i32` keys. /// ``` -/// # use arrow2::array::{MutableDictionaryArray, MutableUtf8Array, TryPush}; +/// # use re_arrow2::array::{MutableDictionaryArray, MutableUtf8Array, TryPush}; /// # fn main() -> Result<(), Box> { /// let mut array: MutableDictionaryArray> = MutableDictionaryArray::new(); /// array.try_push(Some("A"))?; diff --git a/src/array/ord.rs b/src/array/ord.rs index 439efa1e21..823873765b 100644 --- a/src/array/ord.rs +++ b/src/array/ord.rs @@ -161,9 +161,9 @@ macro_rules! dyn_dict { /// between two [`Array`]. /// # Example /// ``` -/// use arrow2::array::{ord::build_compare, PrimitiveArray}; +/// use re_arrow2::array::{ord::build_compare, PrimitiveArray}; /// -/// # fn main() -> arrow2::error::Result<()> { +/// # fn main() -> re_arrow2::error::Result<()> { /// let array1 = PrimitiveArray::from_slice([1, 2]); /// let array2 = PrimitiveArray::from_slice([3, 4]); /// diff --git a/src/array/primitive/mod.rs b/src/array/primitive/mod.rs index 04b74a3529..eb52ea3d5d 100644 --- a/src/array/primitive/mod.rs +++ b/src/array/primitive/mod.rs @@ -35,9 +35,9 @@ pub use mutable::*; /// The size of this struct is `O(1)`, as all data is stored behind an [`std::sync::Arc`]. /// # Example /// ``` -/// use arrow2::array::PrimitiveArray; -/// use arrow2::bitmap::Bitmap; -/// use arrow2::buffer::Buffer; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::bitmap::Bitmap; +/// use re_arrow2::buffer::Buffer; /// /// let array = PrimitiveArray::from([Some(1i32), None, Some(10)]); /// assert_eq!(array.value(0), 1); @@ -102,8 +102,8 @@ impl PrimitiveArray { /// Used to change the arrays' logical type (see example). /// # Example /// ``` - /// use arrow2::array::Int32Array; - /// use arrow2::datatypes::DataType; + /// use re_arrow2::array::Int32Array; + /// use re_arrow2::datatypes::DataType; /// /// let array = Int32Array::from(&[Some(1), None, Some(2)]).to(DataType::Date32); /// assert_eq!( @@ -133,7 +133,7 @@ impl PrimitiveArray { /// This function is `O(1)`. /// # Examples /// ``` - /// use arrow2::array::PrimitiveArray; + /// use re_arrow2::array::PrimitiveArray; /// /// let array = PrimitiveArray::from_vec(vec![1, 2, 3]); /// assert_eq!(format!("{:?}", array), "Int32[1, 2, 3]"); diff --git a/src/array/struct_/mod.rs b/src/array/struct_/mod.rs index 767ba8242f..e2f1083ab7 100644 --- a/src/array/struct_/mod.rs +++ b/src/array/struct_/mod.rs @@ -18,8 +18,8 @@ pub use mutable::*; /// multiple [`Array`] with the same number of rows. /// # Example /// ``` -/// use arrow2::array::*; -/// use arrow2::datatypes::*; +/// use re_arrow2::array::*; +/// use re_arrow2::datatypes::*; /// let boolean = BooleanArray::from_slice(&[false, false, true, true]).boxed(); /// let int = Int32Array::from_slice(&[42, 28, 19, 31]).boxed(); /// @@ -69,7 +69,7 @@ impl StructArray { .try_for_each(|(index, (data_type, child))| { if data_type != child { Err(Error::oos(format!( - "The children DataTypes of a StructArray must equal the children data types. + "The children DataTypes of a StructArray must equal the children data types. However, the field {index} has data type {data_type:?} but the value has data type {child:?}" ))) } else { diff --git a/src/array/utf8/mod.rs b/src/array/utf8/mod.rs index 9440ae4330..fdc5b9a535 100644 --- a/src/array/utf8/mod.rs +++ b/src/array/utf8/mod.rs @@ -42,9 +42,9 @@ impl> AsRef<[u8]> for StrAsBytes { /// Cloning and slicing this struct is `O(1)`. /// # Example /// ``` -/// use arrow2::bitmap::Bitmap; -/// use arrow2::buffer::Buffer; -/// use arrow2::array::Utf8Array; +/// use re_arrow2::bitmap::Bitmap; +/// use re_arrow2::buffer::Buffer; +/// use re_arrow2::array::Utf8Array; /// # fn main() { /// let array = Utf8Array::::from([Some("hi"), None, Some("there")]); /// assert_eq!(array.value(0), "hi"); diff --git a/src/bitmap/immutable.rs b/src/bitmap/immutable.rs index 6883d3312f..49a8f14e80 100644 --- a/src/bitmap/immutable.rs +++ b/src/bitmap/immutable.rs @@ -15,7 +15,7 @@ use super::{ /// /// # Examples /// ``` -/// use arrow2::bitmap::{Bitmap, MutableBitmap}; +/// use re_arrow2::bitmap::{Bitmap, MutableBitmap}; /// /// let bitmap = Bitmap::from([true, false, true]); /// assert_eq!(bitmap.iter().collect::>(), vec![true, false, true]); diff --git a/src/bitmap/mutable.rs b/src/bitmap/mutable.rs index 31834f2165..c2d2b5d50c 100644 --- a/src/bitmap/mutable.rs +++ b/src/bitmap/mutable.rs @@ -22,7 +22,7 @@ use super::Bitmap; /// A [`MutableBitmap`] can be converted to a [`Bitmap`] at `O(1)`. /// # Examples /// ``` -/// use arrow2::bitmap::MutableBitmap; +/// use re_arrow2::bitmap::MutableBitmap; /// /// let bitmap = MutableBitmap::from([true, false, true]); /// assert_eq!(bitmap.iter().collect::>(), vec![true, false, true]); diff --git a/src/buffer/immutable.rs b/src/buffer/immutable.rs index 0da4a41ace..f3824d483f 100644 --- a/src/buffer/immutable.rs +++ b/src/buffer/immutable.rs @@ -17,7 +17,7 @@ use super::IntoIter; /// /// # Examples /// ``` -/// use arrow2::buffer::Buffer; +/// use re_arrow2::buffer::Buffer; /// /// let mut buffer: Buffer = vec![1, 2, 3].into(); /// assert_eq!(buffer.as_ref(), [1, 2, 3].as_ref()); diff --git a/src/compute/aggregate/min_max.rs b/src/compute/aggregate/min_max.rs index da064d9b01..7b88f51000 100644 --- a/src/compute/aggregate/min_max.rs +++ b/src/compute/aggregate/min_max.rs @@ -255,7 +255,7 @@ pub fn min_string(array: &Utf8Array) -> Option<&str> { /// Returns the minimum value in the boolean array. /// /// ``` -/// use arrow2::{ +/// use re_arrow2::{ /// array::BooleanArray, /// compute::aggregate::min_boolean, /// }; @@ -283,7 +283,7 @@ pub fn min_boolean(array: &BooleanArray) -> Option { /// Returns the maximum value in the boolean array /// /// ``` -/// use arrow2::{ +/// use re_arrow2::{ /// array::BooleanArray, /// compute::aggregate::max_boolean, /// }; diff --git a/src/compute/arithmetics/basic/add.rs b/src/compute/arithmetics/basic/add.rs index 81f5b7bb03..7401217122 100644 --- a/src/compute/arithmetics/basic/add.rs +++ b/src/compute/arithmetics/basic/add.rs @@ -23,8 +23,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::add; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::add; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([None, Some(6), None, Some(6)]); /// let b = PrimitiveArray::from([Some(5), None, None, Some(6)]); @@ -44,8 +44,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_add; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::wrapping_add; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(-100i8), Some(100i8), Some(100i8)]); /// let b = PrimitiveArray::from([Some(0i8), Some(100i8), Some(0i8)]); @@ -67,8 +67,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_add; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::checked_add; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(100i8), Some(100i8), Some(100i8)]); /// let b = PrimitiveArray::from([Some(0i8), Some(100i8), Some(0i8)]); @@ -91,8 +91,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_add; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::saturating_add; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(100i8)]); /// let b = PrimitiveArray::from([Some(100i8)]); @@ -116,8 +116,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_add; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::overflowing_add; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(1i8), Some(100i8)]); /// let b = PrimitiveArray::from([Some(1i8), Some(100i8)]); @@ -191,8 +191,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::add_scalar; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::add_scalar; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([None, Some(6), None, Some(6)]); /// let result = add_scalar(&a, &1i32); @@ -212,8 +212,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_add_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::wrapping_add_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(100)]); /// let result = wrapping_add_scalar(&a, &100i8); @@ -233,8 +233,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_add_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_add_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(100), None, Some(100)]); /// let result = checked_add_scalar(&a, &100i8); @@ -257,8 +257,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_add_scalar; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::saturating_add_scalar; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(100i8)]); /// let result = saturating_add_scalar(&a, &100i8); @@ -282,8 +282,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_add_scalar; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::overflowing_add_scalar; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(1i8), Some(100i8)]); /// let (result, overflow) = overflowing_add_scalar(&a, &100i8); diff --git a/src/compute/arithmetics/basic/div.rs b/src/compute/arithmetics/basic/div.rs index b7f22a0d77..cf53757e9d 100644 --- a/src/compute/arithmetics/basic/div.rs +++ b/src/compute/arithmetics/basic/div.rs @@ -23,8 +23,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::div; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::div; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[Some(10), Some(1), Some(6)]); /// let b = Int32Array::from(&[Some(5), None, Some(6)]); @@ -55,8 +55,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_div; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_div; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8), Some(10i8)]); /// let b = Int8Array::from(&[Some(100i8), Some(0i8)]); @@ -98,8 +98,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::div_scalar; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::div_scalar; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(6)]); /// let result = div_scalar(&a, &2i32); @@ -170,8 +170,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_div_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_div_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let result = checked_div_scalar(&a, &100i8); diff --git a/src/compute/arithmetics/basic/mod.rs b/src/compute/arithmetics/basic/mod.rs index 22ed09baf6..459a3f71e8 100644 --- a/src/compute/arithmetics/basic/mod.rs +++ b/src/compute/arithmetics/basic/mod.rs @@ -46,8 +46,8 @@ impl NativeArithmetics for f64 {} /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::negate; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::negate; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([None, Some(6), None, Some(7)]); /// let result = negate(&a); @@ -65,8 +65,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_negate; -/// use arrow2::array::{Array, PrimitiveArray}; +/// use re_arrow2::compute::arithmetics::basic::checked_negate; +/// use re_arrow2::array::{Array, PrimitiveArray}; /// /// let a = PrimitiveArray::from([None, Some(6), Some(i8::MIN), Some(7)]); /// let result = checked_negate(&a); @@ -85,8 +85,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_negate; -/// use arrow2::array::{Array, PrimitiveArray}; +/// use re_arrow2::compute::arithmetics::basic::wrapping_negate; +/// use re_arrow2::array::{Array, PrimitiveArray}; /// /// let a = PrimitiveArray::from([None, Some(6), Some(i8::MIN), Some(7)]); /// let result = wrapping_negate(&a); diff --git a/src/compute/arithmetics/basic/mul.rs b/src/compute/arithmetics/basic/mul.rs index a3b405b845..c37b1eed1a 100644 --- a/src/compute/arithmetics/basic/mul.rs +++ b/src/compute/arithmetics/basic/mul.rs @@ -23,8 +23,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::mul; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::mul; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(6)]); /// let b = Int32Array::from(&[Some(5), None, None, Some(6)]); @@ -44,8 +44,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_mul; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::wrapping_mul; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(100i8), Some(0x10i8), Some(100i8)]); /// let b = PrimitiveArray::from([Some(0i8), Some(0x10i8), Some(0i8)]); @@ -68,8 +68,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_mul; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_mul; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(100i8), Some(100i8), Some(100i8)]); /// let b = Int8Array::from(&[Some(1i8), Some(100i8), Some(1i8)]); @@ -92,8 +92,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_mul; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::saturating_mul; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let b = Int8Array::from(&[Some(100i8)]); @@ -117,8 +117,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_mul; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::overflowing_mul; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(1i8), Some(-100i8)]); /// let b = Int8Array::from(&[Some(1i8), Some(100i8)]); @@ -192,8 +192,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::mul_scalar; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::mul_scalar; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(6)]); /// let result = mul_scalar(&a, &2i32); @@ -213,8 +213,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_mul_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::wrapping_mul_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(0x10)]); /// let result = wrapping_mul_scalar(&a, &0x10); @@ -234,8 +234,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_mul_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_mul_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(100), None, Some(100)]); /// let result = checked_mul_scalar(&a, &100i8); @@ -258,8 +258,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_mul_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::saturating_mul_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let result = saturating_mul_scalar(&a, &100i8); @@ -283,8 +283,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_mul_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::overflowing_mul_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(1i8), Some(100i8)]); /// let (result, overflow) = overflowing_mul_scalar(&a, &100i8); diff --git a/src/compute/arithmetics/basic/pow.rs b/src/compute/arithmetics/basic/pow.rs index 1b67970a03..c3c2467832 100644 --- a/src/compute/arithmetics/basic/pow.rs +++ b/src/compute/arithmetics/basic/pow.rs @@ -13,8 +13,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::powf_scalar; -/// use arrow2::array::Float32Array; +/// use re_arrow2::compute::arithmetics::basic::powf_scalar; +/// use re_arrow2::array::Float32Array; /// /// let a = Float32Array::from(&[Some(2f32), None]); /// let actual = powf_scalar(&a, 2.0); @@ -34,8 +34,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_powf_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_powf_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(1i8), None, Some(7i8)]); /// let actual = checked_powf_scalar(&a, 8usize); diff --git a/src/compute/arithmetics/basic/rem.rs b/src/compute/arithmetics/basic/rem.rs index 79a6055b8f..0f584c8711 100644 --- a/src/compute/arithmetics/basic/rem.rs +++ b/src/compute/arithmetics/basic/rem.rs @@ -21,8 +21,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::rem; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::rem; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[Some(10), Some(7)]); /// let b = Int32Array::from(&[Some(5), Some(6)]); @@ -43,8 +43,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_rem; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_rem; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8), Some(10i8)]); /// let b = Int8Array::from(&[Some(100i8), Some(0i8)]); @@ -84,8 +84,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::rem_scalar; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::rem_scalar; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(7)]); /// let result = rem_scalar(&a, &2i32); @@ -164,8 +164,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_rem_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_rem_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let result = checked_rem_scalar(&a, &100i8); diff --git a/src/compute/arithmetics/basic/sub.rs b/src/compute/arithmetics/basic/sub.rs index c2c84cae6e..c369973f4b 100644 --- a/src/compute/arithmetics/basic/sub.rs +++ b/src/compute/arithmetics/basic/sub.rs @@ -23,8 +23,8 @@ use super::NativeArithmetics; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::sub; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::sub; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(6)]); /// let b = Int32Array::from(&[Some(5), None, None, Some(6)]); @@ -44,8 +44,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_sub; -/// use arrow2::array::PrimitiveArray; +/// use re_arrow2::compute::arithmetics::basic::wrapping_sub; +/// use re_arrow2::array::PrimitiveArray; /// /// let a = PrimitiveArray::from([Some(-100i8), Some(-100i8), Some(100i8)]); /// let b = PrimitiveArray::from([Some(0i8), Some(100i8), Some(0i8)]); @@ -67,8 +67,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_sub; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_sub; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(100i8), Some(-100i8), Some(100i8)]); /// let b = Int8Array::from(&[Some(1i8), Some(100i8), Some(0i8)]); @@ -91,8 +91,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_sub; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::saturating_sub; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let b = Int8Array::from(&[Some(100i8)]); @@ -116,8 +116,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_sub; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::overflowing_sub; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(1i8), Some(-100i8)]); /// let b = Int8Array::from(&[Some(1i8), Some(100i8)]); @@ -191,8 +191,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::sub_scalar; -/// use arrow2::array::Int32Array; +/// use re_arrow2::compute::arithmetics::basic::sub_scalar; +/// use re_arrow2::array::Int32Array; /// /// let a = Int32Array::from(&[None, Some(6), None, Some(6)]); /// let result = sub_scalar(&a, &1i32); @@ -212,8 +212,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::wrapping_sub_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::wrapping_sub_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(-100)]); /// let result = wrapping_sub_scalar(&a, &100i8); @@ -233,8 +233,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::checked_sub_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::checked_sub_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[None, Some(-100), None, Some(-100)]); /// let result = checked_sub_scalar(&a, &100i8); @@ -257,8 +257,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::saturating_sub_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::saturating_sub_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(-100i8)]); /// let result = saturating_sub_scalar(&a, &100i8); @@ -282,8 +282,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::basic::overflowing_sub_scalar; -/// use arrow2::array::Int8Array; +/// use re_arrow2::compute::arithmetics::basic::overflowing_sub_scalar; +/// use re_arrow2::array::Int8Array; /// /// let a = Int8Array::from(&[Some(1i8), Some(-100i8)]); /// let (result, overflow) = overflowing_sub_scalar(&a, &100i8); diff --git a/src/compute/arithmetics/decimal/add.rs b/src/compute/arithmetics/decimal/add.rs index 9f6f529e88..0d9b554c1b 100644 --- a/src/compute/arithmetics/decimal/add.rs +++ b/src/compute/arithmetics/decimal/add.rs @@ -23,9 +23,9 @@ use super::{adjusted_precision_scale, get_parameters, max_value, number_digits}; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::add; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::add; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1i128), Some(1i128), None, Some(2i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(1i128), Some(2i128), None, Some(2i128)]).to(DataType::Decimal(5, 2)); @@ -61,9 +61,9 @@ pub fn add(lhs: &PrimitiveArray, rhs: &PrimitiveArray) -> PrimitiveA /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::saturating_add; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::saturating_add; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(99000i128), Some(11100i128), None, Some(22200i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(01000i128), Some(22200i128), None, Some(11100i128)]).to(DataType::Decimal(5, 2)); @@ -105,9 +105,9 @@ pub fn saturating_add( /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::checked_add; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::checked_add; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(99000i128), Some(11100i128), None, Some(22200i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(01000i128), Some(22200i128), None, Some(11100i128)]).to(DataType::Decimal(5, 2)); @@ -169,9 +169,9 @@ impl ArraySaturatingAdd> for PrimitiveArray { /// ``` /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::adaptive_add; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::adaptive_add; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(11111_11i128)]).to(DataType::Decimal(7, 2)); /// let b = PrimitiveArray::from([Some(11111_111i128)]).to(DataType::Decimal(8, 3)); diff --git a/src/compute/arithmetics/decimal/div.rs b/src/compute/arithmetics/decimal/div.rs index 159c27de2b..fcfa584b88 100644 --- a/src/compute/arithmetics/decimal/div.rs +++ b/src/compute/arithmetics/decimal/div.rs @@ -23,9 +23,9 @@ use super::{adjusted_precision_scale, get_parameters, max_value, number_digits}; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::div; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::div; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1_00i128), Some(4_00i128), Some(6_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(1_00i128), Some(2_00i128), Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -117,9 +117,9 @@ pub fn div_scalar(lhs: &PrimitiveArray, rhs: &PrimitiveScalar) -> Pr /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::saturating_div; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::saturating_div; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(999_99i128), Some(4_00i128), Some(6_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(000_01i128), Some(2_00i128), Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -166,9 +166,9 @@ pub fn saturating_div( /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::checked_div; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::checked_div; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1_00i128), Some(4_00i128), Some(6_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(000_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -228,9 +228,9 @@ impl ArrayCheckedDiv> for PrimitiveArray { /// ``` /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::adaptive_div; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::adaptive_div; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1000_00i128)]).to(DataType::Decimal(7, 2)); /// let b = PrimitiveArray::from([Some(10_0000i128)]).to(DataType::Decimal(6, 4)); diff --git a/src/compute/arithmetics/decimal/mul.rs b/src/compute/arithmetics/decimal/mul.rs index ac702d2cb3..b15a8789b0 100644 --- a/src/compute/arithmetics/decimal/mul.rs +++ b/src/compute/arithmetics/decimal/mul.rs @@ -22,9 +22,9 @@ use super::{adjusted_precision_scale, get_parameters, max_value, number_digits}; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::mul; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::mul; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1_00i128), Some(1_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(1_00i128), Some(2_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -121,9 +121,9 @@ pub fn mul_scalar(lhs: &PrimitiveArray, rhs: &PrimitiveScalar) -> Pr /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::saturating_mul; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::saturating_mul; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(999_99i128), Some(1_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(10_00i128), Some(2_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -171,9 +171,9 @@ pub fn saturating_mul( /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::checked_mul; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::checked_mul; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(999_99i128), Some(1_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(10_00i128), Some(2_00i128), None, Some(2_00i128)]).to(DataType::Decimal(5, 2)); @@ -240,9 +240,9 @@ impl ArraySaturatingMul> for PrimitiveArray { /// ``` /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::adaptive_mul; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::adaptive_mul; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(11111_0i128), Some(1_0i128)]).to(DataType::Decimal(6, 1)); /// let b = PrimitiveArray::from([Some(10_002i128), Some(2_000i128)]).to(DataType::Decimal(5, 3)); diff --git a/src/compute/arithmetics/decimal/sub.rs b/src/compute/arithmetics/decimal/sub.rs index 84afd20543..06bdb98640 100644 --- a/src/compute/arithmetics/decimal/sub.rs +++ b/src/compute/arithmetics/decimal/sub.rs @@ -20,9 +20,9 @@ use super::{adjusted_precision_scale, get_parameters, max_value, number_digits}; /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::sub; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::sub; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(1i128), Some(1i128), None, Some(2i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(1i128), Some(2i128), None, Some(2i128)]).to(DataType::Decimal(5, 2)); @@ -59,9 +59,9 @@ pub fn sub(lhs: &PrimitiveArray, rhs: &PrimitiveArray) -> PrimitiveA /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::saturating_sub; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::saturating_sub; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(-99000i128), Some(11100i128), None, Some(22200i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(01000i128), Some(22200i128), None, Some(11100i128)]).to(DataType::Decimal(5, 2)); @@ -125,9 +125,9 @@ impl ArraySaturatingSub> for PrimitiveArray { /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::checked_sub; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::checked_sub; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(-99000i128), Some(11100i128), None, Some(22200i128)]).to(DataType::Decimal(5, 2)); /// let b = PrimitiveArray::from([Some(01000i128), Some(22200i128), None, Some(11100i128)]).to(DataType::Decimal(5, 2)); @@ -168,9 +168,9 @@ pub fn checked_sub(lhs: &PrimitiveArray, rhs: &PrimitiveArray) -> Pr /// ``` /// # Examples /// ``` -/// use arrow2::compute::arithmetics::decimal::adaptive_sub; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::compute::arithmetics::decimal::adaptive_sub; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::DataType; /// /// let a = PrimitiveArray::from([Some(99_9999i128)]).to(DataType::Decimal(6, 4)); /// let b = PrimitiveArray::from([Some(-00_0001i128)]).to(DataType::Decimal(6, 4)); diff --git a/src/compute/arithmetics/time.rs b/src/compute/arithmetics/time.rs index e049b3820b..2dc97e4ca2 100644 --- a/src/compute/arithmetics/time.rs +++ b/src/compute/arithmetics/time.rs @@ -69,9 +69,9 @@ fn create_scale(lhs: &DataType, rhs: &DataType) -> Result { /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::time::add_duration; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::{DataType, TimeUnit}; +/// use re_arrow2::compute::arithmetics::time::add_duration; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::{DataType, TimeUnit}; /// /// let timestamp = PrimitiveArray::from([ /// Some(100000i64), @@ -149,9 +149,9 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::time::subtract_duration; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::{DataType, TimeUnit}; +/// use re_arrow2::compute::arithmetics::time::subtract_duration; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::{DataType, TimeUnit}; /// /// let timestamp = PrimitiveArray::from([ /// Some(100000i64), @@ -228,9 +228,9 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::arithmetics::time::subtract_timestamps; -/// use arrow2::array::PrimitiveArray; -/// use arrow2::datatypes::{DataType, TimeUnit}; +/// use re_arrow2::compute::arithmetics::time::subtract_timestamps; +/// use re_arrow2::array::PrimitiveArray; +/// use re_arrow2::datatypes::{DataType, TimeUnit}; /// let timestamp_a = PrimitiveArray::from([ /// Some(100_010i64), /// Some(200_020i64), diff --git a/src/compute/boolean.rs b/src/compute/boolean.rs index e34b90c637..b1bdc8402e 100644 --- a/src/compute/boolean.rs +++ b/src/compute/boolean.rs @@ -39,8 +39,8 @@ where /// This function panics iff the arrays have different lengths. /// # Examples /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::and; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::and; /// /// let a = BooleanArray::from(&[Some(false), Some(true), None]); /// let b = BooleanArray::from(&[Some(true), Some(true), Some(false)]); @@ -81,8 +81,8 @@ pub fn and(lhs: &BooleanArray, rhs: &BooleanArray) -> BooleanArray { /// This function panics iff the arrays have different lengths. /// # Examples /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::or; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::or; /// /// let a = BooleanArray::from(vec![Some(false), Some(true), None]); /// let b = BooleanArray::from(vec![Some(true), Some(true), Some(false)]); @@ -122,8 +122,8 @@ pub fn or(lhs: &BooleanArray, rhs: &BooleanArray) -> BooleanArray { /// null. /// # Example /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::not; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::not; /// /// let a = BooleanArray::from(vec![Some(false), Some(true), None]); /// let not_a = not(&a); @@ -138,8 +138,8 @@ pub fn not(array: &BooleanArray) -> BooleanArray { /// Returns a non-null [`BooleanArray`] with whether each value of the array is null. /// # Example /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::is_null; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::is_null; /// # fn main() { /// let a = BooleanArray::from(vec![Some(false), Some(true), None]); /// let a_is_null = is_null(&a); @@ -160,8 +160,8 @@ pub fn is_null(input: &dyn Array) -> BooleanArray { /// Returns a non-null [`BooleanArray`] with whether each value of the array is not null. /// # Example /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::is_not_null; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::is_not_null; /// /// let a = BooleanArray::from(&vec![Some(false), Some(true), None]); /// let a_is_not_null = is_not_null(&a); @@ -183,9 +183,9 @@ pub fn is_not_null(input: &dyn Array) -> BooleanArray { /// is null then the result is also null. /// # Example /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::and_scalar; -/// use arrow2::scalar::BooleanScalar; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::and_scalar; +/// use re_arrow2::scalar::BooleanScalar; /// /// let array = BooleanArray::from_slice(&[false, false, true, true]); /// let scalar = BooleanScalar::new(Some(true)); @@ -208,9 +208,9 @@ pub fn and_scalar(array: &BooleanArray, scalar: &BooleanScalar) -> BooleanArray /// is null then the result is also null. /// # Example /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::or_scalar; -/// use arrow2::scalar::BooleanScalar; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::or_scalar; +/// use re_arrow2::scalar::BooleanScalar; /// # fn main() { /// let array = BooleanArray::from_slice(&[false, false, true, true]); /// let scalar = BooleanScalar::new(Some(true)); @@ -237,8 +237,8 @@ pub fn or_scalar(array: &BooleanArray, scalar: &BooleanScalar) -> BooleanArray { /// # Example /// /// ``` -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::any; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::any; /// /// let a = BooleanArray::from(&[Some(true), Some(false)]); /// let b = BooleanArray::from(&[Some(false), Some(false)]); @@ -266,8 +266,8 @@ pub fn any(array: &BooleanArray) -> bool { /// # Example /// /// ``` -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean::all; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean::all; /// /// let a = BooleanArray::from(&[Some(true), Some(true)]); /// let b = BooleanArray::from(&[Some(false), Some(true)]); diff --git a/src/compute/boolean_kleene.rs b/src/compute/boolean_kleene.rs index b19efeaa78..a9d1dc0fa3 100644 --- a/src/compute/boolean_kleene.rs +++ b/src/compute/boolean_kleene.rs @@ -12,8 +12,8 @@ use crate::{ /// # Example /// /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean_kleene::or; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean_kleene::or; /// /// let a = BooleanArray::from(&[Some(true), Some(false), None]); /// let b = BooleanArray::from(&[None, None, None]); @@ -95,8 +95,8 @@ pub fn or(lhs: &BooleanArray, rhs: &BooleanArray) -> BooleanArray { /// # Example /// /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean_kleene::and; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean_kleene::and; /// /// let a = BooleanArray::from(&[Some(true), Some(false), None]); /// let b = BooleanArray::from(&[None, None, None]); @@ -175,9 +175,9 @@ pub fn and(lhs: &BooleanArray, rhs: &BooleanArray) -> BooleanArray { /// # Example /// /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::scalar::BooleanScalar; -/// use arrow2::compute::boolean_kleene::or_scalar; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::scalar::BooleanScalar; +/// use re_arrow2::compute::boolean_kleene::or_scalar; /// /// let array = BooleanArray::from(&[Some(true), Some(false), None]); /// let scalar = BooleanScalar::new(Some(false)); @@ -207,9 +207,9 @@ pub fn or_scalar(array: &BooleanArray, scalar: &BooleanScalar) -> BooleanArray { /// # Example /// /// ```rust -/// use arrow2::array::BooleanArray; -/// use arrow2::scalar::BooleanScalar; -/// use arrow2::compute::boolean_kleene::and_scalar; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::scalar::BooleanScalar; +/// use re_arrow2::compute::boolean_kleene::and_scalar; /// /// let array = BooleanArray::from(&[Some(true), Some(false), None]); /// let scalar = BooleanScalar::new(None); @@ -242,8 +242,8 @@ pub fn and_scalar(array: &BooleanArray, scalar: &BooleanScalar) -> BooleanArray /// # Example /// /// ``` -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean_kleene::any; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean_kleene::any; /// /// let a = BooleanArray::from(&[Some(true), Some(false)]); /// let b = BooleanArray::from(&[Some(false), Some(false)]); @@ -276,8 +276,8 @@ pub fn any(array: &BooleanArray) -> Option { /// # Example /// /// ``` -/// use arrow2::array::BooleanArray; -/// use arrow2::compute::boolean_kleene::all; +/// use re_arrow2::array::BooleanArray; +/// use re_arrow2::compute::boolean_kleene::all; /// /// let a = BooleanArray::from(&[Some(true), Some(true)]); /// let b = BooleanArray::from(&[Some(false), Some(true)]); diff --git a/src/compute/comparison/mod.rs b/src/compute/comparison/mod.rs index b364ed8822..acfd44b619 100644 --- a/src/compute/comparison/mod.rs +++ b/src/compute/comparison/mod.rs @@ -14,8 +14,8 @@ //! //! Compare two [`PrimitiveArray`]s: //! ``` -//! use arrow2::array::{BooleanArray, PrimitiveArray}; -//! use arrow2::compute::comparison::primitive::gt; +//! use re_arrow2::array::{BooleanArray, PrimitiveArray}; +//! use re_arrow2::compute::comparison::primitive::gt; //! //! let array1 = PrimitiveArray::::from([Some(1), None, Some(2)]); //! let array2 = PrimitiveArray::::from([Some(1), Some(3), Some(1)]); @@ -25,8 +25,8 @@ //! //! Compare two dynamically-typed [`Array`]s (trait objects): //! ``` -//! use arrow2::array::{Array, BooleanArray, PrimitiveArray}; -//! use arrow2::compute::comparison::eq; +//! use re_arrow2::array::{Array, BooleanArray, PrimitiveArray}; +//! use re_arrow2::compute::comparison::eq; //! //! let array1: &dyn Array = &PrimitiveArray::::from(&[Some(10.0), None, Some(20.0)]); //! let array2: &dyn Array = &PrimitiveArray::::from(&[Some(10.0), None, Some(10.0)]); @@ -36,8 +36,8 @@ //! //! Compare (not equal) a [`Utf8Array`] to a word: //! ``` -//! use arrow2::array::{BooleanArray, Utf8Array}; -//! use arrow2::compute::comparison::utf8::neq_scalar; +//! use re_arrow2::array::{BooleanArray, Utf8Array}; +//! use re_arrow2::compute::comparison::utf8::neq_scalar; //! //! let array = Utf8Array::::from([Some("compute"), None, Some("compare")]); //! let result = neq_scalar(&array, "compare"); diff --git a/src/compute/concatenate.rs b/src/compute/concatenate.rs index 1cab576716..46ea9a08cb 100644 --- a/src/compute/concatenate.rs +++ b/src/compute/concatenate.rs @@ -3,8 +3,8 @@ //! Example: //! //! ``` -//! use arrow2::array::Utf8Array; -//! use arrow2::compute::concatenate::concatenate; +//! use re_arrow2::array::Utf8Array; +//! use re_arrow2::compute::concatenate::concatenate; //! //! let arr = concatenate(&[ //! &Utf8Array::::from_slice(["hello", "world"]), diff --git a/src/compute/filter.rs b/src/compute/filter.rs index 7ba260e702..36171aa1f9 100644 --- a/src/compute/filter.rs +++ b/src/compute/filter.rs @@ -258,9 +258,9 @@ pub fn build_filter(filter: &BooleanArray) -> Result { /// /// # Example /// ```rust -/// # use arrow2::array::{Int32Array, PrimitiveArray, BooleanArray}; -/// # use arrow2::error::Result; -/// # use arrow2::compute::filter::filter; +/// # use re_arrow2::array::{Int32Array, PrimitiveArray, BooleanArray}; +/// # use re_arrow2::error::Result; +/// # use re_arrow2::compute::filter::filter; /// # fn main() -> Result<()> { /// let array = PrimitiveArray::from_slice([5, 6, 7, 8, 9]); /// let filter_array = BooleanArray::from_slice(&vec![true, false, false, true, false]); diff --git a/src/compute/hash.rs b/src/compute/hash.rs index 5f91491750..d8760a2ffe 100644 --- a/src/compute/hash.rs +++ b/src/compute/hash.rs @@ -125,8 +125,8 @@ pub fn hash(array: &dyn Array) -> Result> { /// /// # Examples /// ``` -/// use arrow2::compute::hash::can_hash; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::hash::can_hash; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Int8; /// assert_eq!(can_hash(&data_type), true); diff --git a/src/compute/if_then_else.rs b/src/compute/if_then_else.rs index 86c46b29d0..630325a8c5 100644 --- a/src/compute/if_then_else.rs +++ b/src/compute/if_then_else.rs @@ -7,9 +7,9 @@ use crate::error::{Error, Result}; /// Returns `None` if the predicate is `None`. /// # Example /// ```rust -/// # use arrow2::error::Result; -/// use arrow2::compute::if_then_else::if_then_else; -/// use arrow2::array::{Int32Array, BooleanArray}; +/// # use re_arrow2::error::Result; +/// use re_arrow2::compute::if_then_else::if_then_else; +/// use re_arrow2::array::{Int32Array, BooleanArray}; /// /// # fn main() -> Result<()> { /// let lhs = Int32Array::from_slice(&[1, 2, 3]); diff --git a/src/compute/length.rs b/src/compute/length.rs index 9dc7e0b1c1..24b0e7e3e9 100644 --- a/src/compute/length.rs +++ b/src/compute/length.rs @@ -68,8 +68,8 @@ pub fn length(array: &dyn Array) -> Result> { /// /// # Examples /// ``` -/// use arrow2::compute::length::can_length; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::length::can_length; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Utf8; /// assert_eq!(can_length(&data_type), true); diff --git a/src/compute/like.rs b/src/compute/like.rs index d52e9c5e9f..d8c4f84ddb 100644 --- a/src/compute/like.rs +++ b/src/compute/like.rs @@ -109,8 +109,8 @@ fn a_like_utf8 bool>( /// * any of the patterns is not valid /// # Example /// ``` -/// use arrow2::array::{Utf8Array, BooleanArray}; -/// use arrow2::compute::like::like_utf8; +/// use re_arrow2::array::{Utf8Array, BooleanArray}; +/// use re_arrow2::compute::like::like_utf8; /// /// let strings = Utf8Array::::from_slice(&["Arrow", "Arrow", "Arrow", "Arrow", "Ar"]); /// let patterns = Utf8Array::::from_slice(&["A%", "B%", "%r_ow", "A_", "A_"]); @@ -190,8 +190,8 @@ fn a_like_utf8_scalar bool>( /// * any of the patterns is not valid /// # Example /// ``` -/// use arrow2::array::{Utf8Array, BooleanArray}; -/// use arrow2::compute::like::like_utf8_scalar; +/// use re_arrow2::array::{Utf8Array, BooleanArray}; +/// use re_arrow2::compute::like::like_utf8_scalar; /// /// let array = Utf8Array::::from_slice(&["Arrow", "Arrow", "Arrow", "BA"]); /// @@ -267,8 +267,8 @@ fn a_like_binary bool>( /// * any of the patterns is not valid /// # Example /// ``` -/// use arrow2::array::{BinaryArray, BooleanArray}; -/// use arrow2::compute::like::like_binary; +/// use re_arrow2::array::{BinaryArray, BooleanArray}; +/// use re_arrow2::compute::like::like_binary; /// /// let strings = BinaryArray::::from_slice(&["Arrow", "Arrow", "Arrow", "Arrow", "Ar"]); /// let patterns = BinaryArray::::from_slice(&["A%", "B%", "%r_ow", "A_", "A_"]); @@ -341,8 +341,8 @@ fn a_like_binary_scalar bool>( /// * any of the patterns is not valid /// # Example /// ``` -/// use arrow2::array::{BinaryArray, BooleanArray}; -/// use arrow2::compute::like::like_binary_scalar; +/// use re_arrow2::array::{BinaryArray, BooleanArray}; +/// use re_arrow2::compute::like::like_binary_scalar; /// /// let array = BinaryArray::::from_slice(&["Arrow", "Arrow", "Arrow", "BA"]); /// diff --git a/src/compute/merge_sort/mod.rs b/src/compute/merge_sort/mod.rs index f57b09bb4a..8038e3f5c3 100644 --- a/src/compute/merge_sort/mod.rs +++ b/src/compute/merge_sort/mod.rs @@ -127,9 +127,9 @@ pub fn take_arrays>( /// * the arrays have a [`crate::datatypes::DataType`] that has no order relationship /// # Example /// ```rust -/// use arrow2::array::Int32Array; -/// use arrow2::compute::merge_sort::{merge_sort, SortOptions}; -/// # use arrow2::error::Result; +/// use re_arrow2::array::Int32Array; +/// use re_arrow2::compute::merge_sort::{merge_sort, SortOptions}; +/// # use re_arrow2::error::Result; /// # fn main() -> Result<()> { /// let a = Int32Array::from_slice(&[2, 4, 6]); /// let b = Int32Array::from_slice(&[0, 1, 3]); @@ -166,9 +166,9 @@ pub fn merge_sort( /// In other words, `pairs.i.0[j]` must be an array coming from a batch of equal len arrays. /// # Example /// ```rust -/// use arrow2::array::Int32Array; -/// use arrow2::compute::merge_sort::{slices, SortOptions}; -/// # use arrow2::error::Result; +/// use re_arrow2::array::Int32Array; +/// use re_arrow2::compute::merge_sort::{slices, SortOptions}; +/// # use re_arrow2::error::Result; /// # fn main() -> Result<()> { /// let a = Int32Array::from_slice(&[2, 4, 6]); /// let b = Int32Array::from_slice(&[0, 1, 3]); diff --git a/src/compute/nullif.rs b/src/compute/nullif.rs index b93e518da7..4ef377c770 100644 --- a/src/compute/nullif.rs +++ b/src/compute/nullif.rs @@ -19,9 +19,9 @@ use super::utils::combine_validities; /// * The arguments do not have the same length /// # Example /// ```rust -/// # use arrow2::array::Int32Array; -/// # use arrow2::datatypes::DataType; -/// # use arrow2::compute::nullif::primitive_nullif; +/// # use re_arrow2::array::Int32Array; +/// # use re_arrow2::datatypes::DataType; +/// # use re_arrow2::compute::nullif::primitive_nullif; /// # fn main() { /// let lhs = Int32Array::from(&[None, None, Some(1), Some(1), Some(1)]); /// let rhs = Int32Array::from(&[None, Some(1), None, Some(1), Some(0)]); @@ -53,9 +53,9 @@ where /// * The arguments do not have the same logical type /// # Example /// ```rust -/// # use arrow2::array::Int32Array; -/// # use arrow2::datatypes::DataType; -/// # use arrow2::compute::nullif::primitive_nullif_scalar; +/// # use re_arrow2::array::Int32Array; +/// # use re_arrow2::datatypes::DataType; +/// # use re_arrow2::compute::nullif::primitive_nullif_scalar; /// # fn main() { /// let lhs = Int32Array::from(&[None, None, Some(1), Some(0), Some(1)]); /// let result = primitive_nullif_scalar(&lhs, 0); @@ -89,9 +89,9 @@ where /// * The physical type is not supported for this operation (use [`can_nullif`] to check) /// # Example /// ```rust -/// # use arrow2::array::Int32Array; -/// # use arrow2::datatypes::DataType; -/// # use arrow2::compute::nullif::nullif; +/// # use re_arrow2::array::Int32Array; +/// # use re_arrow2::datatypes::DataType; +/// # use re_arrow2::compute::nullif::nullif; /// # fn main() { /// let lhs = Int32Array::from(&[None, None, Some(1), Some(1), Some(1)]); /// let rhs = Int32Array::from(&[None, Some(1), None, Some(1), Some(0)]); @@ -127,10 +127,10 @@ pub fn nullif(lhs: &dyn Array, rhs: &dyn Array) -> Box { /// * The physical type is not supported for this operation (use [`can_nullif`] to check) /// # Example /// ```rust -/// # use arrow2::array::Int32Array; -/// # use arrow2::scalar::PrimitiveScalar; -/// # use arrow2::datatypes::DataType; -/// # use arrow2::compute::nullif::nullif_scalar; +/// # use re_arrow2::array::Int32Array; +/// # use re_arrow2::scalar::PrimitiveScalar; +/// # use re_arrow2::datatypes::DataType; +/// # use re_arrow2::compute::nullif::nullif_scalar; /// # fn main() { /// let lhs = Int32Array::from(&[None, None, Some(1), Some(0), Some(1)]); /// let rhs = PrimitiveScalar::::from(Some(0)); diff --git a/src/compute/regex_match.rs b/src/compute/regex_match.rs index f0cd2acade..fcddab6d55 100644 --- a/src/compute/regex_match.rs +++ b/src/compute/regex_match.rs @@ -50,8 +50,8 @@ pub fn regex_match(values: &Utf8Array, regex: &Utf8Array) -> Re /// Regex matches /// # Example /// ``` -/// use arrow2::array::{Utf8Array, BooleanArray}; -/// use arrow2::compute::regex_match::regex_match_scalar; +/// use re_arrow2::array::{Utf8Array, BooleanArray}; +/// use re_arrow2::compute::regex_match::regex_match_scalar; /// /// let strings = Utf8Array::::from_slice(&vec!["ArAow", "A_B", "AAA"]); /// diff --git a/src/compute/sort/lex_sort.rs b/src/compute/sort/lex_sort.rs index c598cfd3ab..fc5a9abb4d 100644 --- a/src/compute/sort/lex_sort.rs +++ b/src/compute/sort/lex_sort.rs @@ -32,9 +32,9 @@ pub struct SortColumn<'a> { /// /// ``` /// use std::convert::From; -/// use arrow2::array::{Utf8Array, Int64Array, Array}; -/// use arrow2::compute::sort::{SortColumn, SortOptions, lexsort}; -/// use arrow2::datatypes::DataType; +/// use re_arrow2::array::{Utf8Array, Int64Array, Array}; +/// use re_arrow2::compute::sort::{SortColumn, SortOptions, lexsort}; +/// use re_arrow2::datatypes::DataType; /// /// let int64 = Int64Array::from(&[None, Some(-2), Some(89), Some(-64), Some(101)]); /// let utf8 = Utf8Array::::from(&vec![Some("hello"), Some("world"), Some(","), Some("foobar"), Some("!")]); diff --git a/src/compute/sort/mod.rs b/src/compute/sort/mod.rs index be85c9f6cb..068020c6a6 100644 --- a/src/compute/sort/mod.rs +++ b/src/compute/sort/mod.rs @@ -230,8 +230,8 @@ fn sort_dict( /// /// # Examples /// ``` -/// use arrow2::compute::sort::can_sort; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::sort::can_sort; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Int8; /// assert_eq!(can_sort(&data_type), true); diff --git a/src/compute/substring.rs b/src/compute/substring.rs index 2919b3037b..376b7af6aa 100644 --- a/src/compute/substring.rs +++ b/src/compute/substring.rs @@ -171,8 +171,8 @@ pub fn substring(array: &dyn Array, start: i64, length: &Option) -> Result< /// /// # Examples /// ``` -/// use arrow2::compute::substring::can_substring; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::substring::can_substring; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Utf8; /// assert_eq!(can_substring(&data_type), true); diff --git a/src/compute/take/mod.rs b/src/compute/take/mod.rs index 3acf47dc7a..73d4d67faa 100644 --- a/src/compute/take/mod.rs +++ b/src/compute/take/mod.rs @@ -103,8 +103,8 @@ pub fn take(values: &dyn Array, indices: &PrimitiveArray) -> Result /// /// # Examples /// ``` -/// use arrow2::compute::take::can_take; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::take::can_take; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Int8; /// assert_eq!(can_take(&data_type), true); diff --git a/src/compute/temporal.rs b/src/compute/temporal.rs index 60e573da4b..410ae0eeb1 100644 --- a/src/compute/temporal.rs +++ b/src/compute/temporal.rs @@ -331,8 +331,8 @@ where /// /// # Examples /// ``` -/// use arrow2::compute::temporal::can_year; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::temporal::can_year; +/// use re_arrow2::datatypes::{DataType}; /// /// assert_eq!(can_year(&DataType::Date32), true); /// assert_eq!(can_year(&DataType::Int8), false); @@ -372,8 +372,8 @@ fn can_date(data_type: &DataType) -> bool { /// /// # Examples /// ``` -/// use arrow2::compute::temporal::can_hour; -/// use arrow2::datatypes::{DataType, TimeUnit}; +/// use re_arrow2::compute::temporal::can_hour; +/// use re_arrow2::datatypes::{DataType, TimeUnit}; /// /// assert_eq!(can_hour(&DataType::Time32(TimeUnit::Second)), true); /// assert_eq!(can_hour(&DataType::Int8), false); diff --git a/src/compute/utf8.rs b/src/compute/utf8.rs index 2e480016ef..6ffb71b438 100644 --- a/src/compute/utf8.rs +++ b/src/compute/utf8.rs @@ -44,8 +44,8 @@ pub fn upper(array: &dyn Array) -> Result> { /// /// # Examples /// ``` -/// use arrow2::compute::utf8::can_upper; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::utf8::can_upper; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Utf8; /// assert_eq!(can_upper(&data_type), true); @@ -86,8 +86,8 @@ pub fn lower(array: &dyn Array) -> Result> { /// /// # Examples /// ``` -/// use arrow2::compute::utf8::can_lower; -/// use arrow2::datatypes::{DataType}; +/// use re_arrow2::compute::utf8::can_lower; +/// use re_arrow2::datatypes::{DataType}; /// /// let data_type = DataType::Utf8; /// assert_eq!(can_lower(&data_type), true); diff --git a/src/compute/window.rs b/src/compute/window.rs index b9200fe3a3..2ebb8fb626 100644 --- a/src/compute/window.rs +++ b/src/compute/window.rs @@ -30,8 +30,8 @@ use crate::{ /// a negative value shifts the array to the left. /// # Examples /// ``` -/// use arrow2::array::Int32Array; -/// use arrow2::compute::window::shift; +/// use re_arrow2::array::Int32Array; +/// use re_arrow2::compute::window::shift; /// /// let array = Int32Array::from(&[Some(1), None, Some(3)]); /// let result = shift(&array, -1).unwrap(); diff --git a/src/doc/lib.md b/src/doc/lib.md index 9708a6cd3d..832c888e7e 100644 --- a/src/doc/lib.md +++ b/src/doc/lib.md @@ -11,12 +11,12 @@ Below is an example of some of the things you can do with it: ```rust use std::sync::Arc; -use arrow2::array::*; -use arrow2::datatypes::{Field, DataType, Schema}; -use arrow2::compute::arithmetics; -use arrow2::error::Result; -use arrow2::io::parquet::write::*; -use arrow2::chunk::Chunk; +use re_arrow2::array::*; +use re_arrow2::datatypes::{Field, DataType, Schema}; +use re_arrow2::compute::arithmetics; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::write::*; +use re_arrow2::chunk::Chunk; fn main() -> Result<()> { // declare arrays @@ -83,5 +83,5 @@ functionality, such as: * `compute` to operate on arrays (addition, sum, sort, etc.) The feature `simd` (not part of `full`) produces more explicit SIMD instructions -via [`std::simd`](https://doc.rust-lang.org/nightly/std/simd/index.html), but requires the +via [`std::simd`](https://doc.rust-lang.org/nightly/std/simd/index.html), but requires the nightly channel. diff --git a/src/io/flight/mod.rs b/src/io/flight/mod.rs index 943f148730..4d27dbe8b9 100644 --- a/src/io/flight/mod.rs +++ b/src/io/flight/mod.rs @@ -30,7 +30,7 @@ pub fn serialize_batch( options: &WriteOptions, ) -> Result<(Vec, FlightData)> { if fields.len() != chunk.arrays().len() { - return Err(Error::InvalidArgumentError("The argument `fields` must be consistent with the columns' schema. Use e.g. &arrow2::io::flight::default_ipc_fields(&schema.fields)".to_string())); + return Err(Error::InvalidArgumentError("The argument `fields` must be consistent with the columns' schema. Use e.g. &re_arrow2::io::flight::default_ipc_fields(&schema.fields)".to_string())); } let mut dictionary_tracker = DictionaryTracker { diff --git a/src/io/ipc/mod.rs b/src/io/ipc/mod.rs index 2bb233a147..f708251849 100644 --- a/src/io/ipc/mod.rs +++ b/src/io/ipc/mod.rs @@ -29,12 +29,12 @@ //! # Examples //! Read and write to a file: //! ``` -//! use arrow2::io::ipc::{{read::{FileReader, read_file_metadata}}, {write::{FileWriter, WriteOptions}}}; +//! use re_arrow2::io::ipc::{{read::{FileReader, read_file_metadata}}, {write::{FileWriter, WriteOptions}}}; //! # use std::fs::File; -//! # use arrow2::datatypes::{Field, Schema, DataType}; -//! # use arrow2::array::{Int32Array, Array}; -//! # use arrow2::chunk::Chunk; -//! # use arrow2::error::Error; +//! # use re_arrow2::datatypes::{Field, Schema, DataType}; +//! # use re_arrow2::array::{Int32Array, Array}; +//! # use re_arrow2::chunk::Chunk; +//! # use re_arrow2::error::Error; //! // Setup the writer //! let path = "example.arrow".to_string(); //! let mut file = File::create(&path)?; diff --git a/src/io/ipc/write/file_async.rs b/src/io/ipc/write/file_async.rs index 6bf7753664..9141e96864 100644 --- a/src/io/ipc/write/file_async.rs +++ b/src/io/ipc/write/file_async.rs @@ -24,11 +24,11 @@ type WriteOutput = (usize, Option, Vec, Option); /// /// ``` /// use futures::{SinkExt, TryStreamExt, io::Cursor}; -/// use arrow2::array::{Array, Int32Array}; -/// use arrow2::datatypes::{DataType, Field, Schema}; -/// use arrow2::chunk::Chunk; -/// use arrow2::io::ipc::write::file_async::FileSink; -/// use arrow2::io::ipc::read::file_async::{read_file_metadata_async, FileStream}; +/// use re_arrow2::array::{Array, Int32Array}; +/// use re_arrow2::datatypes::{DataType, Field, Schema}; +/// use re_arrow2::chunk::Chunk; +/// use re_arrow2::io::ipc::write::file_async::FileSink; +/// use re_arrow2::io::ipc::read::file_async::{read_file_metadata_async, FileStream}; /// # futures::executor::block_on(async move { /// let schema = Schema::from(vec![ /// Field::new("values", DataType::Int32, true), @@ -56,7 +56,7 @@ type WriteOutput = (usize, Option, Vec, Option); /// let metadata = read_file_metadata_async(&mut buffer).await?; /// let mut stream = FileStream::new(buffer, metadata, None, None); /// let chunks = stream.try_collect::>().await?; -/// # arrow2::error::Result::Ok(()) +/// # re_arrow2::error::Result::Ok(()) /// # }).unwrap(); /// ``` pub struct FileSink<'a, W: AsyncWrite + Unpin + Send + 'a> { diff --git a/src/io/ipc/write/stream_async.rs b/src/io/ipc/write/stream_async.rs index df651461fe..75727a1c79 100644 --- a/src/io/ipc/write/stream_async.rs +++ b/src/io/ipc/write/stream_async.rs @@ -21,10 +21,10 @@ use crate::error::{Error, Result}; /// /// ``` /// use futures::SinkExt; -/// use arrow2::array::{Array, Int32Array}; -/// use arrow2::datatypes::{DataType, Field, Schema}; -/// use arrow2::chunk::Chunk; -/// # use arrow2::io::ipc::write::stream_async::StreamSink; +/// use re_arrow2::array::{Array, Int32Array}; +/// use re_arrow2::datatypes::{DataType, Field, Schema}; +/// use re_arrow2::chunk::Chunk; +/// # use re_arrow2::io::ipc::write::stream_async::StreamSink; /// # futures::executor::block_on(async move { /// let schema = Schema::from(vec![ /// Field::new("values", DataType::Int32, true), @@ -44,7 +44,7 @@ use crate::error::{Error, Result}; /// sink.feed(chunk.into()).await?; /// } /// sink.close().await?; -/// # arrow2::error::Result::Ok(()) +/// # re_arrow2::error::Result::Ok(()) /// # }).unwrap(); /// ``` pub struct StreamSink<'a, W: AsyncWrite + Unpin + Send + 'a> { diff --git a/src/io/parquet/write/mod.rs b/src/io/parquet/write/mod.rs index 6ef1864c6f..5efdd18cd5 100644 --- a/src/io/parquet/write/mod.rs +++ b/src/io/parquet/write/mod.rs @@ -872,8 +872,8 @@ fn transverse_recursive T + Clone>( /// This is used to assign an [`Encoding`] to every parquet column based on the columns' type (see example) /// # Example /// ``` -/// use arrow2::io::parquet::write::{transverse, Encoding}; -/// use arrow2::datatypes::{DataType, Field}; +/// use re_arrow2::io::parquet::write::{transverse, Encoding}; +/// use re_arrow2::datatypes::{DataType, Field}; /// /// let dt = DataType::Struct(vec![ /// Field::new("a", DataType::Int64, true), diff --git a/src/io/parquet/write/sink.rs b/src/io/parquet/write/sink.rs index 1eeb83e21b..bec103deed 100644 --- a/src/io/parquet/write/sink.rs +++ b/src/io/parquet/write/sink.rs @@ -20,11 +20,11 @@ use super::{Encoding, SchemaDescriptor, WriteOptions}; /// /// ``` /// use futures::SinkExt; -/// use arrow2::array::{Array, Int32Array}; -/// use arrow2::datatypes::{DataType, Field, Schema}; -/// use arrow2::chunk::Chunk; -/// use arrow2::io::parquet::write::{Encoding, WriteOptions, CompressionOptions, Version}; -/// # use arrow2::io::parquet::write::FileSink; +/// use re_arrow2::array::{Array, Int32Array}; +/// use re_arrow2::datatypes::{DataType, Field, Schema}; +/// use re_arrow2::chunk::Chunk; +/// use re_arrow2::io::parquet::write::{Encoding, WriteOptions, CompressionOptions, Version}; +/// # use re_arrow2::io::parquet::write::FileSink; /// # futures::executor::block_on(async move { /// /// let schema = Schema::from(vec![ @@ -53,7 +53,7 @@ use super::{Encoding, SchemaDescriptor, WriteOptions}; /// } /// sink.metadata.insert(String::from("key"), Some(String::from("value"))); /// sink.close().await?; -/// # arrow2::error::Result::Ok(()) +/// # re_arrow2::error::Result::Ok(()) /// # }).unwrap(); /// ``` pub struct FileSink<'a, W: AsyncWrite + Send + Unpin> { diff --git a/src/types/bit_chunk.rs b/src/types/bit_chunk.rs index 796a608b1b..a4dc51c43a 100644 --- a/src/types/bit_chunk.rs +++ b/src/types/bit_chunk.rs @@ -56,7 +56,7 @@ bit_chunk!(u64); /// to the first slot, as defined by the arrow specification. /// # Example /// ``` -/// use arrow2::types::BitChunkIter; +/// use re_arrow2::types::BitChunkIter; /// let a = 0b00010000u8; /// let iter = BitChunkIter::new(a, 7); /// let r = iter.collect::>(); @@ -109,7 +109,7 @@ unsafe impl crate::trusted_len::TrustedLen for BitChunkIter {} /// See for details /// # Example /// ``` -/// use arrow2::types::BitChunkOnes; +/// use re_arrow2::types::BitChunkOnes; /// let a = 0b00010000u8; /// let iter = BitChunkOnes::new(a); /// let r = iter.collect::>(); diff --git a/tests/it/array/binary/mod.rs b/tests/it/array/binary/mod.rs index 1418fce891..bb6e374c41 100644 --- a/tests/it/array/binary/mod.rs +++ b/tests/it/array/binary/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{Array, BinaryArray}, bitmap::Bitmap, buffer::Buffer, @@ -74,7 +74,7 @@ fn try_from_trusted_len_iter() { let iter = std::iter::repeat(b"hello".as_ref()) .take(2) .map(Some) - .map(arrow2::error::Result::Ok); + .map(re_arrow2::error::Result::Ok); let a = BinaryArray::::try_from_trusted_len_iter(iter).unwrap(); assert_eq!(a.len(), 2); } diff --git a/tests/it/array/binary/mutable.rs b/tests/it/array/binary/mutable.rs index 0d388b2416..a62462c316 100644 --- a/tests/it/array/binary/mutable.rs +++ b/tests/it/array/binary/mutable.rs @@ -1,8 +1,8 @@ use std::ops::Deref; -use arrow2::array::{BinaryArray, MutableArray, MutableBinaryArray, TryExtendFromSelf}; -use arrow2::bitmap::Bitmap; -use arrow2::error::Error; +use re_arrow2::array::{BinaryArray, MutableArray, MutableBinaryArray, TryExtendFromSelf}; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::error::Error; #[test] fn new() { diff --git a/tests/it/array/binary/mutable_values.rs b/tests/it/array/binary/mutable_values.rs index 0bf532bc21..25cd6abc15 100644 --- a/tests/it/array/binary/mutable_values.rs +++ b/tests/it/array/binary/mutable_values.rs @@ -1,6 +1,6 @@ -use arrow2::array::MutableArray; -use arrow2::array::MutableBinaryValuesArray; -use arrow2::datatypes::DataType; +use re_arrow2::array::MutableArray; +use re_arrow2::array::MutableBinaryValuesArray; +use re_arrow2::datatypes::DataType; #[test] fn capacity() { diff --git a/tests/it/array/binary/to_mutable.rs b/tests/it/array/binary/to_mutable.rs index 1773c83a36..56ddba21a7 100644 --- a/tests/it/array/binary/to_mutable.rs +++ b/tests/it/array/binary/to_mutable.rs @@ -1,4 +1,4 @@ -use arrow2::{array::BinaryArray, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; +use re_arrow2::{array::BinaryArray, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; #[test] fn not_shared() { diff --git a/tests/it/array/boolean/mod.rs b/tests/it/array/boolean/mod.rs index cd6ad0c77a..f78bd39d23 100644 --- a/tests/it/array/boolean/mod.rs +++ b/tests/it/array/boolean/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{Array, BooleanArray}, bitmap::Bitmap, datatypes::DataType, @@ -109,7 +109,7 @@ fn try_from_trusted_len_iter() { let iter = std::iter::repeat(true) .take(2) .map(Some) - .map(arrow2::error::Result::Ok); + .map(re_arrow2::error::Result::Ok); let a = BooleanArray::try_from_trusted_len_iter(iter.clone()).unwrap(); assert_eq!(a.len(), 2); let a = unsafe { BooleanArray::try_from_trusted_len_iter_unchecked(iter).unwrap() }; diff --git a/tests/it/array/boolean/mutable.rs b/tests/it/array/boolean/mutable.rs index 1f1d85631a..cbd3c94ed4 100644 --- a/tests/it/array/boolean/mutable.rs +++ b/tests/it/array/boolean/mutable.rs @@ -1,7 +1,7 @@ -use arrow2::array::{MutableArray, MutableBooleanArray, TryExtendFromSelf}; -use arrow2::bitmap::MutableBitmap; -use arrow2::datatypes::DataType; -use arrow2::error::Result; +use re_arrow2::array::{MutableArray, MutableBooleanArray, TryExtendFromSelf}; +use re_arrow2::bitmap::MutableBitmap; +use re_arrow2::datatypes::DataType; +use re_arrow2::error::Result; #[test] fn set() { diff --git a/tests/it/array/dictionary/mod.rs b/tests/it/array/dictionary/mod.rs index 0ee0c37476..fb4602f6c8 100644 --- a/tests/it/array/dictionary/mod.rs +++ b/tests/it/array/dictionary/mod.rs @@ -1,6 +1,6 @@ mod mutable; -use arrow2::{array::*, datatypes::DataType}; +use re_arrow2::{array::*, datatypes::DataType}; #[test] fn try_new_ok() { diff --git a/tests/it/array/dictionary/mutable.rs b/tests/it/array/dictionary/mutable.rs index a7845114d9..450172ae1c 100644 --- a/tests/it/array/dictionary/mutable.rs +++ b/tests/it/array/dictionary/mutable.rs @@ -3,9 +3,9 @@ use std::collections::HashSet; use std::fmt::Debug; use std::hash::Hash; -use arrow2::array::indexable::{AsIndexed, Indexable}; -use arrow2::array::*; -use arrow2::error::Result; +use re_arrow2::array::indexable::{AsIndexed, Indexable}; +use re_arrow2::array::*; +use re_arrow2::error::Result; #[test] fn primitive() -> Result<()> { diff --git a/tests/it/array/equal/boolean.rs b/tests/it/array/equal/boolean.rs index 9a43f226e6..0e102f39d8 100644 --- a/tests/it/array/equal/boolean.rs +++ b/tests/it/array/equal/boolean.rs @@ -1,4 +1,4 @@ -use arrow2::array::*; +use re_arrow2::array::*; use super::test_equal; diff --git a/tests/it/array/equal/dictionary.rs b/tests/it/array/equal/dictionary.rs index 8e25d083e1..18b0ee4747 100644 --- a/tests/it/array/equal/dictionary.rs +++ b/tests/it/array/equal/dictionary.rs @@ -1,4 +1,4 @@ -use arrow2::array::*; +use re_arrow2::array::*; use super::test_equal; diff --git a/tests/it/array/equal/fixed_size_list.rs b/tests/it/array/equal/fixed_size_list.rs index 3df32c574f..864e4f5b47 100644 --- a/tests/it/array/equal/fixed_size_list.rs +++ b/tests/it/array/equal/fixed_size_list.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ FixedSizeListArray, MutableFixedSizeListArray, MutablePrimitiveArray, TryExtend, }; diff --git a/tests/it/array/equal/list.rs b/tests/it/array/equal/list.rs index d54c59de6e..70676c020d 100644 --- a/tests/it/array/equal/list.rs +++ b/tests/it/array/equal/list.rs @@ -1,6 +1,6 @@ -use arrow2::array::{Int32Array, ListArray, MutableListArray, MutablePrimitiveArray, TryExtend}; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::DataType; +use re_arrow2::array::{Int32Array, ListArray, MutableListArray, MutablePrimitiveArray, TryExtend}; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::DataType; use super::test_equal; diff --git a/tests/it/array/equal/mod.rs b/tests/it/array/equal/mod.rs index f479b47884..c78a84748d 100644 --- a/tests/it/array/equal/mod.rs +++ b/tests/it/array/equal/mod.rs @@ -1,4 +1,4 @@ -use arrow2::array::*; +use re_arrow2::array::*; mod dictionary; mod fixed_size_list; diff --git a/tests/it/array/equal/primitive.rs b/tests/it/array/equal/primitive.rs index 58793bc8c3..62c96daba8 100644 --- a/tests/it/array/equal/primitive.rs +++ b/tests/it/array/equal/primitive.rs @@ -1,4 +1,4 @@ -use arrow2::array::*; +use re_arrow2::array::*; use super::test_equal; diff --git a/tests/it/array/equal/utf8.rs b/tests/it/array/equal/utf8.rs index 7d4e725c0b..712bf221c7 100644 --- a/tests/it/array/equal/utf8.rs +++ b/tests/it/array/equal/utf8.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::offset::Offset; +use re_arrow2::array::*; +use re_arrow2::offset::Offset; use super::{binary_cases, test_equal}; diff --git a/tests/it/array/fixed_size_binary/mod.rs b/tests/it/array/fixed_size_binary/mod.rs index c5524248ff..417181fee1 100644 --- a/tests/it/array/fixed_size_binary/mod.rs +++ b/tests/it/array/fixed_size_binary/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{array::FixedSizeBinaryArray, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; +use re_arrow2::{array::FixedSizeBinaryArray, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; mod mutable; diff --git a/tests/it/array/fixed_size_binary/mutable.rs b/tests/it/array/fixed_size_binary/mutable.rs index ad2ea25b3f..cb402a67de 100644 --- a/tests/it/array/fixed_size_binary/mutable.rs +++ b/tests/it/array/fixed_size_binary/mutable.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::bitmap::{Bitmap, MutableBitmap}; -use arrow2::datatypes::DataType; +use re_arrow2::array::*; +use re_arrow2::bitmap::{Bitmap, MutableBitmap}; +use re_arrow2::datatypes::DataType; #[test] fn basic() { diff --git a/tests/it/array/fixed_size_list/mod.rs b/tests/it/array/fixed_size_list/mod.rs index c2a4b11e62..90285240f7 100644 --- a/tests/it/array/fixed_size_list/mod.rs +++ b/tests/it/array/fixed_size_list/mod.rs @@ -1,6 +1,6 @@ mod mutable; -use arrow2::{ +use re_arrow2::{ array::*, bitmap::Bitmap, datatypes::{DataType, Field}, diff --git a/tests/it/array/fixed_size_list/mutable.rs b/tests/it/array/fixed_size_list/mutable.rs index f7a8784dfc..6e636b4ff0 100644 --- a/tests/it/array/fixed_size_list/mutable.rs +++ b/tests/it/array/fixed_size_list/mutable.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::datatypes::{DataType, Field}; +use re_arrow2::array::*; +use re_arrow2::datatypes::{DataType, Field}; #[test] fn primitive() { diff --git a/tests/it/array/growable/binary.rs b/tests/it/array/growable/binary.rs index 5b8bb3e934..3f818a876f 100644 --- a/tests/it/array/growable/binary.rs +++ b/tests/it/array/growable/binary.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowableBinary}, BinaryArray, }; diff --git a/tests/it/array/growable/boolean.rs b/tests/it/array/growable/boolean.rs index b52110b5d9..22291a9b89 100644 --- a/tests/it/array/growable/boolean.rs +++ b/tests/it/array/growable/boolean.rs @@ -1,5 +1,5 @@ -use arrow2::array::growable::{Growable, GrowableBoolean}; -use arrow2::array::BooleanArray; +use re_arrow2::array::growable::{Growable, GrowableBoolean}; +use re_arrow2::array::BooleanArray; #[test] fn test_bool() { diff --git a/tests/it/array/growable/dictionary.rs b/tests/it/array/growable/dictionary.rs index d4c75922de..9b60691b19 100644 --- a/tests/it/array/growable/dictionary.rs +++ b/tests/it/array/growable/dictionary.rs @@ -1,6 +1,6 @@ -use arrow2::array::growable::{Growable, GrowableDictionary}; -use arrow2::array::*; -use arrow2::error::Result; +use re_arrow2::array::growable::{Growable, GrowableDictionary}; +use re_arrow2::array::*; +use re_arrow2::error::Result; #[test] fn test_single() -> Result<()> { diff --git a/tests/it/array/growable/fixed_binary.rs b/tests/it/array/growable/fixed_binary.rs index c3bcb63055..31743d6c31 100644 --- a/tests/it/array/growable/fixed_binary.rs +++ b/tests/it/array/growable/fixed_binary.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowableFixedSizeBinary}, FixedSizeBinaryArray, }; diff --git a/tests/it/array/growable/fixed_size_list.rs b/tests/it/array/growable/fixed_size_list.rs index d48e40338c..91193871f3 100644 --- a/tests/it/array/growable/fixed_size_list.rs +++ b/tests/it/array/growable/fixed_size_list.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowableFixedSizeList}, FixedSizeListArray, MutableFixedSizeListArray, MutablePrimitiveArray, TryExtend, }; diff --git a/tests/it/array/growable/list.rs b/tests/it/array/growable/list.rs index 45006b6e3d..60109ef320 100644 --- a/tests/it/array/growable/list.rs +++ b/tests/it/array/growable/list.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{ growable::{Growable, GrowableList}, Array, ListArray, MutableListArray, MutablePrimitiveArray, TryExtend, diff --git a/tests/it/array/growable/map.rs b/tests/it/array/growable/map.rs index de9069f68b..fffe00a39b 100644 --- a/tests/it/array/growable/map.rs +++ b/tests/it/array/growable/map.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{ growable::{Growable, GrowableMap}, Array, MapArray, PrimitiveArray, StructArray, Utf8Array, diff --git a/tests/it/array/growable/mod.rs b/tests/it/array/growable/mod.rs index d4b034a13e..e0c5cd1c61 100644 --- a/tests/it/array/growable/mod.rs +++ b/tests/it/array/growable/mod.rs @@ -11,9 +11,9 @@ mod struct_; mod union; mod utf8; -use arrow2::array::growable::make_growable; -use arrow2::array::*; -use arrow2::datatypes::{DataType, Field}; +use re_arrow2::array::growable::make_growable; +use re_arrow2::array::*; +use re_arrow2::datatypes::{DataType, Field}; #[test] fn test_make_growable() { diff --git a/tests/it/array/growable/null.rs b/tests/it/array/growable/null.rs index 1298f3f568..a27691f51f 100644 --- a/tests/it/array/growable/null.rs +++ b/tests/it/array/growable/null.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{ growable::{Growable, GrowableNull}, NullArray, diff --git a/tests/it/array/growable/primitive.rs b/tests/it/array/growable/primitive.rs index f308a0c49b..f0fcd0b1ef 100644 --- a/tests/it/array/growable/primitive.rs +++ b/tests/it/array/growable/primitive.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowablePrimitive}, PrimitiveArray, }; diff --git a/tests/it/array/growable/struct_.rs b/tests/it/array/growable/struct_.rs index 9596f23961..c50b3fce68 100644 --- a/tests/it/array/growable/struct_.rs +++ b/tests/it/array/growable/struct_.rs @@ -1,9 +1,9 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowableStruct}, Array, PrimitiveArray, StructArray, Utf8Array, }; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::{DataType, Field}; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::{DataType, Field}; fn some_values() -> (DataType, Vec>) { let strings: Box = Box::new(Utf8Array::::from([ diff --git a/tests/it/array/growable/union.rs b/tests/it/array/growable/union.rs index 21cbbebabf..5da5d14f08 100644 --- a/tests/it/array/growable/union.rs +++ b/tests/it/array/growable/union.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{ growable::{Growable, GrowableUnion}, *, diff --git a/tests/it/array/growable/utf8.rs b/tests/it/array/growable/utf8.rs index 2568116dc3..1a2d59a3dd 100644 --- a/tests/it/array/growable/utf8.rs +++ b/tests/it/array/growable/utf8.rs @@ -1,4 +1,4 @@ -use arrow2::array::{ +use re_arrow2::array::{ growable::{Growable, GrowableUtf8}, Utf8Array, }; diff --git a/tests/it/array/list/mod.rs b/tests/it/array/list/mod.rs index 4cbf4dbbec..887ba9cf5c 100644 --- a/tests/it/array/list/mod.rs +++ b/tests/it/array/list/mod.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::buffer::Buffer; -use arrow2::datatypes::DataType; +use re_arrow2::array::*; +use re_arrow2::buffer::Buffer; +use re_arrow2::datatypes::DataType; mod mutable; diff --git a/tests/it/array/list/mutable.rs b/tests/it/array/list/mutable.rs index e72167277f..b35403c6e4 100644 --- a/tests/it/array/list/mutable.rs +++ b/tests/it/array/list/mutable.rs @@ -1,4 +1,4 @@ -use arrow2::{array::*, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; +use re_arrow2::{array::*, bitmap::Bitmap, buffer::Buffer, datatypes::DataType}; #[test] fn basics() { diff --git a/tests/it/array/map/mod.rs b/tests/it/array/map/mod.rs index 285bc8b39b..26c6c4cdaf 100644 --- a/tests/it/array/map/mod.rs +++ b/tests/it/array/map/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, datatypes::{DataType, Field}, }; diff --git a/tests/it/array/mod.rs b/tests/it/array/mod.rs index 85318ba628..c9720d04a6 100644 --- a/tests/it/array/mod.rs +++ b/tests/it/array/mod.rs @@ -13,9 +13,9 @@ mod struct_; mod union; mod utf8; -use arrow2::array::{clone, new_empty_array, new_null_array, Array, PrimitiveArray}; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::{DataType, Field, UnionMode}; +use re_arrow2::array::{clone, new_empty_array, new_null_array, Array, PrimitiveArray}; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::{DataType, Field, UnionMode}; #[test] fn nulls() { diff --git a/tests/it/array/ord.rs b/tests/it/array/ord.rs index 3ce249af45..096916d497 100644 --- a/tests/it/array/ord.rs +++ b/tests/it/array/ord.rs @@ -1,9 +1,9 @@ use std::cmp::Ordering; -use arrow2::array::ord::build_compare; -use arrow2::array::*; -use arrow2::datatypes::DataType; -use arrow2::error::Result; +use re_arrow2::array::ord::build_compare; +use re_arrow2::array::*; +use re_arrow2::datatypes::DataType; +use re_arrow2::error::Result; #[test] fn i32() -> Result<()> { diff --git a/tests/it/array/primitive/fmt.rs b/tests/it/array/primitive/fmt.rs index c04c1e1c5e..a8c586293d 100644 --- a/tests/it/array/primitive/fmt.rs +++ b/tests/it/array/primitive/fmt.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, datatypes::*, types::{days_ms, months_days_ns}, diff --git a/tests/it/array/primitive/mod.rs b/tests/it/array/primitive/mod.rs index e8a7843531..2c84b763c2 100644 --- a/tests/it/array/primitive/mod.rs +++ b/tests/it/array/primitive/mod.rs @@ -1,6 +1,6 @@ use std::iter::FromIterator; -use arrow2::{array::*, bitmap::Bitmap, buffer::Buffer, datatypes::*, types::months_days_ns}; +use re_arrow2::{array::*, bitmap::Bitmap, buffer::Buffer, datatypes::*, types::months_days_ns}; mod fmt; mod mutable; diff --git a/tests/it/array/primitive/mutable.rs b/tests/it/array/primitive/mutable.rs index d7e0b86c06..368409fdf7 100644 --- a/tests/it/array/primitive/mutable.rs +++ b/tests/it/array/primitive/mutable.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, bitmap::{Bitmap, MutableBitmap}, datatypes::DataType, diff --git a/tests/it/array/primitive/to_mutable.rs b/tests/it/array/primitive/to_mutable.rs index ee3a1f8ee3..524723e1fb 100644 --- a/tests/it/array/primitive/to_mutable.rs +++ b/tests/it/array/primitive/to_mutable.rs @@ -1,7 +1,7 @@ -use arrow2::array::PrimitiveArray; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::DataType; use either::Either; +use re_arrow2::array::PrimitiveArray; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::DataType; #[test] fn array_to_mutable() { diff --git a/tests/it/array/struct_/iterator.rs b/tests/it/array/struct_/iterator.rs index be4a5eefbb..dbd22bafb4 100644 --- a/tests/it/array/struct_/iterator.rs +++ b/tests/it/array/struct_/iterator.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::datatypes::*; -use arrow2::scalar::new_scalar; +use re_arrow2::array::*; +use re_arrow2::datatypes::*; +use re_arrow2::scalar::new_scalar; #[test] fn test_simple_iter() { diff --git a/tests/it/array/struct_/mod.rs b/tests/it/array/struct_/mod.rs index cd32eee3f7..63bbb2819c 100644 --- a/tests/it/array/struct_/mod.rs +++ b/tests/it/array/struct_/mod.rs @@ -1,9 +1,9 @@ mod iterator; mod mutable; -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::*; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::*; #[test] fn debug() { diff --git a/tests/it/array/struct_/mutable.rs b/tests/it/array/struct_/mutable.rs index 19f2f12f15..b11a757f64 100644 --- a/tests/it/array/struct_/mutable.rs +++ b/tests/it/array/struct_/mutable.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, datatypes::{DataType, Field}, }; diff --git a/tests/it/array/union.rs b/tests/it/array/union.rs index 4a8c3aee21..625cc3695d 100644 --- a/tests/it/array/union.rs +++ b/tests/it/array/union.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, buffer::Buffer, datatypes::*, diff --git a/tests/it/array/utf8/mod.rs b/tests/it/array/utf8/mod.rs index 9a437bb868..7a35c2639d 100644 --- a/tests/it/array/utf8/mod.rs +++ b/tests/it/array/utf8/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, bitmap::Bitmap, buffer::Buffer, datatypes::DataType, error::Result, offset::OffsetsBuffer, }; diff --git a/tests/it/array/utf8/mutable.rs b/tests/it/array/utf8/mutable.rs index b33fb59966..04699a9fea 100644 --- a/tests/it/array/utf8/mutable.rs +++ b/tests/it/array/utf8/mutable.rs @@ -1,6 +1,6 @@ -use arrow2::array::{MutableArray, MutableUtf8Array, TryExtendFromSelf, Utf8Array}; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::DataType; +use re_arrow2::array::{MutableArray, MutableUtf8Array, TryExtendFromSelf, Utf8Array}; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::DataType; #[test] fn capacities() { diff --git a/tests/it/array/utf8/mutable_values.rs b/tests/it/array/utf8/mutable_values.rs index 6bf04726a3..fde91fe186 100644 --- a/tests/it/array/utf8/mutable_values.rs +++ b/tests/it/array/utf8/mutable_values.rs @@ -1,6 +1,6 @@ -use arrow2::array::MutableArray; -use arrow2::array::MutableUtf8ValuesArray; -use arrow2::datatypes::DataType; +use re_arrow2::array::MutableArray; +use re_arrow2::array::MutableUtf8ValuesArray; +use re_arrow2::datatypes::DataType; #[test] fn capacity() { diff --git a/tests/it/array/utf8/to_mutable.rs b/tests/it/array/utf8/to_mutable.rs index 97ee0fb205..a181b9306b 100644 --- a/tests/it/array/utf8/to_mutable.rs +++ b/tests/it/array/utf8/to_mutable.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::Utf8Array, bitmap::Bitmap, buffer::Buffer, datatypes::DataType, offset::OffsetsBuffer, }; diff --git a/tests/it/arrow.rs b/tests/it/arrow.rs index 633a2a196f..5bbc23a806 100644 --- a/tests/it/arrow.rs +++ b/tests/it/arrow.rs @@ -1,10 +1,10 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::{DataType, Field, IntegerType, TimeUnit, UnionMode}; -use arrow2::offset::Offsets; use arrow_array::ArrayRef; use arrow_data::ArrayDataBuilder; use proptest::num::i32; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::{DataType, Field, IntegerType, TimeUnit, UnionMode}; +use re_arrow2::offset::Offsets; fn test_arrow2_roundtrip(array: &dyn arrow_array::Array) { let arrow2 = Box::::from(array); diff --git a/tests/it/bitmap/assign_ops.rs b/tests/it/bitmap/assign_ops.rs index 5f367a7990..1520457ffa 100644 --- a/tests/it/bitmap/assign_ops.rs +++ b/tests/it/bitmap/assign_ops.rs @@ -1,6 +1,6 @@ use proptest::prelude::*; -use arrow2::bitmap::{binary_assign, unary_assign, Bitmap, MutableBitmap}; +use re_arrow2::bitmap::{binary_assign, unary_assign, Bitmap, MutableBitmap}; use crate::bitmap::bitmap_strategy; diff --git a/tests/it/bitmap/bitmap_ops.rs b/tests/it/bitmap/bitmap_ops.rs index 9454af4996..dc74999111 100644 --- a/tests/it/bitmap/bitmap_ops.rs +++ b/tests/it/bitmap/bitmap_ops.rs @@ -1,6 +1,6 @@ use proptest::prelude::*; -use arrow2::bitmap::{and, or, xor, Bitmap}; +use re_arrow2::bitmap::{and, or, xor, Bitmap}; use crate::bitmap::bitmap_strategy; diff --git a/tests/it/bitmap/immutable.rs b/tests/it/bitmap/immutable.rs index cc003009e0..5c732cb9de 100644 --- a/tests/it/bitmap/immutable.rs +++ b/tests/it/bitmap/immutable.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::Bitmap; +use re_arrow2::bitmap::Bitmap; #[test] fn as_slice() { diff --git a/tests/it/bitmap/mod.rs b/tests/it/bitmap/mod.rs index 04026e4ac4..9ae3b525d5 100644 --- a/tests/it/bitmap/mod.rs +++ b/tests/it/bitmap/mod.rs @@ -6,7 +6,7 @@ mod utils; use proptest::prelude::*; -use arrow2::bitmap::Bitmap; +use re_arrow2::bitmap::Bitmap; /// Returns a strategy of an arbitrary sliced [`Bitmap`] of size up to 1000 pub(crate) fn bitmap_strategy() -> impl Strategy { diff --git a/tests/it/bitmap/mutable.rs b/tests/it/bitmap/mutable.rs index 960c6303e6..f0dff4eafa 100644 --- a/tests/it/bitmap/mutable.rs +++ b/tests/it/bitmap/mutable.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::{Bitmap, MutableBitmap}; +use re_arrow2::bitmap::{Bitmap, MutableBitmap}; #[test] fn from_slice() { diff --git a/tests/it/bitmap/utils/bit_chunks_exact.rs b/tests/it/bitmap/utils/bit_chunks_exact.rs index 56ac806f16..dc4887bd9d 100644 --- a/tests/it/bitmap/utils/bit_chunks_exact.rs +++ b/tests/it/bitmap/utils/bit_chunks_exact.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::utils::BitChunksExact; +use re_arrow2::bitmap::utils::BitChunksExact; #[test] fn basics() { diff --git a/tests/it/bitmap/utils/chunk_iter.rs b/tests/it/bitmap/utils/chunk_iter.rs index 3bbad3f88c..c5e3674c72 100644 --- a/tests/it/bitmap/utils/chunk_iter.rs +++ b/tests/it/bitmap/utils/chunk_iter.rs @@ -1,5 +1,5 @@ -use arrow2::bitmap::utils::BitChunks; -use arrow2::types::BitChunkIter; +use re_arrow2::bitmap::utils::BitChunks; +use re_arrow2::types::BitChunkIter; #[test] fn basics() { diff --git a/tests/it/bitmap/utils/fmt.rs b/tests/it/bitmap/utils/fmt.rs index 36e748bfe1..c5b46b5fcb 100644 --- a/tests/it/bitmap/utils/fmt.rs +++ b/tests/it/bitmap/utils/fmt.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::utils::fmt; +use re_arrow2::bitmap::utils::fmt; struct A<'a>(&'a [u8], usize, usize); diff --git a/tests/it/bitmap/utils/iterator.rs b/tests/it/bitmap/utils/iterator.rs index 1f1d56d39d..93cbdd664c 100644 --- a/tests/it/bitmap/utils/iterator.rs +++ b/tests/it/bitmap/utils/iterator.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::utils::BitmapIter; +use re_arrow2::bitmap::utils::BitmapIter; #[test] fn basic() { diff --git a/tests/it/bitmap/utils/mod.rs b/tests/it/bitmap/utils/mod.rs index 9b138d82eb..1c99753ffb 100644 --- a/tests/it/bitmap/utils/mod.rs +++ b/tests/it/bitmap/utils/mod.rs @@ -1,6 +1,6 @@ use proptest::prelude::*; -use arrow2::bitmap::utils::*; +use re_arrow2::bitmap::utils::*; use crate::bitmap::bitmap_strategy; diff --git a/tests/it/bitmap/utils/slice_iterator.rs b/tests/it/bitmap/utils/slice_iterator.rs index cab565456d..040c1c7d68 100644 --- a/tests/it/bitmap/utils/slice_iterator.rs +++ b/tests/it/bitmap/utils/slice_iterator.rs @@ -1,7 +1,7 @@ use proptest::prelude::*; -use arrow2::bitmap::utils::SlicesIterator; -use arrow2::bitmap::Bitmap; +use re_arrow2::bitmap::utils::SlicesIterator; +use re_arrow2::bitmap::Bitmap; use crate::bitmap::bitmap_strategy; diff --git a/tests/it/bitmap/utils/zip_validity.rs b/tests/it/bitmap/utils/zip_validity.rs index dc16296220..df29abbbcc 100644 --- a/tests/it/bitmap/utils/zip_validity.rs +++ b/tests/it/bitmap/utils/zip_validity.rs @@ -1,4 +1,4 @@ -use arrow2::bitmap::{ +use re_arrow2::bitmap::{ utils::{BitmapIter, ZipValidity}, Bitmap, }; diff --git a/tests/it/buffer/immutable.rs b/tests/it/buffer/immutable.rs index 550b2ee170..4fa3a60955 100644 --- a/tests/it/buffer/immutable.rs +++ b/tests/it/buffer/immutable.rs @@ -1,4 +1,4 @@ -use arrow2::buffer::Buffer; +use re_arrow2::buffer::Buffer; #[test] fn new() { diff --git a/tests/it/compute/aggregate/memory.rs b/tests/it/compute/aggregate/memory.rs index be6ca35ee0..3bd4f88953 100644 --- a/tests/it/compute/aggregate/memory.rs +++ b/tests/it/compute/aggregate/memory.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, compute::aggregate::estimated_bytes_size, datatypes::{DataType, Field}, diff --git a/tests/it/compute/aggregate/min_max.rs b/tests/it/compute/aggregate/min_max.rs index ba27c73ade..2a219dc95c 100644 --- a/tests/it/compute/aggregate/min_max.rs +++ b/tests/it/compute/aggregate/min_max.rs @@ -1,8 +1,8 @@ -use arrow2::compute::aggregate::{ +use re_arrow2::compute::aggregate::{ max_binary, max_boolean, max_primitive, max_string, min_binary, min_boolean, min_primitive, min_string, }; -use arrow2::{array::*, datatypes::DataType}; +use re_arrow2::{array::*, datatypes::DataType}; #[test] fn test_primitive_array_min_max() { diff --git a/tests/it/compute/aggregate/sum.rs b/tests/it/compute/aggregate/sum.rs index 8c12d1d38c..53b3ff970c 100644 --- a/tests/it/compute/aggregate/sum.rs +++ b/tests/it/compute/aggregate/sum.rs @@ -1,8 +1,8 @@ -use arrow2::array::*; -use arrow2::compute::aggregate::{sum, sum_primitive}; -use arrow2::compute::arithmetics; -use arrow2::datatypes::DataType; -use arrow2::scalar::{PrimitiveScalar, Scalar}; +use re_arrow2::array::*; +use re_arrow2::compute::aggregate::{sum, sum_primitive}; +use re_arrow2::compute::arithmetics; +use re_arrow2::datatypes::DataType; +use re_arrow2::scalar::{PrimitiveScalar, Scalar}; #[test] fn test_primitive_array_sum() { diff --git a/tests/it/compute/arithmetics/basic/add.rs b/tests/it/compute/arithmetics/basic/add.rs index 45a4945bd1..be16619c2b 100644 --- a/tests/it/compute/arithmetics/basic/add.rs +++ b/tests/it/compute/arithmetics/basic/add.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{ +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{ ArrayAdd, ArrayCheckedAdd, ArrayOverflowingAdd, ArraySaturatingAdd, }; diff --git a/tests/it/compute/arithmetics/basic/div.rs b/tests/it/compute/arithmetics/basic/div.rs index 6160f2eea1..3c42541788 100644 --- a/tests/it/compute/arithmetics/basic/div.rs +++ b/tests/it/compute/arithmetics/basic/div.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{ArrayCheckedDiv, ArrayDiv}; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{ArrayCheckedDiv, ArrayDiv}; #[test] #[should_panic] diff --git a/tests/it/compute/arithmetics/basic/mul.rs b/tests/it/compute/arithmetics/basic/mul.rs index b8416e3e0c..c2f14e1ff7 100644 --- a/tests/it/compute/arithmetics/basic/mul.rs +++ b/tests/it/compute/arithmetics/basic/mul.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{ +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{ ArrayCheckedMul, ArrayMul, ArrayOverflowingMul, ArraySaturatingMul, }; diff --git a/tests/it/compute/arithmetics/basic/pow.rs b/tests/it/compute/arithmetics/basic/pow.rs index e6ce52b03f..f0874cfa1b 100644 --- a/tests/it/compute/arithmetics/basic/pow.rs +++ b/tests/it/compute/arithmetics/basic/pow.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::compute::arithmetics::basic::*; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::basic::*; #[test] fn test_raise_power_scalar() { diff --git a/tests/it/compute/arithmetics/basic/rem.rs b/tests/it/compute/arithmetics/basic/rem.rs index 666cb3fd62..155e2c9eb6 100644 --- a/tests/it/compute/arithmetics/basic/rem.rs +++ b/tests/it/compute/arithmetics/basic/rem.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{ArrayCheckedRem, ArrayRem}; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{ArrayCheckedRem, ArrayRem}; #[test] #[should_panic] diff --git a/tests/it/compute/arithmetics/basic/sub.rs b/tests/it/compute/arithmetics/basic/sub.rs index 3822bf705b..b1b123c1a1 100644 --- a/tests/it/compute/arithmetics/basic/sub.rs +++ b/tests/it/compute/arithmetics/basic/sub.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::compute::arithmetics::basic::*; -use arrow2::compute::arithmetics::{ +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::compute::arithmetics::basic::*; +use re_arrow2::compute::arithmetics::{ ArrayCheckedSub, ArrayOverflowingSub, ArraySaturatingSub, ArraySub, }; diff --git a/tests/it/compute/arithmetics/decimal/add.rs b/tests/it/compute/arithmetics/decimal/add.rs index 45af77b151..9fb11e6f82 100644 --- a/tests/it/compute/arithmetics/decimal/add.rs +++ b/tests/it/compute/arithmetics/decimal/add.rs @@ -1,9 +1,9 @@ #![allow(clippy::zero_prefixed_literal, clippy::inconsistent_digit_grouping)] -use arrow2::array::*; -use arrow2::compute::arithmetics::decimal::{adaptive_add, add, checked_add, saturating_add}; -use arrow2::compute::arithmetics::{ArrayAdd, ArrayCheckedAdd, ArraySaturatingAdd}; -use arrow2::datatypes::DataType; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::decimal::{adaptive_add, add, checked_add, saturating_add}; +use re_arrow2::compute::arithmetics::{ArrayAdd, ArrayCheckedAdd, ArraySaturatingAdd}; +use re_arrow2::datatypes::DataType; #[test] fn test_add_normal() { diff --git a/tests/it/compute/arithmetics/decimal/div.rs b/tests/it/compute/arithmetics/decimal/div.rs index 39138d05dd..43d4046348 100644 --- a/tests/it/compute/arithmetics/decimal/div.rs +++ b/tests/it/compute/arithmetics/decimal/div.rs @@ -1,12 +1,12 @@ #![allow(clippy::zero_prefixed_literal, clippy::inconsistent_digit_grouping)] -use arrow2::array::*; -use arrow2::compute::arithmetics::decimal::{ +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::decimal::{ adaptive_div, checked_div, div, div_scalar, saturating_div, }; -use arrow2::compute::arithmetics::{ArrayCheckedDiv, ArrayDiv}; -use arrow2::datatypes::DataType; -use arrow2::scalar::PrimitiveScalar; +use re_arrow2::compute::arithmetics::{ArrayCheckedDiv, ArrayDiv}; +use re_arrow2::datatypes::DataType; +use re_arrow2::scalar::PrimitiveScalar; #[test] fn test_divide_normal() { diff --git a/tests/it/compute/arithmetics/decimal/mul.rs b/tests/it/compute/arithmetics/decimal/mul.rs index a4b4a71b25..cfd35155ab 100644 --- a/tests/it/compute/arithmetics/decimal/mul.rs +++ b/tests/it/compute/arithmetics/decimal/mul.rs @@ -1,9 +1,9 @@ #![allow(clippy::zero_prefixed_literal, clippy::inconsistent_digit_grouping)] -use arrow2::array::*; -use arrow2::compute::arithmetics::decimal::{adaptive_mul, checked_mul, mul, saturating_mul}; -use arrow2::compute::arithmetics::{ArrayCheckedMul, ArrayMul, ArraySaturatingMul}; -use arrow2::datatypes::DataType; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::decimal::{adaptive_mul, checked_mul, mul, saturating_mul}; +use re_arrow2::compute::arithmetics::{ArrayCheckedMul, ArrayMul, ArraySaturatingMul}; +use re_arrow2::datatypes::DataType; #[test] fn test_multiply_normal() { diff --git a/tests/it/compute/arithmetics/decimal/sub.rs b/tests/it/compute/arithmetics/decimal/sub.rs index 343149a564..315dab499f 100644 --- a/tests/it/compute/arithmetics/decimal/sub.rs +++ b/tests/it/compute/arithmetics/decimal/sub.rs @@ -1,9 +1,9 @@ #![allow(clippy::zero_prefixed_literal, clippy::inconsistent_digit_grouping)] -use arrow2::array::*; -use arrow2::compute::arithmetics::decimal::{adaptive_sub, checked_sub, saturating_sub, sub}; -use arrow2::compute::arithmetics::{ArrayCheckedSub, ArraySaturatingSub, ArraySub}; -use arrow2::datatypes::DataType; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::decimal::{adaptive_sub, checked_sub, saturating_sub, sub}; +use re_arrow2::compute::arithmetics::{ArrayCheckedSub, ArraySaturatingSub, ArraySub}; +use re_arrow2::datatypes::DataType; #[test] fn test_subtract_normal() { diff --git a/tests/it/compute/arithmetics/mod.rs b/tests/it/compute/arithmetics/mod.rs index a7060ab328..921f667a67 100644 --- a/tests/it/compute/arithmetics/mod.rs +++ b/tests/it/compute/arithmetics/mod.rs @@ -2,11 +2,11 @@ mod basic; mod decimal; mod time; -use arrow2::array::*; -use arrow2::compute::arithmetics::*; -use arrow2::datatypes::DataType::*; -use arrow2::datatypes::{IntervalUnit, TimeUnit}; -use arrow2::scalar::PrimitiveScalar; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::*; +use re_arrow2::datatypes::DataType::*; +use re_arrow2::datatypes::{IntervalUnit, TimeUnit}; +use re_arrow2::scalar::PrimitiveScalar; #[test] fn test_add() { diff --git a/tests/it/compute/arithmetics/time.rs b/tests/it/compute/arithmetics/time.rs index 9f31dd60a9..6d1501cdab 100644 --- a/tests/it/compute/arithmetics/time.rs +++ b/tests/it/compute/arithmetics/time.rs @@ -1,8 +1,8 @@ -use arrow2::array::*; -use arrow2::compute::arithmetics::time::*; -use arrow2::datatypes::{DataType, TimeUnit}; -use arrow2::scalar::*; -use arrow2::types::months_days_ns; +use re_arrow2::array::*; +use re_arrow2::compute::arithmetics::time::*; +use re_arrow2::datatypes::{DataType, TimeUnit}; +use re_arrow2::scalar::*; +use re_arrow2::types::months_days_ns; #[test] fn test_adding_timestamp() { diff --git a/tests/it/compute/arity_assign.rs b/tests/it/compute/arity_assign.rs index b3581e2fa3..b4826f6971 100644 --- a/tests/it/compute/arity_assign.rs +++ b/tests/it/compute/arity_assign.rs @@ -1,5 +1,5 @@ -use arrow2::array::Int32Array; -use arrow2::compute::arity_assign::{binary, unary}; +use re_arrow2::array::Int32Array; +use re_arrow2::compute::arity_assign::{binary, unary}; #[test] fn test_unary_assign() { diff --git a/tests/it/compute/bitwise.rs b/tests/it/compute/bitwise.rs index 3d44e58f21..5edb1ad9b3 100644 --- a/tests/it/compute/bitwise.rs +++ b/tests/it/compute/bitwise.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::compute::bitwise::*; +use re_arrow2::array::*; +use re_arrow2::compute::bitwise::*; #[test] fn test_xor() { diff --git a/tests/it/compute/boolean.rs b/tests/it/compute/boolean.rs index ae4c0fde85..f127813919 100644 --- a/tests/it/compute/boolean.rs +++ b/tests/it/compute/boolean.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::boolean::*; -use arrow2::scalar::BooleanScalar; +use re_arrow2::array::*; +use re_arrow2::compute::boolean::*; +use re_arrow2::scalar::BooleanScalar; use std::iter::FromIterator; #[test] diff --git a/tests/it/compute/boolean_kleene.rs b/tests/it/compute/boolean_kleene.rs index 902e5b425a..79a3004059 100644 --- a/tests/it/compute/boolean_kleene.rs +++ b/tests/it/compute/boolean_kleene.rs @@ -1,6 +1,6 @@ -use arrow2::array::BooleanArray; -use arrow2::compute::boolean_kleene::*; -use arrow2::scalar::BooleanScalar; +use re_arrow2::array::BooleanArray; +use re_arrow2::compute::boolean_kleene::*; +use re_arrow2::scalar::BooleanScalar; #[test] fn and_generic() { diff --git a/tests/it/compute/cast.rs b/tests/it/compute/cast.rs index d8a9ecfce1..e7524740f5 100644 --- a/tests/it/compute/cast.rs +++ b/tests/it/compute/cast.rs @@ -1,8 +1,8 @@ -use arrow2::array::*; -use arrow2::compute::cast::{can_cast_types, cast, CastOptions}; -use arrow2::datatypes::DataType::LargeList; -use arrow2::datatypes::*; -use arrow2::types::{days_ms, months_days_ns, NativeType}; +use re_arrow2::array::*; +use re_arrow2::compute::cast::{can_cast_types, cast, CastOptions}; +use re_arrow2::datatypes::DataType::LargeList; +use re_arrow2::datatypes::*; +use re_arrow2::types::{days_ms, months_days_ns, NativeType}; #[test] fn i32_to_f64() { diff --git a/tests/it/compute/comparison.rs b/tests/it/compute/comparison.rs index a63bb39ce0..b1ec5f42cf 100644 --- a/tests/it/compute/comparison.rs +++ b/tests/it/compute/comparison.rs @@ -1,12 +1,12 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::compute::comparison::{self, boolean::*, primitive, utf8}; -use arrow2::datatypes::{DataType, DataType::*, IntegerType, IntervalUnit, TimeUnit}; -use arrow2::scalar::new_scalar; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::compute::comparison::{self, boolean::*, primitive, utf8}; +use re_arrow2::datatypes::{DataType, DataType::*, IntegerType, IntervalUnit, TimeUnit}; +use re_arrow2::scalar::new_scalar; #[test] fn consistency() { - use arrow2::compute::comparison::*; + use re_arrow2::compute::comparison::*; let datatypes = vec![ Null, Boolean, @@ -385,12 +385,12 @@ fn primitive_gt_eq() { #[test] #[cfg(all(feature = "compute_cast", feature = "compute_boolean_kleene"))] fn utf8_and_validity() { - use arrow2::compute::cast::CastOptions; + use re_arrow2::compute::cast::CastOptions; let a1 = Utf8Array::::from([Some("0"), Some("1"), None, Some("2")]); let a2 = Int32Array::from([Some(0), Some(1), None, Some(2)]); // due to the cast the values underneath the validity bits differ - let a2 = arrow2::compute::cast::cast(&a2, &DataType::Utf8, CastOptions::default()).unwrap(); + let a2 = re_arrow2::compute::cast::cast(&a2, &DataType::Utf8, CastOptions::default()).unwrap(); let a2 = a2.as_any().downcast_ref::>().unwrap(); let expected = BooleanArray::from_slice([true, true, true, true]); diff --git a/tests/it/compute/concatenate.rs b/tests/it/compute/concatenate.rs index b5c5e52905..f8f437edb3 100644 --- a/tests/it/compute/concatenate.rs +++ b/tests/it/compute/concatenate.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::concatenate::concatenate; -use arrow2::error::Result; +use re_arrow2::array::*; +use re_arrow2::compute::concatenate::concatenate; +use re_arrow2::error::Result; #[test] fn empty_vec() { diff --git a/tests/it/compute/contains.rs b/tests/it/compute/contains.rs index cfbdd9946e..475ad7565b 100644 --- a/tests/it/compute/contains.rs +++ b/tests/it/compute/contains.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::compute::contains::contains; +use re_arrow2::array::*; +use re_arrow2::compute::contains::contains; // disable wrapping inside literal vectors used for test data and assertions #[rustfmt::skip::macros(vec)] diff --git a/tests/it/compute/filter.rs b/tests/it/compute/filter.rs index 08a7f6cbca..b1ba3ce7f5 100644 --- a/tests/it/compute/filter.rs +++ b/tests/it/compute/filter.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::compute::filter::*; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::compute::filter::*; #[test] fn array_slice() { diff --git a/tests/it/compute/hash.rs b/tests/it/compute/hash.rs index 92e263f235..890c8e31e1 100644 --- a/tests/it/compute/hash.rs +++ b/tests/it/compute/hash.rs @@ -1,7 +1,7 @@ -use arrow2::array::new_null_array; -use arrow2::compute::hash::*; -use arrow2::datatypes::DataType::*; -use arrow2::datatypes::TimeUnit; +use re_arrow2::array::new_null_array; +use re_arrow2::compute::hash::*; +use re_arrow2::datatypes::DataType::*; +use re_arrow2::datatypes::TimeUnit; #[test] fn consistency() { diff --git a/tests/it/compute/if_then_else.rs b/tests/it/compute/if_then_else.rs index 842ac7374b..fe42bf81d2 100644 --- a/tests/it/compute/if_then_else.rs +++ b/tests/it/compute/if_then_else.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::if_then_else::if_then_else; -use arrow2::error::Result; +use re_arrow2::array::*; +use re_arrow2::compute::if_then_else::if_then_else; +use re_arrow2::error::Result; #[test] fn basics() -> Result<()> { diff --git a/tests/it/compute/length.rs b/tests/it/compute/length.rs index ed4ab83c9f..cfdf83ed5a 100644 --- a/tests/it/compute/length.rs +++ b/tests/it/compute/length.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::compute::length::*; -use arrow2::datatypes::*; -use arrow2::offset::Offset; +use re_arrow2::array::*; +use re_arrow2::compute::length::*; +use re_arrow2::datatypes::*; +use re_arrow2::offset::Offset; fn length_test_string() { vec![ @@ -43,7 +43,7 @@ fn utf8() { #[test] fn consistency() { - use arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::DataType::*; let datatypes = vec![ Null, diff --git a/tests/it/compute/like.rs b/tests/it/compute/like.rs index 8b99beb081..88a267dc3a 100644 --- a/tests/it/compute/like.rs +++ b/tests/it/compute/like.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::like::*; -use arrow2::error::Result; +use re_arrow2::array::*; +use re_arrow2::compute::like::*; +use re_arrow2::error::Result; #[test] fn test_like_binary() -> Result<()> { diff --git a/tests/it/compute/limit.rs b/tests/it/compute/limit.rs index 545d546fe3..81652562a6 100644 --- a/tests/it/compute/limit.rs +++ b/tests/it/compute/limit.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::compute::limit::limit; +use re_arrow2::array::*; +use re_arrow2::compute::limit::limit; #[test] fn limit_array() { diff --git a/tests/it/compute/merge_sort.rs b/tests/it/compute/merge_sort.rs index 54b90233e5..ed167415a3 100644 --- a/tests/it/compute/merge_sort.rs +++ b/tests/it/compute/merge_sort.rs @@ -1,9 +1,9 @@ use std::iter::once; -use arrow2::array::*; -use arrow2::compute::merge_sort::*; -use arrow2::compute::sort::sort; -use arrow2::error::Result; +use re_arrow2::array::*; +use re_arrow2::compute::merge_sort::*; +use re_arrow2::compute::sort::sort; +use re_arrow2::error::Result; #[test] fn merge_u32() -> Result<()> { diff --git a/tests/it/compute/partition.rs b/tests/it/compute/partition.rs index 1e06463319..f51eb73f58 100644 --- a/tests/it/compute/partition.rs +++ b/tests/it/compute/partition.rs @@ -1,8 +1,8 @@ -use arrow2::array::*; -use arrow2::compute::partition::*; -use arrow2::compute::sort::{SortColumn, SortOptions}; -use arrow2::datatypes::DataType; -use arrow2::error::Result; +use re_arrow2::array::*; +use re_arrow2::compute::partition::*; +use re_arrow2::compute::sort::{SortColumn, SortOptions}; +use re_arrow2::datatypes::DataType; +use re_arrow2::error::Result; #[test] fn lexicographical_partition_ranges_empty() { diff --git a/tests/it/compute/regex_match.rs b/tests/it/compute/regex_match.rs index 66f28d03b9..2f96841668 100644 --- a/tests/it/compute/regex_match.rs +++ b/tests/it/compute/regex_match.rs @@ -1,7 +1,7 @@ -use arrow2::array::{BooleanArray, Utf8Array}; -use arrow2::compute::regex_match::*; -use arrow2::error::Result; -use arrow2::offset::Offset; +use re_arrow2::array::{BooleanArray, Utf8Array}; +use re_arrow2::compute::regex_match::*; +use re_arrow2::error::Result; +use re_arrow2::offset::Offset; fn test_generic, &Utf8Array) -> Result>( lhs: Vec<&str>, diff --git a/tests/it/compute/sort/lex_sort.rs b/tests/it/compute/sort/lex_sort.rs index 8cefae1dd8..9ee7aa63d6 100644 --- a/tests/it/compute/sort/lex_sort.rs +++ b/tests/it/compute/sort/lex_sort.rs @@ -1,5 +1,5 @@ -use arrow2::array::*; -use arrow2::compute::sort::{lexsort, SortColumn, SortOptions}; +use re_arrow2::array::*; +use re_arrow2::compute::sort::{lexsort, SortColumn, SortOptions}; fn test_lex_sort_arrays(input: Vec, expected: Vec>) { let sorted = lexsort::(&input, None).unwrap(); diff --git a/tests/it/compute/sort/mod.rs b/tests/it/compute/sort/mod.rs index 736cfbadba..4798a780e2 100644 --- a/tests/it/compute/sort/mod.rs +++ b/tests/it/compute/sort/mod.rs @@ -1,10 +1,10 @@ mod lex_sort; mod row; -use arrow2::array::*; -use arrow2::compute::sort::*; -use arrow2::datatypes::*; -use arrow2::types::NativeType; +use re_arrow2::array::*; +use re_arrow2::compute::sort::*; +use re_arrow2::datatypes::*; +use re_arrow2::types::NativeType; fn to_indices_boolean_arrays(data: &[Option], options: SortOptions, expected_data: &[i32]) { let output = BooleanArray::from(data); @@ -550,9 +550,9 @@ fn test_lex_sort_unaligned_rows() { #[test] fn consistency() { - use arrow2::array::new_null_array; - use arrow2::datatypes::DataType::*; - use arrow2::datatypes::TimeUnit; + use re_arrow2::array::new_null_array; + use re_arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::TimeUnit; let datatypes = vec![ Null, diff --git a/tests/it/compute/sort/row/mod.rs b/tests/it/compute/sort/row/mod.rs index 4931689a19..d8027d069b 100644 --- a/tests/it/compute/sort/row/mod.rs +++ b/tests/it/compute/sort/row/mod.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{ Array, BinaryArray, BooleanArray, DictionaryArray, Float32Array, Int128Array, Int16Array, Int256Array, Int32Array, MutableDictionaryArray, MutablePrimitiveArray, MutableUtf8Array, diff --git a/tests/it/compute/substring.rs b/tests/it/compute/substring.rs index 13ae035d23..932f192045 100644 --- a/tests/it/compute/substring.rs +++ b/tests/it/compute/substring.rs @@ -1,4 +1,4 @@ -use arrow2::{array::*, compute::substring::*, error::Result, offset::Offset}; +use re_arrow2::{array::*, compute::substring::*, error::Result, offset::Offset}; fn with_nulls_utf8() -> Result<()> { let cases = vec![ @@ -298,8 +298,8 @@ fn without_nulls_large_binary() -> Result<()> { #[test] fn consistency() { - use arrow2::datatypes::DataType::*; - use arrow2::datatypes::TimeUnit; + use re_arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::TimeUnit; let datatypes = vec![ Null, Boolean, diff --git a/tests/it/compute/take.rs b/tests/it/compute/take.rs index feaa0d8208..2391ff1388 100644 --- a/tests/it/compute/take.rs +++ b/tests/it/compute/take.rs @@ -1,8 +1,8 @@ -use arrow2::compute::take::{can_take, take}; -use arrow2::datatypes::{DataType, Field, IntervalUnit}; -use arrow2::error::Result; -use arrow2::{array::*, bitmap::MutableBitmap, types::NativeType}; -use arrow2::{bitmap::Bitmap, buffer::Buffer}; +use re_arrow2::compute::take::{can_take, take}; +use re_arrow2::datatypes::{DataType, Field, IntervalUnit}; +use re_arrow2::error::Result; +use re_arrow2::{array::*, bitmap::MutableBitmap, types::NativeType}; +use re_arrow2::{bitmap::Bitmap, buffer::Buffer}; fn test_take_primitive( data: &[Option], @@ -102,9 +102,9 @@ fn test_struct_with_nulls() { #[test] fn consistency() { - use arrow2::array::new_null_array; - use arrow2::datatypes::DataType::*; - use arrow2::datatypes::TimeUnit; + use re_arrow2::array::new_null_array; + use re_arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::TimeUnit; let datatypes = vec![ Null, diff --git a/tests/it/compute/temporal.rs b/tests/it/compute/temporal.rs index 748a4dbfe6..1073cb7cdf 100644 --- a/tests/it/compute/temporal.rs +++ b/tests/it/compute/temporal.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::compute::temporal::*; -use arrow2::datatypes::*; +use re_arrow2::array::*; +use re_arrow2::compute::temporal::*; +use re_arrow2::datatypes::*; macro_rules! temporal_test { ($func:ident, $extract:ident, $data_types:path) => { @@ -323,11 +323,11 @@ fn consistency_iso_week() { consistency_check(can_iso_week, iso_week); } -fn consistency_check( +fn consistency_check( can_extract: fn(&DataType) -> bool, - extract: fn(&dyn Array) -> arrow2::error::Result>, + extract: fn(&dyn Array) -> re_arrow2::error::Result>, ) { - use arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::DataType::*; let datatypes = vec![ Null, diff --git a/tests/it/compute/utf8.rs b/tests/it/compute/utf8.rs index 21b89aac3b..ee192ab5e5 100644 --- a/tests/it/compute/utf8.rs +++ b/tests/it/compute/utf8.rs @@ -1,4 +1,4 @@ -use arrow2::{array::*, compute::utf8::*, error::Result, offset::Offset}; +use re_arrow2::{array::*, compute::utf8::*, error::Result, offset::Offset}; fn with_nulls_utf8_lower() -> Result<()> { let cases = vec![ @@ -140,8 +140,8 @@ fn without_nulls_large_string_lower() -> Result<()> { #[test] fn consistency_lower() { - use arrow2::datatypes::DataType::*; - use arrow2::datatypes::TimeUnit; + use re_arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::TimeUnit; let datatypes = vec![ Null, Boolean, @@ -325,8 +325,8 @@ fn without_nulls_large_string() -> Result<()> { #[test] fn consistency_upper() { - use arrow2::datatypes::DataType::*; - use arrow2::datatypes::TimeUnit; + use re_arrow2::datatypes::DataType::*; + use re_arrow2::datatypes::TimeUnit; let datatypes = vec![ Null, Boolean, diff --git a/tests/it/compute/window.rs b/tests/it/compute/window.rs index c89706a05f..6b3a4b082b 100644 --- a/tests/it/compute/window.rs +++ b/tests/it/compute/window.rs @@ -1,6 +1,6 @@ -use arrow2::array::{new_null_array, Int32Array}; -use arrow2::compute::window::*; -use arrow2::datatypes::DataType; +use re_arrow2::array::{new_null_array, Int32Array}; +use re_arrow2::compute::window::*; +use re_arrow2::datatypes::DataType; #[test] fn shift_pos() { diff --git a/tests/it/ffi/data.rs b/tests/it/ffi/data.rs index e5675ac60f..422d03d845 100644 --- a/tests/it/ffi/data.rs +++ b/tests/it/ffi/data.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::{DataType, Field, TimeUnit}; -use arrow2::{error::Result, ffi}; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::{DataType, Field, TimeUnit}; +use re_arrow2::{error::Result, ffi}; use std::collections::BTreeMap; fn _test_round_trip(array: Box, expected: Box) -> Result<()> { diff --git a/tests/it/ffi/mod.rs b/tests/it/ffi/mod.rs index 5a06722bb8..7e9cbb62da 100644 --- a/tests/it/ffi/mod.rs +++ b/tests/it/ffi/mod.rs @@ -4,7 +4,7 @@ mod stream; #[test] fn mmap_slice() { let slice = &[1, 2, 3]; - let array = unsafe { arrow2::ffi::mmap::slice(slice) }; + let array = unsafe { re_arrow2::ffi::mmap::slice(slice) }; assert_eq!(array.values().as_ref(), &[1, 2, 3]); // note: when `slice` is dropped, array must be dropped as-well since by construction of `slice` they share their lifetimes. } @@ -12,7 +12,7 @@ fn mmap_slice() { #[test] fn mmap_bitmap() { let slice = &[123u8, 255]; - let array = unsafe { arrow2::ffi::mmap::bitmap(slice, 2, 14) }.unwrap(); + let array = unsafe { re_arrow2::ffi::mmap::bitmap(slice, 2, 14) }.unwrap(); assert_eq!( array.values_iter().collect::>(), &[false, true, true, true, true, false, true, true, true, true, true, true, true, true] diff --git a/tests/it/ffi/stream.rs b/tests/it/ffi/stream.rs index 53887d4362..51ab7b5f67 100644 --- a/tests/it/ffi/stream.rs +++ b/tests/it/ffi/stream.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::datatypes::Field; -use arrow2::{error::Error, error::Result, ffi}; +use re_arrow2::array::*; +use re_arrow2::datatypes::Field; +use re_arrow2::{error::Error, error::Result, ffi}; fn _test_round_trip(arrays: Vec>) -> Result<()> { let field = Field::new("a", arrays[0].data_type().clone(), true); diff --git a/tests/it/io/avro/read.rs b/tests/it/io/avro/read.rs index 90aefbf424..f7e9932029 100644 --- a/tests/it/io/avro/read.rs +++ b/tests/it/io/avro/read.rs @@ -1,13 +1,13 @@ -use arrow2::chunk::Chunk; use avro_rs::types::{Record, Value}; use avro_rs::{Codec, Writer}; use avro_rs::{Days, Decimal, Duration, Millis, Months, Schema as AvroSchema}; +use re_arrow2::chunk::Chunk; -use arrow2::array::*; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::read::read_metadata; -use arrow2::io::avro::read; +use re_arrow2::array::*; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::read::read_metadata; +use re_arrow2::io::avro::read; pub(super) fn schema() -> (AvroSchema, Schema) { let raw_schema = r#" diff --git a/tests/it/io/avro/read_async.rs b/tests/it/io/avro/read_async.rs index 6a6b09ac9f..4d12ef6f48 100644 --- a/tests/it/io/avro/read_async.rs +++ b/tests/it/io/avro/read_async.rs @@ -3,9 +3,9 @@ use avro_rs::Codec; use futures::pin_mut; use futures::StreamExt; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::read_async::{block_stream, read_metadata}; -use arrow2::io::avro::read; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::read_async::{block_stream, read_metadata}; +use re_arrow2::io::avro::read; use super::read::{schema, write_avro}; diff --git a/tests/it/io/avro/write.rs b/tests/it/io/avro/write.rs index 7cff7740fb..3111fa5e05 100644 --- a/tests/it/io/avro/write.rs +++ b/tests/it/io/avro/write.rs @@ -1,12 +1,12 @@ -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::file::{Block, CompressedBlock, Compression}; -use arrow2::io::avro::avro_schema::write::{compress, write_block, write_metadata}; -use arrow2::io::avro::write; -use arrow2::types::months_days_ns; use avro_schema::schema::{Field as AvroField, Record, Schema as AvroSchema}; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::file::{Block, CompressedBlock, Compression}; +use re_arrow2::io::avro::avro_schema::write::{compress, write_block, write_metadata}; +use re_arrow2::io::avro::write; +use re_arrow2::types::months_days_ns; use super::read::read_avro; diff --git a/tests/it/io/avro/write_async.rs b/tests/it/io/avro/write_async.rs index b98071accb..054e21ea7d 100644 --- a/tests/it/io/avro/write_async.rs +++ b/tests/it/io/avro/write_async.rs @@ -1,10 +1,10 @@ -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::avro::avro_schema::file::Compression; -use arrow2::io::avro::avro_schema::write_async::{write_block, write_metadata}; -use arrow2::io::avro::write; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::avro::avro_schema::file::Compression; +use re_arrow2::io::avro::avro_schema::write_async::{write_block, write_metadata}; +use re_arrow2::io::avro::write; use super::read::read_avro; use super::write::{data, schema, serialize_to_block}; diff --git a/tests/it/io/csv/read.rs b/tests/it/io/csv/read.rs index ca9d56b191..253ab319cd 100644 --- a/tests/it/io/csv/read.rs +++ b/tests/it/io/csv/read.rs @@ -2,10 +2,10 @@ use proptest::prelude::*; use std::io::Cursor; -use arrow2::array::*; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::csv::read::*; +use re_arrow2::array::*; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::csv::read::*; #[test] fn read() -> Result<()> { diff --git a/tests/it/io/csv/read_async.rs b/tests/it/io/csv/read_async.rs index a31319cc11..f761668b99 100644 --- a/tests/it/io/csv/read_async.rs +++ b/tests/it/io/csv/read_async.rs @@ -1,8 +1,8 @@ use futures::io::Cursor; -use arrow2::array::*; -use arrow2::error::Result; -use arrow2::io::csv::read_async::*; +use re_arrow2::array::*; +use re_arrow2::error::Result; +use re_arrow2::io::csv::read_async::*; #[tokio::test] async fn read() -> Result<()> { diff --git a/tests/it/io/csv/write.rs b/tests/it/io/csv/write.rs index 2800c3bd77..106c1b28c7 100644 --- a/tests/it/io/csv/write.rs +++ b/tests/it/io/csv/write.rs @@ -1,10 +1,10 @@ use std::io::Cursor; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::csv::write::*; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::csv::write::*; fn data() -> Chunk> { let c1 = Utf8Array::::from_slice(["a b", "c", "d"]); diff --git a/tests/it/io/flight/mod.rs b/tests/it/io/flight/mod.rs index 9718b74902..306c0f8c1a 100644 --- a/tests/it/io/flight/mod.rs +++ b/tests/it/io/flight/mod.rs @@ -1,10 +1,10 @@ -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Error; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Error; -use arrow2::io::flight::*; -use arrow2::io::ipc::write::{default_ipc_fields, WriteOptions}; +use re_arrow2::io::flight::*; +use re_arrow2::io::ipc::write::{default_ipc_fields, WriteOptions}; use super::ipc::read_gzip_json; diff --git a/tests/it/io/ipc/common.rs b/tests/it/io/ipc/common.rs index a0889670f3..9d2e6e9828 100644 --- a/tests/it/io/ipc/common.rs +++ b/tests/it/io/ipc/common.rs @@ -1,7 +1,7 @@ use ahash::AHashMap; use std::{fs::File, io::Read}; -use arrow2::{ +use re_arrow2::{ array::Array, chunk::Chunk, datatypes::Schema, error::Result, io::ipc::read::read_stream_metadata, io::ipc::read::StreamReader, io::ipc::IpcField, io::json_integration::read, io::json_integration::ArrowJson, diff --git a/tests/it/io/ipc/mmap.rs b/tests/it/io/ipc/mmap.rs index 11c89ae02f..f11fd5e7f8 100644 --- a/tests/it/io/ipc/mmap.rs +++ b/tests/it/io/ipc/mmap.rs @@ -1,8 +1,8 @@ -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{DataType, Field, Schema}; -use arrow2::error::Result; -use arrow2::io::ipc::read::read_file_metadata; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{DataType, Field, Schema}; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::read_file_metadata; use std::sync::Arc; use super::write::file::write; @@ -16,9 +16,9 @@ fn round_trip(array: Box) -> Result<()> { let metadata = read_file_metadata(&mut std::io::Cursor::new(data.as_ref()))?; let dictionaries = - unsafe { arrow2::mmap::mmap_dictionaries_unchecked(&metadata, data.clone())? }; + unsafe { re_arrow2::mmap::mmap_dictionaries_unchecked(&metadata, data.clone())? }; - let new_array = unsafe { arrow2::mmap::mmap_unchecked(&metadata, &dictionaries, data, 0)? }; + let new_array = unsafe { re_arrow2::mmap::mmap_unchecked(&metadata, &dictionaries, data, 0)? }; assert_eq!(new_array.into_arrays()[0], array); Ok(()) } diff --git a/tests/it/io/ipc/read/file.rs b/tests/it/io/ipc/read/file.rs index 663bae0dcc..5b786c838b 100644 --- a/tests/it/io/ipc/read/file.rs +++ b/tests/it/io/ipc/read/file.rs @@ -1,8 +1,8 @@ use std::fs::File; -use arrow2::chunk::Chunk; -use arrow2::error::Result; -use arrow2::io::ipc::read::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::*; use super::super::common::read_gzip_json; diff --git a/tests/it/io/ipc/read/stream.rs b/tests/it/io/ipc/read/stream.rs index 404954c3e4..66debd4301 100644 --- a/tests/it/io/ipc/read/stream.rs +++ b/tests/it/io/ipc/read/stream.rs @@ -1,8 +1,8 @@ -use arrow2::chunk::Chunk; +use re_arrow2::chunk::Chunk; use std::fs::File; -use arrow2::error::Result; -use arrow2::io::ipc::read::*; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::*; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/read_file_async.rs b/tests/it/io/ipc/read_file_async.rs index 8b74e6592c..602cc47ad8 100644 --- a/tests/it/io/ipc/read_file_async.rs +++ b/tests/it/io/ipc/read_file_async.rs @@ -2,8 +2,8 @@ use futures::StreamExt; use tokio::fs::File; use tokio_util::compat::*; -use arrow2::error::Result; -use arrow2::io::ipc::read::file_async::*; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::file_async::*; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/read_stream_async.rs b/tests/it/io/ipc/read_stream_async.rs index bb248932e9..fa5a4cbc45 100644 --- a/tests/it/io/ipc/read_stream_async.rs +++ b/tests/it/io/ipc/read_stream_async.rs @@ -2,8 +2,8 @@ use futures::StreamExt; use tokio::fs::File; use tokio_util::compat::*; -use arrow2::error::Result; -use arrow2::io::ipc::read::stream_async::*; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::stream_async::*; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/write/file.rs b/tests/it/io/ipc/write/file.rs index 5562f803c5..b1dee02b12 100644 --- a/tests/it/io/ipc/write/file.rs +++ b/tests/it/io/ipc/write/file.rs @@ -1,12 +1,12 @@ use std::io::Cursor; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::{Field, Schema}; -use arrow2::error::Result; -use arrow2::io::ipc::read::{read_file_metadata, FileReader}; -use arrow2::io::ipc::{write::*, IpcField}; -use arrow2::types::{i256, months_days_ns}; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::{Field, Schema}; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::{read_file_metadata, FileReader}; +use re_arrow2::io::ipc::{write::*, IpcField}; +use re_arrow2::types::{i256, months_days_ns}; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/write/file_append.rs b/tests/it/io/ipc/write/file_append.rs index 52edde06d2..3bf71c8a5e 100644 --- a/tests/it/io/ipc/write/file_append.rs +++ b/tests/it/io/ipc/write/file_append.rs @@ -1,9 +1,9 @@ -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write::{FileWriter, WriteOptions}; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write::{FileWriter, WriteOptions}; use super::file::write; diff --git a/tests/it/io/ipc/write/stream.rs b/tests/it/io/ipc/write/stream.rs index 092e4402b7..539495fc1d 100644 --- a/tests/it/io/ipc/write/stream.rs +++ b/tests/it/io/ipc/write/stream.rs @@ -1,13 +1,13 @@ use std::io::Cursor; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Result; -use arrow2::io::ipc::read::read_stream_metadata; -use arrow2::io::ipc::read::StreamReader; -use arrow2::io::ipc::write::{StreamWriter, WriteOptions}; -use arrow2::io::ipc::IpcField; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read::read_stream_metadata; +use re_arrow2::io::ipc::read::StreamReader; +use re_arrow2::io::ipc::write::{StreamWriter, WriteOptions}; +use re_arrow2::io::ipc::IpcField; use crate::io::ipc::common::read_arrow_stream; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/write_file_async.rs b/tests/it/io/ipc/write_file_async.rs index d510f20ba2..7f27dde6cb 100644 --- a/tests/it/io/ipc/write_file_async.rs +++ b/tests/it/io/ipc/write_file_async.rs @@ -1,15 +1,15 @@ use std::io::Cursor; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write::file_async::FileSink; -use arrow2::io::ipc::write::WriteOptions; -use arrow2::io::ipc::IpcField; use futures::io::Cursor as AsyncCursor; use futures::SinkExt; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write::file_async::FileSink; +use re_arrow2::io::ipc::write::WriteOptions; +use re_arrow2::io::ipc::IpcField; use crate::io::ipc::common::read_arrow_stream; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/ipc/write_stream_async.rs b/tests/it/io/ipc/write_stream_async.rs index 12669bdd59..051c46772a 100644 --- a/tests/it/io/ipc/write_stream_async.rs +++ b/tests/it/io/ipc/write_stream_async.rs @@ -1,15 +1,15 @@ use std::io::Cursor; -use arrow2::array::Array; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Result; -use arrow2::io::ipc::read; -use arrow2::io::ipc::write::stream_async; -use arrow2::io::ipc::write::stream_async::StreamSink; -use arrow2::io::ipc::IpcField; use futures::io::Cursor as AsyncCursor; use futures::SinkExt; +use re_arrow2::array::Array; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Result; +use re_arrow2::io::ipc::read; +use re_arrow2::io::ipc::write::stream_async; +use re_arrow2::io::ipc::write::stream_async::StreamSink; +use re_arrow2::io::ipc::IpcField; use crate::io::ipc::common::read_arrow_stream; use crate::io::ipc::common::read_gzip_json; diff --git a/tests/it/io/json/mod.rs b/tests/it/io/json/mod.rs index 59a68f8dd8..a79620337f 100644 --- a/tests/it/io/json/mod.rs +++ b/tests/it/io/json/mod.rs @@ -1,11 +1,11 @@ mod read; mod write; -use arrow2::array::*; -use arrow2::chunk::Chunk; -use arrow2::datatypes::Schema; -use arrow2::error::Result; -use arrow2::io::json::write as json_write; +use re_arrow2::array::*; +use re_arrow2::chunk::Chunk; +use re_arrow2::datatypes::Schema; +use re_arrow2::error::Result; +use re_arrow2::io::json::write as json_write; fn write_batch(array: Box) -> Result> { let mut serializer = json_write::Serializer::new(vec![Ok(array)].into_iter(), vec![]); diff --git a/tests/it/io/json/read.rs b/tests/it/io/json/read.rs index 411564190b..d212816c5a 100644 --- a/tests/it/io/json/read.rs +++ b/tests/it/io/json/read.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::json::read; +use re_arrow2::array::*; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::json::read; #[test] fn read_json() -> Result<()> { diff --git a/tests/it/io/json/write.rs b/tests/it/io/json/write.rs index 1e6ede9fec..f412f62ead 100644 --- a/tests/it/io/json/write.rs +++ b/tests/it/io/json/write.rs @@ -1,5 +1,5 @@ -use arrow2::datatypes::IntegerType; -use arrow2::{ +use re_arrow2::datatypes::IntegerType; +use re_arrow2::{ array::*, bitmap::Bitmap, buffer::Buffer, diff --git a/tests/it/io/ndjson/mod.rs b/tests/it/io/ndjson/mod.rs index bd5626b1cb..f875208122 100644 --- a/tests/it/io/ndjson/mod.rs +++ b/tests/it/io/ndjson/mod.rs @@ -1,10 +1,10 @@ mod read; -use arrow2::array::*; -use arrow2::bitmap::Bitmap; -use arrow2::datatypes::*; -use arrow2::error::Result; -use arrow2::io::ndjson::write as ndjson_write; +use re_arrow2::array::*; +use re_arrow2::bitmap::Bitmap; +use re_arrow2::datatypes::*; +use re_arrow2::error::Result; +use re_arrow2::io::ndjson::write as ndjson_write; use read::{infer, read_and_deserialize}; diff --git a/tests/it/io/ndjson/read.rs b/tests/it/io/ndjson/read.rs index 2c8872ce1a..20ee012045 100644 --- a/tests/it/io/ndjson/read.rs +++ b/tests/it/io/ndjson/read.rs @@ -1,10 +1,10 @@ use std::io::Cursor; -use arrow2::array::*; -use arrow2::datatypes::{DataType, Field}; -use arrow2::error::{Error, Result}; -use arrow2::io::ndjson::read as ndjson_read; -use arrow2::io::ndjson::read::FallibleStreamingIterator; +use re_arrow2::array::*; +use re_arrow2::datatypes::{DataType, Field}; +use re_arrow2::error::{Error, Result}; +use re_arrow2::io::ndjson::read as ndjson_read; +use re_arrow2::io::ndjson::read::FallibleStreamingIterator; use super::*; diff --git a/tests/it/io/orc/read.rs b/tests/it/io/orc/read.rs index a35c54d34e..21cfc9771f 100644 --- a/tests/it/io/orc/read.rs +++ b/tests/it/io/orc/read.rs @@ -1,6 +1,6 @@ -use arrow2::array::*; -use arrow2::error::Error; -use arrow2::io::orc::{format, read}; +use re_arrow2::array::*; +use re_arrow2::error::Error; +use re_arrow2::io::orc::{format, read}; #[test] fn infer() -> Result<(), Error> { diff --git a/tests/it/io/parquet/deserialize.rs b/tests/it/io/parquet/deserialize.rs index 3ea1c2846e..0f846cfa97 100644 --- a/tests/it/io/parquet/deserialize.rs +++ b/tests/it/io/parquet/deserialize.rs @@ -1,6 +1,6 @@ use std::fs::File; -use arrow2::{ +use re_arrow2::{ array::StructArray, datatypes::DataType, error::Result, diff --git a/tests/it/io/parquet/integration.rs b/tests/it/io/parquet/integration.rs index 7f84c433b0..de37a7a8b9 100644 --- a/tests/it/io/parquet/integration.rs +++ b/tests/it/io/parquet/integration.rs @@ -1,4 +1,4 @@ -use arrow2::error::Result; +use re_arrow2::error::Result; use super::{integration_read, integration_write}; use crate::io::ipc::read_gzip_json; diff --git a/tests/it/io/parquet/mod.rs b/tests/it/io/parquet/mod.rs index 1b38c61c99..6d869c9e79 100644 --- a/tests/it/io/parquet/mod.rs +++ b/tests/it/io/parquet/mod.rs @@ -1,8 +1,8 @@ use ethnum::AsI256; use std::io::{Cursor, Read, Seek}; -use arrow2::types::i256; -use arrow2::{ +use re_arrow2::types::i256; +use re_arrow2::{ array::*, bitmap::Bitmap, chunk::Chunk, diff --git a/tests/it/io/parquet/read.rs b/tests/it/io/parquet/read.rs index 12512116f4..51f89a75f1 100644 --- a/tests/it/io/parquet/read.rs +++ b/tests/it/io/parquet/read.rs @@ -1,8 +1,8 @@ use std::fs::File; -use arrow2::array::*; -use arrow2::error::*; -use arrow2::io::parquet::read::*; +use re_arrow2::array::*; +use re_arrow2::error::*; +use re_arrow2::io::parquet::read::*; use super::*; @@ -894,10 +894,10 @@ fn read_int96_timestamps() -> Result<()> { let parse = |time_unit: TimeUnit| { let mut reader = Cursor::new(timestamp_data); let metadata = read_metadata(&mut reader)?; - let schema = arrow2::datatypes::Schema { - fields: vec![arrow2::datatypes::Field::new( + let schema = re_arrow2::datatypes::Schema { + fields: vec![re_arrow2::datatypes::Field::new( "timestamps", - arrow2::datatypes::DataType::Timestamp(time_unit, None), + re_arrow2::datatypes::DataType::Timestamp(time_unit, None), false, )], metadata: BTreeMap::new(), @@ -910,13 +910,13 @@ fn read_int96_timestamps() -> Result<()> { // Timestamp(TimeUnit::Nanoseconds) and will cause a panic in dev builds/overflow in release builds // However, the code should work for the Microsecond/Millisecond time units for time_unit in [ - arrow2::datatypes::TimeUnit::Microsecond, - arrow2::datatypes::TimeUnit::Millisecond, - arrow2::datatypes::TimeUnit::Second, + re_arrow2::datatypes::TimeUnit::Microsecond, + re_arrow2::datatypes::TimeUnit::Millisecond, + re_arrow2::datatypes::TimeUnit::Second, ] { parse(time_unit).expect("Should not error"); } - std::panic::catch_unwind(|| parse(arrow2::datatypes::TimeUnit::Nanosecond)) + std::panic::catch_unwind(|| parse(re_arrow2::datatypes::TimeUnit::Nanosecond)) .expect_err("Should be a panic error"); Ok(()) diff --git a/tests/it/io/parquet/read_indexes.rs b/tests/it/io/parquet/read_indexes.rs index 4e41bb2baf..c60342c838 100644 --- a/tests/it/io/parquet/read_indexes.rs +++ b/tests/it/io/parquet/read_indexes.rs @@ -1,9 +1,11 @@ use std::io::Cursor; -use arrow2::chunk::Chunk; -use arrow2::error::Error; -use arrow2::io::parquet::read::indexes; -use arrow2::{array::*, datatypes::*, error::Result, io::parquet::read::*, io::parquet::write::*}; +use re_arrow2::chunk::Chunk; +use re_arrow2::error::Error; +use re_arrow2::io::parquet::read::indexes; +use re_arrow2::{ + array::*, datatypes::*, error::Result, io::parquet::read::*, io::parquet::write::*, +}; /// Returns 2 sets of pages with different the same number of rows distributed un-evenly fn pages(arrays: &[&dyn Array], encoding: Encoding) -> Result<(Vec, Vec, Schema)> { diff --git a/tests/it/io/parquet/sample_tests.rs b/tests/it/io/parquet/sample_tests.rs index 959f120128..60b037fb88 100644 --- a/tests/it/io/parquet/sample_tests.rs +++ b/tests/it/io/parquet/sample_tests.rs @@ -1,5 +1,5 @@ -use arrow2::io::parquet::write::*; -use arrow2::{ +use re_arrow2::io::parquet::write::*; +use re_arrow2::{ chunk::Chunk, datatypes::{Field, Metadata, Schema}, error::Result, diff --git a/tests/it/io/parquet/write.rs b/tests/it/io/parquet/write.rs index dee5b8e253..8023284f43 100644 --- a/tests/it/io/parquet/write.rs +++ b/tests/it/io/parquet/write.rs @@ -1,7 +1,7 @@ use std::io::Cursor; -use arrow2::error::Result; -use arrow2::io::parquet::write::*; +use re_arrow2::error::Result; +use re_arrow2::io::parquet::write::*; use super::*; diff --git a/tests/it/io/parquet/write_async.rs b/tests/it/io/parquet/write_async.rs index 1197e31c0d..7f2f347953 100644 --- a/tests/it/io/parquet/write_async.rs +++ b/tests/it/io/parquet/write_async.rs @@ -1,5 +1,6 @@ use ahash::AHashMap; -use arrow2::{ +use futures::{future::BoxFuture, io::Cursor, SinkExt}; +use re_arrow2::{ array::{Float32Array, Int32Array}, chunk::Chunk, datatypes::{DataType, Field, Schema}, @@ -9,7 +10,6 @@ use arrow2::{ write::{CompressionOptions, Encoding, Version, WriteOptions}, }, }; -use futures::{future::BoxFuture, io::Cursor, SinkExt}; use super::FileSink; diff --git a/tests/it/io/print.rs b/tests/it/io/print.rs index 8cbc15a95f..2bd21d1bb4 100644 --- a/tests/it/io/print.rs +++ b/tests/it/io/print.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::*, bitmap::Bitmap, buffer::Buffer, diff --git a/tests/it/scalar/binary.rs b/tests/it/scalar/binary.rs index ee71b20ba5..e488db4141 100644 --- a/tests/it/scalar/binary.rs +++ b/tests/it/scalar/binary.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{BinaryScalar, Scalar}, }; diff --git a/tests/it/scalar/boolean.rs b/tests/it/scalar/boolean.rs index 9882e5a77e..4e70748760 100644 --- a/tests/it/scalar/boolean.rs +++ b/tests/it/scalar/boolean.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{BooleanScalar, Scalar}, }; diff --git a/tests/it/scalar/fixed_size_binary.rs b/tests/it/scalar/fixed_size_binary.rs index 3962c39018..b9d2cf04be 100644 --- a/tests/it/scalar/fixed_size_binary.rs +++ b/tests/it/scalar/fixed_size_binary.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{FixedSizeBinaryScalar, Scalar}, }; diff --git a/tests/it/scalar/fixed_size_list.rs b/tests/it/scalar/fixed_size_list.rs index 89809d343a..63d832bda9 100644 --- a/tests/it/scalar/fixed_size_list.rs +++ b/tests/it/scalar/fixed_size_list.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::BooleanArray, datatypes::{DataType, Field}, scalar::{FixedSizeListScalar, Scalar}, diff --git a/tests/it/scalar/list.rs b/tests/it/scalar/list.rs index d8954e6bba..034b73eee0 100644 --- a/tests/it/scalar/list.rs +++ b/tests/it/scalar/list.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::BooleanArray, datatypes::{DataType, Field}, scalar::{ListScalar, Scalar}, diff --git a/tests/it/scalar/map.rs b/tests/it/scalar/map.rs index 1a232a5049..0a1f946939 100644 --- a/tests/it/scalar/map.rs +++ b/tests/it/scalar/map.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ array::{BooleanArray, StructArray, Utf8Array}, datatypes::{DataType, Field}, scalar::{MapScalar, Scalar}, diff --git a/tests/it/scalar/mod.rs b/tests/it/scalar/mod.rs index 5dd1568f6d..66608c453e 100644 --- a/tests/it/scalar/mod.rs +++ b/tests/it/scalar/mod.rs @@ -12,5 +12,5 @@ mod utf8; // check that `PartialEq` can be derived #[derive(PartialEq)] struct A { - array: Box, + array: Box, } diff --git a/tests/it/scalar/null.rs b/tests/it/scalar/null.rs index 685b237b80..4a59332732 100644 --- a/tests/it/scalar/null.rs +++ b/tests/it/scalar/null.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{NullScalar, Scalar}, }; diff --git a/tests/it/scalar/primitive.rs b/tests/it/scalar/primitive.rs index 8769af7cd7..bba069efd5 100644 --- a/tests/it/scalar/primitive.rs +++ b/tests/it/scalar/primitive.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{PrimitiveScalar, Scalar}, }; diff --git a/tests/it/scalar/struct_.rs b/tests/it/scalar/struct_.rs index 2785ecb7b4..6d45de66e0 100644 --- a/tests/it/scalar/struct_.rs +++ b/tests/it/scalar/struct_.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::{DataType, Field}, scalar::{BooleanScalar, Scalar, StructScalar}, }; diff --git a/tests/it/scalar/utf8.rs b/tests/it/scalar/utf8.rs index 6c844e01f0..d74c9a0e5f 100644 --- a/tests/it/scalar/utf8.rs +++ b/tests/it/scalar/utf8.rs @@ -1,4 +1,4 @@ -use arrow2::{ +use re_arrow2::{ datatypes::DataType, scalar::{Scalar, Utf8Scalar}, }; diff --git a/tests/it/temporal_conversions.rs b/tests/it/temporal_conversions.rs index 1bb206de5a..d9e0b0b231 100644 --- a/tests/it/temporal_conversions.rs +++ b/tests/it/temporal_conversions.rs @@ -1,7 +1,7 @@ -use arrow2::array::*; -use arrow2::datatypes::TimeUnit; -use arrow2::temporal_conversions; -use arrow2::types::months_days_ns; +use re_arrow2::array::*; +use re_arrow2::datatypes::TimeUnit; +use re_arrow2::temporal_conversions; +use re_arrow2::types::months_days_ns; use chrono::NaiveDateTime; diff --git a/tests/it/types.rs b/tests/it/types.rs index ee337e901f..a7e60b32b2 100644 --- a/tests/it/types.rs +++ b/tests/it/types.rs @@ -1,4 +1,4 @@ -use arrow2::types::{days_ms, months_days_ns, BitChunkIter, BitChunkOnes, NativeType}; +use re_arrow2::types::{days_ms, months_days_ns, BitChunkIter, BitChunkOnes, NativeType}; #[test] fn test_basic1() { From 3dc0ab03d84879085b5e8c809ab71fc022e3d09a Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:10:06 +0100 Subject: [PATCH 05/18] Remove the arrow-parquet-integration-testing --- arrow-parquet-integration-testing/.gitignore | 8 - arrow-parquet-integration-testing/Cargo.toml | 17 -- arrow-parquet-integration-testing/main.py | 108 --------- .../main_spark.py | 70 ------ arrow-parquet-integration-testing/src/main.rs | 216 ------------------ 5 files changed, 419 deletions(-) delete mode 100644 arrow-parquet-integration-testing/.gitignore delete mode 100644 arrow-parquet-integration-testing/Cargo.toml delete mode 100644 arrow-parquet-integration-testing/main.py delete mode 100644 arrow-parquet-integration-testing/main_spark.py delete mode 100644 arrow-parquet-integration-testing/src/main.rs diff --git a/arrow-parquet-integration-testing/.gitignore b/arrow-parquet-integration-testing/.gitignore deleted file mode 100644 index 4769380308..0000000000 --- a/arrow-parquet-integration-testing/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -target -target-tarpaulin -venv -lcov.info -Cargo.lock -fixtures -settings.json -*.parquet diff --git a/arrow-parquet-integration-testing/Cargo.toml b/arrow-parquet-integration-testing/Cargo.toml deleted file mode 100644 index 758eaaf0b6..0000000000 --- a/arrow-parquet-integration-testing/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "arrow-parquet-integration-testing" -version = "0.1.0" -authors = ["Jorge C. Leitao "] -edition = "2021" - -[dependencies] -clap = { version = "^3", features = ["derive"] } -re_arrow2 = { path = "../", default-features = false, features = [ - "io_parquet", - "io_json_integration", - "io_parquet_compression", -] } -flate2 = "^1" -serde = { version = "^1.0", features = ["rc"] } -serde_derive = { version = "^1.0" } -serde_json = { version = "^1.0", features = ["preserve_order"] } diff --git a/arrow-parquet-integration-testing/main.py b/arrow-parquet-integration-testing/main.py deleted file mode 100644 index a880af617d..0000000000 --- a/arrow-parquet-integration-testing/main.py +++ /dev/null @@ -1,108 +0,0 @@ -import subprocess -import os - -import pyarrow.ipc -import pyarrow.parquet as pq - - -def get_file_path(file: str): - return f"../testing/arrow-testing/data/arrow-ipc-stream/integration/1.0.0-littleendian/{file}.arrow_file" - - -def _prepare( - file: str, - version: str, - compression: str, - encoding_utf8: str, - encoding_int: str, - projection=None, -): - write = f"{file}.parquet" - - args = [ - "cargo", - "run", - "--", - "--json", - file, - "--output", - write, - "--version", - version, - "--encoding-utf8", - encoding_utf8, - "--encoding-int", - encoding_int, - "--compression", - compression, - ] - - if projection: - projection = list(map(str, projection)) - args += ["--projection", ",".join(projection)] - - subprocess.call(args) - return write - - -def _expected(file: str) -> pyarrow.Table: - return pyarrow.ipc.RecordBatchFileReader(get_file_path(file)).read_all() - - -# types without a native parquet logical representation -# There is currently no specification on how to represent these in parquet, -# and thus we ignore them in comparisons -non_native_types = [ - pyarrow.date64(), - pyarrow.time32("s"), - pyarrow.timestamp("s"), - # the issue here is the second, not the tz - pyarrow.timestamp("s", tz="UTC"), -] - - -def variations(): - for version in ["1", "2"]: - for file in [ - "generated_primitive", - "generated_primitive_no_batches", - "generated_primitive_zerolength", - "generated_null", - "generated_null_trivial", - "generated_primitive_large_offsets", - "generated_datetime", - "generated_decimal", - "generated_interval", - # see https://issues.apache.org/jira/browse/ARROW-13486 and - # https://issues.apache.org/jira/browse/ARROW-13487 - # "generated_dictionary", - # requires writing Struct - # "generated_duplicate_fieldnames", - # requires writing un-nested List - # "generated_custom_metadata", - ]: - # pyarrow does not support decoding "delta"-encoded values. - for encoding_int in ["plain", "delta"]: - if encoding_int == "delta" and file in {"generated_primitive", "generated_null"}: - # see https://issues.apache.org/jira/browse/ARROW-17465 - continue - - for compression in ["uncompressed", "zstd", "snappy"]: - yield (version, file, compression, "plain", encoding_int) - - -if __name__ == "__main__": - for (version, file, compression, encoding_utf8, encoding_int) in variations(): - expected = _expected(file) - path = _prepare(file, version, compression, encoding_utf8, encoding_int) - - table = pq.read_table(path) - os.remove(path) - - for c1, c2 in zip(expected, table): - if c1.type in non_native_types: - continue - if str(c1.type) in ["month_interval", "day_time_interval"]: - # pyarrow does not support interval types from parquet - continue - assert c1 == c2, (c1, c2) diff --git a/arrow-parquet-integration-testing/main_spark.py b/arrow-parquet-integration-testing/main_spark.py deleted file mode 100644 index e29655fb46..0000000000 --- a/arrow-parquet-integration-testing/main_spark.py +++ /dev/null @@ -1,70 +0,0 @@ -""" -Verifies that spark can correctly read a delta-encoded utf8 column written by arrow2. -""" -import os -import pyspark.sql - -from main import _prepare, _expected - - -def test( - file: str, - version: str, - column: str, - compression: str, - encoding: str, -): - """ - Tests that pyspark can read a parquet file written by arrow2. - - In arrow2: read IPC, write parquet - In pyarrow: read (same) IPC to Python - In pyspark: read (written) parquet to Python - assert that they are equal - """ - # read IPC to Python - expected = _expected(file) - column_index = next(i for i, c in enumerate(expected.column_names) if c == column) - expected = expected[column].combine_chunks().tolist() - - # write parquet - path = _prepare(file, version, compression, encoding, encoding, [column_index]) - - # read parquet to Python - spark = pyspark.sql.SparkSession.builder.config( - # see https://stackoverflow.com/a/62024670/931303 - "spark.sql.parquet.enableVectorizedReader", - "false", - ).getOrCreate() - - result = spark.read.parquet(path).select(column).collect() - result = [r[column] for r in result] - os.remove(path) - - # assert equality - assert expected == result - - -test("generated_null", "2", "f1", "uncompressed", "delta") - -test("generated_primitive", "2", "utf8_nullable", "uncompressed", "delta") -test("generated_primitive", "2", "utf8_nullable", "snappy", "delta") -test("generated_primitive", "2", "int32_nullable", "uncompressed", "delta") -test("generated_primitive", "2", "int32_nullable", "snappy", "delta") -test("generated_primitive", "2", "int16_nullable", "uncompressed", "delta") -test("generated_primitive", "2", "int16_nullable", "snappy", "delta") - -test("generated_dictionary", "1", "dict0", "uncompressed", "plain") -test("generated_dictionary", "1", "dict0", "snappy", "plain") -test("generated_dictionary", "2", "dict0", "uncompressed", "plain") -test("generated_dictionary", "2", "dict0", "snappy", "plain") - -test("generated_dictionary", "1", "dict1", "uncompressed", "plain") -test("generated_dictionary", "1", "dict1", "snappy", "plain") -test("generated_dictionary", "2", "dict1", "uncompressed", "plain") -test("generated_dictionary", "2", "dict1", "snappy", "plain") - -test("generated_dictionary", "1", "dict2", "uncompressed", "plain") -test("generated_dictionary", "1", "dict2", "snappy", "plain") -test("generated_dictionary", "2", "dict2", "uncompressed", "plain") -test("generated_dictionary", "2", "dict2", "snappy", "plain") diff --git a/arrow-parquet-integration-testing/src/main.rs b/arrow-parquet-integration-testing/src/main.rs deleted file mode 100644 index 02f9feb4c8..0000000000 --- a/arrow-parquet-integration-testing/src/main.rs +++ /dev/null @@ -1,216 +0,0 @@ -use std::fs::File; -use std::io::Read; - -use clap::Parser; -use flate2::read::GzDecoder; -use re_arrow2::array::Array; -use re_arrow2::io::ipc::IpcField; -use re_arrow2::{ - chunk::Chunk, - datatypes::{DataType, Schema}, - error::Result, - io::{ - json_integration::read, - json_integration::ArrowJson, - parquet::write::{ - transverse, CompressionOptions as ParquetCompression, Encoding, FileWriter, - RowGroupIterator, Version as ParquetVersion, WriteOptions, - }, - }, - AHashMap, -}; - -/// Read gzipped JSON file -pub fn read_gzip_json( - version: &str, - file_name: &str, -) -> Result<(Schema, Vec, Vec>>)> { - let path = format!( - "../testing/arrow-testing/data/arrow-ipc-stream/integration/{}/{}.json.gz", - version, file_name - ); - let file = File::open(path).unwrap(); - let mut gz = GzDecoder::new(&file); - let mut s = String::new(); - gz.read_to_string(&mut s).unwrap(); - // convert to Arrow JSON - let arrow_json: ArrowJson = serde_json::from_str(&s)?; - - let schema = serde_json::to_value(arrow_json.schema).unwrap(); - - let (schema, ipc_fields) = read::deserialize_schema(&schema)?; - - // read dictionaries - let mut dictionaries = AHashMap::new(); - if let Some(dicts) = arrow_json.dictionaries { - for json_dict in dicts { - // TODO: convert to a concrete Arrow type - dictionaries.insert(json_dict.id, json_dict); - } - } - - let batches = arrow_json - .batches - .iter() - .map(|batch| read::deserialize_chunk(&schema, &ipc_fields, batch, &dictionaries)) - .collect::>>()?; - - Ok((schema, ipc_fields, batches)) -} - -#[derive(clap::ArgEnum, Debug, Clone)] -enum Version { - #[clap(name = "1")] - V1, - #[clap(name = "2")] - V2, -} - -impl Into for Version { - fn into(self) -> ParquetVersion { - match self { - Version::V1 => ParquetVersion::V1, - Version::V2 => ParquetVersion::V2, - } - } -} - -#[derive(clap::ArgEnum, Debug, Clone)] -enum Compression { - Zstd, - Snappy, - Uncompressed, -} - -impl Into for Compression { - fn into(self) -> ParquetCompression { - match self { - Compression::Zstd => ParquetCompression::Zstd(None), - Compression::Snappy => ParquetCompression::Snappy, - Compression::Uncompressed => ParquetCompression::Uncompressed, - } - } -} - -#[derive(clap::ArgEnum, PartialEq, Debug, Clone)] -enum EncodingScheme { - Plain, - Delta, -} - -#[derive(Debug, Parser)] -struct Args { - #[clap(short, long, help = "Path to JSON file")] - json: String, - #[clap(short('o'), long("output"), help = "Path to write parquet file")] - write_path: String, - #[clap(short, long, arg_enum, help = "Parquet version", default_value_t = Version::V2)] - version: Version, - #[clap(short, long, help = "commas separated projection")] - projection: Option, - #[clap(short, long, arg_enum, help = "encoding scheme for utf8", default_value_t = EncodingScheme::Plain)] - encoding_utf8: EncodingScheme, - #[clap(short('i'), long, arg_enum, help = "encoding scheme for int", default_value_t = EncodingScheme::Plain)] - encoding_int: EncodingScheme, - #[clap(short, long, arg_enum)] - compression: Compression, -} - -fn main() -> Result<()> { - let args = Args::parse(); - - let projection = args.projection.map(|x| { - x.split(',') - .map(|x| x.parse::().unwrap()) - .collect::>() - }); - - let (schema, _, batches) = read_gzip_json("1.0.0-littleendian", &args.json)?; - - let schema = if let Some(projection) = &projection { - let fields = schema - .fields - .iter() - .enumerate() - .filter_map(|(i, f)| { - if projection.contains(&i) { - Some(f.clone()) - } else { - None - } - }) - .collect::>(); - Schema::from(fields) - } else { - schema - }; - - let batches = if let Some(projection) = &projection { - batches - .iter() - .map(|batch| { - let columns = batch - .columns() - .iter() - .enumerate() - .filter_map(|(i, f)| { - if projection.contains(&i) { - Some(f.clone()) - } else { - None - } - }) - .collect(); - Chunk::try_new(columns).unwrap() - }) - .collect::>() - } else { - batches - }; - - let options = WriteOptions { - write_statistics: true, - compression: args.compression.into(), - version: args.version.into(), - data_pagesize_limit: None, - }; - - let encodings = schema - .fields - .iter() - .map(|f| { - transverse(&f.data_type, |dt| match dt { - DataType::Dictionary(..) => Encoding::RleDictionary, - DataType::Int32 => { - if args.encoding_int == EncodingScheme::Delta { - Encoding::DeltaBinaryPacked - } else { - Encoding::Plain - } - } - DataType::Utf8 | DataType::LargeUtf8 => { - if args.encoding_utf8 == EncodingScheme::Delta { - Encoding::DeltaLengthByteArray - } else { - Encoding::Plain - } - } - _ => Encoding::Plain, - }) - }) - .collect(); - - let row_groups = - RowGroupIterator::try_new(batches.into_iter().map(Ok), &schema, options, encodings)?; - - let writer = File::create(args.write_path)?; - - let mut writer = FileWriter::try_new(writer, schema, options)?; - - for group in row_groups { - writer.write(group?)?; - } - let _ = writer.end(None)?; - - Ok(()) -} From f110817cd475ba7cf357bd0b775cf72f28680879 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:10:35 +0100 Subject: [PATCH 06/18] Remove some features from the `full` list --- Cargo.toml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 537bea83bb..fc392e68a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -156,7 +156,7 @@ rustdoc-args = ["--cfg", "docsrs"] default = [] full = [ "arrow", - "io_odbc", + # "io_odbc", "io_csv", "io_csv_async", "io_json", @@ -167,8 +167,8 @@ full = [ "io_ipc_compression", "io_json_integration", "io_print", - "io_parquet_async", - "io_parquet_compression", + # "io_parquet_async", + # "io_parquet_compression", "io_avro", "io_orc", "io_avro_compression", @@ -207,7 +207,7 @@ io_parquet = [ "streaming-iterator", "fallible-streaming-iterator", ] -io_parquet_async = ["futures", "io_parquet", "parquet2/async"] +io_parquet_async = ["futures", "io_parquet", "parquet2?/async"] io_parquet_compression = [ "io_parquet_zstd", @@ -221,15 +221,15 @@ io_parquet_compression = [ io_parquet_sample_test = ["io_parquet_async"] # compression backends -io_parquet_zstd = ["parquet2/zstd"] -io_parquet_snappy = ["parquet2/snappy"] -io_parquet_gzip = ["parquet2/gzip"] -io_parquet_lz4_flex = ["parquet2/lz4_flex"] -io_parquet_lz4 = ["parquet2/lz4"] -io_parquet_brotli = ["parquet2/brotli"] +io_parquet_zstd = ["parquet2?/zstd"] +io_parquet_snappy = ["parquet2?/snappy"] +io_parquet_gzip = ["parquet2?/gzip"] +io_parquet_lz4_flex = ["parquet2?/lz4_flex"] +io_parquet_lz4 = ["parquet2?/lz4"] +io_parquet_brotli = ["parquet2?/brotli"] # parquet bloom filter functions -io_parquet_bloom_filter = ["parquet2/bloom_filter"] +io_parquet_bloom_filter = ["parquet2?/bloom_filter"] io_avro = ["avro-schema", "streaming-iterator"] io_avro_compression = ["avro-schema/compression"] From 1ac0418557d7da066db923545a316f8c7db3c3c0 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:19:03 +0100 Subject: [PATCH 07/18] Remove tests of odbc and parquet --- examples/io_odbc.rs | 83 --------------------------------- examples/parquet_read.rs | 48 ------------------- examples/parquet_read_async.rs | 61 ------------------------ examples/parquet_write.rs | 59 ----------------------- examples/parquet_write_async.rs | 57 ---------------------- 5 files changed, 308 deletions(-) delete mode 100644 examples/io_odbc.rs delete mode 100644 examples/parquet_read.rs delete mode 100644 examples/parquet_read_async.rs delete mode 100644 examples/parquet_write.rs delete mode 100644 examples/parquet_write_async.rs diff --git a/examples/io_odbc.rs b/examples/io_odbc.rs deleted file mode 100644 index d103b5ac4c..0000000000 --- a/examples/io_odbc.rs +++ /dev/null @@ -1,83 +0,0 @@ -//! Demo of how to write to, and read from, an ODBC connector -//! -//! On an Ubuntu, you need to run the following (to install the driver): -//! ```bash -//! sudo apt install libsqliteodbc sqlite3 unixodbc-dev -//! sudo sed --in-place 's/libsqlite3odbc.so/\/usr\/lib\/x86_64-linux-gnu\/odbc\/libsqlite3odbc.so/' /etc/odbcinst.ini -//! ``` -use re_arrow2::array::{Array, Int32Array, Utf8Array}; -use re_arrow2::chunk::Chunk; -use re_arrow2::datatypes::{DataType, Field}; -use re_arrow2::error::Result; -use re_arrow2::io::odbc::api; -use re_arrow2::io::odbc::api::Cursor; -use re_arrow2::io::odbc::read; -use re_arrow2::io::odbc::write; - -fn main() -> Result<()> { - let connector = "Driver={SQLite3};Database=sqlite-test.db"; - let env = api::Environment::new()?; - let connection = env.connect_with_connection_string(connector)?; - - // let's create an empty table with a schema - connection.execute("DROP TABLE IF EXISTS example;", ())?; - connection.execute("CREATE TABLE example (c1 INT, c2 TEXT);", ())?; - - // and now let's write some data into it (from arrow arrays!) - // first, we prepare the statement - let query = "INSERT INTO example (c1, c2) VALUES (?, ?)"; - let prepared = connection.prepare(query).unwrap(); - - // secondly, we initialize buffers from odbc-api - let fields = vec![ - // (for now) the types here must match the tables' schema - Field::new("unused", DataType::Int32, true), - Field::new("unused", DataType::LargeUtf8, true), - ]; - - // third, we initialize the writer - let mut writer = write::Writer::try_new(prepared, fields)?; - - // say we have (or receive from a channel) a chunk: - let chunk = Chunk::new(vec![ - Box::new(Int32Array::from_slice([1, 2, 3])) as Box, - Box::new(Utf8Array::::from([Some("Hello"), None, Some("World")])), - ]); - - // we write it like this - writer.write(&chunk)?; - - // and we can later read from it - let chunks = read(&connection, "SELECT c1 FROM example")?; - - // and the result should be the same - assert_eq!(chunks[0].columns()[0], chunk.columns()[0]); - - Ok(()) -} - -/// Reads chunks from a query done against an ODBC connection -pub fn read(connection: &api::Connection<'_>, query: &str) -> Result>>> { - let mut a = connection.prepare(query)?; - let fields = read::infer_schema(&a)?; - - let max_batch_size = 100; - let buffer = read::buffer_from_metadata(&a, max_batch_size)?; - - let cursor = a.execute(())?.unwrap(); - let mut cursor = cursor.bind_buffer(buffer)?; - - let mut chunks = vec![]; - while let Some(batch) = cursor.fetch()? { - let arrays = (0..batch.num_cols()) - .zip(fields.iter()) - .map(|(index, field)| { - let column_view = batch.column(index); - read::deserialize(column_view, field.data_type.clone()) - }) - .collect::>(); - chunks.push(Chunk::new(arrays)); - } - - Ok(chunks) -} diff --git a/examples/parquet_read.rs b/examples/parquet_read.rs deleted file mode 100644 index 4b839bb20a..0000000000 --- a/examples/parquet_read.rs +++ /dev/null @@ -1,48 +0,0 @@ -use std::fs::File; -use std::time::SystemTime; - -use re_arrow2::error::Error; -use re_arrow2::io::parquet::read; - -fn main() -> Result<(), Error> { - // say we have a file - use std::env; - let args: Vec = env::args().collect(); - let file_path = &args[1]; - let mut reader = File::open(file_path)?; - - // we can read its metadata: - let metadata = read::read_metadata(&mut reader)?; - - // and infer a [`Schema`] from the `metadata`. - let schema = read::infer_schema(&metadata)?; - - // we can filter the columns we need (here we select all) - let schema = schema.filter(|_index, _field| true); - - // we can read the statistics of all parquet's row groups (here for each field) - for field in &schema.fields { - let statistics = read::statistics::deserialize(field, &metadata.row_groups)?; - println!("{statistics:#?}"); - } - - // say we found that we only need to read the first two row groups, "0" and "1" - let row_groups = metadata - .row_groups - .into_iter() - .enumerate() - .filter(|(index, _)| *index == 0 || *index == 1) - .map(|(_, row_group)| row_group) - .collect(); - - // we can then read the row groups into chunks - let chunks = read::FileReader::new(reader, row_groups, schema, Some(1024 * 8 * 8), None, None); - - let start = SystemTime::now(); - for maybe_chunk in chunks { - let chunk = maybe_chunk?; - assert!(!chunk.is_empty()); - } - println!("took: {} ms", start.elapsed().unwrap().as_millis()); - Ok(()) -} diff --git a/examples/parquet_read_async.rs b/examples/parquet_read_async.rs deleted file mode 100644 index a431f6b596..0000000000 --- a/examples/parquet_read_async.rs +++ /dev/null @@ -1,61 +0,0 @@ -use std::time::SystemTime; - -use futures::future::BoxFuture; -use tokio::fs::File; -use tokio::io::BufReader; -use tokio_util::compat::*; - -use re_arrow2::error::Result; -use re_arrow2::io::parquet::read::{self, RowGroupDeserializer}; - -#[tokio::main(flavor = "current_thread")] -async fn main() -> Result<()> { - let start = SystemTime::now(); - - use std::env; - let args: Vec = env::args().collect(); - let file_path = Box::new(args[1].clone()); - - // # Read metadata - let mut reader = BufReader::new(File::open(file_path.as_ref()).await?).compat(); - - // this operation is usually done before reading the data, during planning. - // This is a mix of IO and CPU-bounded tasks but both of them are O(1) - let metadata = read::read_metadata_async(&mut reader).await?; - let schema = read::infer_schema(&metadata)?; - - // This factory yields one file descriptor per column and is used to read columns concurrently. - // They do not need to be buffered since we execute exactly 1 seek and 1 read on them. - let factory = || { - Box::pin(async { Ok(File::open(file_path.clone().as_ref()).await?.compat()) }) - as BoxFuture<_> - }; - - // This is the row group loop. Groups can be skipped based on the statistics they carry. - for row_group in &metadata.row_groups { - // A row group is consumed in two steps: the first step is to read the (compressed) - // columns into memory, which is IO-bounded. - let column_chunks = read::read_columns_many_async( - factory, - row_group, - schema.fields.clone(), - None, - None, - None, - ) - .await?; - - // the second step is to iterate over the columns in chunks. - // this operation is CPU-bounded and should be sent to a separate thread pool (e.g. `tokio_rayon`) to not block - // the runtime. - // Furthermore, this operation is trivially paralellizable e.g. via rayon, as each iterator - // can be advanced in parallel (parallel decompression and deserialization). - let chunks = RowGroupDeserializer::new(column_chunks, row_group.num_rows(), None); - for maybe_chunk in chunks { - let chunk = maybe_chunk?; - println!("{}", chunk.len()); - } - } - println!("took: {} ms", start.elapsed().unwrap().as_millis()); - Ok(()) -} diff --git a/examples/parquet_write.rs b/examples/parquet_write.rs deleted file mode 100644 index 6b816a51b4..0000000000 --- a/examples/parquet_write.rs +++ /dev/null @@ -1,59 +0,0 @@ -use std::fs::File; - -use re_arrow2::{ - array::{Array, Int32Array}, - chunk::Chunk, - datatypes::{Field, Schema}, - error::Result, - io::parquet::write::{ - transverse, CompressionOptions, Encoding, FileWriter, RowGroupIterator, Version, - WriteOptions, - }, -}; - -fn write_chunk(path: &str, schema: Schema, chunk: Chunk>) -> Result<()> { - let options = WriteOptions { - write_statistics: true, - compression: CompressionOptions::Uncompressed, - version: Version::V2, - data_pagesize_limit: None, - }; - - let iter = vec![Ok(chunk)]; - - let encodings = schema - .fields - .iter() - .map(|f| transverse(&f.data_type, |_| Encoding::Plain)) - .collect(); - - let row_groups = RowGroupIterator::try_new(iter.into_iter(), &schema, options, encodings)?; - - // Create a new empty file - let file = File::create(path)?; - - let mut writer = FileWriter::try_new(file, schema, options)?; - - for group in row_groups { - writer.write(group?)?; - } - let _size = writer.end(None)?; - Ok(()) -} - -fn main() -> Result<()> { - let array = Int32Array::from(&[ - Some(0), - Some(1), - Some(2), - Some(3), - Some(4), - Some(5), - Some(6), - ]); - let field = Field::new("c1", array.data_type().clone(), true); - let schema = Schema::from(vec![field]); - let chunk = Chunk::new(vec![array.boxed()]); - - write_chunk("test.parquet", schema, chunk) -} diff --git a/examples/parquet_write_async.rs b/examples/parquet_write_async.rs deleted file mode 100644 index 772d486b88..0000000000 --- a/examples/parquet_write_async.rs +++ /dev/null @@ -1,57 +0,0 @@ -use futures::SinkExt; -use tokio::fs::File; - -use re_arrow2::{ - array::{Array, Int32Array}, - chunk::Chunk, - datatypes::{Field, Schema}, - error::Result, - io::parquet::write::{ - transverse, CompressionOptions, Encoding, FileSink, Version, WriteOptions, - }, -}; -use tokio_util::compat::TokioAsyncReadCompatExt; - -async fn write_batch(path: &str, schema: Schema, columns: Chunk>) -> Result<()> { - let options = WriteOptions { - write_statistics: true, - compression: CompressionOptions::Uncompressed, - version: Version::V2, - data_pagesize_limit: None, - }; - - let mut stream = futures::stream::iter(vec![Ok(columns)].into_iter()); - - // Create a new empty file - let file = File::create(path).await?.compat(); - - let encodings = schema - .fields - .iter() - .map(|f| transverse(&f.data_type, |_| Encoding::Plain)) - .collect(); - - let mut writer = FileSink::try_new(file, schema, encodings, options)?; - - writer.send_all(&mut stream).await?; - writer.close().await?; - Ok(()) -} - -#[tokio::main(flavor = "current_thread")] -async fn main() -> Result<()> { - let array = Int32Array::from(&[ - Some(0), - Some(1), - Some(2), - Some(3), - Some(4), - Some(5), - Some(6), - ]); - let field = Field::new("c1", array.data_type().clone(), true); - let schema = Schema::from(vec![field]); - let columns = Chunk::new(vec![array.boxed()]); - - write_batch("test.parquet", schema, columns).await -} From 7f42d70497ebcbed23fbf369c59822c2c40f207d Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:21:15 +0100 Subject: [PATCH 08/18] Clippy fixes --- src/array/boolean/mod.rs | 1 - src/array/fixed_size_list/mod.rs | 1 - src/array/map/mod.rs | 1 - src/array/primitive/mod.rs | 1 - src/buffer/mod.rs | 1 + 5 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/array/boolean/mod.rs b/src/array/boolean/mod.rs index cd7f040b88..2def39750b 100644 --- a/src/array/boolean/mod.rs +++ b/src/array/boolean/mod.rs @@ -19,7 +19,6 @@ mod from; mod iterator; mod mutable; -pub use iterator::*; pub use mutable::*; /// A [`BooleanArray`] is Arrow's semantically equivalent of an immutable `Vec>`. diff --git a/src/array/fixed_size_list/mod.rs b/src/array/fixed_size_list/mod.rs index 0d335167b2..916e2b0f9a 100644 --- a/src/array/fixed_size_list/mod.rs +++ b/src/array/fixed_size_list/mod.rs @@ -11,7 +11,6 @@ mod data; mod ffi; pub(super) mod fmt; mod iterator; -pub use iterator::*; mod mutable; pub use mutable::*; diff --git a/src/array/map/mod.rs b/src/array/map/mod.rs index 952695297f..3668c425fa 100644 --- a/src/array/map/mod.rs +++ b/src/array/map/mod.rs @@ -12,7 +12,6 @@ mod data; mod ffi; pub(super) mod fmt; mod iterator; -pub use iterator::*; /// An array representing a (key, value), both of arbitrary logical types. #[derive(Clone)] diff --git a/src/array/primitive/mod.rs b/src/array/primitive/mod.rs index eb52ea3d5d..1b6fdc04c9 100644 --- a/src/array/primitive/mod.rs +++ b/src/array/primitive/mod.rs @@ -19,7 +19,6 @@ mod ffi; pub(super) mod fmt; mod from_natural; mod iterator; -pub use iterator::*; mod mutable; pub use mutable::*; diff --git a/src/buffer/mod.rs b/src/buffer/mod.rs index 46c0a4d64a..ba50325cd0 100644 --- a/src/buffer/mod.rs +++ b/src/buffer/mod.rs @@ -7,6 +7,7 @@ use crate::ffi::InternalArrowArray; use std::ops::Deref; pub(crate) enum BytesAllocator { + #[allow(dead_code)] InternalArrowArray(InternalArrowArray), #[cfg(feature = "arrow")] From 30a2090532ca82b67ed6091812dca2e6c98e7952 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:22:14 +0100 Subject: [PATCH 09/18] Remove CI steps for odbc and parquet --- .github/workflows/integration-odbc.yml | 40 ------------------ .github/workflows/integration-parquet.yml | 50 ----------------------- 2 files changed, 90 deletions(-) delete mode 100644 .github/workflows/integration-odbc.yml delete mode 100644 .github/workflows/integration-parquet.yml diff --git a/.github/workflows/integration-odbc.yml b/.github/workflows/integration-odbc.yml deleted file mode 100644 index 2ee3bf096f..0000000000 --- a/.github/workflows/integration-odbc.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Integration ODBC - -on: [push, pull_request] - -env: - CARGO_TERM_COLOR: always - -jobs: - linux: - name: Test - runs-on: ubuntu-latest - - services: - sqlserver: - image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu - ports: - - 1433:1433 - env: - ACCEPT_EULA: Y - SA_PASSWORD: My@Test@Password1 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install ODBC Drivers - run: | - curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - - curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list - apt-get update - ACCEPT_EULA=Y apt-get install -y msodbcsql17 - ln -s /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.*.so.* /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.so - shell: sudo bash {0} - - name: Setup Rust toolchain - run: | - rustup toolchain install stable - rustup default stable - rustup component add rustfmt clippy - - uses: Swatinem/rust-cache@v1 - - name: Test - run: cd arrow-odbc-integration-testing && cargo test diff --git a/.github/workflows/integration-parquet.yml b/.github/workflows/integration-parquet.yml deleted file mode 100644 index 88c84da9ba..0000000000 --- a/.github/workflows/integration-parquet.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Integration Parquet - -on: [push, pull_request] - -jobs: - docker: - name: Test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup Rust toolchain - run: | - rustup toolchain install stable - rustup default stable - rustup component add rustfmt clippy - - name: Cache Cargo - uses: actions/cache@v2 - with: - path: /home/runner/.cargo - key: cargo-parquet-cache- - - name: Cache Rust dependencies - uses: actions/cache@v2 - with: - path: /home/runner/target - key: ${{ runner.os }}-amd64-target-parquet-cache - - uses: actions/setup-python@v2 - with: - python-version: "3.10" - - name: Build - run: | - export CARGO_HOME="/home/runner/.cargo" - export CARGO_TARGET_DIR="/home/runner/target" - - cd arrow-parquet-integration-testing - - cargo build - - name: Run - run: | - export CARGO_HOME="/home/runner/.cargo" - export CARGO_TARGET_DIR="/home/runner/target" - - cd arrow-parquet-integration-testing - - python -m venv venv - source venv/bin/activate - pip install --upgrade pip - pip install pyarrow==8 pyspark==3 - python main.py - # test against spark - python main_spark.py From 178614843cc92a3b98f86069141ef5cce655083d Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:29:34 +0100 Subject: [PATCH 10/18] Use Rust 1.72 instead of nightly --- .github/workflows/coverage.yml | 2 +- .github/workflows/integration-ffi.yml | 4 ++-- .github/workflows/test.yml | 10 +++++----- Cargo.toml | 1 + rust-toolchain.toml | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index e9469eb5be..fd62aefa57 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -8,7 +8,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Install Rust - run: rustup toolchain install stable --component llvm-tools-preview + run: rustup toolchain install 1.72.1 --component llvm-tools-preview - name: Install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov - name: Setup parquet files diff --git a/.github/workflows/integration-ffi.yml b/.github/workflows/integration-ffi.yml index f09f095588..ccb7c0cba6 100644 --- a/.github/workflows/integration-ffi.yml +++ b/.github/workflows/integration-ffi.yml @@ -10,8 +10,8 @@ jobs: - uses: actions/checkout@v2 - name: Setup Rust toolchain run: | - rustup toolchain install stable - rustup default stable + rustup toolchain install 1.72.1 + rustup default 1.72.1 rustup component add rustfmt clippy - name: Cache Cargo uses: actions/cache@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8abddfd616..991806b8a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Rust - run: rustup update stable + run: rustup update 1.72.1 - name: Setup parquet files run: | apt update && apt install python3-pip python3-venv -y -q @@ -34,7 +34,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Rust - run: rustup update stable + run: rustup update 1.72.1 - uses: Swatinem/rust-cache@v1 - name: Run shell: bash @@ -48,7 +48,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Rust - run: rustup update stable + run: rustup update 1.72.1 - uses: Swatinem/rust-cache@v1 - name: Install clippy run: rustup component add clippy @@ -61,7 +61,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Rust - run: rustup update stable + run: rustup update 1.72.1 - uses: Swatinem/rust-cache@v1 - name: Install rustfmt run: rustup component add rustfmt @@ -133,7 +133,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Rust - run: rustup update stable + run: rustup update 1.72.1 - name: Setup all features run: cargo install cargo-all-features - uses: Swatinem/rust-cache@v1 diff --git a/Cargo.toml b/Cargo.toml index fc392e68a2..8a295cba49 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,7 @@ authors = [ ] keywords = ["arrow", "analytics"] edition = "2021" +rust-version = "1.72" exclude = ["testing/"] [lib] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 003d04b560..7e8f0a9aab 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2024-01-09" +channel = "1.72" From a0458202f237b432d092c75dedcea1f36d3bdfb2 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:34:35 +0100 Subject: [PATCH 11/18] Clippy fixes --- src/array/mod.rs | 2 +- src/array/primitive/fmt.rs | 6 +++++- src/compute/aggregate/min_max.rs | 2 ++ src/compute/sort/mod.rs | 2 +- src/compute/sort/row/interner.rs | 2 +- src/ffi/mmap.rs | 4 ++-- src/io/ipc/write/mod.rs | 2 +- src/scalar/primitive.rs | 14 ++++++++------ tests/it/array/utf8/mutable.rs | 4 ++-- tests/it/bitmap/utils/zip_validity.rs | 4 ++-- tests/it/compute/arithmetics/mod.rs | 2 +- tests/it/io/csv/read.rs | 8 ++++---- 12 files changed, 30 insertions(+), 22 deletions(-) diff --git a/src/array/mod.rs b/src/array/mod.rs index 02735c3d0b..4807b12b61 100644 --- a/src/array/mod.rs +++ b/src/array/mod.rs @@ -25,7 +25,7 @@ use crate::{ datatypes::DataType, }; -pub(self) mod physical_binary; +mod physical_binary; /// A trait representing an immutable Arrow array. Arrow arrays are trait objects /// that are infallibly downcasted to concrete types according to the [`Array::data_type`]. diff --git a/src/array/primitive/fmt.rs b/src/array/primitive/fmt.rs index 05357ef587..0108cc646a 100644 --- a/src/array/primitive/fmt.rs +++ b/src/array/primitive/fmt.rs @@ -15,7 +15,11 @@ macro_rules! dyn_primitive { .as_any() .downcast_ref::>() .unwrap(); - Box::new(move |f, index| write!(f, "{}", $expr(array.value(index)))) + Box::new(move |f, index| { + #[allow(clippy::redundant_closure_call)] + let value = $expr(array.value(index)); + write!(f, "{}", value) + }) }}; } diff --git a/src/compute/aggregate/min_max.rs b/src/compute/aggregate/min_max.rs index 7b88f51000..17cb764078 100644 --- a/src/compute/aggregate/min_max.rs +++ b/src/compute/aggregate/min_max.rs @@ -1,3 +1,5 @@ +#![allow(clippy::redundant_closure_call)] + use crate::bitmap::utils::{BitChunkIterExact, BitChunksExact}; use crate::datatypes::{DataType, PhysicalType, PrimitiveType}; use crate::error::{Error, Result}; diff --git a/src/compute/sort/mod.rs b/src/compute/sort/mod.rs index 068020c6a6..09bbbcb94e 100644 --- a/src/compute/sort/mod.rs +++ b/src/compute/sort/mod.rs @@ -345,7 +345,7 @@ where let mut values = if options.nulls_first { null_indices.into_iter().chain(values).collect::>() } else { - values.chain(null_indices.into_iter()).collect::>() + values.chain(null_indices).collect::>() }; values.truncate(limit.unwrap_or(values.len())); diff --git a/src/compute/sort/row/interner.rs b/src/compute/sort/row/interner.rs index 77c53a0684..a7ef90bd20 100644 --- a/src/compute/sort/row/interner.rs +++ b/src/compute/sort/row/interner.rs @@ -415,7 +415,7 @@ mod tests { #[test] fn test_intern_duplicates() { // Unsorted with duplicates - let values = vec![0_u8, 1, 8, 4, 1, 0]; + let values = [0_u8, 1, 8, 4, 1, 0]; let mut interner = OrderPreservingInterner::default(); let interned = interner.intern(values.iter().map(std::slice::from_ref).map(Some)); diff --git a/src/ffi/mmap.rs b/src/ffi/mmap.rs index 0f879d4fdc..cbc03dbcba 100644 --- a/src/ffi/mmap.rs +++ b/src/ffi/mmap.rs @@ -105,7 +105,7 @@ pub unsafe fn slice(slice: &[T]) -> PrimitiveArray { let validity = None; let data: &[u8] = bytemuck::cast_slice(slice); - let ptr = data.as_ptr() as *const u8; + let ptr = data.as_ptr(); let data = Arc::new(data); // safety: the underlying assumption of this function: the array will not be used @@ -147,7 +147,7 @@ pub unsafe fn bitmap(data: &[u8], offset: usize, length: usize) -> Result PrimitiveScalar { #[inline] pub fn new(data_type: DataType, value: Option) -> Self { if !data_type.to_physical_type().eq_primitive(T::PRIMITIVE) { - Err(Error::InvalidArgumentError(format!( - "Type {} does not support logical type {:?}", - std::any::type_name::(), - data_type - ))) - .unwrap() + panic!( + "{:?}", + Error::InvalidArgumentError(format!( + "Type {} does not support logical type {:?}", + std::any::type_name::(), + data_type + )) + ); } Self { value, data_type } } diff --git a/tests/it/array/utf8/mutable.rs b/tests/it/array/utf8/mutable.rs index 04699a9fea..52939fb443 100644 --- a/tests/it/array/utf8/mutable.rs +++ b/tests/it/array/utf8/mutable.rs @@ -135,7 +135,7 @@ fn test_extend_values() { fn test_extend() { let mut array = MutableUtf8Array::::new(); - array.extend([Some("hi"), None, Some("there"), None].into_iter()); + array.extend([Some("hi"), None, Some("there"), None]); let array: Utf8Array = array.into(); @@ -149,7 +149,7 @@ fn test_extend() { fn as_arc() { let mut array = MutableUtf8Array::::new(); - array.extend([Some("hi"), None, Some("there"), None].into_iter()); + array.extend([Some("hi"), None, Some("there"), None]); assert_eq!( Utf8Array::::from([Some("hi"), None, Some("there"), None]), diff --git a/tests/it/bitmap/utils/zip_validity.rs b/tests/it/bitmap/utils/zip_validity.rs index df29abbbcc..96003307d9 100644 --- a/tests/it/bitmap/utils/zip_validity.rs +++ b/tests/it/bitmap/utils/zip_validity.rs @@ -32,8 +32,8 @@ fn complete() { fn slices() { let a = Bitmap::from([true, false]); let a = Some(a.iter()); - let offsets = vec![0, 2, 3]; - let values = vec![1, 2, 3]; + let offsets = [0, 2, 3]; + let values = [1, 2, 3]; let iter = offsets.windows(2).map(|x| { let start = x[0]; let end = x[1]; diff --git a/tests/it/compute/arithmetics/mod.rs b/tests/it/compute/arithmetics/mod.rs index 921f667a67..f134575528 100644 --- a/tests/it/compute/arithmetics/mod.rs +++ b/tests/it/compute/arithmetics/mod.rs @@ -62,7 +62,7 @@ fn consistency() { Interval(IntervalUnit::MonthDayNano), ]; - let cases = datatypes.clone().into_iter().zip(datatypes.into_iter()); + let cases = datatypes.clone().into_iter().zip(datatypes); cases.for_each(|(lhs, rhs)| { let lhs_a = new_empty_array(lhs.clone()); diff --git a/tests/it/io/csv/read.rs b/tests/it/io/csv/read.rs index 253ab319cd..70ce6a402c 100644 --- a/tests/it/io/csv/read.rs +++ b/tests/it/io/csv/read.rs @@ -379,7 +379,7 @@ fn decimal_only_integer() -> Result<()> { #[test] fn boolean() -> Result<()> { - let input = vec!["true", "True", "False", "F", "t"]; + let input = ["true", "True", "False", "F", "t"]; let input = input.join("\n"); let expected = BooleanArray::from(&[Some(true), Some(true), Some(false), None, None]); @@ -392,7 +392,7 @@ fn boolean() -> Result<()> { #[test] fn float32() -> Result<()> { - let input = vec!["12.34", "12", "0.0", "inf", "-inf", "dd"]; + let input = ["12.34", "12", "0.0", "inf", "-inf", "dd"]; let input = input.join("\n"); let expected = Float32Array::from(&[ @@ -411,7 +411,7 @@ fn float32() -> Result<()> { #[test] fn deserialize_binary() -> Result<()> { - let input = vec!["aa", "bb"]; + let input = ["aa", "bb"]; let input = input.join("\n"); let expected = BinaryArray::::from([Some(b"aa"), Some(b"bb")]); @@ -423,7 +423,7 @@ fn deserialize_binary() -> Result<()> { #[test] fn deserialize_timestamp() -> Result<()> { - let input = vec!["1996-12-19T16:34:57-02:00", "1996-12-19T16:34:58-02:00"]; + let input = ["1996-12-19T16:34:57-02:00", "1996-12-19T16:34:58-02:00"]; let input = input.join("\n"); let data_type = DataType::Timestamp(TimeUnit::Millisecond, Some("-01:00".to_string())); From b64879d4cdd107f4cd44d7073d58975054afd0f2 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:39:54 +0100 Subject: [PATCH 12/18] Use 1.72.1 in CI --- .github/workflows/docs.yml | 2 +- .github/workflows/test.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2a1d92de9a..f5be316bf3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -32,7 +32,7 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 with: - toolchain: nightly + toolchain: 1.72.1 profile: minimal override: true components: rustfmt, rust-src diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 991806b8a0..390ce98abf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-12-05 + toolchain: 1.72.1 override: true - uses: Swatinem/rust-cache@v1 with: @@ -96,7 +96,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-12-05 + toolchain: 1.72.1 override: true - uses: Swatinem/rust-cache@v1 with: @@ -115,7 +115,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-12-05 + toolchain: 1.72.1 override: true - uses: Swatinem/rust-cache@v1 with: @@ -158,7 +158,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-12-05 + toolchain: 1.72.1 target: ${{ matrix.target }} override: true - uses: Swatinem/rust-cache@v1 @@ -175,7 +175,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-12-05 + toolchain: 1.72.1 override: true - uses: Swatinem/rust-cache@v1 - name: Run From 91ef39275623dcf2ae563306d8f690dd9bcf0779 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:49:47 +0100 Subject: [PATCH 13/18] Remove benches and tests related to parquet --- Cargo.toml | 8 --- benches/read_parquet.rs | 102 --------------------------------------- benches/write_parquet.rs | 72 --------------------------- src/doc/lib.md | 45 ++++++++--------- tests/it/io/mod.rs | 12 ++--- 5 files changed, 29 insertions(+), 210 deletions(-) delete mode 100644 benches/read_parquet.rs delete mode 100644 benches/write_parquet.rs diff --git a/Cargo.toml b/Cargo.toml index 8a295cba49..a246f70222 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -339,14 +339,6 @@ name = "comparison_kernels" harness = false -[[bench]] -name = "read_parquet" -harness = false - -[[bench]] -name = "write_parquet" -harness = false - [[bench]] name = "aggregate" harness = false diff --git a/benches/read_parquet.rs b/benches/read_parquet.rs deleted file mode 100644 index 1ab57bb2a6..0000000000 --- a/benches/read_parquet.rs +++ /dev/null @@ -1,102 +0,0 @@ -use std::io::Read; -use std::{fs, io::Cursor, path::PathBuf}; - -use criterion::{criterion_group, criterion_main, Criterion}; - -use re_arrow2::error::Result; -use re_arrow2::io::parquet::read; - -fn to_buffer( - size: usize, - nullable: bool, - dict: bool, - multi_page: bool, - compressed: bool, -) -> Vec { - let dir = env!("CARGO_MANIFEST_DIR"); - - let dict = if dict { "dict/" } else { "" }; - let multi_page = if multi_page { "multi/" } else { "" }; - let compressed = if compressed { "snappy/" } else { "" }; - let nullable = if nullable { "" } else { "_required" }; - - let path = PathBuf::from(dir).join(format!( - "fixtures/pyarrow3/v1/{dict}{multi_page}{compressed}benches{nullable}_{size}.parquet", - )); - - let metadata = fs::metadata(&path).expect("unable to read metadata"); - let mut file = fs::File::open(path).unwrap(); - let mut buffer = vec![0; metadata.len() as usize]; - file.read_exact(&mut buffer).expect("buffer overflow"); - buffer -} - -fn read_chunk(buffer: &[u8], size: usize, column: usize) -> Result<()> { - let mut reader = Cursor::new(buffer); - - let metadata = read::read_metadata(&mut reader)?; - - let schema = read::infer_schema(&metadata)?; - - let schema = schema.filter(|index, _| index == column); - - let reader = read::FileReader::new(reader, metadata.row_groups, schema, None, None, None); - - for maybe_chunk in reader { - let columns = maybe_chunk?; - assert_eq!(columns.len(), size); - } - Ok(()) -} - -fn add_benchmark(c: &mut Criterion) { - (10..=20).step_by(2).for_each(|log2_size| { - let size = 2usize.pow(log2_size); - let buffer = to_buffer(size, true, false, false, false); - let a = format!("read i64 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 0).unwrap())); - - let buffer = to_buffer(size, true, true, false, false); - let a = format!("read ts dict 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 11).unwrap())); - - let a = format!("read utf8 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 2).unwrap())); - - let a = format!("read utf8 large 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 6).unwrap())); - - let a = format!("read utf8 emoji 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 12).unwrap())); - - let a = format!("read bool 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 3).unwrap())); - - let buffer = to_buffer(size, true, true, false, false); - let a = format!("read utf8 dict 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 2).unwrap())); - - let buffer = to_buffer(size, true, false, false, true); - let a = format!("read i64 snappy 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 0).unwrap())); - - let buffer = to_buffer(size, true, false, true, false); - let a = format!("read utf8 multi 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 2).unwrap())); - - let buffer = to_buffer(size, true, false, true, true); - let a = format!("read utf8 multi snappy 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 2).unwrap())); - - let buffer = to_buffer(size, true, false, true, true); - let a = format!("read i64 multi snappy 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 0).unwrap())); - - let buffer = to_buffer(size, false, false, false, false); - let a = format!("read required utf8 2^{log2_size}"); - c.bench_function(&a, |b| b.iter(|| read_chunk(&buffer, size, 2).unwrap())); - }); -} - -criterion_group!(benches, add_benchmark); -criterion_main!(benches); diff --git a/benches/write_parquet.rs b/benches/write_parquet.rs deleted file mode 100644 index 955b4d3e4f..0000000000 --- a/benches/write_parquet.rs +++ /dev/null @@ -1,72 +0,0 @@ -use criterion::{criterion_group, criterion_main, Criterion}; - -use re_arrow2::array::{clone, Array}; -use re_arrow2::chunk::Chunk; -use re_arrow2::datatypes::{Field, Schema}; -use re_arrow2::error::Result; -use re_arrow2::io::parquet::write::*; -use re_arrow2::util::bench_util::{ - create_boolean_array, create_primitive_array, create_string_array, -}; - -type ChunkBox = Chunk>; - -fn write(array: &dyn Array, encoding: Encoding) -> Result<()> { - let schema = Schema::from(vec![Field::new("c1", array.data_type().clone(), true)]); - let columns: ChunkBox = Chunk::new(vec![clone(array)]); - - let options = WriteOptions { - write_statistics: false, - compression: CompressionOptions::Uncompressed, - version: Version::V1, - data_pagesize_limit: None, - }; - - let row_groups = RowGroupIterator::try_new( - vec![Ok(columns)].into_iter(), - &schema, - options, - vec![vec![encoding]], - )?; - - let writer = vec![]; - - let mut writer = FileWriter::try_new(writer, schema, options)?; - - for group in row_groups { - writer.write(group?)?; - } - let _ = writer.end(None)?; - Ok(()) -} - -fn add_benchmark(c: &mut Criterion) { - (0..=10).step_by(2).for_each(|i| { - let array = &create_primitive_array::(1024 * 2usize.pow(i), 0.1); - let a = format!("write i64 2^{}", 10 + i); - c.bench_function(&a, |b| b.iter(|| write(array, Encoding::Plain).unwrap())); - }); - - (0..=10).step_by(2).for_each(|i| { - let array = &create_boolean_array(1024 * 2usize.pow(i), 0.1, 0.5); - let a = format!("write bool 2^{}", 10 + i); - c.bench_function(&a, |b| b.iter(|| write(array, Encoding::Plain).unwrap())); - }); - - (0..=10).step_by(2).for_each(|i| { - let array = &create_string_array::(1024 * 2usize.pow(i), 4, 0.1, 42); - let a = format!("write utf8 2^{}", 10 + i); - c.bench_function(&a, |b| b.iter(|| write(array, Encoding::Plain).unwrap())); - }); - - (0..=10).step_by(2).for_each(|i| { - let array = &create_string_array::(1024 * 2usize.pow(i), 4, 0.1, 42); - let a = format!("write utf8 delta 2^{}", 10 + i); - c.bench_function(&a, |b| { - b.iter(|| write(array, Encoding::DeltaLengthByteArray).unwrap()) - }); - }); -} - -criterion_group!(benches, add_benchmark); -criterion_main!(benches); diff --git a/src/doc/lib.md b/src/doc/lib.md index 832c888e7e..afeffddf20 100644 --- a/src/doc/lib.md +++ b/src/doc/lib.md @@ -15,7 +15,7 @@ use re_arrow2::array::*; use re_arrow2::datatypes::{Field, DataType, Schema}; use re_arrow2::compute::arithmetics; use re_arrow2::error::Result; -use re_arrow2::io::parquet::write::*; +// use re_arrow2::io::parquet::write::*; use re_arrow2::chunk::Chunk; fn main() -> Result<()> { @@ -36,32 +36,33 @@ fn main() -> Result<()> { // declare chunk let chunk = Chunk::new(vec![a.arced(), b.arced()]); - // write to parquet (probably the fastest implementation of writing to parquet out there) + // // write to parquet (probably the fastest implementation of writing to parquet out there) - let options = WriteOptions { - write_statistics: true, - compression: CompressionOptions::Snappy, - version: Version::V1, - data_pagesize_limit: None, - }; + // let options = WriteOptions { + // write_statistics: true, + // compression: CompressionOptions::Snappy, + // version: Version::V1, + // data_pagesize_limit: None, + // }; - let row_groups = RowGroupIterator::try_new( - vec![Ok(chunk)].into_iter(), - &schema, - options, - vec![vec![Encoding::Plain], vec![Encoding::Plain]], - )?; + // let row_groups = RowGroupIterator::try_new( + // vec![Ok(chunk)].into_iter(), + // &schema, + // options, + // vec![vec![Encoding::Plain], vec![Encoding::Plain]], + // )?; - // anything implementing `std::io::Write` works - let mut file = vec![]; + // // anything implementing `std::io::Write` works + // let mut file = vec![]; - let mut writer = FileWriter::try_new(file, schema, options)?; + // let mut writer = FileWriter::try_new(file, schema, options)?; + + // // Write the file. + // for group in row_groups { + // writer.write(group?)?; + // } + // let _ = writer.end(None)?; - // Write the file. - for group in row_groups { - writer.write(group?)?; - } - let _ = writer.end(None)?; Ok(()) } ``` diff --git a/tests/it/io/mod.rs b/tests/it/io/mod.rs index bf228251df..597277abca 100644 --- a/tests/it/io/mod.rs +++ b/tests/it/io/mod.rs @@ -7,8 +7,8 @@ mod json; #[cfg(feature = "io_json")] mod ndjson; -#[cfg(feature = "io_json_integration")] -mod ipc; +// #[cfg(feature = "io_json_integration")] // disabled: requiers test data +// mod ipc; // disabled: requiers test data #[cfg(feature = "io_parquet")] mod parquet; @@ -16,8 +16,8 @@ mod parquet; #[cfg(feature = "io_avro")] mod avro; -#[cfg(feature = "io_orc")] -mod orc; +// #[cfg(feature = "io_orc")] // disabled: requiers test data +// mod orc; // disabled: requiers test data #[cfg(any( feature = "io_csv_read", @@ -26,5 +26,5 @@ mod orc; ))] mod csv; -#[cfg(feature = "io_flight")] -mod flight; +// #[cfg(feature = "io_flight")] // disabled: requiers test data +// mod flight; // disabled: requiers test data From 9e01457fdf4c4cdb51d0f0ad9d4c07cc5bef2a5f Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:55:40 +0100 Subject: [PATCH 14/18] Remove coverage CI job --- .github/workflows/coverage.yml | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index fd62aefa57..0000000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Coverage - -on: [pull_request, push] - -jobs: - coverage: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Install Rust - run: rustup toolchain install 1.72.1 --component llvm-tools-preview - - name: Install cargo-llvm-cov - uses: taiki-e/install-action@cargo-llvm-cov - - name: Setup parquet files - run: | - apt update && apt install python3-pip python3-venv -y -q - python3 -m venv venv - source venv/bin/activate - pip install pip --upgrade - pip install pyarrow==6 pyorc - python parquet_integration/write_parquet.py - python tests/it/io/orc/write.py - deactivate - - uses: Swatinem/rust-cache@v1 - - name: Generate code coverage - run: cargo llvm-cov --features full --lcov --output-path lcov.info - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos - files: lcov.info - fail_ci_if_error: true From 6056954a24d0250a73cf9b6aae95e0bb2216c9dc Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 15:56:43 +0100 Subject: [PATCH 15/18] Use nightly for docs CI --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f5be316bf3..2a1d92de9a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -32,7 +32,7 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly profile: minimal override: true components: rustfmt, rust-src From 3a59c6d03ebef4993c406748fdb1cb9eddb5758a Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 16:01:37 +0100 Subject: [PATCH 16/18] Use nightly for some CI stuff --- .github/workflows/test.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 390ce98abf..944eba70ce 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly override: true - uses: Swatinem/rust-cache@v1 with: @@ -96,7 +96,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly override: true - uses: Swatinem/rust-cache@v1 with: @@ -115,7 +115,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly override: true - uses: Swatinem/rust-cache@v1 with: @@ -158,7 +158,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly target: ${{ matrix.target }} override: true - uses: Swatinem/rust-cache@v1 @@ -175,7 +175,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.72.1 + toolchain: nightly override: true - uses: Swatinem/rust-cache@v1 - name: Run From 1837363a6a135b24a642301d99ae5b7d64107d89 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 16:08:14 +0100 Subject: [PATCH 17/18] Fix simd tests --- src/compute/aggregate/simd/packed.rs | 8 +++++++- src/compute/comparison/simd/packed.rs | 20 +++++++++++++------- src/types/simd/packed.rs | 4 ++-- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/compute/aggregate/simd/packed.rs b/src/compute/aggregate/simd/packed.rs index c3ee4ffcf3..809bac7a58 100644 --- a/src/compute/aggregate/simd/packed.rs +++ b/src/compute/aggregate/simd/packed.rs @@ -1,4 +1,4 @@ -use std::simd::{SimdFloat as _, SimdInt as _, SimdOrd as _, SimdUint as _}; +use std::simd::prelude::*; use crate::types::simd::*; @@ -35,31 +35,37 @@ macro_rules! simd_ord_int { #[inline] fn max_element(self) -> $type { + use std::simd::prelude::*; self.reduce_max() } #[inline] fn min_element(self) -> $type { + use std::simd::prelude::*; self.reduce_min() } #[inline] fn max_lane(self, x: Self) -> Self { + use std::simd::prelude::*; self.simd_max(x) } #[inline] fn min_lane(self, x: Self) -> Self { + use std::simd::prelude::*; self.simd_min(x) } #[inline] fn new_min() -> Self { + use std::simd::prelude::*; Self::splat(Self::MAX) } #[inline] fn new_max() -> Self { + use std::simd::prelude::*; Self::splat(Self::MIN) } } diff --git a/src/compute/comparison/simd/packed.rs b/src/compute/comparison/simd/packed.rs index 937e3bb81a..731227b5ca 100644 --- a/src/compute/comparison/simd/packed.rs +++ b/src/compute/comparison/simd/packed.rs @@ -1,5 +1,5 @@ use std::convert::TryInto; -use std::simd::{SimdPartialEq, SimdPartialOrd, ToBitMask}; +use std::simd::prelude::*; use crate::types::simd::*; use crate::types::{days_ms, f16, i256, months_days_ns}; @@ -29,34 +29,40 @@ macro_rules! simd8 { impl Simd8PartialEq for $md { #[inline] fn eq(self, other: Self) -> u8 { - self.simd_eq(other).to_bitmask() + use std::simd::prelude::*; + self.simd_eq(other).to_bitmask().try_into().unwrap() } #[inline] fn neq(self, other: Self) -> u8 { - self.simd_ne(other).to_bitmask() + use std::simd::prelude::*; + self.simd_ne(other).to_bitmask().try_into().unwrap() } } impl Simd8PartialOrd for $md { #[inline] fn lt_eq(self, other: Self) -> u8 { - self.simd_le(other).to_bitmask() + use std::simd::prelude::*; + self.simd_le(other).to_bitmask().try_into().unwrap() } #[inline] fn lt(self, other: Self) -> u8 { - self.simd_lt(other).to_bitmask() + use std::simd::prelude::*; + self.simd_lt(other).to_bitmask().try_into().unwrap() } #[inline] fn gt_eq(self, other: Self) -> u8 { - self.simd_ge(other).to_bitmask() + use std::simd::prelude::*; + self.simd_ge(other).to_bitmask().try_into().unwrap() } #[inline] fn gt(self, other: Self) -> u8 { - self.simd_gt(other).to_bitmask() + use std::simd::prelude::*; + self.simd_gt(other).to_bitmask().try_into().unwrap() } } }; diff --git a/src/types/simd/packed.rs b/src/types/simd/packed.rs index 0d95b68882..048d3b5d75 100644 --- a/src/types/simd/packed.rs +++ b/src/types/simd/packed.rs @@ -1,7 +1,7 @@ pub use std::simd::{ f32x16, f32x8, f64x8, i16x32, i16x8, i32x16, i32x8, i64x8, i8x64, i8x8, mask32x16 as m32x16, - mask64x8 as m64x8, mask8x64 as m8x64, u16x32, u16x8, u32x16, u32x8, u64x8, u8x64, u8x8, - SimdPartialEq, + mask64x8 as m64x8, mask8x64 as m8x64, prelude::*, u16x32, u16x8, u32x16, u32x8, u64x8, u8x64, + u8x8, }; /// Vector of 32 16-bit masks From 29dd9dcdbe015f5a2da325bc011ce080ce81ca13 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 15 Jan 2024 16:10:19 +0100 Subject: [PATCH 18/18] More CI fixes --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 944eba70ce..a2580f5dc1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -152,7 +152,7 @@ jobs: - i686-unknown-linux-gnu - powerpc-unknown-linux-gnu - powerpc64-unknown-linux-gnu - - mips-unknown-linux-gnu + # - mips-unknown-linux-gnu - arm-linux-androideabi steps: - uses: actions/checkout@v2 @@ -166,7 +166,7 @@ jobs: with: use-cross: true command: check - args: --features=compute_merge_sort,io_ipc,io_csv,io_print,io_json,io_parquet --target ${{ matrix.target }} + args: --features=compute_merge_sort,io_ipc,io_csv,io_print,io_json --target ${{ matrix.target }} linux-simd-test: name: SIMD