Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
103 lines (67 sloc) 3.42 KB
2008-07-xx - PlProxy 2.0.6 - "Agile Voodoo"
= Features =
* Support functions that return plain RECORD without
OUT parameters. Such functions need result type
specified on each call with AS clause and the
types need to be sent to remote database also.
(Lei Yonghua)
This makes possible to use PL/Proxy for dynamic queries:
CREATE FUNCTION run_query(sql text) RETURNS RECORD ..
SELECT * FROM run_query('select a,b from ..') AS (a int, b text);
* Accept int2/int8 values from hash function,
in addiditon to int4.
= Fixes =
* Replace bitfields with bool to conform better
with Postgres coding style.
* Don't use alloca() in parser.
* Make scanner more robust to allocation errors
by doing total reset before parsing.
2008-06-06 - PlProxy 2.0.5 - "Universal Shredder"
* Fix crash if a function with "CLUSTER 'name';"
is parsed after function with "CLUSTER func();".
A palloc()ed pointer was not reset.
* RUN ON is now optional, defaulting to RUN ON ANY;
Should make creating simple RPC and load-balancing
functions easier easier.
* Make compat poll() function behave more like actual poll().
2008-01-04 - PlProxy 2.0.4 - "Vampire-proof"
* Fix crash due to bad error reporting when remote db
closes socket unexpectedly.
* Use pg_strcasecmp to compare encodings.
* Log encoding values if it fails to apply.
* Replace select(2) with poll(2) to allow large fd values.
Old select(2) usage could cause problems when plproxy
was installed on database with lot of tables/indexes,
where Postgres itself could have had lot of files open.
* Disable binary I/O for timestamp(tz) and date/time types,
to avoid problems when local and remote Postgres have
different setting for integer_datetimes.
2007-12-10 - PlProxy 2.0.3 - "Faster Than A Fresh Zombie"
= Features =
* Explicitly specify result column names and types in query.
Lets say there is function somefunc(out id int4, out data text).
Previously pl/proxy issued following query:
SELECT * FROM somefunc()
And later tried to work out which column goes where. Now it issues:
SELECT id::int4, data::text FROM somefunc()
For functions without named return paramenters, eg. just "RETURNS text":
SELECT r::text FROM anotherfunc() r
This gives better type safety when using binary I/O, allows signatures
differ in deterministic ways and creates safe upgrade path for signatures.
Only downside is that existing functions with wildly different signatures
stop working, but as they work on pure luck anyway, I'm not worried.
* Quote function and result column names properly.
* Set client_encoding on remote database to be equal to local one.
* Tutorial by Steve Singer.
= Fixes =
* Support 8.3 (handle short varlena header)
* Support old flex (2.5.4) Previously flex >= 2.5.33 was required.
* Fix 'make deb', include actual debian/changelog.
* Remove config paramenter 'statement_timeout'.
It was ignored previously and it cannot be made work in live env
when working thru pgbouncer, so its better to drop it completely.
The setting can be always set via normal ways.
2007-04-16 - PlProxy 2.0.2 - "No news is good news?"
* Include plproxy.sql.in in tgz.
* Clean add_connection() function by using StringInfo instead
open-coded string shuffling.
Something went wrong with that request. Please try again.