| Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
Also throw error on unknown proargmode.
Fixes crash reported by Sébastien Lardière.
|
|
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.
|
|
are to be split.
|
|
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
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
|
|
|