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

   
   ### Purpose
   
   fix #8628
   
   - `ParquetVectorUpdaterFactory.visit(TinyIntType)` / `visit(SmallIntType)` 
had no INT64 branch, so reading a TINYINT/SMALLINT column from an INT64 
(BIGINT) physical Parquet column threw `UnsupportedOperationException` via 
`dictionary.decodeToInt` on a `PlainLongDictionary`.
   - Add an INT64 branch selecting new `ByteFromLongUpdater` / 
`ShortFromLongUpdater` that read via `readLong()` and narrow with 
`Math.toIntExact`, mirroring `IntegerFromLongUpdater`.
   - Completes the narrowing pattern merged PR #8505 added for `IntType`←INT64 
and `FloatType`←DOUBLE, for the symmetric TINYINT/SMALLINT cases.
   
   ### Tests
   
   - Added `FileTypeNotMatchReadTypeTest#testReadByteFromInt64` and 
`#testReadShortFromInt64` covering dictionary-encoded INT64→TINYINT/SMALLINT 
reads.
   - `mvn -pl paimon-format -am -DfailIfNoTests=false clean install` — BUILD 
SUCCESS (JDK 11, no engine profiles). `FileTypeNotMatchReadTypeTest`: 9 tests 
passed.
   


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