History of DBConnect API

The DBConnect API was started by Johnathan Ingram as a simple wrapper to the Oracle Call Interface (OCI) in 1999. The wrapper soon evolved into an API as MySQL and other databases where added.

In 2001 the API was formally registered as a SourceForge project and the 0.2.x series was released to the community.

In the beginning of 2002 it was realised that the 0.2.x series had some "short comings" in the future roadmap of the project. The entire 2002 year was devoted to the redesign on the DBConnect API and in December 2002 the first release of the 0.3.x series became available.

Change Log

Please report any bugs to jingram@rogueware.org so as to fix the bugs as soon as possible.

  • HexDigest
    • When converting binary data to a hex digest, it now converts using uppercase letters
  • BaseValue Class
    • Changed to make a deep copy when setting binary value
  • JDate Class
    • Added virtual time support and minor new functions to the JDate class
    • Fixed -ve month modify bug when subtracting causes year decrease
  • IBM DB2 Driver:
    • Initial implementation of the IBM DB2 driver (Nice Database :))
    • Note: No procedure calling. (Will be in next version)
  • MySQL Driver:
    • Added transaction support. (Set mysql_opt_transaction = yes in .ini/.cfg files and use INNODB tables), TODO: Ref 7
    • Fixed ping reconnect problem in ping function. mysql_ping did not reconnect the connection ?
  • mSQL Driver:
    • Fixed a small logic bug in the ping function
  • dbConnect API:
    • Added command API call. Cannot use execute(sql) anymore. Must use command(sql) then execute()
      This is to bring the API better inline for use with bind parameters etc (Let me know how it goes)
  • Added new examples in the examples directory

  • Added Unit Testing to the base objects
  • Fixed many small bugs in the BaseValue Object
  • JDate can now be assigned given a timezone. Converts to UTC internally
  • Reworked bind parameters for function calling
  • Reworked the DLL compiling/linking under Windows and fixed Makefiles
  • Added the Copyyright and DriverType information functions to the drivers
  • PostgreSQL Driver:
    • Added BYTEA support as a BLOB type
    • Added support for TIMESTAMP WITH TIME ZONE
    • Added single result function calling support
    • Ported the driver to Windows
  • MySQL Driver:
    • Fixed BLOB data to be Binary field data
  • mSQL Driver:
    • Added bind parameter support

  • Added a new field type of FT_BOOLEAN
  • Removed the exception throwing from fetchNext for no data. FetchNext should not throw an exception and should only return if no data. All drivers fixed
  • Fixed small bug in BaseValue class to return boolean from a integer stored in a string
  • Initial rewrite of the PostgreSQL driver

  • Added setTime and setDate to the bind parameter object.
    This allows better granularity when binding date parameters.
  • Implemented bind parameters for the MySQL driver.
  • JDate: Added comparison operators to allow date object comparisons
    Added a new struct to represent a Julian Day and related functions
    Fixed the date difference operator to calculate correctly when subtracting months etc
  • Ported the dbconnect source to Windows
    Windows uses dbconnect.ini and Unix uses dbconnect.cfg for runtime configuration params
  • Ported the MySQL driver to Windows
  • Fixed the stripping of \r chars in the confifFile.cpp

  • Increased the performance of the MySQL fetchNext function.
    Thanks to David Wojtowicz for submitting information.
    (SourceForge Request ID: 614686)
  • Removed additional STL usage from the MySQL driver.
  • Initial rewrite of the mSQL driver.

  • Initial rewrite implementing the MySQL driver.