summaryrefslogtreecommitdiff
path: root/sql
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-10-31Bump ext ver to 2.5.0, add upgrade scriptsMarko Kreen
2012-02-25Add ability to create extenion from unpackaged.David E. Wheeler
2012-02-25Move SQL files to sql/ subdirectory.David E. Wheeler
2012-02-25Move tests to test subdirectory.David E. Wheeler
2011-10-25Add missing files for plproxy_target regtestMarko Kreen
2011-09-14regtests@9.1: ignore errors around 'create language plpgsql'Marko Kreen
As of 9.1, there is no clean way to get plpgsql into db that works across versions.
2011-09-07Keepalive parametersMarko Kreen
- keepalive_idle - keepalive_interval - keepalive_count
2011-02-02test argument type quotingMarko Kreen
2010-04-12Show remote database name in remote error messages.Marko Kreen
2010-03-16Discard notices from sqlmed test.Marko Kreen
DROP IF NOT EXIST can randomly show notice.
2010-01-11Improved remote error and notice handling.Marko Kreen
- Register libpq notice handler with PQsetNoticeReceiver - Extract details from err/notice with PQresultErrorField and pass to ereport(). - Improve state-machine in another_result().
2010-01-11Adds "SPLIT ALL" to specify that all array argumentsMartin Pihlak
are to be split.
2010-01-11Make regtests work across 8.2 .. 8.5Marko Kreen
- plpgsql is installed by default on 8.5+ - EUC_JP/UTF8 problems with 8.3+ - plproxy.sql output is different in 8.4+ - bytea output is different in 8.5+
2010-01-08Enable pl/proxy clusters to be defined by SQL/MED facilities.Martin Pihlak
Provide a plproxy foreign data wrapper and a function for validating cluster definitions. It is still possible to define clusters using configuration functions, however SQL/MED cluster definition takes precedence if available.
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
2009-09-11Fix argument value NULL check.Marko Kreen
Incoming NULL value could cause crash in function containing SELECT with different argument order. Due to thinko, NULL check was done with query arg index, instead of function arg index. Reported by João Matos
2009-06-29Make scanner accept dot as standalone symbolMarko Kreen
Currently PL/Proxy fails to parse following query: select (ret_numtuple(1)).num, (ret_numtuple(1)).name; The fix is to add "." to the SQLSYM rule in the lexer. This should be OK because an identifier chain will always be longer than a single dot, so flex will prefer it over parsing the single dot. Patch by Peter Eisentraut
2009-06-29Avoid parsing "SELECT (" as function callMarko Kreen
Currently PL/Proxy fails to parse following statement: select (0*0); As only SELECT statement is affected, fix it by explicitly checking for that case. In long-term, the function-call detection should be moved to parser, thus getting rid of the hack. Patch by Peter Eisentraut
2009-01-02allow direct argument references for RUN statement: RUN ON $1;Marko Kreen
2008-09-15make drop lang quiet on 8.2, remove unnceseccary dynquery testplproxy_2_0_7rc1Marko Kreen
2008-09-15use drop lang to allow plpgsql exist in template1Marko Kreen
2008-09-12remove setseed() from regtest as its not needed anymoreMarko Kreen
2008-09-12set client_encoding in regtest before non-ascii commentsMarko Kreen
2008-09-11more serious encoding testMarko Kreen
2008-09-11test also nonascii columnMarko Kreen
2008-09-10new regtest to detect encoding handling problems (draft)Marko Kreen
2008-07-29make plproxy_many robust against random() differencesMarko Kreen
2008-06-27accept int2 and int8 from hash functionMarko Kreen
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.
2008-05-14make RUN optional, defaulting to RUN ON 0;Marko Kreen
2007-11-19remove more mentions of statement_timeoutMarko Kreen
2007-11-19Remote 'statement_timeout' config parameter.Marko Kreen
It did not work in 2.0.2 and although it works now, it could not work in live env as the SET cannot be combined with main request, thus likely it will be executed on different backend.
2007-11-08test quotingMarko Kreen
2007-10-30test statement_timeoutMarko Kreen
2007-10-30insert a successful func inbetweenMarko Kreen
2007-10-29test missin connectMarko Kreen
2007-03-13Initial revisionMarko Kreen