Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

The construction of arrays should be more flexible

Open
#97 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp

Research direction

Start by reviewing the type-specific Builder and IArrowArray construction APIs described in the issue, then compare the linked Apache Arrow issues for a bounded scope. The issue lists several independent goals, so done would require selecting one improvement, defining its behavior, and adding corresponding coverage in the affected array construction code.

Written by the indexing model from the issue text.

Description

Today, arrays can only be constructed using a type-specific Builder. Builders start with some default initial size and grow either incrementally or by setting a new capacity. Once construction is complete, an immutable IArrowArray is produced. This mode of operation is safe but inflexible and potentially inefficient.

Some ideas for improving this are to

  • Allow an initial size to be specified for builders
  • Support (fixed-size) read-write arrays -- at least for fixed-width types -- in addition to read-only arrays
  • Allow ownership of memory to pass from the builder to the array upon construction so as not to require an additional allocation.
  • Allow native memory to be allocated without clearing it first
  • Allow a null value to be set directly in the builder, just as a non-null value can be
  • More flexible builders for nested types
  • Validating that the nullability of the type matches the values in the array

Inspired by:
https://github.com/apache/arrow/issues/21093
https://github.com/apache/arrow/issues/21386
https://github.com/apache/arrow/issues/21746
https://github.com/apache/arrow/issues/22309
https://github.com/apache/arrow/issues/25449
https://github.com/apache/arrow/issues/30567
https://github.com/apache/arrow/issues/35285
https://github.com/apache/arrow/issues/36133
https://github.com/apache/arrow/issues/40188

Dominant language
C#
Stars
40
Forks
30
Avg merge
1d 6h
Merged PRs (30d)
13

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/arrow-dotnet

All issues in apache/arrow-dotnet

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.