Re: Unbreak plperl building

Lists: pgsql-patches
From: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
To: pgsql-patches(at)postgresql(dot)org
Subject: Unbreak plperl building
Date: 2000-08-26 12:46:24
Message-ID: 20000826164624.A89716@kapran.bitmcnit.bryansk.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

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).

I'm not subscribed to any of pgsql lists, sorry. Cc: please.

*** ./Makefile.orig Sat Aug 26 16:22:25 2000
--- ./Makefile Sat Aug 26 16:14:24 2000
***************
*** 20,30 ****
ifeq ($(USE_TCL), true)
$(MAKE) -C tcl $@
endif
# does't work bjm 2000-04-11
! #ifeq ($(USE_PERL), true)
! # -$(MAKE) $(MFLAGS) plperl/Makefile
! # -$(MAKE) $(MFLAGS) -C plperl $@
! #endif

plperl/Makefile: plperl/Makefile.PL
cd plperl && $(PERL) Makefile.PL POLLUTE=1
--- 20,32 ----
ifeq ($(USE_TCL), true)
$(MAKE) -C tcl $@
endif
+
# does't work bjm 2000-04-11
! # works again, 2000-08-26, Alex Kapranoff <kapr(at)crosswinds(dot)net>
! ifeq ($(USE_PERL), true)
! -$(MAKE) $(MFLAGS) plperl/Makefile
! -$(MAKE) $(MFLAGS) -C plperl $@
! endif

plperl/Makefile: plperl/Makefile.PL
cd plperl && $(PERL) Makefile.PL POLLUTE=1
*** ./plperl/plperl.c.orig Sat Aug 26 16:22:49 2000
--- ./plperl/plperl.c Sat Aug 26 16:03:07 2000
***************
*** 325,337 ****
count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
SPAGAIN;

! if (SvTRUE(GvSV(errgv)))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
! elog(ERROR, "creation of function failed : %s", SvPV(GvSV(errgv), na));
}

if (count != 1) {
--- 325,337 ----
count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
SPAGAIN;

! if (SvTRUE(ERRSV))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
! elog(ERROR, "creation of function failed : %s", SvPV_nolen(ERRSV));
}

if (count != 1) {
***************
*** 441,453 ****
elog(ERROR, "plperl : didn't get a return item from function");
}

! if (SvTRUE(GvSV(errgv)))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
! elog(ERROR, "plperl : error from function : %s", SvPV(GvSV(errgv), na));
}

retval = newSVsv(POPs);
--- 441,453 ----
elog(ERROR, "plperl : didn't get a return item from function");
}

! if (SvTRUE(ERRSV))
{
POPs;
PUTBACK;
FREETMPS;
LEAVE;
! elog(ERROR, "plperl : error from function : %s", SvPV_nolen(ERRSV));
}

retval = newSVsv(POPs);
***************
*** 651,657 ****
elog(ERROR, "plperl: SPI_finish() failed");

retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
! (SvPV(perlret, na),
prodesc->result_in_elem,
prodesc->result_in_len);

--- 651,657 ----
elog(ERROR, "plperl: SPI_finish() failed");

retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
! (SvPV_nolen(perlret),
prodesc->result_in_elem,
prodesc->result_in_len);

***************
*** 2189,2194 ****
sv_catpvf(output, "'%s' => undef,", attname);
}
sv_catpv(output, "}");
! output = perl_eval_pv(SvPV(output, na), TRUE);
return output;
}
--- 2189,2194 ----
sv_catpvf(output, "'%s' => undef,", attname);
}
sv_catpv(output, "}");
! output = perl_eval_pv(SvPV_nolen(output), TRUE);
return output;
}

--
Alex Kapranoff, Voice: +7(0832)791845.
127 days till brand new millenium...


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-08-28 14:00:36
Message-ID: 12456.967471236@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su> writes:
> 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.

The issue isn't so much that it's "broken" as that we've seen severe
portability problems with it --- it doesn't work on all platforms or
all releases of Perl. What do your proposed changes do for or against
that issue?

regards, tom lane


From: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-08-28 18:19:23
Message-ID: 20000828221923.A1661@kapran.bitmcnit.bryansk.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

