Skip site navigation (1) Skip section navigation (2)

Re: Unbreak plperl building

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 (view raw or flat)
Thread:
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

In response to

pgsql-patches by date

Next:From: Bruce MomjianDate: 2000-09-25 12:45:02
Subject: Re: Fix for FK not finding columns when PK is defined
Previous:From: Marko KreenDate: 2000-09-25 07:21:46
Subject: binary operators on integers

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group