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
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
shortkind
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
shortkind
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
decimaltypeLength
intdefinedLevel
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
decimaltypeLength
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
decimaldefinedLevel
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
decimaldefinedLevel
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
decimaldefinedLevel
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
shortbyteArrayCache
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
Type Parameters
TTLogical
TTPhysical
GetNativeConverter<TTLogical, TTPhysical>()
public static Delegate GetNativeConverter<TTLogical, TTPhysical>() where TTLogical : unmanaged where TTPhysical : unmanaged
Returns
Type Parameters
TTLogical
TTPhysical
GetNullableNativeConverter<TTLogical, TTPhysical>()
public static Delegate GetNullableNativeConverter<TTLogical, TTPhysical>() where TTLogical : unmanaged where TTPhysical : unmanaged
Returns
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
ByteArraystr
string
Returns
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
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
ToDateTimeMicros(long)
public static DateTime ToDateTimeMicros(long source)
Parameters
source
long
Returns
ToDateTimeMicrosTicks(long)
public static long ToDateTimeMicrosTicks(long source)
Parameters
source
long
Returns
ToDateTimeMillis(long)
public static DateTime ToDateTimeMillis(long source)
Parameters
source
long
Returns
ToDateTimeMillisTicks(long)
public static long ToDateTimeMillisTicks(long source)
Parameters
source
long
Returns
ToDecimal(FixedLenByteArray, decimal)
public static decimal ToDecimal(FixedLenByteArray source, decimal multiplier)
Parameters
source
FixedLenByteArraymultiplier
decimal
Returns
ToHalf(FixedLenByteArray)
public static Half ToHalf(FixedLenByteArray source)
Parameters
source
FixedLenByteArray
Returns
ToString(ByteArray)
public static string ToString(ByteArray byteArray)
Parameters
byteArray
ByteArray
Returns
ToString(ByteArray, ByteArrayReaderCache<ByteArray, string>)
public static string ToString(ByteArray byteArray, ByteArrayReaderCache<ByteArray, string> byteArrayCache)
Parameters
byteArray
ByteArraybyteArrayCache
ByteArrayReaderCache<ByteArray, string>
Returns
ToTimeOnlyMicros(long)
public static TimeOnly ToTimeOnlyMicros(long source)
Parameters
source
long
Returns
ToTimeOnlyMillis(int)
public static TimeOnly ToTimeOnlyMillis(int source)
Parameters
source
int
Returns
ToTimeSpanMicros(long)
public static TimeSpan ToTimeSpanMicros(long source)
Parameters
source
long
Returns
ToTimeSpanMillis(int)
public static TimeSpan ToTimeSpanMillis(int source)
Parameters
source
int
Returns
ToUuid(FixedLenByteArray)
public static Guid ToUuid(FixedLenByteArray source)
Parameters
source
FixedLenByteArray