[Go] Row format support for Go
- 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 Go.
### Is your feature request related to a problem? Please describe
Go runtime currently lacks standard row format read/write support, which prevents full row-format interoperability with existing standard row format implementations and limits random-access row processing in Go services.
### Describe the solution you'd like
Add standard row format support in Go 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 Go row format tests and interoperability tests.
Out of scope:
- Compact row format.
### Describe alternatives you've considered
Using only reflection-based object serialization was considered, but it does not provide standard row format compatibility or efficient row-level random access required for cross-language row processing.
### Additional context
`docs/specification/row_format_spec.md`
Contributor guide
Assessment
This issue has not been assessed yet.