From: Tom Lane Date: Tue, 1 May 2018 17:21:16 +0000 (-0400) Subject: Remove jsonb_plperl test cases for Inf/NaN conversions. X-Git-Tag: REL_11_BETA1~127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6594ee280383b7548b006e7f96c8d06137fced57;p=postgresql Remove jsonb_plperl test cases for Inf/NaN conversions. It turns out that old Perl versions (before about 5.10) don't have any very reliable way to generate Inf or NaN numeric values. Getting around that would require way more work than is really justified to test the code involved, so let's just drop these new test cases. 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 c16d16dab4..e4f3cdd41a 100644 --- a/contrib/jsonb_plperl/expected/jsonb_plperl.out +++ b/contrib/jsonb_plperl/expected/jsonb_plperl.out @@ -39,26 +39,6 @@ SELECT testSVToJsonb(); 1 (1 row) -CREATE FUNCTION testInf() RETURNS jsonb -LANGUAGE plperl -TRANSFORM FOR TYPE jsonb -AS $$ -$val = 9**9**9; # we assume this will overflow to +Inf -return $val; -$$; -SELECT testInf(); -ERROR: cannot convert infinity to jsonb -CONTEXT: PL/Perl function "testinf" -CREATE FUNCTION testNaN() RETURNS jsonb -LANGUAGE plperl -TRANSFORM FOR TYPE jsonb -AS $$ -$val = sin(9**9**9); # we assume sin(inf) will yield NaN -return $val; -$$; -SELECT testNaN(); -ERROR: cannot convert NaN to jsonb -CONTEXT: PL/Perl function "testnan" -- this revealed a bug in the original implementation CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb LANGUAGE plperl @@ -227,4 +207,4 @@ SELECT roundtrip('{"1": {"2": [3, 4, 5]}, "2": 3}'); \set VERBOSITY terse \\ -- suppress cascade details DROP EXTENSION plperl CASCADE; -NOTICE: drop cascades to 8 other objects +NOTICE: drop cascades to 6 other objects diff --git a/contrib/jsonb_plperl/expected/jsonb_plperlu.out b/contrib/jsonb_plperl/expected/jsonb_plperlu.out index e84ea7cf66..b44995058f 100644 --- a/contrib/jsonb_plperl/expected/jsonb_plperlu.out +++ b/contrib/jsonb_plperl/expected/jsonb_plperlu.out @@ -39,26 +39,6 @@ SELECT testSVToJsonb(); 1 (1 row) -CREATE FUNCTION testInf() RETURNS jsonb -LANGUAGE plperlu -TRANSFORM FOR TYPE jsonb -AS $$ -$val = 9**9**9; # we assume this will overflow to +Inf -return $val; -$$; -SELECT testInf(); -ERROR: cannot convert infinity to jsonb -CONTEXT: PL/Perl function "testinf" -CREATE FUNCTION testNaN() RETURNS jsonb -LANGUAGE plperlu -TRANSFORM FOR TYPE jsonb -AS $$ -$val = sin(9**9**9); # we assume sin(inf) will yield NaN -return $val; -$$; -SELECT testNaN(); -ERROR: cannot convert NaN to jsonb -CONTEXT: PL/Perl function "testnan" -- this revealed a bug in the original implementation CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb LANGUAGE plperlu @@ -227,4 +207,4 @@ SELECT roundtrip('{"1": {"2": [3, 4, 5]}, "2": 3}'); \set VERBOSITY terse \\ -- suppress cascade details DROP EXTENSION plperlu CASCADE; -NOTICE: drop cascades to 8 other objects +NOTICE: drop cascades to 6 other objects diff --git a/contrib/jsonb_plperl/sql/jsonb_plperl.sql b/contrib/jsonb_plperl/sql/jsonb_plperl.sql index 436e18730f..8b0a8764af 100644 --- a/contrib/jsonb_plperl/sql/jsonb_plperl.sql +++ b/contrib/jsonb_plperl/sql/jsonb_plperl.sql @@ -34,28 +34,6 @@ $$; SELECT testSVToJsonb(); -CREATE FUNCTION testInf() RETURNS jsonb -LANGUAGE plperl -TRANSFORM FOR TYPE jsonb -AS $$ -$val = 9**9**9; # we assume this will overflow to +Inf -return $val; -$$; - -SELECT testInf(); - - -CREATE FUNCTION testNaN() RETURNS jsonb -LANGUAGE plperl -TRANSFORM FOR TYPE jsonb -AS $$ -$val = sin(9**9**9); # we assume sin(inf) will yield NaN -return $val; -$$; - -SELECT testNaN(); - - -- this revealed a bug in the original implementation CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb LANGUAGE plperl diff --git a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql index 339486ddb6..9287f7672f 100644 --- a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql +++ b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql @@ -34,28 +34,6 @@ $$; SELECT testSVToJsonb(); -CREATE FUNCTION testInf() RETURNS jsonb -LANGUAGE plperlu -TRANSFORM FOR TYPE jsonb -AS $$ -$val = 9**9**9; # we assume this will overflow to +Inf -return $val; -$$; - -SELECT testInf(); - - -CREATE FUNCTION testNaN() RETURNS jsonb -LANGUAGE plperlu -TRANSFORM FOR TYPE jsonb -AS $$ -$val = sin(9**9**9); # we assume sin(inf) will yield NaN -return $val; -$$; - -SELECT testNaN(); - - -- this revealed a bug in the original implementation CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb LANGUAGE plperlu