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]

Reply via email to