Repository navigation
Support ADO.NET schema data types and metadata probing - #364
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #364 +/- ##
===========================================
+ Coverage 86.79% 87.17% +0.37%
===========================================
Files 82 82
Lines 3560 3665 +105
Branches 553 557 +4
===========================================
+ Hits 3090 3195 +105
+ Misses 331 330 -1
- Partials 139 140 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Coverage Report for CI Build 39458161086Coverage increased (+0.2%) to 92.755%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
|
Is it ready for review? |
|
The metadata probing changes are ready for review from my side. The implementation and tests are in place, with no unresolved review threads. I noticed the branch is now behind develop; I can rebase it if you would prefer a fully current review base. |
|
Thanks. Rebase:
|
| Type | DataTypes |
Reader |
|---|---|---|
BLOB |
System.Byte[] |
System.IO.Stream |
TIMESTAMP WITH TIME ZONE |
System.DateTimeOffset |
System.DateTime |
BIGNUM |
System.Object |
System.Numerics.BigInteger |
The other types I checked match. GetClrType is a second, hand-written type map, and it has already drifted from the reader's. Could it use the reader's mapping, or at least be fixed for these three? (For timestamp with time zone, Npgsql reports System.DateTime as well.)
CreateFormat is empty for almost every type
Only dec, decimal and numeric have a CreateFormat. Tools that generate DDL from DataTypes read this column. Npgsql fills it for all of its types (e.g. INTEGER, NUMERIC({0},{1})). The type name would do for every type without parameters.
Duplicate rows that differ only in case
duckdb_types() lists both spellings of some names, and SELECT DISTINCT type_name is case-sensitive, so INTEGER/integer and VARCHAR/varchar each appear twice, both marked IsBestMatch. Could these be deduplicated case-insensitively, keeping the canonical name?
Nit: there is a stray blank line before the closing } of ValidateRestrictions.
69f1fb9 to
d20770c
Compare
|
Rebased and pushed the branch onto current develop, then addressed the DataTypes feedback in d20770c:\n\n- Added DuckDB 1.5 logical-type parsing for BIGNUM/VARINT, NULL/SQLNULL, TIME_NS, GEOMETRY, and VARIANT.\n- Updated DataTypes.DataType to match the reader for BLOB ( |
|
Also pushed the final formatting cleanup as |
|
Thanks, I checked the update in a clone: the mappings, One remaining problem: the spelling of
Could you output Minor, not blocking: for types that need parameters, |
|
Addressed the remaining TypeName/CreateFormat feedback in |
Summary
Validation
dotnet test DuckDB.NET.Test/Test.csproj --no-restore --filter FullyQualifiedName~SchemaTests -m:1