translate undef to NULL for result arrayref, now that we allow NULLs in arrays. Update plperl regression test accordingly.
This commit is contained in:
parent
33e9f2c3d4
commit
b410475672
|
@ -412,11 +412,11 @@ SELECT * FROM recurse(3);
|
||||||
---
|
---
|
||||||
CREATE OR REPLACE FUNCTION array_of_text() RETURNS TEXT[][]
|
CREATE OR REPLACE FUNCTION array_of_text() RETURNS TEXT[][]
|
||||||
LANGUAGE plperl as $$
|
LANGUAGE plperl as $$
|
||||||
return [['a"b','c,d'],['e\\f','g']];
|
return [['a"b',undef,'c,d'],['e\\f',undef,'g']];
|
||||||
$$;
|
$$;
|
||||||
SELECT array_of_text();
|
SELECT array_of_text();
|
||||||
array_of_text
|
array_of_text
|
||||||
-----------------------------
|
---------------------------------------
|
||||||
{{"a\"b","c,d"},{"e\\f",g}}
|
{{"a\"b",NULL,"c,d"},{"e\\f",NULL,g}}
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* ENHANCEMENTS, OR MODIFICATIONS.
|
* ENHANCEMENTS, OR MODIFICATIONS.
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.94 2005/10/18 17:13:14 tgl Exp $
|
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.95 2005/11/18 17:00:28 adunstan Exp $
|
||||||
*
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
@ -207,12 +207,16 @@ plperl_init_all(void)
|
||||||
" { " \
|
" { " \
|
||||||
" $res .= _plperl_to_pg_array($elem); " \
|
" $res .= _plperl_to_pg_array($elem); " \
|
||||||
" } " \
|
" } " \
|
||||||
" else " \
|
" elsif (defined($elem)) " \
|
||||||
" { " \
|
" { " \
|
||||||
" my $str = qq($elem); " \
|
" my $str = qq($elem); " \
|
||||||
" $str =~ s/([\"\\\\])/\\\\$1/g; " \
|
" $str =~ s/([\"\\\\])/\\\\$1/g; " \
|
||||||
" $res .= qq(\"$str\"); " \
|
" $res .= qq(\"$str\"); " \
|
||||||
" } " \
|
" } " \
|
||||||
|
" else " \
|
||||||
|
" { "\
|
||||||
|
" $res .= 'NULL' ; " \
|
||||||
|
" } "\
|
||||||
" } " \
|
" } " \
|
||||||
" return qq({$res}); " \
|
" return qq({$res}); " \
|
||||||
"} "
|
"} "
|
||||||
|
|
|
@ -297,7 +297,7 @@ SELECT * FROM recurse(3);
|
||||||
---
|
---
|
||||||
CREATE OR REPLACE FUNCTION array_of_text() RETURNS TEXT[][]
|
CREATE OR REPLACE FUNCTION array_of_text() RETURNS TEXT[][]
|
||||||
LANGUAGE plperl as $$
|
LANGUAGE plperl as $$
|
||||||
return [['a"b','c,d'],['e\\f','g']];
|
return [['a"b',undef,'c,d'],['e\\f',undef,'g']];
|
||||||
$$;
|
$$;
|
||||||
|
|
||||||
SELECT array_of_text();
|
SELECT array_of_text();
|
||||||
|
|
Loading…
Reference in New Issue