From: Tom Lane Date: Tue, 1 May 2018 03:58:48 +0000 (-0400) Subject: Tweak new jsonb_plperl test cases to work with old Perl versions. X-Git-Tag: REL_11_BETA1~133 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=827eb4393c8a06de0c8673888a5734170e218a1d;p=postgresql 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 --- 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; $$;