Change Log
Current Trunk
- version statements added to all providers, so you just build with -version=dbi_mysql, -version=dbi_sqlite, etc
- buildme.d build support will now be deprecated, use the -version=dbi_provider build syntax instead
- DSSS support. To build the library for just sqlite, for example, just type:
- dsss build -version=dbi_sqlite
- sample dsss.conf included to build a library named 'dbi'
- Tango logging added, for SQL tracing
- If you want to see dbi log output, the easiest way is to just import the Configurator in your program, like so:
- import tango.util.log.Configurator;
- If you want to see dbi log output, the easiest way is to just import the Configurator in your program, like so:
- phobos is being deprecated, tango will be the main supported library
- you can now foreach over the fields in a Row
- Registry of service providers added, you can now get a database provider by URL, ala JDBC
Version 0.2.5 - 2007-02-02
- Tango support added.
- Tango is now the default standard library.
- -version=Phobos should be used for Phobos compatibility.
- Ares support has been removed.
- buildme.d now puts non-Windows library names in the proper style.
- Fixed an array bounds exception on null data in OdbcResult?.d.
- Fixed a problem that sometimes caused the column name to be "" for ODBC.
- Added some casts around nulls for ODBC.
- buildme.d no longer fails on linux after a build error.
- buildme.d uses bud instead of build.
- MSSQL/Sybase support via FreeTDS - see [44].
- Statement.d throws a DBIException if a field name is not bound.
- PostgreSQL retrieves types.
- All import libraries now give a compile time message if the library name is unknown instead of asserting.
- MysqlDatabase no longer throws a DBIException on conversion errors.
- PostgreSQL import header updated from 8.1.4 to 8.2.1.
- SQLite import header updated from 3.3.7 to 3.3.11.
Version 0.2.4 - 2006-09-20
- Changed DBIException.getSQL to DBIException.getSql.
- The file names are now in CamelCase to support case-sensitive systems.
- Ares is now mostly supported if D DBI is compiled with version=Ares.
- buildme.d has the supported DBDs hardcoded in.
- Ares fails its own unittests.
- debug(UnitTest) is required for the unittests to compile.
- Changed the database for unittests. See UnitTestDatabase for more information.
- Added an ODBC unittest.
- MysqlDatabase will now throw DBIException instead of ConvException on conversion errors.
- The PostgreSQL error checking code has been fixed.
- Fixed code that was checking for null using !=.
- Removed an unnecessary .dup from PgResult.
- Result.fetchAll is no longer final.
Version 0.2.3 2006-07-18
- D DBI is now compatible with DMD 0.163.
- Static import is used, which is incompatible with GDC 0.19.
- Version 0.2.2 should be used for GDC 0.19 or DMD 0.162 and earlier.
Version 0.2.2 - 2006-07-16
- The documentation was redone almost from scratch.
- Row was not redone because it is going to be replaced.
- All of the native D files are valid XHTML 1.1.
- odbcDatabase and odbcResult have been renamed to OdbcDatabase and OdbcResult.
- Database and Result are abstract classes instead of interfaces.
- BaseDatabase and BaseResult have been removed.
- BaseDatabase?'s unittests are now done using a dummy class.
- ErrorCode has a slightly different set of errors.
- UsernameError, PasswordError, LicenseError, and NoData have been removed.
- PermissionsError has been added.
- VersionError is now ProtocolError.
- Statement uses size_t and ptrdiff_t instead of int.
- Statement.escape is now private.
- MysqlResult will no longer try to free a null handle.
- The SQLite and PostgreSQL DBDs now convert their native errors to ErrorCode.
- MysqlError was rechecked against the MySQL 5.1 revision 2737 documentation.
- buildme.d now theoretically supports GDC.
- Added version (build) pragma(ignore) to every all.d.
- An untested alpha InterBase C interface has been included.
- An untested alpha mSQL C interface has been included.
- An untested alpha Oracle C interface has been included.
Version 0.2.1 - 2006-06-12
- D DBI now uses the New BSD License instead of the LGPL.
- ODBC support has been rewritten completely.
- ODBC Version 3.51 is supported.
- WindowsAPI is used instead of David L's headers.
- Imports are now explicitly public.
- row.d now throws a DBIException if the column name given to it doesn't exist.
- Override, final, and protected are now used where appropriate.
Version 0.2.0
- Return types for Database.connect, Database.close, and Database.execute changed to void.
- Database.getErrorCode and Database.getErrorMessage are deprecated.
- These will be removed in version 0.3.0
- Standardized error code (ErrorCode).
- DBIException extended and used more.
- New PostgreSQL C Interface.
- The socket parameter is now accepted in the MySQL driver.
- Many bug fixes.
Version 0.1.6
- Changed === and !== for D 0.126
- Added ODBC support.
Version 0.1.5
- Fixed type conversion warning in MySQL.
- Fixed error in the makefile with unittesting.
- Renamed _test.sql to _test_mysql.sql.
- SqliteDatabase.d: Fixed hasItem return warning.
- Made SqliteResult finalize statement only if it has not already been finialized.
- Added PostgreSQL support.
- Added _test_* sql scripts for each DBD supported.
- Updated build system.
- Added supported database list to README.txt.
- Added forgotten files.
- Organized docs a bit better and makefile.
[Version 0.1.4]
- Fixed a minor bug in SQLite with .dup'n char*'s back from the database.
- MySQL driver now passes *almost* all unittests. It is safe to use but the type retrieval is not functioning (has been commented out). For instance, you cannot determine if a field is a numeric, varchar or date.
- Reworked makefiles.
- Fixed the return conversion from int to byte bug in hasItem() in SqliteDatabase.
- Fixed various minor bugs.
[Version 0.1.3]
- Fixed minor source formatting.
- Added MySQL imp from qbert.
- Added forgotten files.
- Added new ChangeLog.
[Version 0.1.2]
- Fixed a bug that caused fetchAllRows not to function properly.
- Moved BaseDatabase into it's own module.
- Added a custom document style sheet.
- Created a BaseResult class.
- Moved queryFetchAll from SqliteResult to BaseResult.
- Fixed bug with Row![] containing pointers to the last Row only.
- Continuing documentation.
- Work done on Row.d.
- Added import wrappers dbi.all and dbi.sqlite.all for ease of client development.
- Added an examples directory and one example, simple.d
[0.1.1]
- Fixed a compile time bug.
- Added BaseDatabase.d.
- Updated SqliteDatabase to inherit from BaseDatabase.
- Made makefile target dist a bit smarter.
- Added simple documentation to source code.
- Switched to NaturalDocs.
- Added some documentation.
- Added build for doxygen.
[0.1.0]
- Initial commit.