Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Dependencies update #1345

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ bench = false

[dependencies]
foreign_vec = "0.1.0"
either = "1.6"
either = "1.8"
num-traits = "0.2"
dyn-clone = "1"
bytemuck = { version = "1", features = ["derive"] }
Expand All @@ -29,13 +29,13 @@ ethnum = "1"
# crate provides HashMap that assumes pre-hashed values.
hash_hasher = "^2.0.3"
# For SIMD utf8 validation
simdutf8 = "0.1.3"
simdutf8 = "0.1"

# A Rust port of SwissTable
hashbrown = { version = "0.12", default-features = false, optional = true }
hashbrown = { version = "0.13", default-features = false, optional = true }

# for timezone support
chrono-tz = { version = "0.6", optional = true }
chrono-tz = { version = "0.8", optional = true }
# To efficiently cast numbers to strings
lexical-core = { version = "0.8", optional = true }

Expand All @@ -44,38 +44,38 @@ csv = { version = "^1.1", optional = true }
csv-core = { version = "0.1", optional = true }

# for csv async io
csv-async = { version = "^1.1", optional = true }
csv-async = { version = "^1.2", optional = true }

regex = { version = "^1.3", optional = true }
regex = { version = "^1.7", optional = true }
regex-syntax = { version = "^0.6", 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"] }
indexmap = { version = "^1.6", optional = true }
indexmap = { version = "^1.9", optional = true }

# used to print columns in a nice columnar format
comfy-table = { version = "5.0", optional = true, default-features = false }
comfy-table = { version = "6.1.0", optional = true, default-features = false }

arrow-format = { version = "0.8", optional = true, features = ["ipc"] }

hex = { version = "^0.4", optional = true }

# for IPC compression
lz4 = { version = "1.23.1", optional = true }
zstd = { version = "0.11", optional = true }
lz4 = { version = "1.24", optional = true }
zstd = { version = "0.12", optional = true }

rand = { version = "0.8", optional = true }

itertools = { version = "^0.10", optional = true }

base64 = { version = "0.13.0", optional = true }
base64 = { version = "0.20", optional = true }

# to write to parquet as a stream
futures = { version = "0.3", optional = true }

# to read IPC as a stream
async-stream = { version = "0.3.2", optional = true }
async-stream = { version = "0.3", optional = true }

# avro support
avro-schema = { version = "0.3", optional = true }
Expand All @@ -92,7 +92,7 @@ serde_json = { version = "^1.0", features = ["preserve_order"], optional = true
strength_reduce = { version = "0.2", optional = true }

# For instruction multiversioning
multiversion = { version = "0.6.1", optional = true }
multiversion = { version = "0.7", optional = true }

# For support for odbc
odbc-api = { version = "0.36", optional = true }
Expand All @@ -113,13 +113,13 @@ default_features = false
features = ["async"]

[dev-dependencies]
criterion = "0.3"
criterion = "0.4"
flate2 = "1"
doc-comment = "0.3"
crossbeam-channel = "0.5.1"
crossbeam-channel = "0.5"
# used to test async readers
tokio = { version = "1", features = ["macros", "rt", "fs", "io-util"] }
tokio-util = { version = "0.6", features = ["compat"] }
tokio-util = { version = "0.7", features = ["compat"] }
# used to run formal property testing
proptest = { version = "1", default_features = false, features = ["std"] }
avro-rs = { version = "0.13", features = ["snappy"] }
Expand Down
6 changes: 2 additions & 4 deletions src/compute/aggregate/sum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ pub trait Sum<T> {
fn simd_sum(self) -> T;
}

#[multiversion]
#[clone(target = "x86_64+avx")]
#[multiversion(targets("x86_64+avx"))]
fn nonnull_sum<T>(values: &[T]) -> T
where
T: NativeType + Simd + Add<Output = T> + std::iter::Sum<T>,
Expand All @@ -39,8 +38,7 @@ where

/// # Panics
/// iff `values.len() != bitmap.len()` or the operation overflows.
#[multiversion]
#[clone(target = "x86_64+avx")]
#[multiversion(targets("x86_64+avx"))]
fn null_sum_impl<T, I>(values: &[T], mut validity_masks: I) -> T
where
T: NativeType + Simd,
Expand Down
9 changes: 3 additions & 6 deletions src/compute/hash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,15 @@ use crate::{

use super::arity::unary;

#[multiversion]
#[clone(target = "x86_64+aes+sse3+ssse3+avx+avx2")]
#[multiversion(targets("x86_64+aes+sse3+ssse3+avx+avx2"))]
/// Element-wise hash of a [`PrimitiveArray`]. Validity is preserved.
pub fn hash_primitive<T: NativeType + Hash>(array: &PrimitiveArray<T>) -> PrimitiveArray<u64> {
let state = new_state!();

unary(array, |x| state.hash_one(x), DataType::UInt64)
}

#[multiversion]
#[clone(target = "x86_64+aes+sse3+ssse3+avx+avx2")]
#[multiversion(targets("x86_64+aes+sse3+ssse3+avx+avx2"))]
/// Element-wise hash of a [`BooleanArray`]. Validity is preserved.
pub fn hash_boolean(array: &BooleanArray) -> PrimitiveArray<u64> {
let state = new_state!();
Expand All @@ -45,8 +43,7 @@ pub fn hash_boolean(array: &BooleanArray) -> PrimitiveArray<u64> {
PrimitiveArray::<u64>::new(DataType::UInt64, values, array.validity().cloned())
}

#[multiversion]
#[clone(target = "x86_64+aes+sse3+ssse3+avx+avx2")]
#[multiversion(targets("x86_64+aes+sse3+ssse3+avx+avx2"))]
/// Element-wise hash of a [`Utf8Array`]. Validity is preserved.
pub fn hash_utf8<O: Offset>(array: &Utf8Array<O>) -> PrimitiveArray<u64> {
let state = new_state!();
Expand Down