CurtHagenlocher opened a new issue, #466: URL: https://github.com/apache/arrow-dotnet/issues/466
### Describe the enhancement requested `CArrowSchemaImporter.ImportSchema` and `ImportField` have overloads that take an `ExtensionTypeRegistry`, but `CArrowArrayStreamImporter.ImportArrayStream` doesn't. It always imports the stream's schema without a registry. So a stream from a native producer comes back with storage types: for example, a UUID column is a `FixedSizeBinaryArray` whose field has `ARROW:extension:name = arrow.uuid` in its metadata, rather than a `GuidType` field with a `GuidArray`. This happens even if the extension definition is registered with `ExtensionTypeRegistry.Default`. Consumers have to work around this themselves: resolve each field's extension type from its metadata, then wrap every column of every batch with `ExtensionType.CreateArray`. The ADBC ADO.NET client now does this (apache/arrow-adbc#4918). Proposal: add an overload ```csharp public static unsafe IArrowArrayStream ImportArrayStream(CArrowArrayStream* ptr, ExtensionTypeRegistry extensionRegistry) ``` that imports the schema with `ImportSchema(&cSchema, extensionRegistry)` and builds the imported batches from that schema, so columns with a resolved extension type come back as extension arrays. ### Component(s) C# -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
