github-actions[bot] commented on code in PR #67166:
URL: https://github.com/apache/doris/pull/67166#discussion_r3913179864
##########
fe/fe-type/src/main/java/org/apache/doris/catalog/Type.java:
##########
@@ -526,7 +526,7 @@ public String hideVersionForVersionColumn(
StructType structType = (StructType) this;
for (int i = 0; i < structType.getFields().size(); i++) {
StructField field = structType.getFields().get(i);
- StringBuilder desc = new
StringBuilder(field.getName()).append(":")
+ StringBuilder desc = new
StringBuilder(field.getOriginalName()).append(":")
Review Comment:
[P1] Keep the displayed Unicode field name executable
For a current Iceberg `STRUCT<Σ:INT>`, this line now shows `Σ` while the
runtime/thrift child name is ROOT-lowered `σ`. Nereids accepts
`element_at(payload, 'Σ')`, but translation preserves that literal and BE
`DataTypeStruct::try_get_position_by_name` uses bytewise `iequal`, so execution
raises `Element not found` (length-changing pairs such as `ẞ`/`ß` fail too).
Base displayed `σ`, which executed. Canonicalize a resolved struct selector to
its runtime name before BE translation, or align BE with the same Unicode
identity, and add an end-to-end query using the exact displayed Unicode
spelling.
##########
fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadata.java:
##########
@@ -1336,7 +1336,8 @@ private DorisConnectorException
upgradeNestedModifyError(IcebergTableHandle hand
try {
Types.NestedField current = executeAuthenticated(() ->
catalogOps.withTable(handle.getDbName(),
handle.getTableName(),
- table ->
table.schema().findField(column.getName())));
+ table ->
IcebergNestedColumnEvolution.findTopLevelField(
Review Comment:
[P2] Resolve the nested path before upgrading this error
This helper is also called by `modifyNestedColumn`, but it receives only
`ConnectorColumn`, whose name is the leaf. For `MODIFY COLUMN Root.leaf
ARRAY<SMALLINT>` with actual `Root.Leaf ARRAY<INT>` and unrelated top-level
`LEAF ARRAY<FLOAT>`, `buildColumnType` fails, this new case-insensitive
top-level lookup binds `LEAF`, and the error reports float-to-smallint instead
of the requested int-to-smallint. Pass the full `ConnectorColumnPath` on the
nested call and resolve that path before deriving the parity error; please add
a same-leaf top-level decoy test.
--
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]