postgres.git / summary / log / commit / refs
commit 827eb4393c8a06de0c8673888a5734170e218a1d
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue May 01 03:58:48 2018 +0000
First released in: 11.0
Tweak new jsonb_plperl test cases to work with old Perl versions.
The previous coding here didn't actually produce Inf or NaN double
values in Perl versions 5.8.x. Adopt a suggestion from stackoverflow.
Discussion: https://postgr.es/m/28585.1525131438@sss.pgh.pa.us
contrib/jsonb_plperl/expected/jsonb_plperl.out | 4 ++--
contrib/jsonb_plperl/expected/jsonb_plperlu.out | 4 ++--
contrib/jsonb_plperl/sql/jsonb_plperl.sql | 4 ++--
contrib/jsonb_plperl/sql/jsonb_plperlu.sql | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/contrib/jsonb_plperl/expected/jsonb_plperl.out b/contrib/jsonb_plperl/expected/jsonb_plperl.out
index d6c3becf631..c16d16dab4e 100644
--- a/contrib/jsonb_plperl/expected/jsonb_plperl.out
+++ b/contrib/jsonb_plperl/expected/jsonb_plperl.out
@@ -43,7 +43,7 @@ CREATE FUNCTION testInf() RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'Inf';
+$val = 9**9**9; # we assume this will overflow to +Inf
return $val;
$$;
SELECT testInf();
@@ -53,7 +53,7 @@ CREATE FUNCTION testNaN() RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'NaN';
+$val = sin(9**9**9); # we assume sin(inf) will yield NaN
return $val;
$$;
SELECT testNaN();
diff --git a/contrib/jsonb_plperl/expected/jsonb_plperlu.out b/contrib/jsonb_plperl/expected/jsonb_plperlu.out
index 65ed21f3b2d..e84ea7cf66c 100644
--- a/contrib/jsonb_plperl/expected/jsonb_plperlu.out
+++ b/contrib/jsonb_plperl/expected/jsonb_plperlu.out
@@ -43,7 +43,7 @@ CREATE FUNCTION testInf() RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'Inf';
+$val = 9**9**9; # we assume this will overflow to +Inf
return $val;
$$;
SELECT testInf();
@@ -53,7 +53,7 @@ CREATE FUNCTION testNaN() RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'NaN';
+$val = sin(9**9**9); # we assume sin(inf) will yield NaN
return $val;
$$;
SELECT testNaN();
diff --git a/contrib/jsonb_plperl/sql/jsonb_plperl.sql b/contrib/jsonb_plperl/sql/jsonb_plperl.sql
index 5f94a4c51ae..436e18730f8 100644
--- a/contrib/jsonb_plperl/sql/jsonb_plperl.sql
+++ b/contrib/jsonb_plperl/sql/jsonb_plperl.sql
@@ -38,7 +38,7 @@ CREATE FUNCTION testInf() RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'Inf';
+$val = 9**9**9; # we assume this will overflow to +Inf
return $val;
$$;
@@ -49,7 +49,7 @@ CREATE FUNCTION testNaN() RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'NaN';
+$val = sin(9**9**9); # we assume sin(inf) will yield NaN
return $val;
$$;
diff --git a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
index 9c0c083c99c..339486ddb6f 100644
--- a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
+++ b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
@@ -38,7 +38,7 @@ CREATE FUNCTION testInf() RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'Inf';
+$val = 9**9**9; # we assume this will overflow to +Inf
return $val;
$$;
@@ -49,7 +49,7 @@ CREATE FUNCTION testNaN() RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
AS $$
-$val = 0 + 'NaN';
+$val = sin(9**9**9); # we assume sin(inf) will yield NaN
return $val;
$$;
[parent: 23078689a992]