924060929 commented on PR #68786: URL: https://github.com/apache/doris/pull/68786#issuecomment-6092431144
Follow-up FE architecture review of `7486214`: The connector-declared write semantics plus the shared FE converter is the right abstraction: the connector describes the remote type, and the planner applies the conversion without an Iceberg-specific branch. The latest changes address the previously reported scalar/static and ARRAY/STRUCT UUID-text paths, MySQL zero-date handling, and historical Paimon schema/branch ownership at the source level. One additional **P2** remains: UUID normalization does not recurse through MAP. [`IcebergWriteSchemaContext.stringWriteType`](https://github.com/apache/doris/blob/748621406b53872086a04e6d46efba0709284268/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWriteSchemaContext.java#L181-L197) handles LIST and STRUCT but returns null for MAP, and `ConnectorWriteValueConverter` also lacks MAP recursion. For an Iceberg `MAP<STRING, UUID>` column, inserting `map('k', '00112233-4455-6677-8899-aabbccddeeff')` therefore falls through to the ordinary map cast: the UUID text becomes 36 raw bytes instead of the 16-byte UUID representation required by the writer. This also affects UUID map keys and maps nested inside ARRAY/STRUCT. Please extend both the semantic declaration and the converter to map keys/values, and cover these cases alongside the new ARRAY/STRUCT tests. These existing threads still apply to this head: - [UUID-typed source expressions are skipped by the write converter](https://github.com/apache/doris/pull/68786#discussion_r4235675545). - [MySQL `--` arithmetic is mistaken for a comment](https://github.com/apache/doris/pull/68786#discussion_r4230876780). - [The SQL scanner assumes backslash escaping under `NO_BACKSLASH_ESCAPES`](https://github.com/apache/doris/pull/68786#discussion_r4235675550). The updated PR description explicitly limits VARBINARY comparisons/functions. Accordingly, my earlier suggestion about function capability checks is a maintainability follow-up; implementing every missing BE function is not a prerequisite for this PR. The concrete write and query-wrapping failures above should still be addressed before merging. This follow-up is based on source inspection; no local build or runtime tests were run. -- 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]
