• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Giorgi / DuckDB.NET / 9095397334

15 May 2024 12:10PM UTC coverage: 89.5% (-0.3%) from 89.79%
9095397334

push

github

Giorgi
Merge branch 'Appender-Data-Chunk' (early part) into develop

663 of 770 branches covered (86.1%)

Branch coverage included in aggregate %.

262 of 293 new or added lines in 22 files covered. (89.42%)

9 existing lines in 2 files now uncovered.

1485 of 1630 relevant lines covered (91.1%)

11521.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.65
/DuckDB.NET.Data/Internal/Writer/VectorDataWriterFactory.cs
1
using System;
2
using DuckDB.NET.Native;
3

4
namespace DuckDB.NET.Data.Internal.Writer;
5

6
internal static class VectorDataWriterFactory
7
{
8
    public static unsafe VectorDataWriterBase CreateWriter(IntPtr vector, DuckDBLogicalType logicalType)
9
    {
10
        var dataPointer = NativeMethods.Vectors.DuckDBVectorGetData(vector);
207✔
11
        var columnType = NativeMethods.LogicalType.DuckDBGetTypeId(logicalType);
207✔
12

13
        return columnType switch
207!
14
        {
207✔
15
            DuckDBType.Uuid => new GuidVectorDataWriter(vector, dataPointer, columnType),
3✔
16
            DuckDBType.Date => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
12✔
17
            DuckDBType.Time => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
18
            DuckDBType.TimeTz => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
19
            DuckDBType.Interval => new IntervalVectorDataWriter(vector, dataPointer, columnType),
3✔
20
            DuckDBType.Timestamp => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
6✔
21
                
207✔
22
            DuckDBType.Boolean => new BooleanVectorDataWriter(vector, dataPointer, columnType),
15✔
23

207✔
NEW
24
            DuckDBType.Map => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
NEW
25
            DuckDBType.List => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
NEW
26
            DuckDBType.Array => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
27
            DuckDBType.Blob => new StringVectorDataWriter(vector, dataPointer, columnType),
3✔
28
            DuckDBType.Varchar => new StringVectorDataWriter(vector, dataPointer, columnType),
30✔
NEW
29
            DuckDBType.Bit => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
NEW
30
            DuckDBType.Enum => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
NEW
31
            DuckDBType.Struct => throw new NotImplementedException($"Writing {columnType} to data chunk is not yet supported"),
×
32
            DuckDBType.Decimal => new DecimalVectorDataWriter(vector, dataPointer, logicalType, columnType),
15✔
33
            DuckDBType.TimestampS => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
34
            DuckDBType.TimestampMs => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
35
            DuckDBType.TimestampNs => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
36
            DuckDBType.TimestampTz => new DateTimeVectorDataWriter(vector, dataPointer, columnType),
3✔
37
            _ => new NumericVectorDataWriter(vector, dataPointer, columnType)
102✔
38
        };
207✔
39
    }
40
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc