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

   ### Purpose
   
   `SchemaValidation` validated only the base data-file format's data fields at 
DDL. Changelog files are written with the `changelog-file.format` when it is 
set (`KeyValueFileWriterFactory` selects it for changelog keys), so a column 
type unsupported by the changelog format was accepted at CREATE and failed only 
on the first changelog write. For example `file.format=parquet` with 
`changelog-file.format=avro` and a TIMESTAMP(9) or TIME(4+) column passes 
CREATE and then throws from the Avro schema conversion when the first changelog 
file is written.
   
   This runs the changelog format's `validateDataFields` over the same normal 
fields whenever `changelog-file.format` is set and differs from the base data 
format, so the incompatibility is reported at DDL time. This mirrors the 
existing base-format and per-level avro validation in the same method.
   
   This closes #10261.
   
   ### Tests
   
   Added `SchemaValidationTest.testChangelogFileFormatRejectsUnsupportedTypes`: 
a TIMESTAMP(9) column with `changelog-file.format=avro` is rejected at 
validation with the Avro precision message, and a parquet base with an orc 
changelog format keeps the same column accepted (both formats support the type, 
exercising the differing-format path).
   
   ### API and Format
   
   No.
   
   ### Documentation
   
   No.
   


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