ZekiLiu opened a new pull request, #941:
URL: https://github.com/apache/incubator-graphar/pull/941
### Reason for this PR
Part of the pure-Go GraphAr SDK (tracking issus #828), following the
bootstrap PR #937.
This is the foundational `types` package: the primitive value enums every
higher
layer (info, reader/writer) depends on. Kept separate from `DataType` (next
PR) so
each PR stays a single, reviewable module. The diff is a bit over the usual
size,
but about half is table-driven tests and the four enums are one cohesive,
dependency-free unit; splitting them further would fragment the value layer.
### What changes are included in this PR?
New package `go/graphar/types` with four on-disk value types plus their
string
parse/serialize and sentinel errors:
- `FileType` — csv / parquet / orc / json
- `Cardinality` — single / list / set
- `AdjListType` — unordered/ordered × by_source/by_dest, with helpers to
convert
to/from the legacy `(ordered, aligned_by)` form (`src`/`dst`)
Enum members and on-disk spellings match the C++ and Java SDKs (verified
member-by-member); Rust and Python are FFI/bindings over C++. No Arrow or
third-party dependency.
### Are these changes tested?
Yes. Table-driven unit tests cover round-trips, error paths, defensive
copying,
and the lenient/strict version-string cases.
### Are there any user-facing changes?
Yes — this adds the public `types` package. No breaking changes (new code
only).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]