owencorrigan opened a new pull request, #433:
URL: https://github.com/apache/arrow-dotnet/pull/433
## What's Changed
The C# Arrow Flight reader (`RecordBatchReaderImplementation`) threw
`NotImplementedException` on any dictionary batch, so a Flight stream
containing a
dictionary-encoded column could not be read.
- `ReadNextRecordBatchAsync` now loops over the incoming Flight messages,
feeding
each through the base `CreateArrowObjectFromMessage` (which reads
dictionary
batches into the `DictionaryMemo` and returns null for them) until it
yields a
record batch, instead of throwing on any non-record-batch message. Handles
both
single and replacement dictionaries.
- The schema is decoded using the reader's `DictionaryMemo` via a new base
helper
`ReadSchemaFromMessage`, so dictionary-encoded fields are registered
(`FlightMessageSerializer` previously discarded them).
The change routes dictionary batches to the existing
`ArrowReaderImplementation`
decoder, so it is not specific to any particular index or value type.
Validated
against a pyarrow `RecordBatchStream` serving a `dictionary<int16, string>`
column
(single + replacement dictionaries); the current reader throws on the same
stream.
Refs #180 (receive side).
Generated-By: Claude Opus 4.8
--
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]