You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@paimon.apache.org by "liangjie3138 (via GitHub)" <gi...@apache.org> on 2026/08/05 03:07:21 UTC
[PR] feat(aggregate): add Java-compatible field aggregators [paimon-cpp]
liangjie3138 opened a new pull request, #183:
URL: https://github.com/apache/paimon-cpp/pull/183
### Purpose
Linked issue: close https://github.com/alibaba/paimon-cpp/issues/457
Port the six practical field aggregators missing on the C++ side — `collect`,
`merge_map`, `nested_update`, `rbm64`, `hll_sketch`, `theta_sketch` .
Also adds `GenericArray` / `GenericMap`, the in-memory `InternalArray` /
`InternalMap` implementations these aggregators need to build ARRAY and MAP
results.
### Tests
18 new unit test cases in `paimon-core-test`, covering each aggregator's
aggregate / retract / null / type-validation paths.
Three pin behaviour that is easy to "fix" incorrectly, and each was checked by
reverting the corresponding production change and confirming it fails:
- `BinaryAggMergeFunctionTest.OwnedAccumulatorSurvivesNullInput` — drives a real
`AggregateMergeFunction` so the use-after-free is exercised through the
production path.
- `FieldNestedUpdateAggTest.CountLimitCountsNullElementsOfAccumulator` — count
limit is measured against the raw element count, matching Java.
- `FieldIgnoreRetractAggTest.ReversedAggBypassesWrappedOverride` — the wrapper
does not preserve the wrapped aggregator's reversed-aggregation override, also
matching Java.
No integration tests added.
### API and Format
Additive only, no signatures changed:
- `include/paimon/defs.h`: four new `Options` constants — `NESTED_KEY`,
`NESTED_KEY_NULL_STRATEGY`, `NESTED_SEQUENCE_FIELD`, `COUNT_LIMIT`.
- `CoreOptions`: a `NestedKeyNullStrategy` enum plus accessors.
- `FieldAggregator`: new virtuals default to the existing `Agg` / `AggReversed`.
New dependency: Apache DataSketches 5.2.0 (Apache-2.0), resolved through
`resolve_dependency()` like the other bundled dependencies.
### Documentation
None.
### Generative AI tooling
Generated-by: Claude Code 2.1.220 (Claude Opus 5)
--
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: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(aggregate): add Java-compatible field aggregators [paimon-cpp]
Posted by "SteNicholas (via GitHub)" <gi...@apache.org>.
SteNicholas merged PR #183:
URL: https://github.com/apache/paimon-cpp/pull/183
--
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: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org