apache / apache/arrow-java

[Java] UInt4Vector/UInt8Vector can't represent their full range

Open
#78 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
94
Forks
152
Avg merge
3d 16h
Merged PRs (30d)
11

Description

### Describe the bug, including details regarding any error messages, version, and platform.

The `Uint4Vector` set methods only accept an `int` type. I have some `uint32` values which I currently hold as `long` values in Java, as Java does not support unsigned integer types; long ensures no overflow. When writing to Arrow though, I would like to write it as its true `uint32` representation. Similar issue with `Uint8Vector`, where it only accepts `long` and no `BigInteger`. I did notice that `Uint2Vector` _does_ allow input as either `int` or `char`; so just seems the other UInt structures were neglected.

### Component(s)

Java

Contributor guide

Open the contributing guide

Research direction

Start with the Uint4Vector and Uint8Vector set methods described in the issue, then compare their accepted inputs with the existing Uint2Vector int and char overloads. The work is done when Uint4Vector can represent the relevant uint32 values and Uint8Vector accepts the needed BigInteger values without overflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.