TheR1sing3un opened a new pull request, #7952: URL: https://github.com/apache/paimon/pull/7952
### Purpose Port Java's `AggregateMergeFunction` to pypaimon, following the shape of #7745. Ships the `FieldAggregator` framework, 9 value aggregators (`sum` / `max` / `min` / `last_value` / `last_non_null_value` / `first_value` / `first_non_null_value` / `bool_or` / `bool_and`) plus the `primary_key` placeholder, the `AggregateMergeFunction` wired into `MergeFileSplitRead._build_merge_function`, and a `merge_engine_support` guard that rejects retract opt-ins, sequence fields and out-of-scope aggregator identifiers (`collect` / `nested_update` / `theta_sketch` / `roaring_bitmap_*` / ...). Retract handling (DELETE / UPDATE_BEFORE) and the remaining 14 Java aggregators are intentionally deferred to follow-up PRs, mirroring #7745's scoping. ### Tests - Unit: `test_field_aggregator_registry.py`, `test_field_aggregators.py`, `test_aggregation_merge_function.py` - E2E: `test_aggregation_e2e.py` covers positive merges (sum across commits, mixed aggregators, null semantics, disjoint keys, default aggregator) plus the unsupported-option guard. -- 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]
