Copyright 1996-2000 Critical Mass, Inc. All Rights Reserved. See file COPYRIGHT-CMASS for details. MODULA-3 INTERFACES FOR ACCESSING DATABASES This package contains a "DB" interface and a set of implementations for accessing relational databases. RELEASE HISTORY RELEASE 0.5 Feb 2003 This release is only lightly tested (only the select functionality has been tested) and is not robust or complete. Use with caution. The main features added are: - DB interface reorganised to allow multiple database interfaces - MySQL support - PostgreSQL support There are demos for each of these new features. Support for each database interface is enabled by including MYSQL, POSTGRESQL or ODBC in your system libs. Any questions or problems to darko@peter.com.au RELEASE 0.41, 22 June 1996 DB can now deal with restrictive ODBC drivers that don't allow GetData calls to come before BindCol, e.g., Microsoft SQL ODBC driver RELEASE 0.4, 17 June 1996 Error handling is more uniform across implementations. Directories and Makefiles are tidied up. ODBC: Handling of character fields modified to accomodate strings of length more than 256. DB.Stmt destructor checks for validity of the connection. SQL_SUCCESS_WITH_INFO is turned into a non-error. This design choice needs to be reviewed; it is probably a better idea to find out what are the cases that are causing SQL_SUCCESS_WITH_INFO. Postgres'95: Matches ODBC version more closely, and there is more error checking. RELEASE 0.32, 1 April 1996 DB over Postgres'95: Added abstime support. It maps to Timestamp for the time being. Fixed the deadlock due to close calling done. Added support for bytea. It maps to DataType.Char, with prec = -1. BEGIN is now sent when you do a new_stmt, not when you connect. Auto_commit is broken. Perhaps this should be taken out of the portable interface, or we should implement it? Michel reports: if you re-exec a stmt w/out close/done you get an assertion check. We have to tighten the interface to specify if this is an error or not. RELEASE 0.31, 31 March 1996 DB over Postgres'95: Added more types: Char*, Timestamp, Time, Date Make more robust. Use database errors as exception parameters. Fix describe_results to work before a fetch. Misc. fixes. RELEASE 0.3, 26 March 1996 DB over ODBC should be pretty robust. DB over Postgres is working OK, some more improvements coming in: - non-basic types - more severe testing - memory management