This is an automated email from the ASF dual-hosted git repository. alamb pushed a commit to branch MichaelScofield-patch-1 in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
commit b64842140b28178bd39459e22b22c1fc465f23c6 Merge: df9d4dd447 959577deab Author: Andrew Lamb <[email protected]> AuthorDate: Tue Jul 1 07:19:05 2025 -0400 Merge remote-tracking branch 'apache/main' into MichaelScofield-patch-1 .asf.yaml | 3 +- .github/dependabot.yml | 13 +- .github/pull_request_template.md | 25 +- .github/workflows/arrow_flight.yml | 2 +- .github/workflows/dev_pr/labeler.yml | 4 +- .github/workflows/integration.yml | 25 +- .../{arrow_flight.yml => parquet-variant.yml} | 38 +- .github/workflows/rust.yml | 6 +- .gitignore | 3 + CHANGELOG-old.md | 74 ++ CHANGELOG.md | 213 +++- Cargo.toml | 34 +- arrow-arith/src/aggregate.rs | 47 + arrow-arith/src/arithmetic.rs | 5 +- arrow-arith/src/arity.rs | 16 +- arrow-arith/src/numeric.rs | 717 ++++++++++- arrow-arith/src/temporal.rs | 425 ++----- arrow-array/Cargo.toml | 2 +- arrow-array/benches/decimal_overflow.rs | 9 +- arrow-array/benches/fixed_size_list_array.rs | 4 +- arrow-array/benches/occupancy.rs | 4 +- arrow-array/benches/union_array.rs | 3 +- .../benches/{gc_view_types.rs => view_types.rs} | 6 + arrow-array/src/arithmetic.rs | 58 +- arrow-array/src/array/binary_array.rs | 2 +- arrow-array/src/array/byte_array.rs | 6 +- arrow-array/src/array/byte_view_array.rs | 210 +++- arrow-array/src/array/dictionary_array.rs | 2 + arrow-array/src/array/fixed_size_binary_array.rs | 2 +- arrow-array/src/array/fixed_size_list_array.rs | 6 +- arrow-array/src/array/mod.rs | 8 + arrow-array/src/array/null_array.rs | 31 + arrow-array/src/array/primitive_array.rs | 230 +++- arrow-array/src/array/run_array.rs | 67 +- arrow-array/src/array/struct_array.rs | 2 +- arrow-array/src/array/union_array.rs | 2 +- arrow-array/src/builder/buffer_builder.rs | 4 + .../src/builder/fixed_size_binary_builder.rs | 19 +- .../fixed_size_binary_dictionary_builder.rs | 165 ++- arrow-array/src/builder/generic_bytes_builder.rs | 37 +- .../builder/generic_bytes_dictionary_builder.rs | 163 ++- .../src/builder/generic_bytes_view_builder.rs | 82 +- arrow-array/src/builder/generic_list_builder.rs | 20 +- arrow-array/src/builder/mod.rs | 6 + arrow-array/src/builder/primitive_builder.rs | 7 +- .../src/builder/primitive_dictionary_builder.rs | 170 ++- arrow-array/src/builder/struct_builder.rs | 36 +- arrow-array/src/cast.rs | 26 + arrow-array/src/ffi.rs | 2 +- arrow-array/src/record_batch.rs | 32 +- arrow-array/src/temporal_conversions.rs | 20 +- arrow-array/src/types.rs | 271 +++- arrow-avro/Cargo.toml | 7 + arrow-avro/benches/avro_reader.rs | 271 ++++ arrow-avro/examples/read_with_utf8view.rs | 121 ++ arrow-avro/src/codec.rs | 366 +++++- arrow-avro/src/lib.rs | 28 +- arrow-avro/src/reader/cursor.rs | 12 + arrow-avro/src/reader/mod.rs | 103 +- arrow-avro/src/reader/record.rs | 468 ++++++- arrow-buffer/benches/bit_mask.rs | 13 +- arrow-buffer/benches/i256.rs | 8 +- arrow-buffer/benches/offset.rs | 5 +- arrow-buffer/src/buffer/immutable.rs | 36 + arrow-buffer/src/buffer/null.rs | 2 +- arrow-buffer/src/util/bit_mask.rs | 6 +- arrow-cast/benches/parse_date.rs | 3 +- arrow-cast/benches/parse_decimal.rs | 3 +- arrow-cast/benches/parse_time.rs | 3 +- arrow-cast/benches/parse_timestamp.rs | 3 +- arrow-cast/src/cast/decimal.rs | 3 +- arrow-cast/src/cast/mod.rs | 12 +- arrow-cast/src/display.rs | 51 +- arrow-cast/src/parse.rs | 3 +- arrow-cast/src/pretty.rs | 136 +- arrow-csv/Cargo.toml | 1 - arrow-csv/src/reader/mod.rs | 18 +- arrow-data/src/byte_view.rs | 18 +- arrow-data/src/data.rs | 4 + arrow-data/src/decimal.rs | 195 ++- arrow-data/src/equal/mod.rs | 2 + arrow-data/src/transform/mod.rs | 36 +- arrow-data/src/transform/run.rs | 649 ++++++++++ arrow-flight/Cargo.toml | 12 +- arrow-flight/README.md | 5 +- arrow-flight/examples/flight_sql_server.rs | 5 +- arrow-flight/src/error.rs | 12 +- arrow-flight/src/lib.rs | 6 +- arrow-flight/src/sql/metadata/db_schemas.rs | 4 +- arrow-flight/src/sql/metadata/mod.rs | 3 +- arrow-flight/src/sql/metadata/tables.rs | 8 +- arrow-flight/src/sql/mod.rs | 2 + arrow-flight/src/sql/server.rs | 54 +- arrow-flight/src/streams.rs | 5 +- arrow-flight/tests/flight_sql_client.rs | 93 +- arrow-integration-test/src/datatype.rs | 8 + arrow-integration-test/src/lib.rs | 36 + arrow-integration-testing/Cargo.toml | 2 +- .../src/flight_client_scenarios/middleware.rs | 2 +- arrow-integration-testing/src/lib.rs | 5 +- arrow-ipc/src/convert.rs | 24 + arrow-ipc/src/reader.rs | 43 +- arrow-ipc/src/reader/stream.rs | 2 +- arrow-ipc/src/writer.rs | 8 +- arrow-json/src/reader/mod.rs | 8 +- arrow-json/src/reader/schema.rs | 3 +- arrow-json/src/reader/string_view_array.rs | 8 +- arrow-json/src/reader/struct_array.rs | 3 +- arrow-json/src/reader/tape.rs | 24 +- arrow-json/src/writer/encoder.rs | 3 +- arrow-json/src/writer/mod.rs | 2 +- arrow-ord/src/cmp.rs | 36 +- arrow-ord/src/sort.rs | 91 +- arrow-pyarrow-integration-testing/Cargo.toml | 4 +- {parquet-variant => arrow-pyarrow}/Cargo.toml | 25 +- arrow/src/pyarrow.rs => arrow-pyarrow/src/lib.rs | 24 +- {arrow => arrow-pyarrow}/tests/pyarrow.rs | 12 +- arrow-row/src/lib.rs | 541 ++++++-- arrow-row/src/list.rs | 129 +- arrow-row/src/run.rs | 638 ++++++++++ arrow-schema/src/datatype.rs | 55 +- arrow-schema/src/datatype_parse.rs | 49 +- arrow-schema/src/extension/mod.rs | 2 +- arrow-schema/src/ffi.rs | 10 +- arrow-schema/src/field.rs | 67 +- arrow-schema/src/fields.rs | 2 +- arrow-select/src/coalesce.rs | 1083 ++++++++++++++++ arrow-select/src/coalesce/byte_view.rs | 442 +++++++ arrow-select/src/coalesce/generic.rs | 76 ++ arrow-select/src/coalesce/primitive.rs | 101 ++ arrow-select/src/concat.rs | 421 ++++++- arrow-select/src/dictionary.rs | 58 +- arrow-select/src/filter.rs | 117 +- arrow-select/src/interleave.rs | 266 +++- arrow-select/src/lib.rs | 1 + arrow-select/src/take.rs | 6 + arrow-string/src/binary_predicate.rs | 1 + arrow-string/src/predicate.rs | 1 + arrow/Cargo.toml | 16 +- arrow/benches/arithmetic_kernels.rs | 27 +- arrow/benches/array_from_vec.rs | 12 +- arrow/benches/bit_length_kernel.rs | 3 +- arrow/benches/bitwise_kernel.rs | 31 +- arrow/benches/boolean_kernels.rs | 7 +- arrow/benches/buffer_bit_ops.rs | 13 +- arrow/benches/buffer_create.rs | 33 +- arrow/benches/builder.rs | 13 +- arrow/benches/cast_kernels.rs | 3 +- arrow/benches/coalesce_kernels.rs | 471 +++++++ arrow/benches/comparison_kernels.rs | 43 +- arrow/benches/concatenate_kernel.rs | 66 +- arrow/benches/csv_writer.rs | 3 +- arrow/benches/equal.rs | 3 +- arrow/benches/filter_kernels.rs | 5 +- arrow/benches/interleave_kernels.rs | 6 +- arrow/benches/json_reader.rs | 3 +- arrow/benches/length_kernel.rs | 3 +- arrow/benches/lexsort.rs | 6 +- arrow/benches/partition_kernels.rs | 4 +- arrow/benches/primitive_run_take.rs | 3 +- arrow/benches/regexp_kernels.rs | 3 +- arrow/benches/row_format.rs | 18 +- arrow/benches/sort_kernel.rs | 54 +- arrow/benches/substring_kernels.rs | 5 +- arrow/benches/take_kernels.rs | 18 +- arrow/src/compute/kernels.rs | 4 +- arrow/src/compute/mod.rs | 1 + arrow/src/lib.rs | 2 +- arrow/src/util/bench_util.rs | 22 +- arrow/src/util/data_gen.rs | 67 + dev/release/README.md | 26 +- dev/release/create-tarball.sh | 37 +- dev/release/update_change_log.sh | 4 +- parquet-testing | 2 +- parquet-variant/Cargo.toml | 24 +- parquet-variant/benches/variant_builder.rs | 402 ++++++ parquet-variant/src/builder.rs | 1324 ++++++++++++++++++++ parquet-variant/src/decoder.rs | 563 +++++++++ parquet-variant/src/lib.rs | 14 + parquet-variant/src/to_json.rs | 1227 ++++++++++++++++++ parquet-variant/src/utils.rs | 132 ++ parquet-variant/src/variant.rs | 1054 ++++++++++++++++ parquet-variant/src/variant/decimal.rs | 670 ++++++++++ parquet-variant/src/variant/list.rs | 303 +++++ parquet-variant/src/variant/metadata.rs | 293 +++++ parquet-variant/src/variant/object.rs | 376 ++++++ parquet-variant/tests/variant_interop.rs | 277 ++++ parquet/Cargo.toml | 5 + parquet/benches/arrow_reader_clickbench.rs | 882 +++++++++++++ parquet/benches/arrow_reader_row_filter.rs | 46 +- parquet/benches/arrow_writer.rs | 7 +- parquet/benches/compression.rs | 7 +- parquet/benches/encoding.rs | 4 +- parquet/benches/row_selector.rs | 9 +- parquet/examples/external_metadata.rs | 2 +- parquet/pytest/test_parquet_integration.py | 84 +- parquet/regen.sh | 3 +- parquet/src/arrow/array_reader/builder.rs | 560 +++++---- .../arrow/array_reader/byte_array_dictionary.rs | 9 +- parquet/src/arrow/array_reader/list_array.rs | 6 +- parquet/src/arrow/array_reader/mod.rs | 6 +- parquet/src/arrow/arrow_reader/filter.rs | 7 + parquet/src/arrow/arrow_reader/mod.rs | 408 +++--- parquet/src/arrow/arrow_reader/read_plan.rs | 251 ++++ parquet/src/arrow/arrow_reader/statistics.rs | 149 ++- parquet/src/arrow/arrow_writer/mod.rs | 254 +++- parquet/src/arrow/async_reader/metadata.rs | 377 +----- parquet/src/arrow/async_reader/mod.rs | 271 ++-- parquet/src/arrow/async_reader/store.rs | 2 +- parquet/src/arrow/async_writer/mod.rs | 12 +- parquet/src/arrow/buffer/view_buffer.rs | 2 +- parquet/src/arrow/mod.rs | 25 +- parquet/src/arrow/schema/mod.rs | 14 +- parquet/src/basic.rs | 33 +- parquet/src/bin/parquet-rewrite.rs | 150 ++- parquet/src/bin/parquet-show-bloom-filter.rs | 50 +- parquet/src/column/writer/mod.rs | 176 ++- parquet/src/compression.rs | 18 +- parquet/src/data_type.rs | 26 - parquet/src/encryption/ciphers.rs | 2 +- parquet/src/errors.rs | 2 +- parquet/src/file/footer.rs | 81 -- parquet/src/file/metadata/mod.rs | 31 +- parquet/src/file/metadata/reader.rs | 11 +- parquet/src/file/metadata/writer.rs | 30 +- parquet/src/file/mod.rs | 1 - parquet/src/file/page_index/index_reader.rs | 57 +- parquet/src/file/properties.rs | 445 ++++--- parquet/src/file/serialized_reader.rs | 365 +++--- parquet/src/file/statistics.rs | 102 +- parquet/src/file/writer.rs | 22 +- parquet/src/format.rs | 661 +++++++++- parquet/src/record/api.rs | 60 + parquet/src/schema/printer.rs | 5 +- parquet/src/thrift.rs | 4 +- parquet/tests/arrow_reader/bad_data.rs | 2 +- parquet/tests/arrow_reader/checksum.rs | 2 +- parquet/tests/arrow_reader/mod.rs | 53 +- parquet/tests/arrow_reader/statistics.rs | 293 ++++- parquet/tests/arrow_writer_layout.rs | 8 + parquet/tests/encryption/encryption.rs | 259 +++- parquet/tests/encryption/encryption_util.rs | 7 +- parquet_derive/README.md | 4 + parquet_derive/src/lib.rs | 96 +- parquet_derive_test/src/lib.rs | 38 + 245 files changed, 21625 insertions(+), 3165 deletions(-) diff --cc arrow-flight/Cargo.toml index eb8abc81b1,041901e491..e82ec9794d --- a/arrow-flight/Cargo.toml +++ b/arrow-flight/Cargo.toml @@@ -61,8 -61,10 +61,10 @@@ all-features = tru [features] default = [] - flight-sql-experimental = ["dep:arrow-arith", "dep:arrow-data", "dep:arrow-ord", "dep:arrow-row", "dep:arrow-select", "dep:arrow-string", "dep:once_cell", "dep:paste"] + flight-sql = ["dep:arrow-arith", "dep:arrow-data", "dep:arrow-ord", "dep:arrow-row", "dep:arrow-select", "dep:arrow-string", "dep:once_cell", "dep:paste"] + # TODO: Remove in the next release + flight-sql-experimental = ["flight-sql"] -tls = ["tonic/tls"] +tls = ["tonic/tls-ring"] # Enable CLI tools cli = ["arrow-array/chrono-tz", "arrow-cast/prettyprint", "tonic/tls-webpki-roots", "dep:anyhow", "dep:clap", "dep:tracing-log", "dep:tracing-subscriber"] diff --cc arrow-integration-testing/Cargo.toml index 8654b4b927,8654b4b927..8e91fcbb3c --- a/arrow-integration-testing/Cargo.toml +++ b/arrow-integration-testing/Cargo.toml @@@ -43,7 -43,7 +43,7 @@@ prost = { version = "0.13", default-fea serde = { version = "1.0", default-features = false, features = ["rc", "derive"] } serde_json = { version = "1.0", default-features = false, features = ["std"] } tokio = { version = "1.0", default-features = false, features = [ "rt-multi-thread"] } --tonic = { version = "0.12", default-features = false } ++tonic = { version = "0.13", default-features = false } tracing-subscriber = { version = "0.3.1", default-features = false, features = ["fmt"], optional = true } flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
