apache / apache/arrow

[Docs][Format] Make Variant value field mandatory

Open Beginner friendly
#50,620 2 comments 0 reactions 0 assignees View on GitHub
Component: Format Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

Fix wording in the Arrow Variant spec to make the `value` field mandatory.
https://github.com/apache/arrow/blob/f10c93c000775c5fb30ca230f540358611091589/docs/source/format/CanonicalExtensions.rst?plain=1#L448

Per the conversation in https://github.com/apache/parquet-format/pull/591#issuecomment-4897543546

Note the requirement is level-dependent in the Parquet spec, so the Arrow wording should mirror it level by level rather than making `value` mandatory everywhere:
- top-level variant group: `value` must be present
- shredded object fields: the field group contains both `value` and `typed_value`
- list elements: `value` [may be omitted](https://github.com/apache/parquet-format/blob/master/VariantShredding.md#arrays) when shredding elements as a specific type, but at least one of the two fields must be present

### Component(s)

Format

Contributor guide

Open the contributing guide

Research direction

Open docs/source/format/CanonicalExtensions.rst at the referenced line and compare its Variant wording with parquet-format PR #591 and the linked VariantShredding arrays guidance. Update the text to describe the required fields separately for top-level groups, shredded object fields, and list elements, then verify each level matches the referenced Parquet requirements.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.