Gabriel39 commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r4003259647
##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -301,6 +324,24 @@ Status
DataTypeVarbinarySerDe::deserialize_one_cell_from_json(IColumn& column, S
return Status::OK();
}
+Status DataTypeVarbinarySerDe::from_string(StringRef& str, IColumn& column,
+ const FormatOptions& options) const
{
+ // Partition structs use the same hex representation as nested VARBINARY
output. Decode it
+ // before appending so arbitrary bytes survive JSON transport instead of
becoming NULL.
+ if (str.size < 2 || str.data[0] != '0' || str.data[1] != 'x' || (str.size
- 2) % 2 != 0 ||
Review Comment:
Fixed in 049705dd44. Static binary literals now enter the overwrite context
with the 0x prefix required by the BE parser. The writer uses the same typed
byte encoding for static/dynamic commit values and separately renders partition
paths, including full-static and hybrid routing. IcebergUtils now decodes
BINARY/FIXED/UUID commit values, including length validation. Tests reproduce
the missing prefix, cover full-static/hybrid paths and typed DataFile commits,
and preserve canonical UUID input at the partition-writer boundary. Added an
external regression that performs dynamic inserts followed by full-static and
hybrid binary overwrites, verifies untouched partitions, and checks Spark
readback. Local FE/BE tests and Groovy syntax validation passed; the live
external regression has not been run locally and is pending CI.
--
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]