summaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-09-12 04:28:30 +0000
committerBruce Momjian <bruce@momjian.us>2000-09-12 04:28:30 +0000
commit5c6fa5ee3229875d7588e280516da171294bcf27 (patch)
tree8f49017c9f36a66ae076c36c18ed95b137fcda8d /src/pl/plperl/plperl.c
parent879639b5bef881277eaf01c9d94c45f358558c2d (diff)
This patch, when applied in src/pl will unbreak plperl in
7.0.2 release. Sorry, if that's fixed ages ago - I don't track development versions of PostgreSQL. Patch is just a little bit tested (some valid functions created and successfully run as well as some erroneous ones created and emitted proper error messages when used). My platform is FreeBSD 5.0-CURRENT (with perl 5.6.0 provided in the base system). Alex Kapranoff
Diffstat (limited to 'src/pl/plperl/plperl.c')
-rw-r--r--src/pl/plperl/plperl.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 687612a64c1..c3a5d5b855d 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.12 2000/07/05 23:11:55 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.13 2000/09/12 04:28:30 momjian Exp $
*
**********************************************************************/
@@ -324,13 +324,13 @@ plperl_create_sub(char * s)
count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
SPAGAIN;
- if (SvTRUE(GvSV(errgv)))
+ if (SvTRUE(ERRSV))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
- elog(ERROR, "creation of function failed : %s", SvPV(GvSV(errgv), na));
+ elog(ERROR, "creation of function failed : %s", SvPV_nolen(ERRSV));
}
if (count != 1) {
@@ -449,13 +449,13 @@ plperl_call_perl_func(plperl_proc_desc * desc, FunctionCallInfo fcinfo)
elog(ERROR, "plperl : didn't get a return item from function");
}
- if (SvTRUE(GvSV(errgv)))
+ if (SvTRUE(ERRSV))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
- elog(ERROR, "plperl : error from function : %s", SvPV(GvSV(errgv), na));
+ elog(ERROR, "plperl : error from function : %s", SvPV_nolen(ERRSV));
}
retval = newSVsv(POPs);
@@ -661,7 +661,7 @@ plperl_func_handler(PG_FUNCTION_ARGS)
else
{
retval = FunctionCall3(&prodesc->result_in_func,
- PointerGetDatum(SvPV(perlret, na)),
+ PointerGetDatum(SvPV_nolen(perlret)),
ObjectIdGetDatum(prodesc->result_in_elem),
Int32GetDatum(prodesc->result_in_len));
}
@@ -2184,6 +2184,6 @@ plperl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc)
sv_catpvf(output, "'%s' => undef,", attname);
}
sv_catpv(output, "}");
- output = perl_eval_pv(SvPV(output, na), TRUE);
+ output = perl_eval_pv(SvPV_nolen(output), TRUE);
return output;
}