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: | Raw Message | Whole Thread | 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 |