summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2018-05-01 03:58:48 +0000
committerTom Lane2018-05-01 03:58:48 +0000
commit827eb4393c8a06de0c8673888a5734170e218a1d (patch)
treeee267146fa6e00d7beae4412cacd3078c641c9d7
parent23078689a9921968ac0873b017be6e7f772f10bc (diff)
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/[email protected]
-rw-r--r--contrib/jsonb_plperl/expected/jsonb_plperl.out4
-rw-r--r--contrib/jsonb_plperl/expected/jsonb_plperlu.out4
-rw-r--r--contrib/jsonb_plperl/sql/jsonb_plperl.sql4
-rw-r--r--contrib/jsonb_plperl/sql/jsonb_plperlu.sql4
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;
$$;