From 827eb4393c8a06de0c8673888a5734170e218a1d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 30 Apr 2018 23:58:48 -0400 Subject: [PATCH] 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 d6c3becf63..c16d16dab4 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 65ed21f3b2..e84ea7cf66 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 5f94a4c51a..436e18730f 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 9c0c083c99..339486ddb6 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; $$; -- 2.40.0