pgExpress Driver Changelog


This is the changelog history for the pgExpress driver.

Version 0.96 Release Date: 16/04/2002

Minor Release.

ADDED - Int8 support as Bcd (PostgreSQL [numeric] field). They should work transparently to the end user as they were Int8 fields. This wasn't on the previous version because there are many bugs related to Bcd fields on Delphi 6; they were fixed on Update Packs 1 and 2. We think however that with took extra care in the implementation to avoid raising such bugs even on plain Delphi 6 (without service packs). We urge you, however, to update your Delphi distribution to the latest service pack to ensure everything will work ok. Kylix (specially v1) seems to suffer from the same bugs; please update it too. Int8 as Bcd is the new default mapping for Int8 fields. Please use the Int8Mode driver option if you want to change it.
FIXED - Under certain conditions, a failed database login could lead to a driver exception. This bug was introdeced on v0.96.


Version 0.96 Release Date: 15/04/2002

Fixes and a few enhancements.

ADDED - A new installation package is avaible to make it easier to install the pgExpress Driver. It's aviable at the Vita Voom Software's website. It will install the driver and also create entries on the dbxdriver/dbxconnections files automatically. You should however tune the [PGEConnection] entry it creates to meet your configuration. The regular zip package is also available.
ADDED
- A small demo (PGEDemo) is added to the distribution.
The demo will compile on both Kylix and Delphi.
ADDED
- Arrays support by default now. This is a delicated issue; arrays in PostgreSQL always have variable length, regardless of what is declared in it's table definition (that is for documentation only)
. Thus, arrays are supported if mapped as strings.
ADDED - Better int8 variable support. Unhappyly, dbExpress does not provide int8 support. This made the driver misbehave with tables that use int8 types (including int8 serials such as those generated by phpPgAdmin, PgAdmin II andthe alike). Now the int8 type is support by default as a String type, but it can also be mapped as Int4 or ignored (please refer to the docs).
ADDED - Better documentation about the special params supported by the pgExpress driver (MaspUnknownAsString, ArrayAsString, etc.)
ADDED - new libpq interface library from PostgreSQL 7.21 (for both Windows and Linux).
FIXED
- Fixed a bug where select queries using parameters (TCustomClientDataset.Params or TCustomSQLDataset.Params descendants) would not run properly.
FIXED - Fixed int8 support (including new option in dbxdrivers.ini).
FIXED - Fixed 'Format '%s' invalid or incompatible with argument' when demo limit of 50 updates/inserts/deletes per transaction reached.


Version 0.95a Release Date: 24/02/2002

Bugfix revision.

CHANGED - Added more installation instructions for Kylix.
FIXED
- Fixed a small bug on datetime fields that use timezone.
FIXED - The first 0.95 distribution didn't include a libpq.dll file. Now that's fixed.


Version 0.95 Release Date: 10/12/2001

Major revision. Many internal changes have been made to support Stored Procedures and other features. The driver was rewritten in about 60%.

ADDED - Stored Procedures support. Since PostgreSQL currently has no real support for stored procudures, they are emulated through Functions (create by using "create function" statments). Functions that return "opaque" can't be supported because they can only be called by triggers or rules. Functions that return "SETOF" types (datasets) will be supported probably on the next version.
ADDED - Now the driver will read extra, non-standard options from the dbxdrivers.ini file. Those options include "TypesCachingMode", "TextAsBlob" and "MapUnkownAsString".
ADDED - A new version of the libpq library was added, and the new PQescapeString and PQescapeBytea and PQfreeNotify functions are now available.
ADDED
- Added TypeMappings caching. The PostgreSQL native types information will be cached on the driver level (default), the connection level or the cursor level. PostgreSQL requires a types lookup due to it's dynamic typing nature. This option reduces traffic to the server and makes the driver faster. As said, this option defaults to "driver" (meaning that types will be cached only once per session) and can be changed by setting the dbxdrivers.ini "TypesCachingMode" option.
For more details about TypeMappings caching, please refer to the driver documentation.
For more information about the PostgreSQL types mechanism, please refer to the PostgreSQL Manuals.
ADDED - "TextAsBlob" option. This dbxdrivers.ini setting will make the text fields to be mapped as BLOBs. That can make you support PostgreSQL 'text' fields larger then 32Kb.
ADDED - "MapUnknownAsString" option. This dbxdrivers.ini setting will make unknown types to be mapped as strings. Virtually all PostgreSQL types can be supported using this option. This option defaults to true on the driver but can be set to False if you don't like it.
ADDED - The registered version of the driver now supports int2vector and oidvector types, and maps them as integer arrays.
ADDED - Database server checking. Now the driver will enforce that PostgreSQL 7.1 or superior is being used. The driver is not compatible with older servers.
ADDED - Portuguese translation of the driver. If you want to contribute with a translation, please email us.
ADDED
- Callback function support. Now the pgExpress driver will work properly with TSQLMonitors.
ADDED
- Support for HostName parameter in dbxconnections.ini file.
CHANGED - Now the driver will use the interface library specified by the "VendorLib" parameter in the dbxdrivers file. If this is not set, defaults to "libpq.dll" on windows systems, or "libpq.so" on linux.
CHANGED - MANY internal changes and optimizations. The driver should be more flexible then ever.
CHANGED - Made driver more compatible with other Borland drivers.
FIXED - Fixed a bug where the path environment would not be properly detected, causing the library to not be located.
FIXED - Fixed a few blob bugs.
FIXED - Fixed a small fldVARBYTES and fldBYTES bug (please document things better, Borland ;-) ).


Version 0.90a Release Date: 10/10/2001

Maintence release.

ADDED
- Kylix support. pgExpress is now also avaiable under Linux.
CHANGED
- Updated the libpq.dll interface library to one from a PostgreSQL 7.2 CVS snapshot. This version fixes a bug where a query with more then 8191 bytes would kill the database connection. This was actually a PostgreSQL bug, not pgExpress.
FIXED - Fixed a bug where a query with more then 8191 bytes would kill the database connection (read above).
FIXED - Fixed a bug where the path environment would not be properly detected, causing the library to not be located. This error occurs only on a very few systems and was very difficult to detect.
FIXED - Fixed "LIBPQ library [%s] was not found". - argument '%s' was not being expanded.


Version 0.90 Release Date: 10/10/2001

First release of the pgExpress Driver.