Table of Contents

Class LogicalRead

Namespace
ParquetSharp
Assembly
ParquetSharp.dll

Parquet physical types to C# types read conversion logic. Separate class for per-element conversion logic.

public static class LogicalRead
Inheritance
LogicalRead
Inherited Members

Fields

DateTimeOffset

public const long DateTimeOffset = 621355968000000000

Field Value

long

Methods

ConvertByteArray(ReadOnlySpan<ByteArray>, ReadOnlySpan<short>, Span<byte[]?>, short)

public static void ConvertByteArray(ReadOnlySpan<ByteArray> source, ReadOnlySpan<short> defLevels, Span<byte[]?> destination, short definedLevel)

Parameters

source ReadOnlySpan<ByteArray>
defLevels ReadOnlySpan<short>
destination Span<byte[]>
definedLevel short

ConvertDateOnly(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<DateOnly?>, short)

public static void ConvertDateOnly(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<DateOnly?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<DateOnly?>
definedLevel short

ConvertDateOnly(ReadOnlySpan<int>, Span<DateOnly>)

public static void ConvertDateOnly(ReadOnlySpan<int> source, Span<DateOnly> destination)

Parameters

source ReadOnlySpan<int>
destination Span<DateOnly>

ConvertDateTimeMicros(ReadOnlySpan<long>, ReadOnlySpan<short>, Span<DateTime?>, short, DateTimeKind)

public static void ConvertDateTimeMicros(ReadOnlySpan<long> source, ReadOnlySpan<short> defLevels, Span<DateTime?> destination, short definedLevel, DateTimeKind kind = DateTimeKind.Unspecified)

Parameters

source ReadOnlySpan<long>
defLevels ReadOnlySpan<short>
destination Span<DateTime?>
definedLevel short
kind DateTimeKind

ConvertDateTimeMicros(ReadOnlySpan<long>, Span<DateTime>, DateTimeKind)

public static void ConvertDateTimeMicros(ReadOnlySpan<long> source, Span<DateTime> destination, DateTimeKind kind = DateTimeKind.Unspecified)

Parameters

source ReadOnlySpan<long>
destination Span<DateTime>
kind DateTimeKind

ConvertDateTimeMillis(ReadOnlySpan<long>, ReadOnlySpan<short>, Span<DateTime?>, short, DateTimeKind)

public static void ConvertDateTimeMillis(ReadOnlySpan<long> source, ReadOnlySpan<short> defLevels, Span<DateTime?> destination, short definedLevel, DateTimeKind kind = DateTimeKind.Unspecified)

Parameters

source ReadOnlySpan<long>
defLevels ReadOnlySpan<short>
destination Span<DateTime?>
definedLevel short
kind DateTimeKind

ConvertDateTimeMillis(ReadOnlySpan<long>, Span<DateTime>, DateTimeKind)

public static void ConvertDateTimeMillis(ReadOnlySpan<long> source, Span<DateTime> destination, DateTimeKind kind = DateTimeKind.Unspecified)

Parameters

source ReadOnlySpan<long>
destination Span<DateTime>
kind DateTimeKind

ConvertDecimal(ReadOnlySpan<FixedLenByteArray>, ReadOnlySpan<short>, Span<decimal?>, decimal, int, short)

public static void ConvertDecimal(ReadOnlySpan<FixedLenByteArray> source, ReadOnlySpan<short> defLevels, Span<decimal?> destination, decimal multiplier, int typeLength, short definedLevel)

Parameters

source ReadOnlySpan<FixedLenByteArray>
defLevels ReadOnlySpan<short>
destination Span<decimal?>
multiplier decimal
typeLength int
definedLevel short

ConvertDecimal(ReadOnlySpan<FixedLenByteArray>, Span<decimal>, decimal, int)

public static void ConvertDecimal(ReadOnlySpan<FixedLenByteArray> source, Span<decimal> destination, decimal multiplier, int typeLength)

Parameters

source ReadOnlySpan<FixedLenByteArray>
destination Span<decimal>
multiplier decimal
typeLength int

ConvertDecimal128(ReadOnlySpan<FixedLenByteArray>, ReadOnlySpan<short>, Span<decimal?>, decimal, short)

public static void ConvertDecimal128(ReadOnlySpan<FixedLenByteArray> source, ReadOnlySpan<short> defLevels, Span<decimal?> destination, decimal multiplier, short definedLevel)

Parameters

source ReadOnlySpan<FixedLenByteArray>
defLevels ReadOnlySpan<short>
destination Span<decimal?>
multiplier decimal
definedLevel short

ConvertDecimal128(ReadOnlySpan<FixedLenByteArray>, Span<decimal>, decimal)

public static void ConvertDecimal128(ReadOnlySpan<FixedLenByteArray> source, Span<decimal> destination, decimal multiplier)

Parameters

source ReadOnlySpan<FixedLenByteArray>
destination Span<decimal>
multiplier decimal

ConvertDecimal32(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<decimal?>, decimal, short)

public static void ConvertDecimal32(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<decimal?> destination, decimal multiplier, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<decimal?>
multiplier decimal
definedLevel short

ConvertDecimal32(ReadOnlySpan<int>, Span<decimal>, decimal)

public static void ConvertDecimal32(ReadOnlySpan<int> source, Span<decimal> destination, decimal multiplier)

Parameters

source ReadOnlySpan<int>
destination Span<decimal>
multiplier decimal

ConvertDecimal64(ReadOnlySpan<long>, ReadOnlySpan<short>, Span<decimal?>, decimal, short)

public static void ConvertDecimal64(ReadOnlySpan<long> source, ReadOnlySpan<short> defLevels, Span<decimal?> destination, decimal multiplier, short definedLevel)

Parameters

source ReadOnlySpan<long>
defLevels ReadOnlySpan<short>
destination Span<decimal?>
multiplier decimal
definedLevel short

ConvertDecimal64(ReadOnlySpan<long>, Span<decimal>, decimal)

public static void ConvertDecimal64(ReadOnlySpan<long> source, Span<decimal> destination, decimal multiplier)

Parameters

source ReadOnlySpan<long>
destination Span<decimal>
multiplier decimal

ConvertHalf(ReadOnlySpan<FixedLenByteArray>, ReadOnlySpan<short>, Span<Half?>, short)

public static void ConvertHalf(ReadOnlySpan<FixedLenByteArray> source, ReadOnlySpan<short> defLevels, Span<Half?> destination, short definedLevel)

Parameters

source ReadOnlySpan<FixedLenByteArray>
defLevels ReadOnlySpan<short>
destination Span<Half?>
definedLevel short

ConvertHalf(ReadOnlySpan<FixedLenByteArray>, Span<Half>)

public static void ConvertHalf(ReadOnlySpan<FixedLenByteArray> source, Span<Half> destination)

Parameters

source ReadOnlySpan<FixedLenByteArray>
destination Span<Half>

ConvertInt16(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<short?>, short)

public static void ConvertInt16(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<short?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<short?>
definedLevel short

ConvertInt16(ReadOnlySpan<int>, Span<short>)

public static void ConvertInt16(ReadOnlySpan<int> source, Span<short> destination)

Parameters

source ReadOnlySpan<int>
destination Span<short>

ConvertInt8(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<sbyte?>, short)

public static void ConvertInt8(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<sbyte?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<sbyte?>
definedLevel short

ConvertInt8(ReadOnlySpan<int>, Span<sbyte>)

public static void ConvertInt8(ReadOnlySpan<int> source, Span<sbyte> destination)

Parameters

source ReadOnlySpan<int>
destination Span<sbyte>

ConvertNative<TValue>(ReadOnlySpan<TValue>, ReadOnlySpan<short>, Span<TValue?>, short)

public static void ConvertNative<TValue>(ReadOnlySpan<TValue> source, ReadOnlySpan<short> defLevels, Span<TValue?> destination, short definedLevel) where TValue : unmanaged

Parameters

source ReadOnlySpan<TValue>
defLevels ReadOnlySpan<short>
destination Span<TValue?>
definedLevel short

Type Parameters

TValue

ConvertNative<TValue>(ReadOnlySpan<TValue>, Span<TValue>)

public static void ConvertNative<TValue>(ReadOnlySpan<TValue> source, Span<TValue> destination) where TValue : unmanaged

Parameters

source ReadOnlySpan<TValue>
destination Span<TValue>

Type Parameters

TValue

ConvertString(ReadOnlySpan<ByteArray>, ReadOnlySpan<short>, Span<string?>, short)

public static void ConvertString(ReadOnlySpan<ByteArray> source, ReadOnlySpan<short> defLevels, Span<string?> destination, short definedLevel)

Parameters

source ReadOnlySpan<ByteArray>
defLevels ReadOnlySpan<short>
destination Span<string>
definedLevel short

ConvertString(ReadOnlySpan<ByteArray>, ReadOnlySpan<short>, Span<string?>, short, ByteArrayReaderCache<ByteArray, string>)

public static void ConvertString(ReadOnlySpan<ByteArray> source, ReadOnlySpan<short> defLevels, Span<string?> destination, short definedLevel, ByteArrayReaderCache<ByteArray, string> byteArrayCache)

Parameters

source ReadOnlySpan<ByteArray>
defLevels ReadOnlySpan<short>
destination Span<string>
definedLevel short
byteArrayCache ByteArrayReaderCache<ByteArray, string>

ConvertTimeOnlyMicros(ReadOnlySpan<long>, ReadOnlySpan<short>, Span<TimeOnly?>, short)

public static void ConvertTimeOnlyMicros(ReadOnlySpan<long> source, ReadOnlySpan<short> defLevels, Span<TimeOnly?> destination, short definedLevel)

Parameters

source ReadOnlySpan<long>
defLevels ReadOnlySpan<short>
destination Span<TimeOnly?>
definedLevel short

ConvertTimeOnlyMicros(ReadOnlySpan<long>, Span<TimeOnly>)

public static void ConvertTimeOnlyMicros(ReadOnlySpan<long> source, Span<TimeOnly> destination)

Parameters

source ReadOnlySpan<long>
destination Span<TimeOnly>

ConvertTimeOnlyMillis(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<TimeOnly?>, short)

public static void ConvertTimeOnlyMillis(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<TimeOnly?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<TimeOnly?>
definedLevel short

ConvertTimeOnlyMillis(ReadOnlySpan<int>, Span<TimeOnly>)

public static void ConvertTimeOnlyMillis(ReadOnlySpan<int> source, Span<TimeOnly> destination)

Parameters

source ReadOnlySpan<int>
destination Span<TimeOnly>

ConvertTimeSpanMicros(ReadOnlySpan<long>, ReadOnlySpan<short>, Span<TimeSpan?>, short)

public static void ConvertTimeSpanMicros(ReadOnlySpan<long> source, ReadOnlySpan<short> defLevels, Span<TimeSpan?> destination, short definedLevel)

Parameters

source ReadOnlySpan<long>
defLevels ReadOnlySpan<short>
destination Span<TimeSpan?>
definedLevel short

ConvertTimeSpanMicros(ReadOnlySpan<long>, Span<TimeSpan>)

public static void ConvertTimeSpanMicros(ReadOnlySpan<long> source, Span<TimeSpan> destination)

Parameters

source ReadOnlySpan<long>
destination Span<TimeSpan>

ConvertTimeSpanMillis(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<TimeSpan?>, short)

public static void ConvertTimeSpanMillis(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<TimeSpan?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<TimeSpan?>
definedLevel short

ConvertTimeSpanMillis(ReadOnlySpan<int>, Span<TimeSpan>)

public static void ConvertTimeSpanMillis(ReadOnlySpan<int> source, Span<TimeSpan> destination)

Parameters

source ReadOnlySpan<int>
destination Span<TimeSpan>

ConvertUInt16(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<ushort?>, short)

public static void ConvertUInt16(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<ushort?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<ushort?>
definedLevel short

ConvertUInt16(ReadOnlySpan<int>, Span<ushort>)

public static void ConvertUInt16(ReadOnlySpan<int> source, Span<ushort> destination)

Parameters

source ReadOnlySpan<int>
destination Span<ushort>

ConvertUInt8(ReadOnlySpan<int>, ReadOnlySpan<short>, Span<byte?>, short)

public static void ConvertUInt8(ReadOnlySpan<int> source, ReadOnlySpan<short> defLevels, Span<byte?> destination, short definedLevel)

Parameters

source ReadOnlySpan<int>
defLevels ReadOnlySpan<short>
destination Span<byte?>
definedLevel short

ConvertUInt8(ReadOnlySpan<int>, Span<byte>)

public static void ConvertUInt8(ReadOnlySpan<int> source, Span<byte> destination)

Parameters

source ReadOnlySpan<int>
destination Span<byte>

ConvertUuid(ReadOnlySpan<FixedLenByteArray>, ReadOnlySpan<short>, Span<Guid?>, short)

public static void ConvertUuid(ReadOnlySpan<FixedLenByteArray> source, ReadOnlySpan<short> defLevels, Span<Guid?> destination, short definedLevel)

Parameters

source ReadOnlySpan<FixedLenByteArray>
defLevels ReadOnlySpan<short>
destination Span<Guid?>
definedLevel short

ConvertUuid(ReadOnlySpan<FixedLenByteArray>, Span<Guid>)

public static void ConvertUuid(ReadOnlySpan<FixedLenByteArray> source, Span<Guid> destination)

Parameters

source ReadOnlySpan<FixedLenByteArray>
destination Span<Guid>

GetDirectReader<TTLogical, TTPhysical>()

public static Delegate GetDirectReader<TTLogical, TTPhysical>() where TTLogical : unmanaged where TTPhysical : unmanaged

Returns

Delegate

Type Parameters

TTLogical
TTPhysical

GetNativeConverter<TTLogical, TTPhysical>()

public static Delegate GetNativeConverter<TTLogical, TTPhysical>() where TTLogical : unmanaged where TTPhysical : unmanaged

Returns

Delegate

Type Parameters

TTLogical
TTPhysical

GetNullableNativeConverter<TTLogical, TTPhysical>()

public static Delegate GetNullableNativeConverter<TTLogical, TTPhysical>() where TTLogical : unmanaged where TTPhysical : unmanaged

Returns

Delegate

Type Parameters

TTLogical
TTPhysical

IsCacheValid(ByteArrayReaderCache<ByteArray, string>, ByteArray, string)

public static bool IsCacheValid(ByteArrayReaderCache<ByteArray, string> byteArrayCache, ByteArray byteArray, string str)

Parameters

byteArrayCache ByteArrayReaderCache<ByteArray, string>
byteArray ByteArray
str string

Returns

bool

ReadDirect<TPhys>(ColumnReader<TPhys>, Span<TPhys>)

public static long ReadDirect<TPhys>(ColumnReader<TPhys> r, Span<TPhys> d) where TPhys : unmanaged

Parameters

r ColumnReader<TPhys>
d Span<TPhys>

Returns

long

Type Parameters

TPhys

ToByteArray(ByteArray)

public static byte[] ToByteArray(ByteArray byteArray)

Parameters

byteArray ByteArray

Returns

byte[]

ToDateOnly(int)

public static DateOnly ToDateOnly(int source)

Parameters

source int

Returns

DateOnly

ToDateTimeMicros(long)

public static DateTime ToDateTimeMicros(long source)

Parameters

source long

Returns

DateTime

ToDateTimeMicrosTicks(long)

public static long ToDateTimeMicrosTicks(long source)

Parameters

source long

Returns

long

ToDateTimeMillis(long)

public static DateTime ToDateTimeMillis(long source)

Parameters

source long

Returns

DateTime

ToDateTimeMillisTicks(long)

public static long ToDateTimeMillisTicks(long source)

Parameters

source long

Returns

long

ToDecimal(FixedLenByteArray, decimal)

public static decimal ToDecimal(FixedLenByteArray source, decimal multiplier)

Parameters

source FixedLenByteArray
multiplier decimal

Returns

decimal

ToHalf(FixedLenByteArray)

public static Half ToHalf(FixedLenByteArray source)

Parameters

source FixedLenByteArray

Returns

Half

ToString(ByteArray)

public static string ToString(ByteArray byteArray)

Parameters

byteArray ByteArray

Returns

string

ToString(ByteArray, ByteArrayReaderCache<ByteArray, string>)

public static string ToString(ByteArray byteArray, ByteArrayReaderCache<ByteArray, string> byteArrayCache)

Parameters

byteArray ByteArray
byteArrayCache ByteArrayReaderCache<ByteArray, string>

Returns

string

ToTimeOnlyMicros(long)

public static TimeOnly ToTimeOnlyMicros(long source)

Parameters

source long

Returns

TimeOnly

ToTimeOnlyMillis(int)

public static TimeOnly ToTimeOnlyMillis(int source)

Parameters

source int

Returns

TimeOnly

ToTimeSpanMicros(long)

public static TimeSpan ToTimeSpanMicros(long source)

Parameters

source long

Returns

TimeSpan

ToTimeSpanMillis(int)

public static TimeSpan ToTimeSpanMillis(int source)

Parameters

source int

Returns

TimeSpan

ToUuid(FixedLenByteArray)

public static Guid ToUuid(FixedLenByteArray source)

Parameters

source FixedLenByteArray

Returns

Guid