Skip to content

[Swift] Row Format support for Swift #3378

@chaokunyang

Description

@chaokunyang

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions