From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | andrea(dot)aime(at)comune(dot)modena(dot)it |
Cc: | gustavoboiko(at)ieg(dot)com(dot)br, Postgres ODBC <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: Weird problem with aggregate functions |
Date: | 2001-11-06 19:02:35 |
Message-ID: | 17221.1005073355@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
"Andrea Aime" <aaime(at)comune(dot)modena(dot)it> writes:
> Thanks, it works!!! But why doesn't it work without the
> cast? This is a good workaround, but the standard behaviour
> is a bug, isn't it?
No, it isn't. We *used* to return int4 as the result of sum(int4),
etc, but that tends to suffer from overflow. And the deficiency of
using int4 as the result of avg() should be pretty obvious ;-)
The SQL spec says that we can use any exact numeric datatype we please
for these functions:
b) If SUM is specified and DT is exact numeric with scale
S, then the data type of the result is exact numeric with
implementation-defined precision and scale S.
c) If AVG is specified and DT is exact numeric, then the data
type of the result is exact numeric with implementation-
defined precision not less than the precision of DT and
implementation-defined scale not less than the scale of DT.
From what I've heard, VB simply does not recognize Postgres' NUMERIC
datatype at all. I don't know if that's VB's fault or a problem in
our ODBC driver.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Hiroshi Inoue | 2001-11-07 00:34:11 | Re: Weird problem with aggregate functions |
Previous Message | Alan R. Johns | 2001-11-06 17:27:02 | Access 2000 & Views |