Skip to content

Commit 1fd109b

Browse files
committed
fix reviewer comments
1 parent a6410ce commit 1fd109b

File tree

12 files changed

+120
-124
lines changed

12 files changed

+120
-124
lines changed

arrow-array/src/array/bytes_view_array.rs renamed to arrow-array/src/array/byte_view_array.rs

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,29 @@
1616
// under the License.
1717

1818
use crate::array::print_long_array;
19-
use crate::builder::GenericBytesViewBuilder;
19+
use crate::builder::GenericByteViewBuilder;
2020
use crate::iterator::ArrayIter;
2121
use crate::types::bytes::ByteArrayNativeType;
22-
use crate::types::BytesViewType;
22+
use crate::types::{BinaryViewType, ByteViewType, StringViewType};
2323
use crate::{Array, ArrayAccessor, ArrayRef};
2424
use arrow_buffer::{Buffer, NullBuffer, ScalarBuffer};
25-
use arrow_data::{ArrayData, ArrayDataBuilder, BytesView};
25+
use arrow_data::{ArrayData, ArrayDataBuilder, ByteView};
2626
use arrow_schema::{ArrowError, DataType};
2727
use std::any::Any;
2828
use std::fmt::Debug;
2929
use std::marker::PhantomData;
3030
use std::sync::Arc;
3131

3232
/// An array of variable length bytes view arrays
33-
pub struct GenericBytesViewArray<T: BytesViewType + ?Sized> {
33+
pub struct GenericByteViewArray<T: ByteViewType + ?Sized> {
3434
data_type: DataType,
3535
views: ScalarBuffer<u128>,
3636
buffers: Vec<Buffer>,
3737
phantom: PhantomData<T>,
3838
nulls: Option<NullBuffer>,
3939
}
4040

41-
impl<T: BytesViewType + ?Sized> Clone for GenericBytesViewArray<T> {
41+
impl<T: ByteViewType + ?Sized> Clone for GenericByteViewArray<T> {
4242
fn clone(&self) -> Self {
4343
Self {
4444
data_type: T::DATA_TYPE,
@@ -50,22 +50,22 @@ impl<T: BytesViewType + ?Sized> Clone for GenericBytesViewArray<T> {
5050
}
5151
}
5252

53-
impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
54-
/// Create a new [`GenericBytesViewArray`] from the provided parts, panicking on failure
53+
impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
54+
/// Create a new [`GenericByteViewArray`] from the provided parts, panicking on failure
5555
///
5656
/// # Panics
5757
///
58-
/// Panics if [`GenericBytesViewArray::try_new`] returns an error
58+
/// Panics if [`GenericByteViewArray::try_new`] returns an error
5959
pub fn new(views: ScalarBuffer<u128>, buffers: Vec<Buffer>, nulls: Option<NullBuffer>) -> Self {
6060
Self::try_new(views, buffers, nulls).unwrap()
6161
}
6262

63-
/// Create a new [`GenericBytesViewArray`] from the provided parts, returning an error on failure
63+
/// Create a new [`GenericByteViewArray`] from the provided parts, returning an error on failure
6464
///
6565
/// # Errors
6666
///
6767
/// * `views.len() != nulls.len()`
68-
/// * [BytesViewType::validate] fails
68+
/// * [ByteViewType::validate] fails
6969
pub fn try_new(
7070
views: ScalarBuffer<u128>,
7171
buffers: Vec<Buffer>,
@@ -93,7 +93,7 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
9393
})
9494
}
9595

96-
/// Create a new [`GenericBytesViewArray`] from the provided parts, without validation
96+
/// Create a new [`GenericByteViewArray`] from the provided parts, without validation
9797
///
9898
/// # Safety
9999
///
@@ -112,7 +112,7 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
112112
}
113113
}
114114

