1
- CREATE EXTENSION jsonb_plpython2u CASCADE;
2
- NOTICE: installing required extension "plpython2u "
1
+ CREATE EXTENSION jsonb_plpython3u CASCADE;
2
+ NOTICE: installing required extension "plpython3u "
3
3
-- test jsonb -> python dict
4
4
CREATE FUNCTION test1(val jsonb) RETURNS int
5
- LANGUAGE plpythonu
5
+ LANGUAGE plpython3u
6
6
TRANSFORM FOR TYPE jsonb
7
7
AS $$
8
8
assert isinstance(val, dict)
@@ -18,7 +18,7 @@ SELECT test1('{"a": 1, "c": "NULL"}'::jsonb);
18
18
-- test jsonb -> python dict
19
19
-- complex dict with dicts as value
20
20
CREATE FUNCTION test1complex(val jsonb) RETURNS int
21
- LANGUAGE plpython2u
21
+ LANGUAGE plpython3u
22
22
TRANSFORM FOR TYPE jsonb
23
23
AS $$
24
24
assert isinstance(val, dict)
@@ -34,7 +34,7 @@ SELECT test1complex('{"d": {"d": 1}}'::jsonb);
34
34
-- test jsonb[] -> python dict
35
35
-- dict with array as value
36
36
CREATE FUNCTION test1arr(val jsonb) RETURNS int
37
- LANGUAGE plpythonu
37
+ LANGUAGE plpython3u
38
38
TRANSFORM FOR TYPE jsonb
39
39
AS $$
40
40
assert isinstance(val, dict)
@@ -50,7 +50,7 @@ SELECT test1arr('{"d":[12, 1]}'::jsonb);
50
50
-- test jsonb[] -> python list
51
51
-- simple list
52
52
CREATE FUNCTION test2arr(val jsonb) RETURNS int
53
- LANGUAGE plpythonu
53
+ LANGUAGE plpython3u
54
54
TRANSFORM FOR TYPE jsonb
55
55
AS $$
56
56
assert isinstance(val, list)
@@ -66,7 +66,7 @@ SELECT test2arr('[12, 1]'::jsonb);
66
66
-- test jsonb[] -> python list
67
67
-- array of dicts
68
68
CREATE FUNCTION test3arr(val jsonb) RETURNS int
69
- LANGUAGE plpythonu
69
+ LANGUAGE plpython3u
70
70
TRANSFORM FOR TYPE jsonb
71
71
AS $$
72
72
assert isinstance(val, list)
@@ -81,7 +81,7 @@ SELECT test3arr('[{"a": 1, "b": 2}, {"c": 3,"d": 4}]'::jsonb);
81
81
82
82
-- test jsonb int -> python int
83
83
CREATE FUNCTION test1int(val jsonb) RETURNS int
84
- LANGUAGE plpythonu
84
+ LANGUAGE plpython3u
85
85
TRANSFORM FOR TYPE jsonb
86
86
AS $$
87
87
assert(val == 1)
@@ -95,7 +95,7 @@ SELECT test1int('1'::jsonb);
95
95
96
96
-- test jsonb string -> python string
97
97
CREATE FUNCTION test1string(val jsonb) RETURNS text
98
- LANGUAGE plpythonu
98
+ LANGUAGE plpython3u
99
99
TRANSFORM FOR TYPE jsonb
100
100
AS $$
101
101
assert(val == "a")
@@ -109,7 +109,7 @@ SELECT test1string('"a"'::jsonb);
109
109
110
110
-- test jsonb null -> python None
111
111
CREATE FUNCTION test1null(val jsonb) RETURNS int
112
- LANGUAGE plpythonu
112
+ LANGUAGE plpython3u
113
113
TRANSFORM FOR TYPE jsonb
114
114
AS $$
115
115
assert(val == None)
@@ -123,7 +123,7 @@ SELECT test1null('null'::jsonb);
123
123
124
124
-- test python -> jsonb
125
125
CREATE FUNCTION roundtrip(val jsonb) RETURNS jsonb
126
- LANGUAGE plpythonu
126
+ LANGUAGE plpython3u
127
127
TRANSFORM FOR TYPE jsonb
128
128
as $$
129
129
return val
@@ -238,7 +238,7 @@ SELECT roundtrip('["string", "string2"]'::jsonb);
238
238
239
239
-- complex numbers -> jsonb
240
240
CREATE FUNCTION testComplexNumbers() RETURNS jsonb
241
- LANGUAGE plpythonu
241
+ LANGUAGE plpython3u
242
242
TRANSFORM FOR TYPE jsonb
243
243
AS $$
244
244
x = 1 + 2j
@@ -250,7 +250,7 @@ CONTEXT: while creating return value
250
250
PL/Python function "testcomplexnumbers"
251
251
-- range -> jsonb
252
252
CREATE FUNCTION testRange() RETURNS jsonb
253
- LANGUAGE plpythonu
253
+ LANGUAGE plpython3u
254
254
TRANSFORM FOR TYPE jsonb
255
255
AS $$
256
256
x = range(3)
@@ -264,7 +264,7 @@ SELECT testRange();
264
264
265
265
-- 0xff -> jsonb
266
266
CREATE FUNCTION testDecimal() RETURNS jsonb
267
- LANGUAGE plpythonu
267
+ LANGUAGE plpython3u
268
268
TRANSFORM FOR TYPE jsonb
269
269
AS $$
270
270
x = 0xff
@@ -278,7 +278,7 @@ SELECT testDecimal();
278
278
279
279
-- tuple -> jsonb
280
280
CREATE FUNCTION testTuple() RETURNS jsonb
281
- LANGUAGE plpythonu
281
+ LANGUAGE plpython3u
282
282
TRANSFORM FOR TYPE jsonb
283
283
AS $$
284
284
x = (1, 'String', None)
@@ -292,7 +292,7 @@ SELECT testTuple();
292
292
293
293
-- interesting dict -> jsonb
294
294
CREATE FUNCTION test_dict1() RETURNS jsonb
295
- LANGUAGE plpythonu
295
+ LANGUAGE plpython3u
296
296
TRANSFORM FOR TYPE jsonb
297
297
AS $$
298
298
x = {"a": 1, None: 2, 33: 3}
0 commit comments