aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDean Rasheed <dean.a.rasheed@gmail.com>2021-08-05 22:24:28 +0100
committerDean Rasheed <dean.a.rasheed@gmail.com>2021-08-05 22:24:28 +0100
commit434ddfb79afea5c515f17fc5febac15afc26d017 (patch)
treef9442e737e28bd28173fcf83f89994f3f9b503b8
parent4851940a5c000b2b2504d7add13dfbd463c1c59c (diff)
downloadpostgresql-434ddfb79afea5c515f17fc5febac15afc26d017.tar.gz
postgresql-434ddfb79afea5c515f17fc5febac15afc26d017.zip
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.
-rw-r--r--src/test/regress/expected/numeric.out8
-rw-r--r--src/test/regress/sql/numeric.sql4
2 files changed, 6 insertions, 6 deletions
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;