summaryrefslogtreecommitdiff
path: root/src/function.c
AgeCommit message (Collapse)Author
2013-01-31Add language validatorPeter Eisentraut
Refactor some internals to make this possible. Mainly, FunctionCallInfo is not available when validating, so avoid accessing that if not required. Rename plproxy_compile() to plproxy_compile_and_cache() and the previously internal fn_compile() to plproxy_compile(). This matches their purpose better and allows the validator to call plproxy_compile() without invoking execution-time dependent code. Many error test cases have changed because the validator catches errors when the function is created, not when it is called. Raise the extension version to 2.5.1 to be able to upgrade from non-validator installations.
2012-11-17Use PROVOLATILE constantMarko Kreen
2012-11-16Accept 't' proargmode, use symbolic names.Marko Kreen
Also throw error on unknown proargmode. Fixes crash reported by Sébastien Lardière.
2012-10-11Table invalidationMarko Kreen
On each call, recheck type relation rowstamp. If it proves to be noticeable, we can use syscache callback infrastructure for that, but it will be much more complex.
2010-01-11Adds "SPLIT ALL" to specify that all array argumentsMartin Pihlak
are to be split.
2009-11-10New SPLIT statement.Marko Kreen
It will split incoming array(s) into per-partition arrays. Roughly based on design here: http://lists.pgfoundry.org/pipermail/plproxy-users/2008-June/000093.html Written by Martin Pihlak
2009-09-15More flexible CONNECT function.Marko Kreen
It allows CONNECT to take function arguments or do function calls: CONNECT func(..); CONNECT argname; CONNECT $argnum; NB: giving untrusted users ability to specify full connect string creates security hole. Eg it can real cleartext passwords from .pgpass/pg_service. If such function cannot be avoided, it's access rights need to be restricted. Patch by Ian Sollars
2008-06-26Support dynamic record as return type.Marko Kreen
Now PL/Proxy allows function defined as RETURNS RECORD without OUT parameters. Such functions need actual result column types specified with AS clause: SELECT * FROM func() AS (col1 type1, col2 type2); PL/Proxy needs to detect the actual type on each call and pass it to remote database. Current implementation caches last record type, drops it if type changes. Original patch by Lei Yonghua, applied with some modifications.
2007-11-08proper quoting for function and result column namesMarko Kreen
2007-10-11upgrade to 8.3 API for VARDATAMarko Kreen
2007-03-28row stamp checks for both 8.2 and 8.3Marko Kreen
2007-03-28remove trailing whitespaceMarko Kreen
2007-03-13Initial revisionMarko Kreen