June 2008

June 2008 mk Tue, 03/30/2010 - 20:35

Release "Jun2008" consists of the following updated components

Name Version CVS module CVS branch
MonetDB Common 1.24 MonetDB MonetDB_1-24
MonetDB Clients 1.24 clients Clients_1-24
MonetDB4 Server 4.24 MonetDB4 MonetDB_4-24
MonetDB4/XQuery 0.24 pathfinder XQuery_0-24
MonetDB5 Server 5.6 MonetDB5 MonetDB_5-6
MonetDB5/SQL 2.24 sql SQL_2-24
MonetDB5/SQL/GIS 0.4 geom Geom_0-4


and the jars for JDBC and XRPC.

IMPORTANT NOTE:
Before upgrading to the latest "Jun 2008" release from any previous release of MonetDB, please make a dump (SQL, XQuery) of your database, and rename/move/backup the database directories (dbfarm, sql_logs, xquery_logs). After the upgrade, restore (SQL, XQuery) your database, again. Once you have checked and confirmed the correctness of the restore, you can delete the above renamed/moved/backed-up old database directories.

Contents

 

Compilation from sources

For convenience of both developers and users as well as to comply even more with open source standards, we now set/use the following defaults for the configure options

	--enable-strict, --enable-assert, --enable-debug, --enable-optimize

When compiling from CVS sources (as mainly done by developers):

	strict=yes  assert=yes  debug=yes  optimize=no (*)

When compiling from packaged/distributed sources (i.e., tarballs) (as mainly done by users):

	strict=no   assert=no   debug=no   optimize=no (*)

For building binary distributions (RPMs, MSIs):

	strict=no   assert=no   debug=no   optimize=yes

With nightly testing for the "Stable" release branches:

	strict=yes  assert=no   debug=no   optimize=yes

With nightly testing for the "Current" development trunk:

	strict=yes  assert=yes  debug=no   optimize=yes

(*)

IMPORTANT NOTE:

 

Since

--enable-optimize=yes

is no longer the default for any case except binary packages, it is

strongly recommended

to (re)compile everything from scratch,

explicitly configured

with

	--enable-debug=no --enable-assert=no --enable-optimize=yes

in case you want/need to run any performance experiments with MonetDB!

Please note:
--enable-X=yes is equivalent to --enable-X, and
--enable-X=no is equivalent to --disable-X.

Windows Installers

There are some changes to the Windows installers since previous releases which are described in this section.

Backup and restore

It is recommended to dump the old database and remove it before installing the new version. After installation, the dump can be restored.

In order to dump the SQL database, start the MonetDB SQL Client program and type the commands

\>...\databasedump.sql
\D
\>

The path after

\>

should be an absolute path name (i.e. start with a drive letter) and be in a save location.

In order to dump the XQuery database, start the server and then connect to the administrative console http://127.0.0.1:50001/admin and use that to dump the database.

By default the database is located in %APPDATA%\MonetDB4 for the MonetDB4/XQuery server and %APPDATA%\MonetDB5 for the MonetDB5/SQL server. After having made a database dump, the latter folder can be removed, but the database dump for MonetDB4/XQuery is made inside the database folder, so remove anything except the folder backup and its contents. This folder is located inside the dbfarm\demo folder.

Restoring the SQL database can be done using the MonetDB SQL Client program with the following command

\<...\databasedump.sql

Restoring the XQuery database can be done from the administrative console.

Installation

The 32 bit Windows installers can be installed "over" the old installation. The installer will automatically remove the old version and install the new. The 64 bit Windows installer will not do this (this time), since the code identifying the package was changed. So on 64 bit Windows, first uninstall the previous version and then install the new. The reason for this change is so that the 32 bit version and 64 bit version can both be installed on a 64 bit platform.

The ODBC driver was removed from the MonetDB5-SQL installer. You now need to install the ODBC driver separately. On 64 bit Windows you should install both 32 and 64 bit versions of the ODBC driver.

Also, make sure that after you have uninstalled the old version or upgraded to the new, the files C:\WINDOWS\system32\lib*.dll are all gone. If not, remove them. The new version does not install any files in the system folder. (To be precise, the files are libstream.dll, libmutils.dll, libMonetODBC.dll, libMonetODBCs.dll, and libMapi.dll.)

The JDBC driver was removed from the Windows installers. The driver is now only available separately.

A new MonetDB5-Geom-Module installer is available which can get installed after the MonetDB5-SQL-Installer has been installed. This module provides GIS support to MonetDB/SQL.

MonetDB Common (GDK)

TODO: mmap, property checks, ...

SQL

TODO: ...

Geometry (SQL/GIS)

This release includes (partial) support for Simple Feature Specification of OpenGIS. Follow the GEOM link above for a small tutorial on it.

XQuery

This release marks the beginning of a new era. The default for MonetDB/XQuery has been changed from using the original Pathfinder compiler (nick-named "milprint_summer" or simply "MPS") to using the new improved and enhanced Algebra-based Pathfinder compiler ("ALG").

Compared to the "preview" in the previous "Feb 2008" release, the functionality of the Algebra-based Pathfinder compiler has been significantly extended to (almost) match that of the original MPS-based compiler. Only the following XQuery features and extensions are not yet supported with the new Algebra-based Pathfinder compiler:

  • fn:put(), fn:collection()
    Please use the old MPS version as described below.
  • recursive functions
    If the recursion depth is known at compile time, adding the option
    	declare option pf:recursion-depth "<number>";
    

    to the query text will ensure that the recursive function is unfolded <number> times. If the recursion is deeper than <number> invocations a runtime error is triggered.
    For arbitrary recursive functions, please use the old MPS version as described below.

  • Arithmetic Functions
    Please use the old MPS version as described below.
  • Prepared Queries
    When using prepared queries, MonetDB/XQuery will automatically switch back to the old MPS version.
  • XRPC Extension
    In case MonetDB/XQuery's XRPC Server is contacted via XRPC (e.g., by the Administrative GUI), the MonetDB/XQuery server will automatically switch back to the old MPS version to handle the XRPC request.
    To use the execute at XRPC Syntax, please use the old MPS version as described below.
  • StandOff Extension
    Pathfinder automatically falls back to the old MPS version, in case StandOff extensions are enabled at runtime via
    Mserver --set standoff=enabled and/or pf --enable-standoff

While support for the old MPS version will not be continued, it remains available for backward compatibility without recompilation, at least for the time being.
For the stand-alone XQuery compiler, the MonetDB/XQuery server, and/or the MonetDB/XQuery client, simply use the following command line options to revert the default to the old MPS version:

  • pf -M
  • Mserver --dbinit='module(pathfinder);' --set xquery_backend=milprint_summer
  • mclient --language=xquery --no-algebra
  • mclient -lxquery -g

In an interactive `

mclient -lxquery

` session, commands "

\g

" / "

\G

" enable / disable the old

MPS

-based compiler in the MonetDB/XQuery server.

Bug fixes

A detailed list of the 139 bug reports that have been closed since the previous "Feb2008" release can be found in the MonetDB Bug Tracker at SourceForge: page 1/3, page 2/3, page 3/3.
The detailed list of changes can be found in the source code CVS logs.