On Wed, Apr 08, 2009 at 06:11:59PM -0400, Tom Lane wrote: > Sam Mason <s...@samason.me.uk> writes: > > On Tue, Apr 07, 2009 at 12:51:21PM -0400, Tom Lane wrote: > >> IIRC, the explicit support for leading/trailing spaces is something that > >> we added in float8in long after numeric_in was written, and I think just > >> nobody thought about numeric at the time. But it's clearly inconsistent > >> to allow spaces around a regular value but not a NaN. > > > The included patch was generated against 8.3.5 (because that's what I > > had lying around when I started playing) but applies with a little fuzz > > to the latest snapshot and does the right thing for me in both versions. > > Hmm, did it do the right thing for NaN with a typmod? I doubt > apply_typmod is safe for a NaN.
Oops, good catch. Didn't think to check for that. > Anyway, I revised this a bit and applied to HEAD. I've not tested; but your changes look as though they will break: SELECT 'Infinity'::float::numeric; I think you'll get '0' back instead of an error; either that or it's too late for me to be thinking straight! > I'm disinclined to back-patch; it's not really a bug > but a definition change, and we get flack when we put that sort of > change into stable branches ... OK Out of personal interest; why did you translate: while(isspace(*p)) p++; into more verbose forms? Is it so it fits in with the style in rest of the code, or does it actually do something different that I'm missing? -- Sam http://samason.me.uk/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers