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.

