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]

Reply via email to