From 6b72aa515498d76eb9459d989843eed6e8b3b219 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 12 Jun 2010 06:05:20 +0000 Subject: [PATCH] Add a regression test case for bug #5497 --- src/pl/plpython/expected/plpython_types.out | 12 ++++++++++++ src/pl/plpython/expected/plpython_types_3.out | 12 ++++++++++++ src/pl/plpython/sql/plpython_types.sql | 8 ++++++++ 3 files changed, 32 insertions(+) diff --git a/src/pl/plpython/expected/plpython_types.out b/src/pl/plpython/expected/plpython_types.out index 502dbb5cc0..a165936282 100644 --- a/src/pl/plpython/expected/plpython_types.out +++ b/src/pl/plpython/expected/plpython_types.out @@ -528,6 +528,18 @@ SELECT * FROM test_type_conversion_array_int4(ARRAY[[1,2,3],[4,5,6]]); ERROR: cannot convert multidimensional array to Python list DETAIL: PL/Python only supports one-dimensional arrays. CONTEXT: PL/Python function "test_type_conversion_array_int4" +CREATE FUNCTION test_type_conversion_array_text(x text[]) RETURNS text[] AS $$ +plpy.info(x, type(x)) +return x +$$ LANGUAGE plpythonu; +SELECT * FROM test_type_conversion_array_text(ARRAY['foo', 'bar']); +INFO: (['foo', 'bar'], ) +CONTEXT: PL/Python function "test_type_conversion_array_text" + test_type_conversion_array_text +--------------------------------- + {foo,bar} +(1 row) + CREATE FUNCTION test_type_conversion_array_bytea(x bytea[]) RETURNS bytea[] AS $$ plpy.info(x, type(x)) return x diff --git a/src/pl/plpython/expected/plpython_types_3.out b/src/pl/plpython/expected/plpython_types_3.out index d88495512c..38ddf02985 100644 --- a/src/pl/plpython/expected/plpython_types_3.out +++ b/src/pl/plpython/expected/plpython_types_3.out @@ -528,6 +528,18 @@ SELECT * FROM test_type_conversion_array_int4(ARRAY[[1,2,3],[4,5,6]]); ERROR: cannot convert multidimensional array to Python list DETAIL: PL/Python only supports one-dimensional arrays. CONTEXT: PL/Python function "test_type_conversion_array_int4" +CREATE FUNCTION test_type_conversion_array_text(x text[]) RETURNS text[] AS $$ +plpy.info(x, type(x)) +return x +$$ LANGUAGE plpython3u; +SELECT * FROM test_type_conversion_array_text(ARRAY['foo', 'bar']); +INFO: (['foo', 'bar'], ) +CONTEXT: PL/Python function "test_type_conversion_array_text" + test_type_conversion_array_text +--------------------------------- + {foo,bar} +(1 row) + CREATE FUNCTION test_type_conversion_array_bytea(x bytea[]) RETURNS bytea[] AS $$ plpy.info(x, type(x)) return x diff --git a/src/pl/plpython/sql/plpython_types.sql b/src/pl/plpython/sql/plpython_types.sql index 0b905d1802..2afc2ffcc1 100644 --- a/src/pl/plpython/sql/plpython_types.sql +++ b/src/pl/plpython/sql/plpython_types.sql @@ -223,6 +223,14 @@ SELECT * FROM test_type_conversion_array_int4(NULL); SELECT * FROM test_type_conversion_array_int4(ARRAY[[1,2,3],[4,5,6]]); +CREATE FUNCTION test_type_conversion_array_text(x text[]) RETURNS text[] AS $$ +plpy.info(x, type(x)) +return x +$$ LANGUAGE plpythonu; + +SELECT * FROM test_type_conversion_array_text(ARRAY['foo', 'bar']); + + CREATE FUNCTION test_type_conversion_array_bytea(x bytea[]) RETURNS bytea[] AS $$ plpy.info(x, type(x)) return x