XuQianJin-Stars opened a new pull request, #2190:
URL: https://github.com/apache/fluss/pull/2190

   ### Purpose
   
   <!-- Linking this pull request to the issue -->
   Linked issue: close #1973
   
   <!-- What is the purpose of the change -->
   Introduce MAP type support for INDEXED format, achieving feature parity with 
ARROW and COMPACTED formats for MAP data type handling.
   
   ### Brief change log
   
   <!-- Please describe the changes made in this pull request and explain how 
they address the issue -->
   
   - Added `readMap()` method to `IndexedRowReader` for MAP type 
deserialization, following the same pattern as `readArray()`
   - Removed `UnsupportedOperationException` for MAP type in 
`IndexedRowReader.createFieldReader()` 
   - Added missing `InternalMap` import to `IndexedRowReader`
   - Updated `BinaryWriterTest.testCreateValueSetterForMapThrowsException()` to 
`testValueSetterWithMapType()` - changed from exception test to positive 
validation test
   - Extended `IndexedRowTest.assertAllTypeEquals()` to include MAP type 
assertions (validates size, key array, value array, and null handling)
   - Extended `IndexedRowReaderTest.assertAllTypeEqualsForReader()` to verify 
MAP reading
   
   ### Tests
   
   <!-- List UT and IT cases to verify this change -->
   
   **Unit Tests:**
   - `IndexedRowTest` (7 tests) - Validates MAP read/write operations with 
IndexedRow
   - `IndexedRowReaderTest` (2 tests) - Validates MAP deserialization with 
IndexedRowReader  
   - `BinaryWriterTest` (18 tests) - Validates MAP type ValueWriter creation 
and usage
   - `ArrowReaderWriterTest` (2 tests) - Confirms ARROW format MAP support 
continues to work
   - `CompactedRowTest` (20 tests) - Confirms COMPACTED format MAP support 
continues to work
   
   **Test Results:** All 49 tests passed successfully (0 failures, 0 errors, 0 
skipped)
   
   **Test Command:**
   mvn test -pl fluss-common 
-Dtest=IndexedRowTest,IndexedRowReaderTest,BinaryWriterTest,ArrowReaderWriterTest,CompactedRowTest
 -Dcheckstyle.skip=true -Dspotless.check.skip=true### API and Format
   
   <!-- Does this change affect API or storage format -->
   
   **API:** No breaking changes. This is purely additive functionality that 
removes an `UnsupportedOperationException` and enables existing MAP type 
infrastructure for INDEXED format.
   
   **Storage Format:** No format changes. The MAP storage format in INDEXED 
rows was already defined and uses the same `BinaryMap` serialization mechanism 
as other formats. This change only enables reading MAP data that was already 
writeable.
   
   ### Documentation
   
   <!-- Does this change introduce a new feature -->
   
   No documentation changes required. This change brings INDEXED format to 
feature parity with ARROW and COMPACTED formats for MAP type support. MAP type 
usage is already documented in existing Fluss documentation. The change 
completes internal implementation of existing functionality rather than 
introducing new user-facing features.


-- 
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