Table of Contents

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

ColumnOrder

LogicalType

public LogicalType LogicalType { get; }

Property Value

LogicalType

MaxDefinitionLevel

public short MaxDefinitionLevel { get; }

Property Value

short

MaxRepetitionLevel

public short MaxRepetitionLevel { get; }

Property Value

short

Name

public string Name { get; }

Property Value

string

Path

public ColumnPath Path { get; }

Property Value

ColumnPath

PhysicalType

public PhysicalType PhysicalType { get; }

Property Value

PhysicalType

SchemaNode

public Node SchemaNode { get; }

Property Value

Node

SortOrder

public SortOrder SortOrder { get; }

Property Value

SortOrder

TypeLength

public int TypeLength { get; }

Property Value

int

TypePrecision

public int TypePrecision { get; }

Property Value

int

TypeScale

public int TypeScale { get; }

Property Value

int

Methods

Apply<TReturn>(LogicalTypeFactory, IColumnDescriptorVisitor<TReturn>)

public TReturn Apply<TReturn>(LogicalTypeFactory typeFactory, IColumnDescriptorVisitor<TReturn> visitor)

Parameters

typeFactory LogicalTypeFactory
visitor 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 LogicalTypeFactory
columnLogicalTypeOverride Type
visitor 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 LogicalTypeFactory
columnLogicalTypeOverride Type
useNesting bool
visitor IColumnDescriptorVisitor<TReturn>

Returns

TReturn

Type Parameters

TReturn

GetSystemTypes(LogicalTypeFactory, Type?)

public (Type physicalType, Type logicalType, Type elementType) GetSystemTypes(LogicalTypeFactory typeFactory, Type? columnLogicalTypeOverride)

Parameters

typeFactory LogicalTypeFactory
columnLogicalTypeOverride Type

Returns

(Type physicalType, Type logicalType, Type elementType)

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 LogicalTypeFactory

Type factory to get logical types

columnLogicalTypeOverride Type

Overrides the default logical type to use

useNesting bool

Controls whether schema nodes tested in groups should result in a corresponding Nested type

Returns

(Type physicalType, Type logicalType, Type elementType)