Skip site navigation (1) Skip section navigation (2)

Re: Weird problem with aggregate functions

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 (view raw or flat)
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

In response to

Responses

pgsql-odbc by date

Next:From: Hiroshi InoueDate: 2001-11-07 00:34:11
Subject: Re: Weird problem with aggregate functions
Previous:From: Alan R. JohnsDate: 2001-11-06 17:27:02
Subject: Access 2000 & Views

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group