On Mon, Aug 28, 2000 at 10:00:36AM -0400, Tom Lane wrote:
> Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su> writes:
> > 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.
>
> The issue isn't so much that it's "broken" as that we've seen severe
> portability problems with it --- it doesn't work on all platforms or
> all releases of Perl. What do your proposed changes do for or against
> that issue?

I really don't have many platforms for testing available here. I'll
try FreeBSD 4.1-STABLE and probably 3.5-STABLE. Those come with older
(and currently much more used) perl 5.005. No Linuxen of whatever
else, sorry.

These changes work around some nasty compile-time errors. The author
either had a very weird distribution of perl (home-made?) or
maybe just didn't have time to finish work (which is strange as one
can see from "complexity" of my patch).

Anyway, there aren't so many releases of perl available, really.
5.005 and 5.6.0 are surely the only ones to care about.

I just loved the idea of writing functions in Perl, and it works for
me now. Someone is likely to want it too, so I posted. Thanks for the
wonderful PostreeSQL, folks!

--
Alex Kapranoff, Voice: +7(0832)791845.
125 days till brand new millenium...


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-09-12 04:28:45
Message-ID: 200009120428.AAA10308@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

I have applied this and re-enabled plperl compilation. Thanks.

> 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).
>
> I'm not subscribed to any of pgsql lists, sorry. Cc: please.
>
> *** ./Makefile.orig Sat Aug 26 16:22:25 2000
> --- ./Makefile Sat Aug 26 16:14:24 2000
> ***************
> *** 20,30 ****
> ifeq ($(USE_TCL), true)
> $(MAKE) -C tcl $@
> endif
> # does't work bjm 2000-04-11
> ! #ifeq ($(USE_PERL), true)
> ! # -$(MAKE) $(MFLAGS) plperl/Makefile
> ! # -$(MAKE) $(MFLAGS) -C plperl $@
> ! #endif
>
> plperl/Makefile: plperl/Makefile.PL
> cd plperl && $(PERL) Makefile.PL POLLUTE=1
> --- 20,32 ----
> ifeq ($(USE_TCL), true)
> $(MAKE) -C tcl $@
> endif
> +
> # does't work bjm 2000-04-11
> ! # works again, 2000-08-26, Alex Kapranoff <kapr(at)crosswinds(dot)net>
> ! ifeq ($(USE_PERL), true)
> ! -$(MAKE) $(MFLAGS) plperl/Makefile
> ! -$(MAKE) $(MFLAGS) -C plperl $@
> ! endif
>
> plperl/Makefile: plperl/Makefile.PL
> cd plperl && $(PERL) Makefile.PL POLLUTE=1
> *** ./plperl/plperl.c.orig Sat Aug 26 16:22:49 2000
> --- ./plperl/plperl.c Sat Aug 26 16:03:07 2000
> ***************
> *** 325,337 ****
> count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> SPAGAIN;
>
> ! if (SvTRUE(GvSV(errgv)))
> {
> POPs;
> PUTBACK;
> FREETMPS;
> LEAVE;
> ! elog(ERROR, "creation of function failed : %s", SvPV(GvSV(errgv), na));
> }
>
> if (count != 1) {
> --- 325,337 ----
> count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> SPAGAIN;
>
> ! if (SvTRUE(ERRSV))
> {
> POPs;
> PUTBACK;
> FREETMPS;
> LEAVE;
> ! elog(ERROR, "creation of function failed : %s", SvPV_nolen(ERRSV));
> }
>
> if (count != 1) {
> ***************
> *** 441,453 ****
> elog(ERROR, "plperl : didn't get a return item from function");
> }
>
> ! if (SvTRUE(GvSV(errgv)))
> {
> POPs;
> PUTBACK;
> FREETMPS;
> LEAVE;
> ! elog(ERROR, "plperl : error from function : %s", SvPV(GvSV(errgv), na));
> }
>
> retval = newSVsv(POPs);
> --- 441,453 ----
> elog(ERROR, "plperl : didn't get a return item from function");
> }
>
> ! if (SvTRUE(ERRSV))
> {
> POPs;
> PUTBACK;
> FREETMPS;
> LEAVE;
> ! elog(ERROR, "plperl : error from function : %s", SvPV_nolen(ERRSV));
> }
>
> retval = newSVsv(POPs);
> ***************
> *** 651,657 ****
> elog(ERROR, "plperl: SPI_finish() failed");
>
> retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> ! (SvPV(perlret, na),
> prodesc->result_in_elem,
> prodesc->result_in_len);
>
> --- 651,657 ----
> elog(ERROR, "plperl: SPI_finish() failed");
>
> retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> ! (SvPV_nolen(perlret),
> prodesc->result_in_elem,
> prodesc->result_in_len);
>
> ***************
> *** 2189,2194 ****
> sv_catpvf(output, "'%s' => undef,", attname);
> }
> sv_catpv(output, "}");
> ! output = perl_eval_pv(SvPV(output, na), TRUE);
> return output;
> }
> --- 2189,2194 ----
> sv_catpvf(output, "'%s' => undef,", attname);
> }
> sv_catpv(output, "}");
> ! output = perl_eval_pv(SvPV_nolen(output), TRUE);
> return output;
> }
>
> --
> Alex Kapranoff, Voice: +7(0832)791845.
> 127 days till brand new millenium...
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-09-12 04:29:07
Message-ID: 200009120429.AAA10335@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

