LIBPQTYPES CHANGE LOG --------------------- Initially, libpqtypes was a libpq patch named (PQparam/PGparam) and can be found on the -hackers and -patches mailing lists. This change log begins at the point libpqtypes was put on pgfoundry as its own project. Nov 11, 2008 v1.2b - Added a type specifier caching system. Whenever putf or getf are called, it compares the specifier string with the last one libpqtypes saw. If it is a match, the parsing and type handler lookup stage can be bipassed, giving a 25% performance increase for arrays and large result sets. This also makes libpqtypes noticably faster than using libpq in text mode ... PQexec. - preprocessing bug in port.c, #elif HAVE_VSNPRINTF instead of #elif defined(HAVE_VSNPRINTF). - windows was completely broken from a change in v1.2a. Apparantley windows has different memory addresses for DLL exported functions; the address seen outside the DLL and the address seen from within the DLL. This broke the PQtypesRegister macro that was referencing PQtypesEventProc, since the external address was being used to register the event proc but the internal address was being used by libpqtypes. This problem was solved by converting PQtypesRegister to a function, which forces the event proc to always be referenced from within libpqtypes. PQtypesEventProc was completely removed form the public interface. - Updated make system to be more configurable, allows setting things like CC, CFLAGS, etc.. at the prompt (see INSTALL). Sept 26, 2008 v1.2a - libpqtypes uses the libpq event system, an approaved patch for 8.4. The object hooks patch was redesigned and than renamed to libpq events. - bug fix in timestamp code - memory leak fix in error system, didn't clean up thread memory. - pqytpe's PGEventProc is now a public function named PQtypesEventProc May 19, 2008 v1.0c - libpqtypes using objecthooks, a proposed patch for libpq allowing outside apps, like libpqtypes, to hook into libpq. April 28, 2008 v1.0 - libpqtypes project was created on pgfoundry - make system was put into place (mingw, cygwin and msvc support)