Skip to content

Commit be6ed55

Browse files
authored
Merge branch 'main' into pre_allocate_view_vec
2 parents 3d7ba2d + 370d426 commit be6ed55

File tree

122 files changed

+8827
-1907
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+8827
-1907
lines changed

.github/workflows/dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848

4949
prettier:
5050
name: Markdown format
51-
runs-on: ubuntu-latest
51+
runs-on: ubuntu-slim
5252
steps:
5353
- uses: actions/checkout@v6
5454
- uses: actions/setup-node@v6

.github/workflows/dev_pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
jobs:
3333
process:
3434
name: Process
35-
runs-on: ubuntu-latest
35+
runs-on: ubuntu-slim
3636
permissions:
3737
contents: read
3838
pull-requests: write

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
echo "::warning title=Invalid file permissions automatically fixed::$line"
5757
done
5858
- name: Upload artifacts
59-
uses: actions/upload-pages-artifact@v4
59+
uses: actions/upload-pages-artifact@v5
6060
with:
6161
name: crate-docs
6262
path: target/doc

.github/workflows/miri.sh

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ cargo miri setup
1212
cargo clean
1313

1414
echo "Starting Arrow MIRI run..."
15-
cargo miri test -p arrow-buffer
16-
cargo miri test -p arrow-data --features ffi
17-
cargo miri test -p arrow-schema --features ffi
18-
cargo miri test -p arrow-ord
19-
cargo miri test -p arrow-array
20-
cargo miri test -p arrow-arith
15+
cargo miri nextest run \
16+
-p arrow-buffer -p arrow-data \
17+
-p arrow-schema -p arrow-ord \
18+
-p arrow-array -p arrow-arith \
19+
--features ffi --no-fail-fast

.github/workflows/miri.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ jobs:
5555
rustup toolchain install nightly --component miri
5656
rustup override set nightly
5757
cargo miri setup
58+
- name: Set up nextest
59+
run: |
60+
cargo install cargo-nextest --version 0.9.132 --locked
5861
- name: Run Miri Checks
5962
env:
6063
RUST_BACKTRACE: full