Tom, seems like this patch helps plperl, so I applied it.

> On Mon, Aug 28, 2000 at 10:00:36AM -0400, Tom Lane wrote:
> > Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su> writes:
> > > 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.
> >
> > The issue isn't so much that it's "broken" as that we've seen severe
> > portability problems with it --- it doesn't work on all platforms or
> > all releases of Perl. What do your proposed changes do for or against
> > that issue?
>
> I really don't have many platforms for testing available here. I'll
> try FreeBSD 4.1-STABLE and probably 3.5-STABLE. Those come with older
> (and currently much more used) perl 5.005. No Linuxen of whatever
> else, sorry.
>
> These changes work around some nasty compile-time errors. The author
> either had a very weird distribution of perl (home-made?) or
> maybe just didn't have time to finish work (which is strange as one
> can see from "complexity" of my patch).
>
> Anyway, there aren't so many releases of perl available, really.
> 5.005 and 5.6.0 are surely the only ones to care about.
>
> I just loved the idea of writing functions in Perl, and it works for
> me now. Someone is likely to want it too, so I posted. Thanks for the
> wonderful PostreeSQL, folks!
>
> --
> Alex Kapranoff, Voice: +7(0832)791845.
> 125 days till brand new millenium...
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026


From: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-09-12 14:49:05
Message-ID: 20000912184905.A1341@kapran.bitmcnit.bryansk.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

On Tue, Sep 12, 2000 at 12:28:45AM -0400, Bruce Momjian wrote:
> I have applied this and re-enabled plperl compilation. Thanks.

There were bad experiences with plperl on a RH with perl 5.004
reported on this list. With my patch applied.

> > 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.
[skip]

--
Alex Kapranoff, Voice: +7(0832)791845
110 days till brand new millenium...


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>, pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-09-16 19:03:16
Message-ID: Pine.LNX.4.21.0009162028510.1088-100000@peter
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

Still doesn't work here. I have Redhat 5.2, fairly average. Please disable
it.

Bruce Momjian writes:

