apache / apache/arrow-js

[JS] Assign dictionary IDs in IPC writer rather than on creation

Open
#121 1 comment 0 reactions 0 assignees View on GitHub
Type: enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.