Version 4.4.2 was released on October 26, 2004. It is primarily a bug-fix release.
SQL front end Several bugs affecting the SQL integrity were fixed:
- Unique constraints were not checked in auto-commit mode
- The LIKE operator returned wrong matches on patterns starting with %
- Deleted rows reappeared on conditional selections
- Removal of legacy variables in system tables
- ALTER TABLE in auto-commit mode generated error "Error in result"
- Leakage of BATs caused crashes after heavy load with updates
ODBC and JDBC JDBC suffered from a bug when non-ASCII characters were used in queries. Due to an incorrect charset handling the driver locked up. Another bug returned the incorrect username when being asked for the current logged in user using JDBC's DatabaseMetaData.getUser().
Synopsis of features available in Version 4.4.0
Version 4.4 was released on September 30, 2004 and the first official release. It was preceded by version 3.14, 3.16 and 3.18 delivered in 2004, which were all focused on reaching the point where researchers and casual users would benefit from the MonetDB solution. The feature list below summarizes the efforts spent.
SQL front end A fairly complete SQL-99 front end has been constructed. Amongst others, it provides schema management, user authorization, view definitions, referential constraint enforcement, time zone support, sub-queries, and query caching to speedup processing.
ODBC and JDBC The predominant application programming languages are supported using the MonetDB Application Programming Interface (MAPI) library. Amongst others, it is used to construct a functional rich ODBC implementation, which allows you to retrieve data from a MonetDB server from inside an Excel spreadsheet. The JDBC code is a class 4 implementation. It has been used to link MonetDB with other database application development environments.
MIL cleanup The MonetDB Interface Language (MIL) was originally designed as an intermediate and debugging language. Its definition has been brought more in line of a real programming language, without loosing its flexibility to write concise scripts.
Kernel improvements Heavy internal use revealed bugs and performance issues. In combination with the lengthly bug list compiled by our commercial partner over the years, we have reached the point that serious crashes have become a rarity.
Documentation improvements Documentation in a research setting often comes last, but we are confident that the information provided is sufficient for both a casual end-user, building an application like the VOC, and the demanding researcher, interested in our research on cache-conscious code.
Testing MonetDB is tested daily on 17 different platforms, configured with widely different hardware profiles, but also a variety of compilers. The MonetDB code base was cleaned up to the point that all compiler warnings were dealt with. Currently, it compiles with the strongest compilation options available. Testing has reached the point that a day with 24 hours is not enough to run and analyze the test suite.
Packaging Distribution of a software package as rich and complex as MonetDB calls for major (human) investments in software engineering tasks. The software heavily relies on open-source packages such as automake, auto-config. For the Windows platform the necessary files are included as well.