apache / apache/fory

[Swift] Row Format support for Swift

Open
#3,378 2 comments 0 reactions 0 assignees View on GitHub
enhancement swift
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 Swift.

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

Swift runtime currently lacks standard row format read/write support, so Swift cannot fully interoperate with existing standard row format implementations in Java/C++/Python for row-based random-access data exchange.

### Describe the solution you'd like

Add standard row format support in Swift 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 Swift row format tests and interoperability tests.

Out of scope:
- Compact row format.

### Describe alternatives you've considered

Continuing to use only object-serialization paths without standard row format support was considered, but that does not provide row-level random access and does not satisfy cross-language row format interoperability requirements.

### Additional context

`docs/specification/row_format_spec.md`
#3349
#1017

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.