Skip to content

Commit 9e14d36

Browse files
committed
Reorder switch statements
1 parent abdb923 commit 9e14d36

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

DuckDB.NET.Data/Internal/ClrToDuckDBConverter.cs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,36 @@ public static DuckDBValue ToDuckDBValue(this object value) =>
1313
value switch
1414
{
1515
bool val => NativeMethods.Value.DuckDBCreateBool(val),
16+
1617
sbyte val => NativeMethods.Value.DuckDBCreateInt8(val),
1718
short val => NativeMethods.Value.DuckDBCreateInt16(val),
1819
int val => NativeMethods.Value.DuckDBCreateInt32(val),
20+
long val => NativeMethods.Value.DuckDBCreateInt64(val),
21+
1922
byte val => NativeMethods.Value.DuckDBCreateUInt8(val),
2023
ushort val => NativeMethods.Value.DuckDBCreateUInt16(val),
2124
uint val => NativeMethods.Value.DuckDBCreateUInt32(val),
22-
long val => NativeMethods.Value.DuckDBCreateInt64(val),
2325
ulong val => NativeMethods.Value.DuckDBCreateUInt64(val),
26+
2427
float val => NativeMethods.Value.DuckDBCreateFloat(val),
2528
double val => NativeMethods.Value.DuckDBCreateDouble(val),
26-
string val => StringToDuckDBValue(val),
29+
2730
decimal val => DecimalToDuckDBValue(val),
28-
Guid val => GuidToDuckDBValue(val),
2931
BigInteger val => NativeMethods.Value.DuckDBCreateHugeInt(new DuckDBHugeInt(val)),
30-
byte[] val => NativeMethods.Value.DuckDBCreateBlob(val, val.Length),
31-
TimeSpan val => NativeMethods.Value.DuckDBCreateInterval(val),
32+
33+
string val => StringToDuckDBValue(val),
34+
Guid val => GuidToDuckDBValue(val),
3235
DateTime val => NativeMethods.Value.DuckDBCreateTimestamp(NativeMethods.DateTimeHelpers.DuckDBToTimestamp(DuckDBTimestamp.FromDateTime(val))),
33-
DateTimeOffset val => DateTimeOffsetToDuckDBValue(val),
36+
TimeSpan val => NativeMethods.Value.DuckDBCreateInterval(val),
3437
DuckDBDateOnly val => NativeMethods.Value.DuckDBCreateDate(NativeMethods.DateTimeHelpers.DuckDBToDate(val)),
3538
DuckDBTimeOnly val => NativeMethods.Value.DuckDBCreateTime(NativeMethods.DateTimeHelpers.DuckDBToTime(val)),
3639
#if NET6_0_OR_GREATER
3740
DateOnly val => NativeMethods.Value.DuckDBCreateDate(NativeMethods.DateTimeHelpers.DuckDBToDate(val)),
3841
TimeOnly val => NativeMethods.Value.DuckDBCreateTime(NativeMethods.DateTimeHelpers.DuckDBToTime(val)),
3942
#endif
43+
DateTimeOffset val => DateTimeOffsetToDuckDBValue(val),
44+
byte[] val => NativeMethods.Value.DuckDBCreateBlob(val, val.Length),
45+
4046
ICollection val => CreateCollectionValue(val),
4147
_ => throw new InvalidCastException($"Cannot convert value of type {value.GetType().FullName} to DuckDBValue.")
4248
};
@@ -73,28 +79,32 @@ private static DuckDBValue CreateCollectionValue(ICollection collection)
7379
ICollection<bool> items => CreateCollectionValue(DuckDBType.Boolean, items),
7480

7581
ICollection<sbyte> items => CreateCollectionValue(DuckDBType.TinyInt, items),
76-
ICollection<byte> items => CreateCollectionValue(DuckDBType.UnsignedTinyInt, items),
7782
ICollection<short> items => CreateCollectionValue(DuckDBType.SmallInt, items),
78-
ICollection<ushort> items => CreateCollectionValue(DuckDBType.UnsignedSmallInt, items),
7983
ICollection<int> items => CreateCollectionValue(DuckDBType.Integer, items),
80-
ICollection<uint> items => CreateCollectionValue(DuckDBType.UnsignedInteger, items),
8184
ICollection<long> items => CreateCollectionValue(DuckDBType.BigInt, items),
85+
86+
ICollection<byte> items => CreateCollectionValue(DuckDBType.UnsignedTinyInt, items),
87+
ICollection<ushort> items => CreateCollectionValue(DuckDBType.UnsignedSmallInt, items),
88+
ICollection<uint> items => CreateCollectionValue(DuckDBType.UnsignedInteger, items),
8289
ICollection<ulong> items => CreateCollectionValue(DuckDBType.UnsignedBigInt, items),
90+
8391
ICollection<float> items => CreateCollectionValue(DuckDBType.Float, items),
8492
ICollection<double> items => CreateCollectionValue(DuckDBType.Double, items),
85-
ICollection<BigInteger> items => CreateCollectionValue(DuckDBType.HugeInt, items),
93+
8694
ICollection<decimal> items => CreateCollectionValue(DuckDBType.Varchar, items),
87-
ICollection<Guid> items => CreateCollectionValue(DuckDBType.Varchar, items),
95+
ICollection<BigInteger> items => CreateCollectionValue(DuckDBType.HugeInt, items),
96+
8897
ICollection<string> items => CreateCollectionValue(DuckDBType.Varchar, items),
98+
ICollection<Guid> items => CreateCollectionValue(DuckDBType.Varchar, items),
8999
ICollection<DateTime> items => CreateCollectionValue(DuckDBType.Date, items),
90-
ICollection<DateTimeOffset> items => CreateCollectionValue(DuckDBType.TimeTz, items),
91100
ICollection<TimeSpan> items => CreateCollectionValue(DuckDBType.Interval, items),
92101
ICollection<DuckDBDateOnly> items => CreateCollectionValue(DuckDBType.Date, items),
93102
ICollection<DuckDBTimeOnly> items => CreateCollectionValue(DuckDBType.Time, items),
94103
#if NET6_0_OR_GREATER
95104
ICollection<DateOnly> items => CreateCollectionValue(DuckDBType.Date, items),
96105
ICollection<TimeOnly> items => CreateCollectionValue(DuckDBType.Time, items),
97106
#endif
107+
ICollection<DateTimeOffset> items => CreateCollectionValue(DuckDBType.TimeTz, items),
98108
_ => throw new InvalidOperationException($"Cannot convert collection type {collection.GetType().FullName} to DuckDBValue.")
99109
};
100110
}

DuckDB.NET.Data/Internal/Writer/VectorDataWriterBase.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,12 @@ public void WriteValue<T>(T value, ulong rowIndex)
4545
short val => AppendNumeric(val, rowIndex),
4646
int val => AppendNumeric(val, rowIndex),
4747
long val => AppendNumeric(val, rowIndex),
48+
4849
byte val => AppendNumeric(val, rowIndex),
4950
ushort val => AppendNumeric(val, rowIndex),
5051
uint val => AppendNumeric(val, rowIndex),
5152
ulong val => AppendNumeric(val, rowIndex),
53+
5254
float val => AppendNumeric(val, rowIndex),
5355
double val => AppendNumeric(val, rowIndex),
5456

0 commit comments

Comments
 (0)