[python] Introduce 'product' aggregator function#8718
Conversation
…gator_rejected default aggregator to unsupported `collect`.
|
Python’s |
Good catch, thanks! Fixed. |
|
Please resolve conflicts. |
Resolved, thanks! |
|
The failure appears to be unrelated to this PR. It is caused by a transient dependency download failure in the paimon-lumina module. I'll wait for CI to be rerun. Error: Failed to execute goal on project paimon-lumina: Could not resolve dependencies for project org.apache.paimon:paimon-lumina:jar:2.0-SNAPSHOT: Failed to collect dependencies at org.aliyun.lumina:lumina-jni:jar:0.4.0: Failed to read artifact descriptor for org.aliyun.lumina:lumina-jni:jar:0.4.0: Could not transfer artifact org.aliyun.lumina:lumina-jni:pom:0.4.0 from/to lumina (https://dlf-mvn-repo.oss-cn-shanghai.aliyuncs.com/mvn-repo/release): transfer failed for https://dlf-mvn-repo.oss-cn-shanghai.aliyuncs.com/mvn-repo/release/org/aliyun/lumina/lumina-jni/0.4.0/lumina-jni-0.4.0.pom: Remote host terminated the handshake: SSL peer shut down incorrectly -> [Help 1]
Error:
Error: To see the full stack trace of the errors, re-run Maven with the -e switch.
Error: Re-run Maven using the -X switch to enable full debug logging.
Error:
Error: For more information about the errors and possible solutions, please read the following articles:
Error: [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
Error:
Error: After correcting the problems, you can resume the build with the command
Error: mvn <args> -rf :paimon-lumina
Error: Process completed with exit code 1. |
|
multiplication is performed outside the high-precision context. The issue still occurs in the latest head: |
Thanks. Fixed! |
Purpose
This PR introduces the Python
Decimalimplementation and aligns the PythonFieldProductAggimplementation with the Java implementation.The changes include:
Decimaldata structure.TINYINT,SMALLINT,INT,BIGINT).DECIMALmultiplication with precision and scale handling.Tests
python -m pytest pypaimon/tests/test_decimal.py -qpython -m pytest pypaimon/tests/test_field_aggregators.py::FieldProductAggTest -qpython -m pytest pypaimon/tests/test_aggregation_e2e.py -qpython -m pytest pypaimon/tests/test_aggregation_merge_function.py -qgit diff --check