> I have applied this and re-enabled plperl compilation. Thanks.
>
>
> > 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).
> >
> > I'm not subscribed to any of pgsql lists, sorry. Cc: please.
> >
> > *** ./Makefile.orig Sat Aug 26 16:22:25 2000
> > --- ./Makefile Sat Aug 26 16:14:24 2000
> > ***************
> > *** 20,30 ****
> > ifeq ($(USE_TCL), true)
> > $(MAKE) -C tcl $@
> > endif
> > # does't work bjm 2000-04-11
> > ! #ifeq ($(USE_PERL), true)
> > ! # -$(MAKE) $(MFLAGS) plperl/Makefile
> > ! # -$(MAKE) $(MFLAGS) -C plperl $@
> > ! #endif
> >
> > plperl/Makefile: plperl/Makefile.PL
> > cd plperl && $(PERL) Makefile.PL POLLUTE=1
> > --- 20,32 ----
> > ifeq ($(USE_TCL), true)
> > $(MAKE) -C tcl $@
> > endif
> > +
> > # does't work bjm 2000-04-11
> > ! # works again, 2000-08-26, Alex Kapranoff <kapr(at)crosswinds(dot)net>
> > ! ifeq ($(USE_PERL), true)
> > ! -$(MAKE) $(MFLAGS) plperl/Makefile
> > ! -$(MAKE) $(MFLAGS) -C plperl $@
> > ! endif
> >
> > plperl/Makefile: plperl/Makefile.PL
> > cd plperl && $(PERL) Makefile.PL POLLUTE=1
> > *** ./plperl/plperl.c.orig Sat Aug 26 16:22:49 2000
> > --- ./plperl/plperl.c Sat Aug 26 16:03:07 2000
> > ***************
> > *** 325,337 ****
> > count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> > SPAGAIN;
> >
> > ! if (SvTRUE(GvSV(errgv)))
> > {
> > POPs;
> > PUTBACK;
> > FREETMPS;
> > LEAVE;
> > ! elog(ERROR, "creation of function failed : %s", SvPV(GvSV(errgv), na));
> > }
> >
> > if (count != 1) {
> > --- 325,337 ----
> > count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> > SPAGAIN;
> >
> > ! if (SvTRUE(ERRSV))
> > {
> > POPs;
> > PUTBACK;
> > FREETMPS;
> > LEAVE;
> > ! elog(ERROR, "creation of function failed : %s", SvPV_nolen(ERRSV));
> > }
> >
> > if (count != 1) {
> > ***************
> > *** 441,453 ****
> > elog(ERROR, "plperl : didn't get a return item from function");
> > }
> >
> > ! if (SvTRUE(GvSV(errgv)))
> > {
> > POPs;
> > PUTBACK;
> > FREETMPS;
> > LEAVE;
> > ! elog(ERROR, "plperl : error from function : %s", SvPV(GvSV(errgv), na));
> > }
> >
> > retval = newSVsv(POPs);
> > --- 441,453 ----
> > elog(ERROR, "plperl : didn't get a return item from function");
> > }
> >
> > ! if (SvTRUE(ERRSV))
> > {
> > POPs;
> > PUTBACK;
> > FREETMPS;
> > LEAVE;
> > ! elog(ERROR, "plperl : error from function : %s", SvPV_nolen(ERRSV));
> > }
> >
> > retval = newSVsv(POPs);
> > ***************
> > *** 651,657 ****
> > elog(ERROR, "plperl: SPI_finish() failed");
> >
> > retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> > ! (SvPV(perlret, na),
> > prodesc->result_in_elem,
> > prodesc->result_in_len);
> >
> > --- 651,657 ----
> > elog(ERROR, "plperl: SPI_finish() failed");
> >
> > retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> > ! (SvPV_nolen(perlret),
> > prodesc->result_in_elem,
> > prodesc->result_in_len);
> >
> > ***************
> > *** 2189,2194 ****
> > sv_catpvf(output, "'%s' => undef,", attname);
> > }
> > sv_catpv(output, "}");
> > ! output = perl_eval_pv(SvPV(output, na), TRUE);
> > return output;
> > }
> > --- 2189,2194 ----
> > sv_catpvf(output, "'%s' => undef,", attname);
> > }
> > sv_catpv(output, "}");
> > ! output = perl_eval_pv(SvPV_nolen(output), TRUE);
> > return output;
> > }
> >
> > --
> > Alex Kapranoff, Voice: +7(0832)791845.
> > 127 days till brand new millenium...
> >
>
>
>

--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Alex Kapranoff <alex(at)kapran(dot)bitmcnit(dot)bryansk(dot)su>, pgsql-patches(at)postgresql(dot)org
Subject: Re: Unbreak plperl building
Date: 2000-09-25 12:43:02
Message-ID: 200009251243.IAA02842@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

> Still doesn't work here. I have Redhat 5.2, fairly average. Please disable
> it.

I have again disabled plperl.

