u70b3 opened a new pull request, #159: URL: https://github.com/apache/paimon-cpp/pull/159
### Purpose Linked issue: N/A Make byte-oriented code and test fixtures independent of the implementation-defined signedness of plain `char`. - Represent serialized byte fixtures with `std::uint8_t` and explicit hexadecimal values, converting to `char` only at existing string/data boundaries. - Classify UTF-8 leading bytes with unsigned masks instead of signed shifts. - Use `std::int8_t` explicitly for MurmurHash tail-byte sign extension so behavior continues to match Java byte semantics. - Make legacy `GetByte()` expectations explicit without changing its public contract. This removes the current AArch64 compilation and behavior differences without adding a global `-fsigned-char` compiler workaround. ### Tests Validated natively on AArch64 Ubuntu 22.04 with GCC 12 and tests enabled. The effective compile flags did not include `-fsigned-char`. - Affected rebuild: 393/393 targets passed. - Targeted byte-fixture tests: 31/31 passed. - Targeted runtime regressions: 7/7 passed. - `paimon-common-test`: 1121 tests passed. - Full CTest: 22/23 test programs passed. - `clang-format` 20.1.8 dry run and `git diff --check` passed. The remaining `paimon-core-test` program has two pre-existing AArch64 failures in `CastExecutorTest` involving out-of-range/Infinity/NaN floating-point-to-integer conversion. They are independent of these `char` signedness changes. ### API and Format No public API, storage format, or protocol change. ### Documentation No documentation change. This is a portability fix. ### Generative AI tooling Generated-by: OpenAI Codex (GPT-5) -- 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]
