what data type should be returned by sum(float4) - Mailing list pgsql-hackers

From Kouhei Kaigai
Subject what data type should be returned by sum(float4)
Date
Msg-id 9A28C8860F777E439AA12E8AEA7694F8FD7BA5@BPXM15GP.gisp.nec.co.jp
Whole thread Raw
Responses Re: what data type should be returned by sum(float4)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hello,

http://www.postgresql.org/docs/devel/static/functions-aggregate.html

The documentation says that return type of sum(expression) is... bigint for smallint or int arguments, numeric for
bigintarguments, double precision for floating-point arguments, otherwise the same as the argument data type 

Does it expect sum(float4) returns float8, doesn't it?

On the other hand, catalog definition seems to me it returns float4.

postgres=# select * from pg_aggregate where aggfnoid in (2110, 2111);   aggfnoid    | aggkind | aggnumdirectargs |
aggtransfn| aggfinalfn | aggmtra 
nsfn | aggminvtransfn | aggmfinalfn | aggfinalextra | aggmfinalextra | aggsortop| aggtranstype | aggtransspace |
aggmtranstype| aggmtransspace | agginitval | 
aggminitval
----------------+---------+------------------+------------+------------+--------
-----+----------------+-------------+---------------+----------------+----------
-+--------------+---------------+---------------+----------------+------------+-
------------pg_catalog.sum | n       |                0 | float4pl   | -          | -    | -              | -
|f             | f              |         0|          700 |             0 |             0 |              0 |
|pg_catalog.sum| n       |                0 | float8pl   | -          | -    | -              | -           | f
   | f              |         0|          701 |             0 |             0 |              0 |            | 
(2 rows)

Which one shall be fixed?

Thanks,
--
NEC OSS Promotion Center / PG-Strom Project
KaiGai Kohei <kaigai@ak.jp.nec.com>





pgsql-hackers by date:

Previous
From: Shigeru HANADA
Date:
Subject: Re: Join push-down support for foreign tables
Next
From: Tom Lane
Date:
Subject: Re: what data type should be returned by sum(float4)