Feature patch 1 for plperl [PATCH] - Mailing list pgsql-hackers

From Tim Bunce
Subject Feature patch 1 for plperl [PATCH]
Date
Msg-id 20100108150107.GM2505@timac.local
Whole thread Raw
Responses Re: Feature patch 1 for plperl [PATCH]  ("David E. Wheeler" <david@kineticode.com>)
Re: Feature patch 1 for plperl [PATCH]  (Robert Haas <robertmhaas@gmail.com>)
Re: Feature patch 1 for plperl [PATCH]  (Peter Eisentraut <peter_e@gmx.net>)
Re: Feature patch 1 for plperl [PATCH]  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I didn't get any significant feedback from the earlier draft so here's
the finished 'feature patch 1' for plperl.  (This builds on my earlier
plperl refactoring patch, and the follow-on ppport.h patch.)

Significant changes from the first draft:
- New GUC plperl.on_perl_init='...perl...' for admin use.
- New GUC plperl.on_trusted_init='...perl...' for plperl user use.
- New GUC plperl.on_untrusted_init='...perl...' for plperlu user use.
- END blocks now run at backend exit (fixes bug #5066).
- Stored procedure subs are now given names ($name__$oid).
- More error checking and reporting.
- Warnings no longer have an extra newline in the NOTICE text.
- Various minor optimizations like pre-growing data structures.

Additional changes from the second draft:
- SPI functions aren't available during plperl.on_*_init execution.
- Added utility functions: quote_literal, quote_nullable, quote_ident,
    encode_bytea, decode_bytea, looks_like_number,
    encode_array_literal, encode_array_constructor.
- Enabled plperl to "use"/"require" safely by redirecting the require
    opcode to code that dies if module not already loaded.
- Corresponding changes to the documentation.

Additional changes in this version:
- Added the missing ', arguments' to docs of spi_exec_prepared().
- Added Util.c to list of files for plperl make clean to delete.

I'll add this to the commitfest.

Tim.


Attachment

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Serializable implementation
Next
From: Alvaro Herrera
Date:
Subject: Re: Add .gitignore files to CVS?