115-
/// Create a new [`GenericBytesViewArray`] of length `len` where all values are null
115+
/// Create a new [`GenericByteViewArray`] of length `len` where all values are null
116116
pub fn new_null(len: usize) -> Self {
117117
Self {
118118
data_type: T::DATA_TYPE,
@@ -123,14 +123,14 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
123123
}
124124
}
125125

126-
/// Creates a [`GenericBytesViewArray`] based on an iterator of values without nulls
126+
/// Creates a [`GenericByteViewArray`] based on an iterator of values without nulls
127127
pub fn from_iter_values<Ptr, I>(iter: I) -> Self
128128
where
129129
Ptr: AsRef<T::Native>,
130130
I: IntoIterator<Item = Ptr>,
131131
{
132132
let iter = iter.into_iter();
133-
let mut builder = GenericBytesViewBuilder::<T>::with_capacity(iter.size_hint().0);
133+
let mut builder = GenericByteViewBuilder::<T>::with_capacity(iter.size_hint().0);
134134
for v in iter {
135135
builder.append_value(v);
136136
}
@@ -179,7 +179,7 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
179179
let ptr = self.views.as_ptr() as *const u8;
180180
std::slice::from_raw_parts(ptr.add(idx * 16 + 4), len as usize)
181181
} else {
182-
let view = BytesView::from(*v);
182+
let view = ByteView::from(*v);
183183
let data = self.buffers.get_unchecked(view.buffer_index as usize);
184184
let offset = view.offset as usize;
185185
data.get_unchecked(offset..offset + len as usize)
@@ -204,7 +204,7 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewArray<T> {
204204
}
205205
}
206206

