summaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
AgeCommit message (Collapse)Author
2002-09-21Provide an upgrade strategy for dump files containing functions declaredTom Lane
with OPAQUE. CREATE LANGUAGE, CREATE TRIGGER, and CREATE TYPE will all accept references to functions declared with OPAQUE --- but they will issue a NOTICE, and will modify the function entries in pg_proc to have the preferred type-safe argument or result types instead of OPAQUE. Per recent pghackers discussions.
2002-09-04Fix includes for plperl: ensure postgres.h is included first,Tom Lane
remove unnecessary inclusions.
2002-09-04pgindent run.Bruce Momjian
2002-08-22Add a bunch of pseudo-types to replace the behavior formerly associatedTom Lane
with OPAQUE, as per recent pghackers discussion. I still want to do some more work on the 'cstring' pseudo-type, but I'm going to commit the bulk of the changes now before the tree starts shifting under me ...
2002-06-15This patch wraps all accesses to t_xmin, t_cmin, t_xmax, and t_cmax inBruce Momjian
HeapTupleHeaderData in setter and getter macros called HeapTupleHeaderGetXmin, HeapTupleHeaderSetXmin etc. It also introduces a "virtual" field xvac by defining HeapTupleHeaderGetXvac and HeapTupleHeaderSetXvac. Xvac is used by VACUUM, in fact it is stored in t_cmin. Manfred Koizar
2002-05-05Create an internal semaphore API that is not tied to SysV semaphores.Tom Lane
As proof of concept, provide an alternate implementation based on POSIX semaphores. Also push the SysV shared-memory implementation into a separate file so that it can be replaced conveniently.
2002-03-06Add new elog() levels to stored procedure languages. plperl DEBUG hackBruce Momjian
still needed because only removed in 7.4.
2002-01-24Tweak plperl.c to compile against threaded Perls, per report fromTom Lane
cturner@redhat.com.
2002-01-24Fix incorrect test for whether Perl code is returning undef. ThisTom Lane
allows plperl routines to return NULL as intended.
2001-11-05New pgindent run with fixes suggested by Tom. Patch manually reviewed,Bruce Momjian
initdb/regression tests pass.
2001-10-25pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian
tests pass.
2001-10-19Fix plperl to discard cached function definition after CREATE ORTom Lane
REPLACE FUNCTION. Clean up typlen/typmod errors inherited from pltcl.
2001-10-06Rearrange fmgr.c and relcache so that it's possible to keep FmgrInfoTom Lane
lookup info in the relcache for index access method support functions. This makes a huge difference for dynamically loaded support functions, and should save a few cycles even for built-in ones. Also tweak dfmgr.c so that load_external_function is called only once, not twice, when doing fmgr_info for a dynamically loaded function. All per performance gripe from Teodor Sigaev, 5-Oct-01.
2001-06-18Well, after persuading cvsup and cvs that it _is_ possible to have localBruce Momjian
modifiable repositories, I have a clean untrusted plperl patch to offer you :) Highlights: * There's one perl interpreter used for both trusted and untrusted procedures. I do think its unnecessary to keep two perl interpreters around. If someone can break out from trusted "Safe" perl mode, well, they can do what they want already. If someone disagrees, I can change this. * Opcode is not statically loaded anymore. Instead, we load Dynaloader, which then can grab Opcode (and anything else you can 'use') on its own. * Checked to work on FreeBSD 4.3 + perl 5.5.3 , OpenBSD 2.8 + perl5.6.1, RedHat 6.2 + perl 5.5.3 * Uses ExtUtils::Embed to find what options are necessary to link with perl shared libraries * createlang is also updated, it can create untrusted perl using 'plperlu' * Example script (assuming you have Mail::Sendmail installed): create function foo() returns text as ' use Mail::Sendmail; %mail = ( To => q(you@yourname.com), From => q(me@here.com), Message => "This is a very short message" ); sendmail(%mail) or die $Mail::Sendmail::error; return "OK. Log says:\n", $Mail::Sendmail::log; ' language 'plperlu'; Alex Pilosov
2001-06-09Fix a few missed NOIND usages.Tom Lane
2001-06-01pltcl, plperl, and plpython all suffer the same bug previously fixedTom Lane
in plpgsql: they fail for datatypes that have old-style I/O functions due to caching FmgrInfo structs with wrong fn_mcxt lifetime. Although the plpython fix seems straightforward, I can't check it here since I don't have Python installed --- would someone check it?
2001-03-22pgindent run. Make it all clean.Bruce Momjian
2001-01-19> > I have attached a simple change to src/pl/plperl/plperl.c toBruce Momjian
> > enable the :bash_math opcodes. Currently plperl.c only > > enables the :default opcodes. This leave out about five of six > > math functions including sqrt(). Travis Bauer
2000-12-08Improve error message for erroneous use of 'opaque' as plperl argumentTom Lane
or return type.
2000-11-20Revise handling of oldstyle/newstyle functions per recent discussionsTom Lane
in pghackers list. Support for oldstyle internal functions is gone (no longer needed, since conversion is complete) and pg_language entry 'internal' now implies newstyle call convention. pg_language entry 'newC' is gone; both old and newstyle dynamically loaded C functions are now called language 'C'. A newstyle function must be identified by an associated info routine. See src/backend/utils/fmgr/README.
2000-11-16Change SearchSysCache coding conventions so that a reference count isTom Lane
maintained for each cache entry. A cache entry will not be freed until the matching ReleaseSysCache call has been executed. This eliminates worries about cache entries getting dropped while still in use. See my posting to pg-hackers of even date for more info.
2000-10-24Eliminate POLLUTE=1 hack for cross-Perl-version compatibility by usingTom Lane
Devel::PPPort instead. Thanks to Gilles Darold for doing the legwork.
2000-09-12This patch, when applied in src/pl will unbreak plperl inBruce Momjian
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
2000-07-05Update textin() and textout() to new fmgr style. This is just phaseTom Lane
one of updating the whole text datatype, but there are so dang many calls of these two routines that it seems worth a separate commit.
2000-06-05Latest round of fmgr updates. All functions with bool,char, or int2Tom Lane
inputs have been converted to newstyle. This should go a long way towards fixing our portability problems with platforms where char and short parameters are passed differently from int-width parameters. Still more to do for the Alpha port however.
2000-05-30Third round of fmgr updates: eliminate calls using fmgr() andTom Lane
fmgr_faddr() in favor of new-style calls. Lots of cleanup of sloppy casts to use XXXGetDatum and DatumGetXXX ...
2000-05-29Cleanup of <> and ""Bruce Momjian
2000-05-29Second round of fmgr changes: triggers are now invoked in new style,Tom Lane
CurrentTriggerData is history.
2000-05-28First round of changes for new fmgr interface. fmgr itself and theTom Lane
key call sites are changed, but most called functions are still oldstyle. An exception is that the PL managers are updated (so, for example, NULL handling now behaves as expected in plperl and plpgsql functions). NOTE initdb is forced due to added column in pg_proc.
2000-04-18Security fix for plperl.Bruce Momjian
2000-04-16Show failing OID in 'cache lookup failed' messages;Tom Lane
print OIDs as %u not %d.
2000-04-12Ye-old pgindent run. Same 4-space tabs.Bruce Momjian
2000-02-19HP's compiler objects (quite rightly too) to 'static void foo();'Tom Lane
followed by 'extern void foo() { ... }'.
2000-01-29Attached is a uuencoded tarball that containsBruce Momjian
3 new files and two patches for the plperl subdir. These changes add the ability for plperl functions to call 'elog'. It also sets up the frame work to allow me to add access to the SPI functions. -- Mark Hollomon
2000-01-20Well, I finally solved the linking problemBruce Momjian
that kept me from making perl secure. Attached is uuencoded tarball to add PL/perl to postgresql. Things I know don't work. -- triggers -- SPI The README file has a _VERY_ short tutorial. Mark Hollomon