From: Dean Rasheed Date: Thu, 5 Aug 2021 21:24:28 +0000 (+0100) Subject: Improve numeric_power() tests for large integer powers. X-Git-Tag: REL_11_13~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=434ddfb79a;p=thirdparty%2Fpostgresql.git Improve numeric_power() tests for large integer powers. Two of the tests added by 4dd5ce2fd fail on buildfarm member castoroides, though it's not clear why. Improve the tests to report the actual values produced, if they're not what was expected. Apply to v11 only for now, until it's clearer what's going on. --- diff --git a/src/test/regress/expected/numeric.out b/src/test/regress/expected/numeric.out index 897096680eb..fdf6a0d7e76 100644 --- a/src/test/regress/expected/numeric.out +++ b/src/test/regress/expected/numeric.out @@ -1668,10 +1668,10 @@ select 1.000000000123 ^ (-2147483648); 0.7678656556403084 (1 row) -select 0.9999999999 ^ 23300000000000 = 0 as rounds_to_zero; +select coalesce(nullif(0.9999999999 ^ 23300000000000, 0), 0) as rounds_to_zero; rounds_to_zero ---------------- - t + 0 (1 row) -- cases that used to error out @@ -1687,10 +1687,10 @@ select 0.5678 ^ (-85); 782333637740774446257.7719390061997396 (1 row) -select 0.9999999999 ^ 70000000000000 = 0 as underflows; +select coalesce(nullif(0.9999999999 ^ 70000000000000, 0), 0) as underflows; underflows ------------ - t + 0 (1 row) -- negative base to integer powers diff --git a/src/test/regress/sql/numeric.sql b/src/test/regress/sql/numeric.sql index 972e3aaec49..63ab78e5fcf 100644 --- a/src/test/regress/sql/numeric.sql +++ b/src/test/regress/sql/numeric.sql @@ -907,12 +907,12 @@ select 3.789 ^ 35; select 1.2 ^ 345; select 0.12 ^ (-20); select 1.000000000123 ^ (-2147483648); -select 0.9999999999 ^ 23300000000000 = 0 as rounds_to_zero; +select coalesce(nullif(0.9999999999 ^ 23300000000000, 0), 0) as rounds_to_zero; -- cases that used to error out select 0.12 ^ (-25); select 0.5678 ^ (-85); -select 0.9999999999 ^ 70000000000000 = 0 as underflows; +select coalesce(nullif(0.9999999999 ^ 70000000000000, 0), 0) as underflows; -- negative base to integer powers select (-1.0) ^ 2147483646;