Stephen0421 commented on code in PR #8928:
URL: https://github.com/apache/paimon/pull/8928#discussion_r3705266963


##########
paimon-core/src/main/java/org/apache/paimon/schema/SchemaValidation.java:
##########
@@ -1427,6 +1428,36 @@ private static void validatePrimaryKeyBlobConfiguration(
             return;
         }
 
+        checkArgument(
+                options.mergeEngine() == MergeEngine.DEDUPLICATE
+                        || options.mergeEngine() == MergeEngine.PARTIAL_UPDATE,

Review Comment:
   Thanks for catching this. I fixed it at the schema-validation boundary.
   
   For a managed BLOB field protected by a sequence group, retract-sensitive 
aggregate functions are now rejected because managed BLOB payloads are not 
retained in retract records. `last_value` remains supported because it can 
deterministically clear the field without the original payload, and other 
aggregate functions can be used with `fields.<field>.ignore-retract=true`.
   
   The validation still allows safe cases such as `ignore-delete=true` and 
managed BLOB fields that are not protected by a sequence group.
   
   I also added end-to-end coverage for newer and older retract sequences, 
compaction, empty compacted `.blobref` files, and `ignore-retract` with scalar, 
ARRAY, and MAP managed BLOB fields.



-- 
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]

Reply via email to