On Sat, Dec 11, 2010 at 5:27 PM, Andrew Dunstan <andrew.duns...@pgexperts.com> wrote: > Yesterday I did a bit of work on allowing bytea values to be passed into and > out of plperl in binary format, effectively removing the need to escape and > de-escape them. (The work can be seen on he plperlargs branch of my > development repo at > <https://github.com/adunstan/postgresql-dev/commits/plperlargs/>). > > At the moment the behaviour is triggered by a custom setting > (plperl.pass_binary_bytea), but this isn't really satisfactory. We could > turn it on permanently, but that would break a lot of legacy code. What we > really need is a way of marking a function with some attributes. Of course, > we could put it in the program text like plpgsql's #variable_conflict, but > that's really rather ugly. The grammar already has an attribute mechanism > for functions, and ISTM we just need to extend that a bit to allow setting > of function attributes reasonably flexibly, much as we can now specify > format options on EXPLAIN or we'll soon be able to specify options for > foreign tables. > > Thoughts?
Well, you could set that GUC (plperl.pass_binary_bytea) on a function without changing any syntax on at all. CREATE FUNCTION name (args) ... SET plperl.pass_binary_bytea = true; -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers