CaptainAni187 opened a new pull request, #957: URL: https://github.com/apache/arrow-nanoarrow/pull/957
Closes #956 `Schema.fbs` says that when `DictionaryEncoding.indexType` is null, the indices must be signed int32. The decoder passed the missing table straight to `ArrowIpcDecoderSetTypeInt()`, which crashed (a segfault in release builds, flatcc's "null pointer table access" assertion in debug builds). It now uses int32 when the field isn't present. The new `NanoarrowIpcDecodeDictionarySchemaWithoutIndexType` test decodes a schema message with one `dictionary<values=string, indices=int32>` field that pyarrow 25.0.1 wrote, with `indexType` then removed from it. It crashes without the fix. I also read the `WITHOUT_INDEX_TYPE` stream from the issue with `ArrowIpcArrayStreamReader`: it now gives `struct<text: dictionary(int32)<string>>` with the values `a b a`, the same as the stream that has `indexType`. `ctest` passes (384 tests, compression tests skipped), and pre-commit passes on the changed files. -- 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]
