May 2005

May 2005 mk Tue, 03/30/2010 - 20:41

MonetDB 4.8 & MonetDB/SQL 2.8 were released on May 29, 2005. They were accompanied by the first MonetDB/XQuery 0.8 release (the Mercury release). A detailed list of changes can be found in the change log of the CVS repository. A summary with the highlights is given below.

SQL front end Added SQL statement modifiers EXPLAIN, PROFILE and PREPARE/EXEC. Explain returns the query execution plan as a MIL program and the query is not executed. PROFILE executes the query and stores profiling information in the 'history' table. The prepare and execute work together and can be used by the client programs to implement PREPARE and EXECUTE functionality. The SQL module functionality has been included . They can be used to introduce a module written in C or a plain SQL module. Modules can add new types, functions and tables to the system. [TODO] See for example the 'url' example module.

JDBC driver

  • JdbcClient
    • support for reading (gzipped) files from http web locations
    • better dumping support for time zones on temporal types
    • improved warning feedback system
  • Connection
    • client time zone support for support of INSERT INTO queries which deal with time zones
    • update to intermediate Mapi authorisation scheme with support for multiple catalogs if the server supports it
    • sliding window fetch size which improves speed on large result sets
    • various small changes to improve overall processing speed (not necessarily simplifying the code)
  • DatabaseMetaData
    • updated actual limits of the database measured in maximum column lengths
  • Driver
    • added support for multiple catalogs
  • PreparedStatement
    • fixed bug with Float processing (returned null)
  • ResultSet
    • various small fixes to improve performance
    • preliminary support for retrieving Clobs
    • fixed bug with Float processing
    • fixed time zone behaviour (also made it more efficient)
  • MonetSocketBlockMode
    • made small optimalisation in internal buffer management
  • Statement
    • if fetchSize is not set, a sliding window fetch size is now being used
  • Clob
    • preliminary implementation added

Application interfaces The PHP interface has been finalized. The Perl DBI library interface has reached a mature level.

Kernel improvements The kernel underwent some renovation to improve its usefulness in future releases. The BAT storage structures have been trimmed to consume just 1/3th of the previous space, which can be used to reduce the overhead of short queries by caching all descriptors in main memory. The BAT structure also underwent a revision to accomodate a more flexible property maintenance list. The changes have be shown to improve processing of 'compiled' small MIL queries to run up to 30\% faster.

Windows port The windows port can now be build both using Microsofts Compiler suites and using MinGW.

Documentation improvements The documentation for PHP5 installation and interaction has been added.