Gabriel39 opened a new pull request, #65122:
URL: https://github.com/apache/doris/pull/65122
## Proposed changes
Fix Iceberg complex column schema evolution validation for nested decimal
precision widening.
Doris validates complex column modifications before committing Iceberg
schema updates. The previous nested primitive promotion rules covered varchar
length growth, exact matches, integer widening, and `FLOAT -> DOUBLE`, but
missed Iceberg's valid decimal promotion rule:
```text
decimal(P, S) -> decimal(P', S), where P' >= P and S is unchanged
```
This patch refactors the nested primitive promotion check into strict helper
methods instead of reusing the internal table schema change matrix. Decimal
promotion is allowed only when both sides are decimal, scale is unchanged, and
destination precision is not smaller.
## Why
The internal table schema change matrix is broader than Iceberg schema
evolution semantics. It allows conversions such as decimal bucket changes,
date/string conversions, and other casts that are not safe metadata-only
promotions for Iceberg nested schema evolution.
## Tests
```bash
mvn test -pl fe-core -am \
-Dcheckstyle.skip=true \
-DfailIfNoTests=false \
-Dmaven.build.cache.enabled=false \
-Dtest=ColumnTest,IcebergMetadataOpsValidationTest
```
## Related issue
DORIS-26324
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]