Re: BUG #15519: Casting float4 into int4 gets the wrong sign instead of "integer out of range" error
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: victor@magic.io, pgsql-bugs@lists.postgresql.org
Date: 2018-11-23T23:58:14Z
Lists: pgsql-bugs
I wrote: > Andrew Gierth <andrew@tao11.riddles.org.uk> writes: >> if (num < (float4)INT_MIN || num >= -(float4)INT_MIN || ... > Meh. Seems to me that's relying on pretty much the same assumptions > and throwing in an extra dollop of obscurantism on top. mmm ... but on the other hand, it means we don't need to write the test differently depending on whether we think INTxx_MAX will get rounded. So that's worth something. regards, tom lane
Commits
-
Update additional float4/8 expected-output files.
- bf9fb00dd107 9.4.21 landed
- 74587148314a 10.7 landed
- 3645d31934f4 11.2 landed
- 298510caee63 9.5.16 landed
- 1f99d0867020 9.6.12 landed
-
Fix float-to-integer coercions to handle edge cases correctly.
- d5231253e309 9.4.21 landed
- 93eec1238663 9.6.12 landed
- 1e78603a54a7 9.5.16 landed
- e473e1f2b8f1 11.2 landed
- c382a2b66909 10.7 landed
- cbdb8b4c0155 12.0 landed
-
Adjust new test case for more portability.
- 452b637d4b02 12.0 landed