| From: | Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Cc: | Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com> |
| Subject: | Feature patch 1 for plperl [PATCH] |
| Date: | 2010-01-08 15:01:07 |
| Message-ID: | 20100108150107.GM2505@timac.local |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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 | Content-Type | Size |
|---|---|---|
| refactor3-a3-plperl-feature1r3.patch | text/x-patch | 72.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2010-01-08 15:04:35 | Re: Add .gitignore files to CVS? |
| Previous Message | Robert Haas | 2010-01-08 15:00:37 | Re: Serializable implementation |