zjw1111 opened a new pull request, #322: URL: https://github.com/apache/paimon-cpp/pull/322
### Purpose Linked issue: close #321 Replace `ParquetTimestampConverter` with a reusable `ParquetReadTypeAdapter` plan that is built once for a read schema and applied to subsequent batches. The adapter distinguishes compatible logical representations from timestamp casts and timezone views, and preserves target field metadata, nullability, and MAP attributes when rebuilding nested arrays. This also splits the nested BLOB fixtures into explicit ARRAY and MAP tables. Python and Java standard `MAP<K, BLOB>` storage remains readable, while the Rust fixture that stores raw BLOB bytes inline as Parquet `binary` is documented and explicitly rejected instead of being converted into a non-standard representation. BLOB placement errors now mention the supported direct value of a top-level MAP field. ### Tests - `pre-commit run --all-files` - `cmake --build build --target paimon-parquet-format-test paimon-paimon-read-compat-inte-test -j 16` - `ASAN_OPTIONS=detect_leaks=0 ./build/debug/paimon-parquet-format-test --gtest_filter='ParquetReadTypeAdapterTest.*'` - `ASAN_OPTIONS=detect_leaks=0 ./build/debug/paimon-paimon-read-compat-inte-test --gtest_filter='Writers/PaimonReadCompatInteTest.ReadsBlobValues/*:PaimonReadCompatInteStandaloneTest.RejectsNonStandardRustMapBlob'` - `ASAN_OPTIONS=detect_leaks=0 ./build/debug/paimon-core-test --gtest_filter='ArrowSchemaValidatorTest.TestBlobFieldPlacement:SchemaValidationTest.TestMapSharedShreddingRejectsBlobValue'` ### API and Format No public API, storage format, or protocol changes. The adapter is internal to the Parquet reader. The checked-in fixtures cover existing writer output only. ### Documentation Updated the compatibility fixture README to describe ARRAY/MAP BLOB support and the non-standard Rust inline MAP BLOB representation. ### 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]
