From a45641d8a4993ce7d3b5388fb63e34acaffde87b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 24 Jan 2002 16:53:42 +0000 Subject: [PATCH] Fix incorrect test for whether Perl code is returning undef. This allows plperl routines to return NULL as intended. --- src/pl/plperl/plperl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 99af921307..a37f59781f 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -33,7 +33,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.26 2001/11/05 17:46:39 momjian Exp $ + * $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.27 2002/01/24 16:53:42 tgl Exp $ * **********************************************************************/ @@ -488,9 +488,9 @@ plperl_func_handler(PG_FUNCTION_ARGS) if (SPI_finish() != SPI_OK_FINISH) elog(ERROR, "plperl: SPI_finish() failed"); - /* XXX is this the approved way to check for an undef result? */ - if (perlret == &PL_sv_undef) + if (!(perlret && SvOK(perlret))) { + /* return NULL if Perl code returned undef */ retval = (Datum) 0; fcinfo->isnull = true; }