You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Nadav Har'El (Jira)" <ji...@apache.org> on 2026/05/24 09:07:00 UTC
[jira] [Commented] (CASSANDRA-18470) Average of "decimal" values rounds the average if all inputs are integers
[ https://issues.apache.org/jira/browse/CASSANDRA-18470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18083136#comment-18083136 ]
Nadav Har'El commented on CASSANDRA-18470:
------------------------------------------
I opened a new ticked on the "bigger problem" that [~blambov] mentioned above: https://issues.apache.org/jira/browse/CASSANDRA-21401.
> Average of "decimal" values rounds the average if all inputs are integers
> -------------------------------------------------------------------------
>
> Key: CASSANDRA-18470
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18470
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Nadav Har'El
> Priority: Normal
>
> When running the AVG aggregator on "decimal" values, each value is an arbitrary-precision number which may be an integer or fractional, but it is expected that the average would be, in general, fractional. But it turns out that if all the values are integer *without* a ".0", the aggregator sums them up as integers and the final division returns an integer too instead of the fractional response expected from a "decimal" value.
> For example:
> # AVG of {{decimal}} values 1.0 and 2.0 returns 1.5, as expected.
> # AVG of 1.0 and 2 or 1 and 2.0 also return 1.5.
> # But AVG of 1 and 2 returns... 1. This is wrong. The user asked for the average to be a "decimal", not a "varint", so there is no reason why it should be rounded up to be an integer.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org