Class ColumnDescriptor
- Namespace
- ParquetSharp
- Assembly
- ParquetSharp.dll
The ColumnDescriptor encapsulates information necessary to interpret primitive column data in the context of a particular schema. We have to examine the node structure of a column's path to the root in the schema tree to be able to reassemble the nested structure from the repetition and definition levels.
public sealed class ColumnDescriptor
- Inheritance
-
ColumnDescriptor
- Inherited Members
Properties
ColumnOrder
public ColumnOrder ColumnOrder { get; }
Property Value
LogicalType
public LogicalType LogicalType { get; }
Property Value
MaxDefinitionLevel
public short MaxDefinitionLevel { get; }
Property Value
MaxRepetitionLevel
public short MaxRepetitionLevel { get; }
Property Value
Name
public string Name { get; }
Property Value
Path
public ColumnPath Path { get; }
Property Value
PhysicalType
public PhysicalType PhysicalType { get; }
Property Value
SchemaNode
public Node SchemaNode { get; }
Property Value
SortOrder
public SortOrder SortOrder { get; }
Property Value
TypeLength
public int TypeLength { get; }
Property Value
TypePrecision
public int TypePrecision { get; }
Property Value
TypeScale
public int TypeScale { get; }
Property Value
Methods
Apply<TReturn>(LogicalTypeFactory, IColumnDescriptorVisitor<TReturn>)
public TReturn Apply<TReturn>(LogicalTypeFactory typeFactory, IColumnDescriptorVisitor<TReturn> visitor)
Parameters
typeFactory
LogicalTypeFactoryvisitor
IColumnDescriptorVisitor<TReturn>
Returns
- TReturn
Type Parameters
TReturn
Apply<TReturn>(LogicalTypeFactory, Type?, IColumnDescriptorVisitor<TReturn>)
public TReturn Apply<TReturn>(LogicalTypeFactory typeFactory, Type? columnLogicalTypeOverride, IColumnDescriptorVisitor<TReturn> visitor)
Parameters
typeFactory
LogicalTypeFactorycolumnLogicalTypeOverride
Typevisitor
IColumnDescriptorVisitor<TReturn>
Returns
- TReturn
Type Parameters
TReturn
Apply<TReturn>(LogicalTypeFactory, Type?, bool, IColumnDescriptorVisitor<TReturn>)
public TReturn Apply<TReturn>(LogicalTypeFactory typeFactory, Type? columnLogicalTypeOverride, bool useNesting, IColumnDescriptorVisitor<TReturn> visitor)
Parameters
typeFactory
LogicalTypeFactorycolumnLogicalTypeOverride
TypeuseNesting
boolvisitor
IColumnDescriptorVisitor<TReturn>
Returns
- TReturn
Type Parameters
TReturn
GetSystemTypes(LogicalTypeFactory, Type?)
public (Type physicalType, Type logicalType, Type elementType) GetSystemTypes(LogicalTypeFactory typeFactory, Type? columnLogicalTypeOverride)
Parameters
typeFactory
LogicalTypeFactorycolumnLogicalTypeOverride
Type
Returns
GetSystemTypes(LogicalTypeFactory, Type?, bool)
Get the System.Type instances that represent this column. PhysicalType is the actual type on disk (e.g. ByteArray). LogicalType is the most nested logical type (e.g. string). ElementType is the type represented by the column (e.g. string[][][]).
public (Type physicalType, Type logicalType, Type elementType) GetSystemTypes(LogicalTypeFactory typeFactory, Type? columnLogicalTypeOverride, bool useNesting)
Parameters
typeFactory
LogicalTypeFactoryType factory to get logical types
columnLogicalTypeOverride
TypeOverrides the default logical type to use
useNesting
boolControls whether schema nodes tested in groups should result in a corresponding Nested type