Commit 6278a2a2 authored by Tom Lane's avatar Tom Lane

Remove contrib/jsonb_plpython's tests for infinity and NaN conversions.

These tests don't work reliably with pre-2.6 Python versions, since
Python code like float('inf') was not guaranteed to work before that,
even granting an IEEE-compliant platform.

Since there's no explicit handling of these cases in jsonb_plpython,
we're not adding any real code coverage by testing them, and thus
it doesn't seem to make sense to go to any great lengths to work
around the test instability.

Discussion: https://postgr.es/m/E1f1AMU-00031c-9N@gemulon.postgresql.org
parent beff4bb9
......@@ -236,46 +236,6 @@ SELECT roundtrip('["string", "string2"]'::jsonb);
["string", "string2"]
(1 row)
-- test python infinity -> jsonb
CREATE FUNCTION test1inf() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('inf')
print(x)
return x
$$;
SELECT test1inf();
ERROR: could not convert value "inf" to jsonb
CONTEXT: while creating return value
PL/Python function "test1inf"
-- test python -infinity -> jsonb
CREATE FUNCTION test2inf() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('-inf')
print(x)
return x
$$;
SELECT test2inf();
ERROR: could not convert value "-inf" to jsonb
CONTEXT: while creating return value
PL/Python function "test2inf"
-- test python NaN -> jsonb
CREATE FUNCTION test1nan() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('nan')
return x
$$;
SELECT test1nan();
test1nan
----------
NaN
(1 row)
-- complex numbers -> jsonb
CREATE FUNCTION testComplexNumbers() RETURNS jsonb
LANGUAGE plpythonu
......
......@@ -127,41 +127,6 @@ SELECT roundtrip('[1, true]'::jsonb);
SELECT roundtrip('[true, "string"]'::jsonb);
SELECT roundtrip('["string", "string2"]'::jsonb);
-- test python infinity -> jsonb
CREATE FUNCTION test1inf() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('inf')
print(x)
return x
$$;
SELECT test1inf();
-- test python -infinity -> jsonb
CREATE FUNCTION test2inf() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('-inf')
print(x)
return x
$$;
SELECT test2inf();
-- test python NaN -> jsonb
CREATE FUNCTION test1nan() RETURNS jsonb
LANGUAGE plpythonu
TRANSFORM FOR TYPE jsonb
AS $$
x = float('nan')
return x
$$;
SELECT test1nan();
-- complex numbers -> jsonb
CREATE FUNCTION testComplexNumbers() RETURNS jsonb
LANGUAGE plpythonu
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment