pub struct ColumnDescriptor {
primitive_type: TypePtr,
max_def_level: i16,
max_rep_level: i16,
repeated_ancestor_def_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
repeated_ancestor_def_level: i16The definition level at the nearest REPEATED ancestor, or 0 if none.
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.
pub(crate) fn new_with_repeated_ancestor( primitive_type: TypePtr, max_def_level: i16, max_rep_level: i16, path: ColumnPath, repeated_ancestor_def_level: i16, ) -> Self
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 repeated_ancestor_def_level(&self) -> i16
pub fn repeated_ancestor_def_level(&self) -> i16
Returns the definition level at the nearest REPEATED ancestor, or 0 if none.
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>
use 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
Source§fn eq(&self, other: &ColumnDescriptor) -> bool
fn eq(&self, other: &ColumnDescriptor) -> bool
self and other values to be equal, and is used by ==.