summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-11-05remote_wait_for_cancel: avoid unnecessary warningHEADmasterMarko Kreen
If the remote server cannot be connected and query is canceled, don't show random warning about "Unfinished connection". Patch by Fazal Majid
2013-07-08remote_wait_for_cancel: move pending check before poll()Marko Kreen
Otherwise it can still hang.
2013-04-15Comment typoMarko Kreen
2013-04-15remote_wait_for_cancel: wait only C_QUERY_READ connections.Marko Kreen
Previous check was too broad and left plproxy hanging. Reported-By: Tarvi Pillessaar
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-23Fix build with PostgreSQL 9.3develPeter Eisentraut
Some needed declarations have been moved to the new header htup_details.h. stringinfo.h needs to be included explicitly now. It should always have been necessary, but might have come in through other headers.
2012-11-17Move RANGE to acceptable types, add testsMarko Kreen
2012-11-17Use PROVOLATILE constantMarko Kreen
2012-11-17Use TYPTYPE symbolic constantsMarko 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-12After sending cancel req, wait for remote errorMarko Kreen
Previously, as soon as cancel requests were send, plproxy re-throwed the error, without waiting for reaction from backend. Such behaviour creates 2 problems: - If plproxy backend is closed immediately, the bouncer will see plproxy close before cancel from backend, thus seeing mid-tx close, thus dropping the connection. - If new query comes in to plproxy backend, plproxy itself will see dirty connection, closing it, thus also causing close of server connection in bouncer. In both cases it can cause server connection drop in pooler. New behaviour of waiting query result should fix it.
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.
2012-10-11Support for dropped fieldsMarko Kreen
2012-04-13Proper init and cleanup for ConnectionStateMarko Kreen
Otherwise there can be garbage in struct
2012-04-13Another get_role_oid() fixupMarko Kreen
2012-04-12Use container_of() to get main struct from nodeMarko Kreen
Direct casts hardwire the assumption that node is always first member of struct.
2012-04-12Provide get_role_oid() on older PostgresMarko Kreen
2012-04-03New config var: 'default_user'Marko Kreen
This allows to fall back to old default of 'session_user'. New default is 'current_user'.
2012-04-02Clear old config before loading new one.Marko Kreen
This allows falling back to defaults when some value is dropped from config.
2012-03-29Switch from session_user to current_user.Marko Kreen
Plus minor cleanups.
2012-03-29User mapping now almost works on sql/med tooMarko Kreen
2012-03-29rowstamp: allow usage on zeroed stampMarko Kreen
2012-03-29Per-user mapping for non-sqlmed clustersMarko Kreen
2012-03-29Put per-cluster connect strings into treeMarko Kreen
2012-03-29Convert real cluster to treeMarko Kreen
2012-03-29Use binary tree for fake cluster storageMarko Kreen
- Add aatree.[ch] - Dont run maintenance if no init is done - Simplify header deps in Makefile - Store fake cluster in binary tree
2012-03-29Create separate structure for current connectionMarko Kreen
2012-03-07Sync with cache invalidation changes in 9.2Marko Kreen
2012-03-07Add printf attribute to vararg error functionsMarko Kreen
2011-11-05Support ENUM types.Zoltán Böszörményi
2011-10-12SPLIT: fix elem type info leakMarko Kreen
2011-09-07Keepalive parametersMarko Kreen
- keepalive_idle - keepalive_interval - keepalive_count
2011-08-15support global SQL/MED cluster optionsPetr Jelinek
2011-01-21win32: poll() compat fix - w32 does not use bitmapMarko Kreen
2011-01-20New TARGET satement, to redirect target function.Marko Kreen
2011-01-20scanner: define YY_NO_INPUT to ignore unused yyinput functionMarko Kreen
2010-09-06Make possible to disallow SELECT statement.Marko Kreen
make NO_SELECT=1 make install
2010-07-28Fix returning of many-column result typesMarko Kreen
Old code used FUNC_MAX_ARGS as limit for number of columns, but composite types can be larger. Use dynamic allocation instead. Patch by Hans-Jürgen Schönig
2010-04-28Survive missing sqlstate field on error messagesMarko Kreen
2010-04-12Avoid unused func warning about yy_fatal_error()Marko Kreen
2010-04-12Show remote database name in remote error messages.Marko Kreen
2010-04-12Fix hint field reference.Marko Kreen
2010-03-16Flex >= 2.5.35 declares it's own functions properly now, so omit our defs ↵Marko Kreen
for it. That also avoid the signature confict on macos 10.6 which seems to have changed the signatures from original ones.
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-08Fix standard_conforming_string incompat vs. 8.5Marko Kreen
In 8.5: - <parser/gramparse.h> is tagged as internal header It also defines now flex/bison symbols that conflict with plproxy parser. - <parser/parser.h> describes external API As the stdstr definition was problematic on older versions anyway, define it explicitly for those.
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-10-28geterrcode(): Switch memory context to work around Assert() in CopyErrorData()Marko Kreen
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