[JS] Assign dictionary IDs in IPC writer rather than on creation
- Dominant language
- TypeScript
- Stars
- 112
- Forks
- 23
- Avg merge
- 21h 18m
- Merged PRs (30d)
- 8
Description
Currently the JS implementation relies on on the user assigning IDs for dictionaries that they create, we should do something like the C++ implementation, which uses a dictionary id memo to assign and retrieve dictionary ids in the IPC writer (https://github.com/apache/arrow/blob/master/cpp/src/arrow/ipc/metadata-internal.cc#L495).
**Reporter**: [Brian Hulette](https://issues.apache.org/jira/browse/ARROW-3523) / @TheNeuralBit
#### Related issues:
- [[JS] IPC writer doesn't serialize the dictionary of nested Vectors](https://github.com/apache/arrow/issues/19670) (relates to)
**Note**: *This issue was originally created as [ARROW-3523](https://issues.apache.org/jira/browse/ARROW-3523). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start by comparing the JavaScript IPC writer with the C++ reference at cpp/src/arrow/ipc/metadata-internal.cc#L495, focusing on how dictionary IDs are assigned and retrieved. Trace the current JS dictionary-ID handling and verify that the writer assigns IDs without requiring users to do so, including the related nested-dictionary serialization case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100