aboutsummaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
Commit message (Collapse)AuthorAge
* Provide an upgrade strategy for dump files containing functions declaredTom Lane2002-09-21
| | | | | | | | 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.
* Fix includes for plperl: ensure postgres.h is included first,Tom Lane2002-09-04
| | | | remove unnecessary inclusions.
* pgindent run.Bruce Momjian2002-09-04
|
* Add a bunch of pseudo-types to replace the behavior formerly associatedTom Lane2002-08-22
| | | | | | 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 ...
* This patch wraps all accesses to t_xmin, t_cmin, t_xmax, and t_cmax inBruce Momjian2002-06-15
| | | | | | | | | | | 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
* Create an internal semaphore API that is not tied to SysV semaphores.Tom Lane2002-05-05
| | | | | | 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.
* Add new elog() levels to stored procedure languages. plperl DEBUG hackBruce Momjian2002-03-06
| | | | still needed because only removed in 7.4.
* Tweak plperl.c to compile against threaded Perls, per report fromTom Lane2002-01-24
| | | | cturner@redhat.com.
* Fix incorrect test for whether Perl code is returning undef. ThisTom Lane2002-01-24
| | | | allows plperl routines to return NULL as intended.
* New pgindent run with fixes suggested by Tom. Patch manually reviewed,Bruce Momjian2001-11-05
| | | | initdb/regression tests pass.
* pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian2001-10-25
| | | | tests pass.
* Fix plperl to discard cached function definition after CREATE ORTom Lane2001-10-19
| | | | REPLACE FUNCTION. Clean up typlen/typmod errors inherited from pltcl.
* Rearrange fmgr.c and relcache so that it's possible to keep FmgrInfoTom Lane2001-10-06
| | | | | | | | | 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.
* Well, after persuading cvsup and cvs that it _is_ possible to have localBruce Momjian2001-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix a few missed NOIND usages.Tom Lane2001-06-09
|
* pltcl, plperl, and plpython all suffer the same bug previously fixedTom Lane2001-06-01
| | | | | | | | 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?
* pgindent run. Make it all clean.Bruce Momjian2001-03-22
|
* > > I have attached a simple change to src/pl/plperl/plperl.c toBruce Momjian2001-01-19
| | | | | | | | > > 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
* Improve error message for erroneous use of 'opaque' as plperl argumentTom Lane2000-12-08
| | | | or return type.
* Revise handling of oldstyle/newstyle functions per recent discussionsTom Lane2000-11-20
| | | | | | | | | 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.
* Change SearchSysCache coding conventions so that a reference count isTom Lane2000-11-16
| | | | | | | 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.
* Eliminate POLLUTE=1 hack for cross-Perl-version compatibility by usingTom Lane2000-10-24
| | | | Devel::PPPort instead. Thanks to Gilles Darold for doing the legwork.
* This patch, when applied in src/pl will unbreak plperl inBruce Momjian2000-09-12
| | | | | | | | | | | | | | 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
* Update textin() and textout() to new fmgr style. This is just phaseTom Lane2000-07-05
| | | | | 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.
* Latest round of fmgr updates. All functions with bool,char, or int2Tom Lane2000-06-05
| | | | | | | 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.
* Third round of fmgr updates: eliminate calls using fmgr() andTom Lane2000-05-30
| | | | | fmgr_faddr() in favor of new-style calls. Lots of cleanup of sloppy casts to use XXXGetDatum and DatumGetXXX ...
* Cleanup of <> and ""Bruce Momjian2000-05-29
|
* Second round of fmgr changes: triggers are now invoked in new style,Tom Lane2000-05-29
| | | | CurrentTriggerData is history.
* First round of changes for new fmgr interface. fmgr itself and theTom Lane2000-05-28
| | | | | | | 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.
* Security fix for plperl.Bruce Momjian2000-04-18
|
* Show failing OID in 'cache lookup failed' messages;Tom Lane2000-04-16
| | | | print OIDs as %u not %d.
* Ye-old pgindent run. Same 4-space tabs.Bruce Momjian2000-04-12
|
* HP's compiler objects (quite rightly too) to 'static void foo();'Tom Lane2000-02-19
| | | | followed by 'extern void foo() { ... }'.
* Attached is a uuencoded tarball that containsBruce Momjian2000-01-29
| | | | | | | | | | | | 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
* Well, I finally solved the linking problemBruce Momjian2000-01-20
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