pub struct ColumnDescriptor {
primitive_type: TypePtr,
max_def_level: i16,
max_rep_level: i16,
path: ColumnPath,
}Expand description
Physical type for leaf-level primitive columns.
Also includes the maximum definition and repetition levels required to re-assemble nested data.
Fields§
§primitive_type: TypePtrThe “leaf” primitive type of this column
max_def_level: i16The maximum definition level for this column
max_rep_level: i16The maximum repetition level for this column
path: ColumnPathThe path of this column. For instance, “a.b.c.d”.
Implementations§
Source§impl ColumnDescriptor
impl ColumnDescriptor
Sourcepub fn new(
primitive_type: TypePtr,
max_def_level: i16,
max_rep_level: i16,
path: ColumnPath,
) -> Self
pub fn new( primitive_type: TypePtr, max_def_level: i16, max_rep_level: i16, path: ColumnPath, ) -> Self
Creates new descriptor for leaf-level column.
Sourcepub fn max_def_level(&self) -> i16
pub fn max_def_level(&self) -> i16
Returns maximum definition level for this column.
Sourcepub fn max_rep_level(&self) -> i16
pub fn max_rep_level(&self) -> i16
Returns maximum repetition level for this column.
Sourcepub fn path(&self) -> &ColumnPath
pub fn path(&self) -> &ColumnPath
Returns ColumnPath for this column.
Sourcepub fn self_type_ptr(&self) -> TypePtr
pub fn self_type_ptr(&self) -> TypePtr
Returns self type TypePtr for this leaf
column.
Sourcepub fn converted_type(&self) -> ConvertedType
pub fn converted_type(&self) -> ConvertedType
Returns ConvertedType for this column.
Sourcepub fn logical_type(&self) -> Option<LogicalType>
👎Deprecated since 57.1.0: use ColumnDescriptor::logical_type_ref instead (LogicalType cloning is non trivial)
pub fn logical_type(&self) -> Option<LogicalType>
ColumnDescriptor::logical_type_ref instead (LogicalType cloning is non trivial)Returns LogicalType for this column.
Note that this function will clone the LogicalType. If performance is a concern,
use Self::logical_type_ref instead.
Sourcepub fn logical_type_ref(&self) -> Option<&LogicalType>
pub fn logical_type_ref(&self) -> Option<&LogicalType>
Returns a reference to the LogicalType for this column.
Sourcepub fn physical_type(&self) -> PhysicalType
pub fn physical_type(&self) -> PhysicalType
Returns physical type for this column. Note that it will panic if called on a non-primitive type.
Sourcepub fn type_length(&self) -> i32
pub fn type_length(&self) -> i32
Returns type length for this column. Note that it will panic if called on a non-primitive type.
Sourcepub fn type_precision(&self) -> i32
pub fn type_precision(&self) -> i32
Returns type precision for this column. Note that it will panic if called on a non-primitive type.
Sourcepub fn type_scale(&self) -> i32
pub fn type_scale(&self) -> i32
Returns type scale for this column. Note that it will panic if called on a non-primitive type.
Sourcepub fn sort_order(&self) -> SortOrder
pub fn sort_order(&self) -> SortOrder
Returns the sort order for this column
Trait Implementations§
Source§impl Debug for ColumnDescriptor
impl Debug for ColumnDescriptor
Source§impl HeapSize for ColumnDescriptor
impl HeapSize for ColumnDescriptor
Source§impl PartialEq for ColumnDescriptor
impl PartialEq for ColumnDescriptor
impl StructuralPartialEq for ColumnDescriptor
Auto Trait Implementations§
impl Freeze for ColumnDescriptor
impl RefUnwindSafe for ColumnDescriptor
impl Send for ColumnDescriptor
impl Sync for ColumnDescriptor
impl Unpin for ColumnDescriptor
impl UnwindSafe for ColumnDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more