thswlsqls opened a new pull request, #9081:
URL: https://github.com/apache/paimon/pull/9081

   
   ### Purpose
   
   fix #9078
   
   - #8949 added multiset support to the read side 
(`PaimonObjectInspectorFactory`), but the write-side dispatcher 
`SchemaVisitor.visit()` branches on `ROW`/`ARRAY`/`MAP` only.
   - `MULTISET` falls through to `default: visitor.primitive(...)`, so 
`HiveDeserializer.primitive()` throws `ClassCastException: 
StandardMapObjectInspector cannot be cast to PrimitiveObjectInspector` on the 
first row — reads work, writes do not.
   - Visit `MULTISET` as `MapType(elementType, IntType)`, the mapping 
`PaimonObjectInspectorFactory` already uses. Other type branches are untouched.
   
   ### Tests
   
   - Added `PaimonSerDeTest#testSerializeMultiset`: serializes `id INT, tags 
MULTISET<STRING>` through a Hive `StandardStructObjectInspector` and asserts 
the resulting `InternalMap`.
   - Reverting the fix fails only the new test, with the exception above; no 
existing test covered the multiset write path, so this cannot regress CI.
   - `mvn -pl paimon-hive/paimon-hive-connector-common clean install` — 101 
unit tests and 83 `*ITCase` tests passed, including `HiveWriteITCase`.
   


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