>>>>> "Robert" == Robert Haas <robertmh...@gmail.com> writes:

 >> I don't consider it appropriate to override ./configure in this way.

 Robert> I don't see how that's overriding configure.  Commit
 Robert> 8472bf7a73487b0535c95e299773b882f7523463, which introduced
 Robert> --disable-float8-byval in 2008, states that the motivation for
 Robert> this is that it might break functions using the version 0
 Robert> calling convention.  It should not propagate, like kudzu, into
 Robert> things that having nothing to do with how values are passed to
 Robert> V0 functions.

It already does; it changes how int64 values are expected to be stored
in Datum variables. _Everything_ that currently stores an int64 value in
a Datum is affected.

As I see it, you need a really good reason to override that in a
specific case, and supporting 64-bit abbreviations on a
--disable-float8-byval build really isn't a good reason (since 32-bit
abbrevs work fine and such builds should be vanishingly rare anyway).

The fact that making this one low-benefit change has introduced no less
than three separate bugs - the compile error with that #ifdef, the use
of Int64GetDatum for NANs, and the use of Int64GetDatum for the return
value of the abbreviation function should possibly be taken as a hint to
how bad an idea is.

If you're determined to go this route - over my protest - then you need
to do something like define a NumericAbbrevGetDatum(x) macro and use it
in place of the Int64GetDatum / Int32GetDatum ones for both NAN and the
return from numeric_abbrev_convert_var.

-- 
Andrew (irc:RhodiumToad)


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to