Struct arrow_array::array::PrimitiveArray
source · pub struct PrimitiveArray<T: ArrowPrimitiveType> { /* private fields */ }
Expand description
An array of primitive values
Example: From a Vec
let arr: PrimitiveArray<Int32Type> = vec![1, 2, 3, 4].into();
assert_eq!(4, arr.len());
assert_eq!(0, arr.null_count());
assert_eq!(arr.values(), &[1, 2, 3, 4])
Example: From an optional Vec
let arr: PrimitiveArray<Int32Type> = vec![Some(1), None, Some(3), None].into();
assert_eq!(4, arr.len());
assert_eq!(2, arr.null_count());
// Note: values for null indexes are arbitrary
assert_eq!(arr.values(), &[1, 0, 3, 0])
Example: From an iterator of values
let arr: PrimitiveArray<Int32Type> = (0..10).map(|x| x + 1).collect();
assert_eq!(10, arr.len());
assert_eq!(0, arr.null_count());
for i in 0..10i32 {
assert_eq!(i + 1, arr.value(i as usize));
}
Example: From an iterator of option
let arr: PrimitiveArray<Int32Type> = (0..10).map(|x| (x % 2 == 0).then_some(x)).collect();
assert_eq!(10, arr.len());
assert_eq!(5, arr.null_count());
// Note: values for null indexes are arbitrary
assert_eq!(arr.values(), &[0, 0, 2, 0, 4, 0, 6, 0, 8, 0])
Example: Using Builder
let mut builder = PrimitiveBuilder::<Int32Type>::new();
builder.append_value(1);
builder.append_null();
builder.append_value(2);
let array = builder.finish();
// Note: values for null indexes are arbitrary
assert_eq!(array.values(), &[1, 0, 2]);
assert!(array.is_null(1));
Implementations§
source§impl<T: ArrowPrimitiveType> PrimitiveArray<T>
impl<T: ArrowPrimitiveType> PrimitiveArray<T>
sourcepub fn new(values: ScalarBuffer<T::Native>, nulls: Option<NullBuffer>) -> Self
pub fn new(values: ScalarBuffer<T::Native>, nulls: Option<NullBuffer>) -> Self
Create a new PrimitiveArray
from the provided values and nulls
Panics
Panics if Self::try_new
returns an error
Example
Creating a PrimitiveArray
directly from a ScalarBuffer
and NullBuffer
using
this constructor is the most performant approach, avoiding any additional allocations
// [1, 2, 3, 4]
let array = Int32Array::new(vec![1, 2, 3, 4].into(), None);
// [1, null, 3, 4]
let nulls = NullBuffer::from(vec![true, false, true, true]);
let array = Int32Array::new(vec![1, 2, 3, 4].into(), Some(nulls));
sourcepub fn try_new(
values: ScalarBuffer<T::Native>,
nulls: Option<NullBuffer>
) -> Result<Self, ArrowError>
pub fn try_new( values: ScalarBuffer<T::Native>, nulls: Option<NullBuffer> ) -> Result<Self, ArrowError>
Create a new PrimitiveArray
from the provided values and nulls
Errors
Errors if:
values.len() != nulls.len()
sourcepub fn into_parts(
self
) -> (DataType, ScalarBuffer<T::Native>, Option<NullBuffer>)
pub fn into_parts( self ) -> (DataType, ScalarBuffer<T::Native>, Option<NullBuffer>)
Deconstruct this array into its constituent parts
sourcepub fn with_data_type(self, data_type: DataType) -> Self
pub fn with_data_type(self, data_type: DataType) -> Self
Overrides the DataType
of this PrimitiveArray
Prefer using Self::with_timezone
or Self::with_precision_and_scale
where
the primitive type is suitably constrained, as these cannot panic
Panics
Panics if ![Self::is_compatible]
sourcepub fn values(&self) -> &ScalarBuffer<T::Native>
pub fn values(&self) -> &ScalarBuffer<T::Native>
Returns the values of this array
sourcepub fn builder(capacity: usize) -> PrimitiveBuilder<T>
pub fn builder(capacity: usize) -> PrimitiveBuilder<T>
Returns a new primitive array builder
sourcepub fn is_compatible(data_type: &DataType) -> bool
pub fn is_compatible(data_type: &DataType) -> bool
Returns if this PrimitiveArray
is compatible with the provided DataType
This is equivalent to data_type == T::DATA_TYPE
, however ignores timestamp
timezones and decimal precision and scale
sourcepub unsafe fn value_unchecked(&self, i: usize) -> T::Native
pub unsafe fn value_unchecked(&self, i: usize) -> T::Native
Returns the primitive value at index i
.
Safety
caller must ensure that the passed in offset is less than the array len()
sourcepub fn from_iter_values<I: IntoIterator<Item = T::Native>>(iter: I) -> Self
pub fn from_iter_values<I: IntoIterator<Item = T::Native>>(iter: I) -> Self
Creates a PrimitiveArray based on an iterator of values without nulls
sourcepub fn from_value(value: T::Native, count: usize) -> Self
pub fn from_value(value: T::Native, count: usize) -> Self
Creates a PrimitiveArray based on a constant value with count
elements
sourcepub fn take_iter<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<T::Native>> + 'a
pub fn take_iter<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<T::Native>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
sourcepub unsafe fn take_iter_unchecked<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<T::Native>> + 'a
pub unsafe fn take_iter_unchecked<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<T::Native>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
Safety
caller must ensure that the offsets in the iterator are less than the array len()
sourcepub fn slice(&self, offset: usize, length: usize) -> Self
pub fn slice(&self, offset: usize, length: usize) -> Self
Returns a zero-copy slice of this array with the indicated offset and length.
sourcepub fn reinterpret_cast<K>(&self) -> PrimitiveArray<K>where
K: ArrowPrimitiveType<Native = T::Native>,
pub fn reinterpret_cast<K>(&self) -> PrimitiveArray<K>where K: ArrowPrimitiveType<Native = T::Native>,
Reinterprets this array’s contents as a different data type without copying
This can be used to efficiently convert between primitive arrays with the same underlying representation
Note: this will not modify the underlying values, and therefore may change
the semantic values of the array, e.g. 100 milliseconds in a TimestampNanosecondArray
will become 100 seconds in a TimestampSecondArray
.
For casts that preserve the semantic value, check out the [compute kernels]
let a = Int64Array::from_iter_values([1, 2, 3, 4]);
let b: TimestampNanosecondArray = a.reinterpret_cast();
sourcepub fn unary<F, O>(&self, op: F) -> PrimitiveArray<O>where
O: ArrowPrimitiveType,
F: Fn(T::Native) -> O::Native,
pub fn unary<F, O>(&self, op: F) -> PrimitiveArray<O>where O: ArrowPrimitiveType, F: Fn(T::Native) -> O::Native,
Applies an unary and infallible function to a primitive array. This is the fastest way to perform an operation on a primitive array when the benefits of a vectorized operation outweigh the cost of branching nulls and non-nulls.
Implementation
This will apply the function for all values, including those on null slots. This implies that the operation must be infallible for any value of the corresponding type or this function may panic.
Example
let array = Int32Array::from(vec![Some(5), Some(7), None]);
let c = array.unary(|x| x * 2 + 1);
assert_eq!(c, Int32Array::from(vec![Some(11), Some(15), None]));
sourcepub fn unary_mut<F>(self, op: F) -> Result<PrimitiveArray<T>, PrimitiveArray<T>>where
F: Fn(T::Native) -> T::Native,
pub fn unary_mut<F>(self, op: F) -> Result<PrimitiveArray<T>, PrimitiveArray<T>>where F: Fn(T::Native) -> T::Native,
Applies an unary and infallible function to a mutable primitive array. Mutable primitive array means that the buffer is not shared with other arrays. As a result, this mutates the buffer directly without allocating new buffer.
Implementation
This will apply the function for all values, including those on null slots. This implies that the operation must be infallible for any value of the corresponding type or this function may panic.
Example
let array = Int32Array::from(vec![Some(5), Some(7), None]);
let c = array.unary_mut(|x| x * 2 + 1).unwrap();
assert_eq!(c, Int32Array::from(vec![Some(11), Some(15), None]));
sourcepub fn try_unary<F, O, E>(&self, op: F) -> Result<PrimitiveArray<O>, E>where
O: ArrowPrimitiveType,
F: Fn(T::Native) -> Result<O::Native, E>,
pub fn try_unary<F, O, E>(&self, op: F) -> Result<PrimitiveArray<O>, E>where O: ArrowPrimitiveType, F: Fn(T::Native) -> Result<O::Native, E>,
Applies a unary and fallible function to all valid values in a primitive array
This is unlike Self::unary
which will apply an infallible function to all rows
regardless of validity, in many cases this will be significantly faster and should
be preferred if op
is infallible.
Note: LLVM is currently unable to effectively vectorize fallible operations
sourcepub fn try_unary_mut<F, E>(
self,
op: F
) -> Result<Result<PrimitiveArray<T>, E>, PrimitiveArray<T>>where
F: Fn(T::Native) -> Result<T::Native, E>,
pub fn try_unary_mut<F, E>( self, op: F ) -> Result<Result<PrimitiveArray<T>, E>, PrimitiveArray<T>>where F: Fn(T::Native) -> Result<T::Native, E>,
Applies an unary and fallible function to all valid values in a mutable primitive array. Mutable primitive array means that the buffer is not shared with other arrays. As a result, this mutates the buffer directly without allocating new buffer.
This is unlike Self::unary_mut
which will apply an infallible function to all rows
regardless of validity, in many cases this will be significantly faster and should
be preferred if op
is infallible.
This returns an Err
when the input array is shared buffer with other
array. In the case, returned Err
wraps input array. If the function
encounters an error during applying on values. In the case, this returns an Err
within
an Ok
which wraps the actual error.
Note: LLVM is currently unable to effectively vectorize fallible operations
sourcepub fn unary_opt<F, O>(&self, op: F) -> PrimitiveArray<O>where
O: ArrowPrimitiveType,
F: Fn(T::Native) -> Option<O::Native>,
pub fn unary_opt<F, O>(&self, op: F) -> PrimitiveArray<O>where O: ArrowPrimitiveType, F: Fn(T::Native) -> Option<O::Native>,
Applies a unary and nullable function to all valid values in a primitive array
This is unlike Self::unary
which will apply an infallible function to all rows
regardless of validity, in many cases this will be significantly faster and should
be preferred if op
is infallible.
Note: LLVM is currently unable to effectively vectorize fallible operations
sourcepub fn into_builder(self) -> Result<PrimitiveBuilder<T>, Self>
pub fn into_builder(self) -> Result<PrimitiveBuilder<T>, Self>
Returns PrimitiveBuilder
of this primitive array for mutating its values if the underlying
data buffer is not shared by others.
source§impl<T: ArrowTemporalType> PrimitiveArray<T>where
i64: From<T::Native>,
impl<T: ArrowTemporalType> PrimitiveArray<T>where i64: From<T::Native>,
sourcepub fn value_as_datetime(&self, i: usize) -> Option<NaiveDateTime>
pub fn value_as_datetime(&self, i: usize) -> Option<NaiveDateTime>
Returns value as a chrono NaiveDateTime
, handling time resolution
If a data type cannot be converted to NaiveDateTime
, a None
is returned.
A valid value is expected, thus the user should first check for validity.
sourcepub fn value_as_datetime_with_tz(
&self,
i: usize,
tz: Tz
) -> Option<DateTime<Tz>>
pub fn value_as_datetime_with_tz( &self, i: usize, tz: Tz ) -> Option<DateTime<Tz>>
Returns value as a chrono NaiveDateTime
, handling time resolution with the provided tz
functionally it is same as value_as_datetime
, however it adds
the passed tz to the to-be-returned NaiveDateTime
sourcepub fn value_as_date(&self, i: usize) -> Option<NaiveDate>
pub fn value_as_date(&self, i: usize) -> Option<NaiveDate>
Returns value as a chrono NaiveDate
by using Self::datetime()
If a data type cannot be converted to NaiveDate
, a None
is returned
sourcepub fn value_as_time(&self, i: usize) -> Option<NaiveTime>
pub fn value_as_time(&self, i: usize) -> Option<NaiveTime>
Returns a value as a chrono NaiveTime
Date32
and Date64
return UTC midnight as they do not have time resolution
sourcepub fn value_as_duration(&self, i: usize) -> Option<Duration>
pub fn value_as_duration(&self, i: usize) -> Option<Duration>
Returns a value as a chrono Duration
If a data type cannot be converted to Duration
, a None
is returned
source§impl<'a, T: ArrowPrimitiveType> PrimitiveArray<T>
impl<'a, T: ArrowPrimitiveType> PrimitiveArray<T>
sourcepub fn iter(&'a self) -> PrimitiveIter<'a, T>
pub fn iter(&'a self) -> PrimitiveIter<'a, T>
constructs a new iterator
source§impl<T: ArrowPrimitiveType> PrimitiveArray<T>
impl<T: ArrowPrimitiveType> PrimitiveArray<T>
sourcepub unsafe fn from_trusted_len_iter<I, P>(iter: I) -> Selfwhere
P: Borrow<Option<<T as ArrowPrimitiveType>::Native>>,
I: IntoIterator<Item = P>,
pub unsafe fn from_trusted_len_iter<I, P>(iter: I) -> Selfwhere P: Borrow<Option<<T as ArrowPrimitiveType>::Native>>, I: IntoIterator<Item = P>,
Creates a PrimitiveArray
from an iterator of trusted length.
Safety
The iterator must be TrustedLen
.
I.e. that size_hint().1
correctly reports its length.
source§impl<T: ArrowTimestampType> PrimitiveArray<T>
impl<T: ArrowTimestampType> PrimitiveArray<T>
sourcepub fn from_vec(data: Vec<i64>, timezone: Option<String>) -> Selfwhere
Self: From<Vec<i64>>,
👎Deprecated: Use with_timezone_opt instead
pub fn from_vec(data: Vec<i64>, timezone: Option<String>) -> Selfwhere Self: From<Vec<i64>>,
Construct a timestamp array from a vec of i64 values and an optional timezone
sourcepub fn from_opt_vec(data: Vec<Option<i64>>, timezone: Option<String>) -> Selfwhere
Self: From<Vec<Option<i64>>>,
👎Deprecated: Use with_timezone_opt instead
pub fn from_opt_vec(data: Vec<Option<i64>>, timezone: Option<String>) -> Selfwhere Self: From<Vec<Option<i64>>>,
Construct a timestamp array from a vec of Option<i64>
values and an optional timezone
sourcepub fn with_timezone(self, timezone: impl Into<Arc<str>>) -> Self
pub fn with_timezone(self, timezone: impl Into<Arc<str>>) -> Self
Construct a timestamp array with new timezone
sourcepub fn with_timezone_utc(self) -> Self
pub fn with_timezone_utc(self) -> Self
Construct a timestamp array with UTC
source§impl<T: DecimalType + ArrowPrimitiveType> PrimitiveArray<T>
impl<T: DecimalType + ArrowPrimitiveType> PrimitiveArray<T>
sourcepub fn with_precision_and_scale(
self,
precision: u8,
scale: i8
) -> Result<Self, ArrowError>
pub fn with_precision_and_scale( self, precision: u8, scale: i8 ) -> Result<Self, ArrowError>
Returns a Decimal array with the same data as self, with the specified precision and scale.
sourcepub fn validate_decimal_precision(
&self,
precision: u8
) -> Result<(), ArrowError>
pub fn validate_decimal_precision( &self, precision: u8 ) -> Result<(), ArrowError>
Validates values in this array can be properly interpreted with the specified precision.
sourcepub fn null_if_overflow_precision(&self, precision: u8) -> Self
pub fn null_if_overflow_precision(&self, precision: u8) -> Self
Validates the Decimal Array, if the value of slot is overflow for the specified precision, and will be casted to Null
sourcepub fn value_as_string(&self, row: usize) -> String
pub fn value_as_string(&self, row: usize) -> String
Returns Self::value
formatted as a string
Trait Implementations§
source§impl<T: ArrowPrimitiveType> Array for PrimitiveArray<T>
impl<T: ArrowPrimitiveType> Array for PrimitiveArray<T>
source§fn slice(&self, offset: usize, length: usize) -> ArrayRef
fn slice(&self, offset: usize, length: usize) -> ArrayRef
source§fn offset(&self) -> usize
fn offset(&self) -> usize
0
. Read moresource§fn nulls(&self) -> Option<&NullBuffer>
fn nulls(&self) -> Option<&NullBuffer>
source§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers.source§fn is_null(&self, index: usize) -> bool
fn is_null(&self, index: usize) -> bool
index
is null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn is_valid(&self, index: usize) -> bool
fn is_valid(&self, index: usize) -> bool
index
is not null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn null_count(&self) -> usize
fn null_count(&self) -> usize
source§impl<'a, T: ArrowPrimitiveType> ArrayAccessor for &'a PrimitiveArray<T>
impl<'a, T: ArrowPrimitiveType> ArrayAccessor for &'a PrimitiveArray<T>
source§impl<T: ArrowPrimitiveType> Clone for PrimitiveArray<T>
impl<T: ArrowPrimitiveType> Clone for PrimitiveArray<T>
source§impl<T: ArrowPrimitiveType> Debug for PrimitiveArray<T>
impl<T: ArrowPrimitiveType> Debug for PrimitiveArray<T>
source§impl<T: ArrowPrimitiveType> From<ArrayData> for PrimitiveArray<T>
impl<T: ArrowPrimitiveType> From<ArrayData> for PrimitiveArray<T>
Constructs a PrimitiveArray
from an array data reference.
source§impl<T: ArrowPrimitiveType> From<PrimitiveArray<T>> for ArrayData
impl<T: ArrowPrimitiveType> From<PrimitiveArray<T>> for ArrayData
source§fn from(array: PrimitiveArray<T>) -> Self
fn from(array: PrimitiveArray<T>) -> Self
source§impl From<Vec<<Date32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Date32Type>
impl From<Vec<<Date32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Date32Type>
source§fn from(data: Vec<<Date32Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Date32Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Date64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Date64Type>
impl From<Vec<<Date64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Date64Type>
source§fn from(data: Vec<<Date64Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Date64Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Decimal128Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Decimal128Type>
impl From<Vec<<Decimal128Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Decimal128Type>
source§fn from(data: Vec<<Decimal128Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Decimal128Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Decimal256Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Decimal256Type>
impl From<Vec<<Decimal256Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Decimal256Type>
source§fn from(data: Vec<<Decimal256Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Decimal256Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<DurationMicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationMicrosecondType>
impl From<Vec<<DurationMicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationMicrosecondType>
source§fn from(
data: Vec<<DurationMicrosecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<DurationMicrosecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<DurationMillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationMillisecondType>
impl From<Vec<<DurationMillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationMillisecondType>
source§fn from(
data: Vec<<DurationMillisecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<DurationMillisecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<DurationNanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationNanosecondType>
impl From<Vec<<DurationNanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationNanosecondType>
source§fn from(
data: Vec<<DurationNanosecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<DurationNanosecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<DurationSecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationSecondType>
impl From<Vec<<DurationSecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<DurationSecondType>
source§fn from(data: Vec<<DurationSecondType as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<DurationSecondType as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Float16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float16Type>
impl From<Vec<<Float16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float16Type>
source§fn from(data: Vec<<Float16Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Float16Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Float32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float32Type>
impl From<Vec<<Float32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float32Type>
source§fn from(data: Vec<<Float32Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Float32Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Float64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float64Type>
impl From<Vec<<Float64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Float64Type>
source§fn from(data: Vec<<Float64Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Float64Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Int16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int16Type>
impl From<Vec<<Int16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int16Type>
source§impl From<Vec<<Int32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int32Type>
impl From<Vec<<Int32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int32Type>
source§impl From<Vec<<Int64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int64Type>
impl From<Vec<<Int64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int64Type>
source§impl From<Vec<<Int8Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int8Type>
impl From<Vec<<Int8Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Int8Type>
source§impl From<Vec<<IntervalDayTimeType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalDayTimeType>
impl From<Vec<<IntervalDayTimeType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalDayTimeType>
source§fn from(data: Vec<<IntervalDayTimeType as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<IntervalDayTimeType as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalMonthDayNanoType>
impl From<Vec<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalMonthDayNanoType>
source§fn from(
data: Vec<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<IntervalYearMonthType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalYearMonthType>
impl From<Vec<<IntervalYearMonthType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<IntervalYearMonthType>
source§fn from(
data: Vec<<IntervalYearMonthType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<IntervalYearMonthType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<Time32MillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time32MillisecondType>
impl From<Vec<<Time32MillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time32MillisecondType>
source§fn from(
data: Vec<<Time32MillisecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<Time32MillisecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<Time32SecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time32SecondType>
impl From<Vec<<Time32SecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time32SecondType>
source§fn from(data: Vec<<Time32SecondType as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Time32SecondType as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<Time64MicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time64MicrosecondType>
impl From<Vec<<Time64MicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time64MicrosecondType>
source§fn from(
data: Vec<<Time64MicrosecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<Time64MicrosecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<Time64NanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time64NanosecondType>
impl From<Vec<<Time64NanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<Time64NanosecondType>
source§fn from(data: Vec<<Time64NanosecondType as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<Time64NanosecondType as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<TimestampMicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampMicrosecondType>
impl From<Vec<<TimestampMicrosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampMicrosecondType>
source§fn from(
data: Vec<<TimestampMicrosecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<TimestampMicrosecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<TimestampMillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampMillisecondType>
impl From<Vec<<TimestampMillisecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampMillisecondType>
source§fn from(
data: Vec<<TimestampMillisecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<TimestampMillisecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<TimestampNanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampNanosecondType>
impl From<Vec<<TimestampNanosecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampNanosecondType>
source§fn from(
data: Vec<<TimestampNanosecondType as ArrowPrimitiveType>::Native>
) -> Self
fn from( data: Vec<<TimestampNanosecondType as ArrowPrimitiveType>::Native> ) -> Self
source§impl From<Vec<<TimestampSecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampSecondType>
impl From<Vec<<TimestampSecondType as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<TimestampSecondType>
source§fn from(data: Vec<<TimestampSecondType as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<TimestampSecondType as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<UInt16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt16Type>
impl From<Vec<<UInt16Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt16Type>
source§fn from(data: Vec<<UInt16Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<UInt16Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<UInt32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt32Type>
impl From<Vec<<UInt32Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt32Type>
source§fn from(data: Vec<<UInt32Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<UInt32Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<UInt64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt64Type>
impl From<Vec<<UInt64Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt64Type>
source§fn from(data: Vec<<UInt64Type as ArrowPrimitiveType>::Native>) -> Self
fn from(data: Vec<<UInt64Type as ArrowPrimitiveType>::Native>) -> Self
source§impl From<Vec<<UInt8Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt8Type>
impl From<Vec<<UInt8Type as ArrowPrimitiveType>::Native, Global>> for PrimitiveArray<UInt8Type>
source§impl From<Vec<Option<<Date32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Date32Type>
impl From<Vec<Option<<Date32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Date32Type>
source§fn from(data: Vec<Option<<Date32Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<Date32Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<Date64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Date64Type>
impl From<Vec<Option<<Date64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Date64Type>
source§fn from(data: Vec<Option<<Date64Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<Date64Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<Decimal128Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Decimal128Type>
impl From<Vec<Option<<Decimal128Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Decimal128Type>
source§fn from(
data: Vec<Option<<Decimal128Type as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Decimal128Type as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Decimal256Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Decimal256Type>
impl From<Vec<Option<<Decimal256Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Decimal256Type>
source§fn from(
data: Vec<Option<<Decimal256Type as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Decimal256Type as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<DurationMicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationMicrosecondType>
impl From<Vec<Option<<DurationMicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationMicrosecondType>
source§fn from(
data: Vec<Option<<DurationMicrosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<DurationMicrosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<DurationMillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationMillisecondType>
impl From<Vec<Option<<DurationMillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationMillisecondType>
source§fn from(
data: Vec<Option<<DurationMillisecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<DurationMillisecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<DurationNanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationNanosecondType>
impl From<Vec<Option<<DurationNanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationNanosecondType>
source§fn from(
data: Vec<Option<<DurationNanosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<DurationNanosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<DurationSecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationSecondType>
impl From<Vec<Option<<DurationSecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<DurationSecondType>
source§fn from(
data: Vec<Option<<DurationSecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<DurationSecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Float16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float16Type>
impl From<Vec<Option<<Float16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float16Type>
source§fn from(data: Vec<Option<<Float16Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<Float16Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<Float32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float32Type>
impl From<Vec<Option<<Float32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float32Type>
source§fn from(data: Vec<Option<<Float32Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<Float32Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<Float64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float64Type>
impl From<Vec<Option<<Float64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Float64Type>
source§fn from(data: Vec<Option<<Float64Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<Float64Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<Int16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int16Type>
impl From<Vec<Option<<Int16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int16Type>
source§impl From<Vec<Option<<Int32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int32Type>
impl From<Vec<Option<<Int32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int32Type>
source§impl From<Vec<Option<<Int64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int64Type>
impl From<Vec<Option<<Int64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int64Type>
source§impl From<Vec<Option<<Int8Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int8Type>
impl From<Vec<Option<<Int8Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Int8Type>
source§impl From<Vec<Option<<IntervalDayTimeType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalDayTimeType>
impl From<Vec<Option<<IntervalDayTimeType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalDayTimeType>
source§fn from(
data: Vec<Option<<IntervalDayTimeType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<IntervalDayTimeType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalMonthDayNanoType>
impl From<Vec<Option<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalMonthDayNanoType>
source§fn from(
data: Vec<Option<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<IntervalMonthDayNanoType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<IntervalYearMonthType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalYearMonthType>
impl From<Vec<Option<<IntervalYearMonthType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<IntervalYearMonthType>
source§fn from(
data: Vec<Option<<IntervalYearMonthType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<IntervalYearMonthType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Time32MillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time32MillisecondType>
impl From<Vec<Option<<Time32MillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time32MillisecondType>
source§fn from(
data: Vec<Option<<Time32MillisecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Time32MillisecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Time32SecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time32SecondType>
impl From<Vec<Option<<Time32SecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time32SecondType>
source§fn from(
data: Vec<Option<<Time32SecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Time32SecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Time64MicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time64MicrosecondType>
impl From<Vec<Option<<Time64MicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time64MicrosecondType>
source§fn from(
data: Vec<Option<<Time64MicrosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Time64MicrosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<Time64NanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time64NanosecondType>
impl From<Vec<Option<<Time64NanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<Time64NanosecondType>
source§fn from(
data: Vec<Option<<Time64NanosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<Time64NanosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<TimestampMicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampMicrosecondType>
impl From<Vec<Option<<TimestampMicrosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampMicrosecondType>
source§fn from(
data: Vec<Option<<TimestampMicrosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<TimestampMicrosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<TimestampMillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampMillisecondType>
impl From<Vec<Option<<TimestampMillisecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampMillisecondType>
source§fn from(
data: Vec<Option<<TimestampMillisecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<TimestampMillisecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<TimestampNanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampNanosecondType>
impl From<Vec<Option<<TimestampNanosecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampNanosecondType>
source§fn from(
data: Vec<Option<<TimestampNanosecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<TimestampNanosecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<TimestampSecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampSecondType>
impl From<Vec<Option<<TimestampSecondType as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<TimestampSecondType>
source§fn from(
data: Vec<Option<<TimestampSecondType as ArrowPrimitiveType>::Native>>
) -> Self
fn from( data: Vec<Option<<TimestampSecondType as ArrowPrimitiveType>::Native>> ) -> Self
source§impl From<Vec<Option<<UInt16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt16Type>
impl From<Vec<Option<<UInt16Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt16Type>
source§fn from(data: Vec<Option<<UInt16Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<UInt16Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<UInt32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt32Type>
impl From<Vec<Option<<UInt32Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt32Type>
source§fn from(data: Vec<Option<<UInt32Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<UInt32Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<UInt64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt64Type>
impl From<Vec<Option<<UInt64Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt64Type>
source§fn from(data: Vec<Option<<UInt64Type as ArrowPrimitiveType>::Native>>) -> Self
fn from(data: Vec<Option<<UInt64Type as ArrowPrimitiveType>::Native>>) -> Self
source§impl From<Vec<Option<<UInt8Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt8Type>
impl From<Vec<Option<<UInt8Type as ArrowPrimitiveType>::Native>, Global>> for PrimitiveArray<UInt8Type>
source§impl<T: ArrowPrimitiveType, Ptr: Into<NativeAdapter<T>>> FromIterator<Ptr> for PrimitiveArray<T>
impl<T: ArrowPrimitiveType, Ptr: Into<NativeAdapter<T>>> FromIterator<Ptr> for PrimitiveArray<T>
source§fn from_iter<I: IntoIterator<Item = Ptr>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = Ptr>>(iter: I) -> Self
source§impl<'a, T: ArrowPrimitiveType> IntoIterator for &'a PrimitiveArray<T>
impl<'a, T: ArrowPrimitiveType> IntoIterator for &'a PrimitiveArray<T>
source§impl<T: ArrowPrimitiveType> PartialEq<PrimitiveArray<T>> for PrimitiveArray<T>
impl<T: ArrowPrimitiveType> PartialEq<PrimitiveArray<T>> for PrimitiveArray<T>
source§fn eq(&self, other: &PrimitiveArray<T>) -> bool
fn eq(&self, other: &PrimitiveArray<T>) -> bool
self
and other
values to be equal, and is used
by ==
.