>
> Bruce Momjian writes:
>
> > I have applied this and re-enabled plperl compilation. Thanks.
> >
> >
> > > 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).
> > >
> > > I'm not subscribed to any of pgsql lists, sorry. Cc: please.
> > >
> > > *** ./Makefile.orig Sat Aug 26 16:22:25 2000
> > > --- ./Makefile Sat Aug 26 16:14:24 2000
> > > ***************
> > > *** 20,30 ****
> > > ifeq ($(USE_TCL), true)
> > > $(MAKE) -C tcl $@
> > > endif
> > > # does't work bjm 2000-04-11
> > > ! #ifeq ($(USE_PERL), true)
> > > ! # -$(MAKE) $(MFLAGS) plperl/Makefile
> > > ! # -$(MAKE) $(MFLAGS) -C plperl $@
> > > ! #endif
> > >
> > > plperl/Makefile: plperl/Makefile.PL
> > > cd plperl && $(PERL) Makefile.PL POLLUTE=1
> > > --- 20,32 ----
> > > ifeq ($(USE_TCL), true)
> > > $(MAKE) -C tcl $@
> > > endif
> > > +
> > > # does't work bjm 2000-04-11
> > > ! # works again, 2000-08-26, Alex Kapranoff <kapr(at)crosswinds(dot)net>
> > > ! ifeq ($(USE_PERL), true)
> > > ! -$(MAKE) $(MFLAGS) plperl/Makefile
> > > ! -$(MAKE) $(MFLAGS) -C plperl $@
> > > ! endif
> > >
> > > plperl/Makefile: plperl/Makefile.PL
> > > cd plperl && $(PERL) Makefile.PL POLLUTE=1
> > > *** ./plperl/plperl.c.orig Sat Aug 26 16:22:49 2000
> > > --- ./plperl/plperl.c Sat Aug 26 16:03:07 2000
> > > ***************
> > > *** 325,337 ****
> > > count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> > > SPAGAIN;
> > >
> > > ! if (SvTRUE(GvSV(errgv)))
> > > {
> > > POPs;
> > > PUTBACK;
> > > FREETMPS;
> > > LEAVE;
> > > ! elog(ERROR, "creation of function failed : %s", SvPV(GvSV(errgv), na));
> > > }
> > >
> > > if (count != 1) {
> > > --- 325,337 ----
> > > count = perl_call_pv("mksafefunc", G_SCALAR | G_EVAL | G_KEEPERR);
> > > SPAGAIN;
> > >
> > > ! if (SvTRUE(ERRSV))
> > > {
> > > POPs;
> > > PUTBACK;
> > > FREETMPS;
> > > LEAVE;
> > > ! elog(ERROR, "creation of function failed : %s", SvPV_nolen(ERRSV));
> > > }
> > >
> > > if (count != 1) {
> > > ***************
> > > *** 441,453 ****
> > > elog(ERROR, "plperl : didn't get a return item from function");
> > > }
> > >
> > > ! if (SvTRUE(GvSV(errgv)))
> > > {
> > > POPs;
> > > PUTBACK;
> > > FREETMPS;
> > > LEAVE;
> > > ! elog(ERROR, "plperl : error from function : %s", SvPV(GvSV(errgv), na));
> > > }
> > >
> > > retval = newSVsv(POPs);
> > > --- 441,453 ----
> > > elog(ERROR, "plperl : didn't get a return item from function");
> > > }
> > >
> > > ! if (SvTRUE(ERRSV))
> > > {
> > > POPs;
> > > PUTBACK;
> > > FREETMPS;
> > > LEAVE;
> > > ! elog(ERROR, "plperl : error from function : %s", SvPV_nolen(ERRSV));
> > > }
> > >
> > > retval = newSVsv(POPs);
> > > ***************
> > > *** 651,657 ****
> > > elog(ERROR, "plperl: SPI_finish() failed");
> > >
> > > retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> > > ! (SvPV(perlret, na),
> > > prodesc->result_in_elem,
> > > prodesc->result_in_len);
> > >
> > > --- 651,657 ----
> > > elog(ERROR, "plperl: SPI_finish() failed");
> > >
> > > retval = (Datum) (*fmgr_faddr(&prodesc->result_in_func))
> > > ! (SvPV_nolen(perlret),
> > > prodesc->result_in_elem,
> > > prodesc->result_in_len);
> > >
> > > ***************
> > > *** 2189,2194 ****
> > > sv_catpvf(output, "'%s' => undef,", attname);
> > > }
> > > sv_catpv(output, "}");
> > > ! output = perl_eval_pv(SvPV(output, na), TRUE);
> > > return output;
> > > }
> > > --- 2189,2194 ----
> > > sv_catpvf(output, "'%s' => undef,", attname);
> > > }
> > > sv_catpv(output, "}");
> > > ! output = perl_eval_pv(SvPV_nolen(output), TRUE);
> > > return output;
> > > }
> > >
> > > --
> > > Alex Kapranoff, Voice: +7(0832)791845.
> > > 127 days till brand new millenium...
> > >
> >
> >
> >
>
> --
> Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/
>
>
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026