refactor: Rename CreateDataType to DataTypeBuilder

This commit is contained in:
evenyag
2022-04-25 10:45:04 +08:00
parent 7a015d4f2a
commit 6535f5c4cd
2 changed files with 11 additions and 11 deletions

View File

@@ -21,15 +21,15 @@ impl<T: Primitive> PrimitiveType<T> {
}
/// Create a new [DataTypeRef] from a primitive type.
pub trait CreateDataType {
fn create_data_type() -> DataTypeRef;
pub trait DataTypeBuilder {
fn build_data_type() -> DataTypeRef;
}
macro_rules! impl_create_data_type {
macro_rules! impl_build_data_type {
($Type:ident) => {
paste::paste! {
impl CreateDataType for $Type {
fn create_data_type() -> DataTypeRef {
impl DataTypeBuilder for $Type {
fn build_data_type() -> DataTypeRef {
Arc::new(PrimitiveType::<$Type>::new())
}
}
@@ -63,7 +63,7 @@ macro_rules! impl_numeric {
}
}
impl_create_data_type!($Type);
impl_build_data_type!($Type);
};
}

View File

@@ -9,7 +9,7 @@ use arrow2::bitmap::utils::ZipValidity;
use crate::data_type::DataTypeRef;
use crate::scalar::{ScalarVector, ScalarVectorBuilder};
use crate::types::primitive_traits::Primitive;
use crate::types::primitive_type::CreateDataType;
use crate::types::primitive_type::DataTypeBuilder;
use crate::vectors::Vector;
/// Vector for primitive data types.
@@ -23,9 +23,9 @@ impl<T: Primitive> PrimitiveVector<T> {
}
}
impl<T: Primitive + CreateDataType> Vector for PrimitiveVector<T> {
impl<T: Primitive + DataTypeBuilder> Vector for PrimitiveVector<T> {
fn data_type(&self) -> DataTypeRef {
T::create_data_type()
T::build_data_type()
}
fn as_any(&self) -> &dyn Any {
@@ -41,7 +41,7 @@ impl<T: Primitive + CreateDataType> Vector for PrimitiveVector<T> {
}
}
impl<T: Primitive + CreateDataType> ScalarVector for PrimitiveVector<T> {
impl<T: Primitive + DataTypeBuilder> ScalarVector for PrimitiveVector<T> {
type RefItem<'a> = T;
type Iter<'a> = PrimitiveIter<'a, T>;
type Builder = PrimitiveVectorBuilder<T>;
@@ -90,7 +90,7 @@ pub struct PrimitiveVectorBuilder<T: Primitive> {
mutable_array: MutablePrimitiveArray<T>,
}
impl<T: Primitive + CreateDataType> ScalarVectorBuilder for PrimitiveVectorBuilder<T> {
impl<T: Primitive + DataTypeBuilder> ScalarVectorBuilder for PrimitiveVectorBuilder<T> {
type VectorType = PrimitiveVector<T>;
fn with_capacity(capacity: usize) -> Self {