Re: [HACKERS] ERROR: Unable to identify an operator '=' for types 'numeric' and 'float8' - Mailing list pgsql-hackers

From Gene Sokolov
Subject Re: [HACKERS] ERROR: Unable to identify an operator '=' for types 'numeric' and 'float8'
Date
Msg-id 080b01bf7896$e6e184b0$0d8cdac3@aktrad.ru
Whole thread Raw
In response to ERROR: Unable to identify an operator '=' for types 'numeric' and 'float8'  (Michael Meskes <meskes@postgresql.org>)
List pgsql-hackers
> Thomas Lockhart <lockhart@alumni.caltech.edu> writes:
> > One hesitation I have is the performance hit in mixing FLOAT and
> > NUMERIC; I (probably) don't want to make NUMERIC the "best" numeric
> > type, since it is potentially so slow.
>
> I concur --- I'd be inclined to leave FLOAT8 as the top of the
> hierarchy.  But NUMERIC could be stuck in there between int and float,
> no?  (int-vs-numeric ops certainly must be promoted to numeric...)

If you cast NUMERIC to FLOAT8, then you would loose precision and it would
be counterintuitive type promotion (at least for a C programmer). If someone
wants speed over correctness, he can always explicitly cast NUMERIC to
FLOAT8. Seems like "correct" should take precedence over "fast", at least as
long as there is a way to do "fast".

Gene Sokolov.




pgsql-hackers by date:

Previous
From: Lamar Owen
Date:
Subject: Re: [HACKERS] Postgres meets InterBase (ZDNet)
Next
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] psql compile problems