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

Giorgi / DuckDB.NET / 22921736195

10 Mar 2026 07:24PM UTC coverage: 89.526% (+0.08%) from 89.45%
22921736195

push

github

Giorgi
Update global.json

1255 of 1463 branches covered (85.78%)

Branch coverage included in aggregate %.

2651 of 2900 relevant lines covered (91.41%)

447643.55 hits per line

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

85.19
/DuckDB.NET.Data/DataChunk/Reader/IntervalVectorDataReader.cs
1
namespace DuckDB.NET.Data.DataChunk.Reader;
2

3
internal sealed class IntervalVectorDataReader : VectorDataReaderBase
4
{
5
    private static readonly Type TimeSpanType = typeof(TimeSpan);
3✔
6

7
    internal unsafe IntervalVectorDataReader(void* dataPointer, ulong* validityMaskPointer, DuckDBType columnType, string columnName) : base(dataPointer, validityMaskPointer, columnType, columnName)
189✔
8
    {
9
    }
189✔
10

11
    protected override T GetValidValue<T>(ulong offset, Type targetType)
12
    {
13
        if (DuckDBType == DuckDBType.Interval)
18!
14
        {
15
            var interval = GetFieldData<DuckDBInterval>(offset);
18✔
16

17
            if (targetType == TimeSpanType)
18✔
18
            {
19
                var timeSpan = (TimeSpan)interval;
3✔
20
                return (T)(object)timeSpan;
3✔
21
            }
22

23
            return (T)(object)interval;
15✔
24
        }
25

26
        return base.GetValidValue<T>(offset, targetType);
×
27
    }
28

29
    internal override object GetValue(ulong offset, Type targetType)
30
    {
31
        return DuckDBType switch
748,705!
32
        {
748,705✔
33
            DuckDBType.Interval => GetInterval(offset, targetType),
748,705✔
34
            _ => base.GetValue(offset, targetType)
×
35
        };
748,705✔
36
    }
37

38
    private object GetInterval(ulong offset, Type targetType)
39
    {
40
        var interval = GetFieldData<DuckDBInterval>(offset);
748,705✔
41

42
        if (targetType == TimeSpanType)
748,705✔
43
        {
44
            return (TimeSpan)interval;
748,699✔
45
        }
46

47
        return interval;
6✔
48
    }
49
}
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

© 2026 Coveralls, Inc