207-
impl<T: BytesViewType + ?Sized> Debug for GenericBytesViewArray<T> {
207+
impl<T: ByteViewType + ?Sized> Debug for GenericByteViewArray<T> {
208208
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
209209
write!(f, "{}ViewArray\n[\n", T::PREFIX)?;
210210
print_long_array(self, f, |array, index, f| {
@@ -214,7 +214,7 @@ impl<T: BytesViewType + ?Sized> Debug for GenericBytesViewArray<T> {
214214
}
215215
}
216216

217-
impl<T: BytesViewType + ?Sized> Array for GenericBytesViewArray<T> {
217+
impl<T: ByteViewType + ?Sized> Array for GenericByteViewArray<T> {
218218
fn as_any(&self) -> &dyn Any {
219219
self
220220
}
@@ -265,19 +265,19 @@ impl<T: BytesViewType + ?Sized> Array for GenericBytesViewArray<T> {
265265
}
266266
}
267267

268-
impl<'a, T: BytesViewType + ?Sized> ArrayAccessor for &'a GenericBytesViewArray<T> {
268+
impl<'a, T: ByteViewType + ?Sized> ArrayAccessor for &'a GenericByteViewArray<T> {
269269
type Item = &'a T::Native;
270270

271271
fn value(&self, index: usize) -> Self::Item {
272-
GenericBytesViewArray::value(self, index)
272+
GenericByteViewArray::value(self, index)
273273
}
274274

275275
unsafe fn value_unchecked(&self, index: usize) -> Self::Item {
276-
GenericBytesViewArray::value_unchecked(self, index)
276+
GenericByteViewArray::value_unchecked(self, index)
277277
}
278278
}
279279

280-
impl<'a, T: BytesViewType + ?Sized> IntoIterator for &'a GenericBytesViewArray<T> {
280+
impl<'a, T: ByteViewType + ?Sized> IntoIterator for &'a GenericByteViewArray<T> {
281281
type Item = Option<&'a T::Native>;
282282
type IntoIter = ArrayIter<Self>;
283283

@@ -286,7 +286,7 @@ impl<'a, T: BytesViewType + ?Sized> IntoIterator for &'a GenericBytesViewArray<T
286286
}
287287
}
288288

289-
impl<T: BytesViewType + ?Sized> From<ArrayData> for GenericBytesViewArray<T> {
289+
impl<T: ByteViewType + ?Sized> From<ArrayData> for GenericByteViewArray<T> {
290290
fn from(value: ArrayData) -> Self {
291291
let views = value.buffers()[0].clone();
292292
let views = ScalarBuffer::new(views, value.offset(), value.len());
@@ -301,8 +301,8 @@ impl<T: BytesViewType + ?Sized> From<ArrayData> for GenericBytesViewArray<T> {
301301
}
302302
}
303303

304-
impl<T: BytesViewType + ?Sized> From<GenericBytesViewArray<T>> for ArrayData {
305-
fn from(mut array: GenericBytesViewArray<T>) -> Self {
304+
impl<T: ByteViewType + ?Sized> From<GenericByteViewArray<T>> for ArrayData {
305+
fn from(mut array: GenericByteViewArray<T>) -> Self {
306306
let len = array.len();
307307
array.buffers.insert(0, array.views.into_inner());
308308
let builder = ArrayDataBuilder::new(T::DATA_TYPE)
@@ -314,30 +314,30 @@ impl<T: BytesViewType + ?Sized> From<GenericBytesViewArray<T>> for ArrayData {
314314
}
315315
}
316316

317-
impl<Ptr, T: BytesViewType + ?Sized> FromIterator<Option<Ptr>> for GenericBytesViewArray<T>
317+
impl<Ptr, T: ByteViewType + ?Sized> FromIterator<Option<Ptr>> for GenericByteViewArray<T>
318318
where
319319
Ptr: AsRef<T::Native>,
320320
{
321321
fn from_iter<I: IntoIterator<Item = Option<Ptr>>>(iter: I) -> Self {
322322
let iter = iter.into_iter();
323-
let mut builder = GenericBytesViewBuilder::<T>::with_capacity(iter.size_hint().0);
323+
let mut builder = GenericByteViewBuilder::<T>::with_capacity(iter.size_hint().0);
324324
builder.extend(iter);
325325
builder.finish()
326326
}
327327
}
328328

329-
/// A [`GenericBytesViewArray`] of `[u8]`
330-
pub type BinaryViewArray = GenericBytesViewArray<[u8]>;
329+
/// A [`GenericByteViewArray`] of `[u8]`
330+
pub type BinaryViewArray = GenericByteViewArray<BinaryViewType>;
331331

332-
/// A [`GenericBytesViewArray`] of `str`
332+
/// A [`GenericByteViewArray`] of `str`
333333
///
334334
/// ```
335335
/// use arrow_array::StringViewArray;
336336
/// let array = StringViewArray::from_iter_values(vec!["hello", "world", "lulu", "large payload over 12 bytes"]);
337337
/// assert_eq!(array.value(0), "hello");
338338
/// assert_eq!(array.value(3), "large payload over 12 bytes");
339339
/// ```
340-
pub type StringViewArray = GenericBytesViewArray<str>;
340+
pub type StringViewArray = GenericByteViewArray<StringViewType>;
341341

342342
impl From<Vec<&str>> for StringViewArray {
343343
fn from(v: Vec<&str>) -> Self {
@@ -348,7 +348,6 @@ impl From<Vec<&str>> for StringViewArray {
348348
#[cfg(test)]
349349
mod tests {
350350
use crate::builder::StringViewBuilder;
351-
use crate::types::BytesViewType;
352351
use crate::{Array, BinaryViewArray, StringViewArray};
353352

354353
#[test]
@@ -363,10 +362,10 @@ mod tests {
363362
assert_eq!(array.value(3), "large payload over 12 bytes");
364363

365364
let array = BinaryViewArray::from_iter_values(vec![
366-
b"hello".to_bytes(),
367-
b"world".to_bytes(),
368-
b"lulu".to_bytes(),
369-
b"large payload over 12 bytes".to_bytes(),
365+
b"hello".as_slice(),
366+
b"world".as_slice(),
367+
b"lulu".as_slice(),
368+
b"large payload over 12 bytes".as_slice(),
370369
]);
371370
assert_eq!(array.value(0), b"hello");
372371
assert_eq!(array.value(3), b"large payload over 12 bytes");

arrow-array/src/array/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ mod run_array;
6868

6969
pub use run_array::*;
7070

71-
mod bytes_view_array;
71+
mod byte_view_array;
7272

73-
pub use bytes_view_array::*;
73+
pub use byte_view_array::*;
7474

7575
/// An array in the [arrow columnar format](https://arrow.apache.org/docs/format/Columnar.html)
7676
pub trait Array: std::fmt::Debug + Send + Sync {

arrow-array/src/builder/generic_bytes_view_builder.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616
// under the License.
1717

1818
use crate::builder::ArrayBuilder;
19-
use crate::types::BytesViewType;
20-
use crate::{ArrayRef, GenericBytesViewArray};
19+
use crate::types::{BinaryViewType, ByteViewType, StringViewType};
20+
use crate::{ArrayRef, GenericByteViewArray};
2121
use arrow_buffer::{Buffer, BufferBuilder, NullBufferBuilder, ScalarBuffer};
22-
use arrow_data::BytesView;
22+
use arrow_data::ByteView;
2323
use std::any::Any;
2424
use std::marker::PhantomData;
2525
use std::sync::Arc;
2626

2727
const DEFAULT_BLOCK_SIZE: u32 = 8 * 1024;
2828

29-
/// A builder for [`GenericBytesViewArray`]
29+
/// A builder for [`GenericByteViewArray`]
3030
///
3131
/// See [`Self::append_value`] for the allocation strategy
32-
pub struct GenericBytesViewBuilder<T: BytesViewType + ?Sized> {
32+
pub struct GenericByteViewBuilder<T: ByteViewType + ?Sized> {
3333
views_builder: BufferBuilder<u128>,
3434
null_buffer_builder: NullBufferBuilder,
3535
completed: Vec<Buffer>,
@@ -38,7 +38,7 @@ pub struct GenericBytesViewBuilder<T: BytesViewType + ?Sized> {
3838
phantom: PhantomData<T>,
3939
}
4040

41-
impl<T: BytesViewType + ?Sized> GenericBytesViewBuilder<T> {
41+
impl<T: ByteViewType + ?Sized> GenericByteViewBuilder<T> {
4242
/// Creates a new [`GenericByteViewBuilder`].
4343
pub fn new() -> Self {
4444
Self::with_capacity(1024)
@@ -93,7 +93,7 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewBuilder<T> {
9393
let offset = self.in_progress.len() as u32;
9494
self.in_progress.extend_from_slice(v);
9595

96-
let view = BytesView {
96+
let view = ByteView {
9797
length,
9898
prefix: u32::from_le_bytes(v[0..4].try_into().unwrap()),
9999
buffer_index: self.completed.len() as u32,
@@ -119,8 +119,8 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewBuilder<T> {
119119
self.views_builder.append(0);
120120
}
121121

122-
/// Builds the [`GenericBytesViewArray`] and reset this builder
123-
pub fn finish(&mut self) -> GenericBytesViewArray<T> {
122+
/// Builds the [`GenericByteViewArray`] and reset this builder
123+
pub fn finish(&mut self) -> GenericByteViewArray<T> {
124124
let mut completed = std::mem::take(&mut self.completed);
125125
if !self.in_progress.is_empty() {
126126
completed.push(std::mem::take(&mut self.in_progress).into());
@@ -129,11 +129,11 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewBuilder<T> {
129129
let views = ScalarBuffer::new(self.views_builder.finish(), 0, len);
130130
let nulls = self.null_buffer_builder.finish();
131131
// SAFETY: valid by construction
132-
unsafe { GenericBytesViewArray::new_unchecked(views, completed, nulls) }
132+
unsafe { GenericByteViewArray::new_unchecked(views, completed, nulls) }
133133
}
134134

135-
/// Builds the [`GenericBytesViewArray`] without resetting the builder
136-
pub fn finish_cloned(&self) -> GenericBytesViewArray<T> {
135+
/// Builds the [`GenericByteViewArray`] without resetting the builder
136+
pub fn finish_cloned(&self) -> GenericByteViewArray<T> {
137137
let mut completed = self.completed.clone();
138138
if !self.in_progress.is_empty() {
139139
completed.push(Buffer::from_slice_ref(&self.in_progress));
@@ -143,17 +143,17 @@ impl<T: BytesViewType + ?Sized> GenericBytesViewBuilder<T> {
143143
let views = ScalarBuffer::new(views, 0, len);
144144
let nulls = self.null_buffer_builder.finish_cloned();
145145
// SAFETY: valid by construction
146-
unsafe { GenericBytesViewArray::new_unchecked(views, completed, nulls) }
146+
unsafe { GenericByteViewArray::new_unchecked(views, completed, nulls) }
147147
}
148148
}
149149

150-
impl<T: BytesViewType + ?Sized> Default for GenericBytesViewBuilder<T> {
150+
impl<T: ByteViewType + ?Sized> Default for GenericByteViewBuilder<T> {
151151
fn default() -> Self {
152152
Self::new()
153153
}
154154
}
155155

156-
impl<T: BytesViewType + ?Sized> std::fmt::Debug for GenericBytesViewBuilder<T> {
156+
impl<T: ByteViewType + ?Sized> std::fmt::Debug for GenericByteViewBuilder<T> {
157157
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
158158
write!(f, "{}ViewBuilder", T::PREFIX)?;
159159
f.debug_struct("")
@@ -165,7 +165,7 @@ impl<T: BytesViewType + ?Sized> std::fmt::Debug for GenericBytesViewBuilder<T> {
165165
}
166166
}
167167

168-
impl<T: BytesViewType + ?Sized> ArrayBuilder for GenericBytesViewBuilder<T> {
168+
impl<T: ByteViewType + ?Sized> ArrayBuilder for GenericByteViewBuilder<T> {
169169
fn len(&self) -> usize {
170170
self.null_buffer_builder.len()
171171
}
@@ -191,8 +191,8 @@ impl<T: BytesViewType + ?Sized> ArrayBuilder for GenericBytesViewBuilder<T> {
191191
}
192192
}
193193

194-
impl<T: BytesViewType + ?Sized, V: AsRef<T::Native>> Extend<Option<V>>
195-
for GenericBytesViewBuilder<T>
194+
impl<T: ByteViewType + ?Sized, V: AsRef<T::Native>> Extend<Option<V>>
195+
for GenericByteViewBuilder<T>
196196
{
197197
#[inline]
198198
fn extend<I: IntoIterator<Item = Option<V>>>(&mut self, iter: I) {
@@ -206,10 +206,10 @@ impl<T: BytesViewType + ?Sized, V: AsRef<T::Native>> Extend<Option<V>>
206206
///
207207
/// Values can be appended using [`GenericByteViewBuilder::append_value`], and nulls with
208208
/// [`GenericByteViewBuilder::append_null`] as normal.
209-
pub type StringViewBuilder = GenericBytesViewBuilder<str>;
209+
pub type StringViewBuilder = GenericByteViewBuilder<StringViewType>;
210210

211211
/// Array builder for [`BinaryViewArray`][crate::BinaryViewArray]
212212
///
213213
/// Values can be appended using [`GenericByteViewBuilder::append_value`], and nulls with
214214
/// [`GenericByteViewBuilder::append_null`] as normal.
215-
pub type BinaryViewBuilder = GenericBytesViewBuilder<[u8]>;
215+
pub type BinaryViewBuilder = GenericByteViewBuilder<BinaryViewType>;

0 commit comments

Comments
 (0)