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]

Reply via email to