Giorgi / DuckDB.NET

Bindings and ADO.NET Provider for DuckDB
https://duckdb.net
MIT License
338 stars 61 forks source link

Support for arrays and UUID #183

Closed Stan-RED closed 1 month ago

Stan-RED commented 2 months ago

It would be nice to have support for arrays and UUID both in parameters and DuckDBAppender. DuckDB has a good vectors support, so working with embeddings (smth like float[4096]) could be very helpful.

Giorgi commented 2 months ago

DuckDBParameter already supports UUID: https://github.com/Giorgi/DuckDB.NET/blob/develop/DuckDB.NET.Test/Parameters/GuidParameterTests.cs

DuckDBAppender added support for UUID two days ago but it's in a separate branch and will probably be released in May.

Array support for DuckDBParameter cannot be implemented currently because the C API does not support it: https://github.com/duckdb/duckdb/discussions/9365

I'll implement Arrays in DuckDBAppender if there is interest in it.

As a workaround, you can use this approach to insert/update Arrays or Lists: https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/Connectors/Connectors.Memory.DuckDB/Database.cs

Giorgi commented 1 month ago

UUID support for Appender was just published on NuGet.

Giorgi commented 1 month ago

List and Array support for Appender just landed in develop.