diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-29 18:15:16 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-29 18:15:16 -0400 |
commit | 217d8f3a19aeae6a221c61487f1758a53dda31c8 (patch) | |
tree | 4b4ae3e369c77ce1866f65046ef1bd11da1dff87 /src/backend/access/transam/xlog.c | |
parent | 783e8f56d22aba3091a789af85f273f175d55b36 (diff) | |
download | postgresql-217d8f3a19aeae6a221c61487f1758a53dda31c8.tar.gz postgresql-217d8f3a19aeae6a221c61487f1758a53dda31c8.zip |
Avoid wrong results for power() with NaN input on more platforms.
Buildfarm results show that the modern POSIX rule that 1 ^ NaN = 1 is not
honored on *BSD until relatively recently, and really old platforms don't
believe that NaN ^ 0 = 1 either. (This is unsurprising, perhaps, since
SUSv2 doesn't require either behavior.) In hopes of getting to platform
independent behavior, let's deal with all the NaN-input cases explicitly
in dpow().
Note that numeric_power() doesn't know either of these special cases.
But since that behavior is platform-independent, I think it should be
addressed separately, and probably not back-patched.
Discussion: https://postgr.es/m/75DB81BEEA95B445AE6D576A0A5C9E936A73E741@BPXM05GP.gisp.nec.co.jp
Diffstat (limited to 'src/backend/access/transam/xlog.c')
0 files changed, 0 insertions, 0 deletions