apache / apache/fory

[Dart] Row format support for Dart

Open
#3,375 2 comments 0 reactions 0 assignees View on GitHub
dart enhancement
Dominant language
Java
Stars
4.5k
Forks
443
Avg merge
5h 59m
Merged PRs (30d)
77

Description

### Feature Request

Implement standard Fory row format support for Dart.

### Is your feature request related to a problem? Please describe

Dart runtime currently lacks standard row format read/write support, so Dart cannot interoperate on row-format payloads with existing standard row format implementations and cannot leverage row-level random field access.

### Describe the solution you'd like

Add standard row format support in Dart based on `docs/specification/row_format_spec.md`.

Scope:
- Implement row encode/decode for standard format.
- Implement standard array/map/nested-struct layout handling.
- Support null bitmap semantics, fixed 8-byte field slots, and relative offset+size for variable-width fields.
- Enforce 8-byte alignment and deterministic padding behavior.
- Add cross-language compatibility tests with Java as reference endpoint.
- Add CI coverage for Dart row format tests and interoperability tests.

Out of scope:
- Compact row format.

### Describe alternatives you've considered

Relying only on existing object serialization flows was considered, but that approach does not satisfy standard row format compatibility and random-access requirements.

### Additional context

`docs/specification/row_format_spec.md`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.