aboutsummaryrefslogtreecommitdiff
path: root/src/test/regress/sql/numeric.sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/sql/numeric.sql')
-rw-r--r--src/test/regress/sql/numeric.sql17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/regress/sql/numeric.sql b/src/test/regress/sql/numeric.sql
index 1633e4c3752..a6301eab0a4 100644
--- a/src/test/regress/sql/numeric.sql
+++ b/src/test/regress/sql/numeric.sql
@@ -858,3 +858,20 @@ select (i / (10::numeric ^ 131071))::numeric(1,0)
select * from generate_series(1::numeric, 3::numeric) i, generate_series(i,3) j;
select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,i) j;
select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,5,i) j;
+
+--
+-- Test code path for high-precision output
+--
+
+SELECT to_char(float8 '99999999999', '9999999999999999D99999999');
+SELECT to_char(float8 '99999999999', '9999999999999999D' || repeat('9', 1000));
+SELECT to_char(float8 '1e9','999999999999999999999D9');
+SELECT to_char(float8 '1e20','999999999999999999999D9');
+SELECT to_char(1e20, '999999999999999999999D9');
+SELECT to_char(float8 '1.123456789123456789', '9.' || repeat('9', 55));
+SELECT to_char(float8 '1999999999999999999999999999999999999999999999.123456789123456789',
+ repeat('9', 50) || '.' || repeat('9', 50));
+SELECT to_char(float8 '0.1', '9D' || repeat('9', 1000));
+SELECT to_char(int4 '1', '9D' || repeat('9', 1000) || 'EEEE');
+SELECT to_char(float4 '1', '9D' || repeat('9', 1000) || 'EEEE');
+SELECT to_char(float8 '1', '9D' || repeat('9', 1000) || 'EEEE');