.github/workflows/take.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ permissions:
2626
jobs:
2727
issue_assign:
2828
if: (!github.event.issue.pull_request) && github.event.comment.body == 'take'
29-
runs-on: ubuntu-latest
29+
runs-on: ubuntu-slim
3030
steps:
31-
- uses: actions/github-script@v8
31+
- uses: actions/github-script@v9
3232
with:
3333
script: |
3434
github.rest.issues.addAssignees({

Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ parquet-variant-compute = { version = "58.1.0", path = "./parquet-variant-comput
108108

109109
chrono = { version = "0.4.40", default-features = false, features = ["clock"] }
110110

111-
simdutf8 = { version = "0.1.5", default-features = false }
112-
113111
criterion = { version = "0.8.0", default-features = false }
114112

115113
insta = { version = "1.46.3", default-features = false }
116114

115+
object_store = { version = "0.13.2", default-features = false }
116+
117+
simdutf8 = { version = "0.1.5", default-features = false }
118+
117119
# release inherited profile keeping debug information and symbols
118120
# for mem/cpu profiling
119121
[profile.profiling]

NOTICE.txt

Lines changed: 6 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -4,81 +4,10 @@ Copyright 2016-2026 The Apache Software Foundation
44
This product includes software developed at
55
The Apache Software Foundation (http://www.apache.org/).
66

7-
This product includes software from the SFrame project (BSD, 3-clause).
8-
* Copyright (C) 2015 Dato, Inc.
9-
* Copyright (c) 2009 Carnegie Mellon University.
7+
This product includes software from the chronoutil crate (MIT)
8+
* Copyright (c) 2020-2022 Oliver Margetts
9+
* https://github.com/olliemath/chronoutil
1010

11-
This product includes software from the Feather project (Apache 2.0)
12-
https://github.com/wesm/feather
13-
14-
This product includes software from the DyND project (BSD 2-clause)
15-
https://github.com/libdynd
16-
17-
This product includes software from the LLVM project
18-
* distributed under the University of Illinois Open Source
19-
20-
This product includes software from the google-lint project
21-
* Copyright (c) 2009 Google Inc. All rights reserved.
22-
23-
This product includes software from the mman-win32 project
24-
* Copyright https://code.google.com/p/mman-win32/
25-
* Licensed under the MIT License;
26-
27-
This product includes software from the LevelDB project
28-
* Copyright (c) 2011 The LevelDB Authors. All rights reserved.
29-
* Use of this source code is governed by a BSD-style license that can be
30-
* Moved from Kudu http://github.com/cloudera/kudu
31-
32-
This product includes software from the CMake project
33-
* Copyright 2001-2009 Kitware, Inc.
34-
* Copyright 2012-2014 Continuum Analytics, Inc.
35-
* All rights reserved.
36-
37-
This product includes software from https://github.com/matthew-brett/multibuild (BSD 2-clause)
38-
* Copyright (c) 2013-2016, Matt Terry and Matthew Brett; all rights reserved.
39-
40-
This product includes software from the Ibis project (Apache 2.0)
41-
* Copyright (c) 2015 Cloudera, Inc.
42-
* https://github.com/cloudera/ibis
43-
44-
This product includes software from Dremio (Apache 2.0)
45-
* Copyright (C) 2017-2018 Dremio Corporation
46-
* https://github.com/dremio/dremio-oss
47-
48-
This product includes software from Google Guava (Apache 2.0)
49-
* Copyright (C) 2007 The Guava Authors
50-
* https://github.com/google/guava
51-
52-
This product include software from CMake (BSD 3-Clause)
53-
* CMake - Cross Platform Makefile Generator
54-
* Copyright 2000-2019 Kitware, Inc. and Contributors
55-
56-
The web site includes files generated by Jekyll.
57-
58-
--------------------------------------------------------------------------------
59-
60-
This product includes code from Apache Kudu, which includes the following in
61-
its NOTICE file:
62-
63-
Apache Kudu
64-
Copyright 2016 The Apache Software Foundation
65-
66-
This product includes software developed at
67-
The Apache Software Foundation (http://www.apache.org/).
68-
69-
Portions of this software were developed at
70-
Cloudera, Inc (http://www.cloudera.com/).
71-
72-
--------------------------------------------------------------------------------
73-
74-
This product includes code from Apache ORC, which includes the following in
75-
its NOTICE file:
76-
77-
Apache ORC
78-
Copyright 2013-2019 The Apache Software Foundation
79-
80-
This product includes software developed by The Apache Software
81-
Foundation (http://www.apache.org/).
82-
83-
This product includes software developed by Hewlett-Packard:
84-
(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P
11+
This product includes software from the compact-thrift project (Apache 2.0)
12+
* Copyright Jörn Horstmann
13+
* https://github.com/jhorstmann/compact-thrift

arrow-arith/src/aggregate.rs

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
use arrow_array::cast::*;
2121
use arrow_array::iterator::ArrayIter;
2222
use arrow_array::*;
23-
use arrow_buffer::{ArrowNativeType, NullBuffer};
23+
use arrow_buffer::NullBuffer;
2424
use arrow_data::bit_iterator::try_for_each_valid_idx;
2525
use arrow_schema::*;
2626
use std::borrow::BorrowMut;
@@ -541,11 +541,9 @@ pub fn min_string_view(array: &StringViewArray) -> Option<&str> {
541541
///
542542
/// This doesn't detect overflow. Once overflowing, the result will wrap around.
543543
/// For an overflow-checking variant, use [`sum_array_checked`] instead.
544-
pub fn sum_array<T, A: ArrayAccessor<Item = T::Native>>(array: A) -> Option<T::Native>
545-
where
546-
T: ArrowNumericType,
547-
T::Native: ArrowNativeTypeOp,
548-
{
544+
pub fn sum_array<T: ArrowNumericType, A: ArrayAccessor<Item = T::Native>>(
545+
array: A,
546+
) -> Option<T::Native> {
549547
match array.data_type() {
550548
DataType::Dictionary(_, _) => {
551549
let null_count = array.null_count();
@@ -583,13 +581,9 @@ where
583581
/// use [`sum_array`] instead.
584582
/// Additionally returns an `Err` on run-end-encoded arrays with a provided
585583
/// values type parameter that is incorrect.
586-
pub fn sum_array_checked<T, A: ArrayAccessor<Item = T::Native>>(
584+
pub fn sum_array_checked<T: ArrowNumericType, A: ArrayAccessor<Item = T::Native>>(
587585
array: A,
588-
) -> Result<Option<T::Native>, ArrowError>
589-
where
590-
T: ArrowNumericType,
591-
T::Native: ArrowNativeTypeOp,
592-
{
586+
) -> Result<Option<T::Native>, ArrowError> {
593587
match array.data_type() {
594588
DataType::Dictionary(_, _) => {
595589
let null_count = array.null_count();
@@ -717,21 +711,17 @@ mod ree {
717711

718712
/// Returns the min of values in the array of `ArrowNumericType` type, or dictionary
719713
/// array with value of `ArrowNumericType` type.
720-
pub fn min_array<T, A: ArrayAccessor<Item = T::Native>>(array: A) -> Option<T::Native>
721-
where
722-
T: ArrowNumericType,
723-
T::Native: ArrowNativeType,
724-
{
714+
pub fn min_array<T: ArrowNumericType, A: ArrayAccessor<Item = T::Native>>(
715+
array: A,
716+
) -> Option<T::Native> {
725717
min_max_array_helper::<T, A, _, _>(array, |a, b| a.is_gt(*b), min)
726718
}
727719

728720
/// Returns the max of values in the array of `ArrowNumericType` type, or dictionary
729721
/// array with value of `ArrowNumericType` type.
730-
pub fn max_array<T, A: ArrayAccessor<Item = T::Native>>(array: A) -> Option<T::Native>
731-
where
732-
T: ArrowNumericType,
733-
T::Native: ArrowNativeTypeOp,
734-
{
722+
pub fn max_array<T: ArrowNumericType, A: ArrayAccessor<Item = T::Native>>(
723+
array: A,
724+
) -> Option<T::Native> {
735725
min_max_array_helper::<T, A, _, _>(array, |a, b| a.is_lt(*b), max)
736726
}
737727

@@ -874,11 +864,9 @@ pub fn bool_or(array: &BooleanArray) -> Option<bool> {
874864
///
875865
/// This detects overflow and returns an `Err` for that. For an non-overflow-checking variant,
876866
/// use [`sum`] instead.
877-
pub fn sum_checked<T>(array: &PrimitiveArray<T>) -> Result<Option<T::Native>, ArrowError>
878-
where
879-
T: ArrowNumericType,
880-
T::Native: ArrowNativeTypeOp,
881-
{
867+
pub fn sum_checked<T: ArrowNumericType>(
868+
array: &PrimitiveArray<T>,
869+
) -> Result<Option<T::Native>, ArrowError> {
882870
let null_count = array.null_count();
883871

884872
if null_count == array.len() {
@@ -922,10 +910,7 @@ where
922910
///
923911
/// This doesn't detect overflow in release mode by default. Once overflowing, the result will
924912
/// wrap around. For an overflow-checking variant, use [`sum_checked`] instead.
925-
pub fn sum<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native>
926-
where
927-
T::Native: ArrowNativeTypeOp,
928-
{
913+
pub fn sum<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native> {
929914
aggregate::<T::Native, T, SumAccumulator<T::Native>>(array)
930915
}
931916

@@ -940,10 +925,7 @@ where
940925
/// let result = min(&array);
941926
/// assert_eq!(result, Some(2));
942927
/// ```
943-
pub fn min<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native>
944-
where
945-
T::Native: PartialOrd,
946-
{
928+
pub fn min<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native> {
947929
aggregate::<T::Native, T, MinAccumulator<T::Native>>(array)
948930
}
949931

@@ -958,10 +940,7 @@ where
958940
/// let result = max(&array);
959941
/// assert_eq!(result, Some(8));
960942
/// ```
961-
pub fn max<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native>
962-
where
963-
T::Native: PartialOrd,
964-
{
943+
pub fn max<T: ArrowNumericType>(array: &PrimitiveArray<T>) -> Option<T::Native> {
965944
aggregate::<T::Native, T, MaxAccumulator<T::Native>>(array)
966945
}
967946

arrow-arith/src/arithmetic.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,7 @@ pub fn multiply_fixed_point(
170170
}
171171

172172
/// Divide a decimal native value by given divisor and round the result.
173-
fn divide_and_round<I>(input: I::Native, div: I::Native) -> I::Native
174-
where
175-
I: DecimalType,
176-
I::Native: ArrowNativeTypeOp,
177-
{
173+
fn divide_and_round<I: DecimalType>(input: I::Native, div: I::Native) -> I::Native {
178174
let d = input.div_wrapping(div);
179175
let r = input.mod_wrapping(div);
180176

0 commit comments

Comments
 (0)