August 2011

August 2011sjoerdThu, 01/26/2012 - 15:43

The Aug2011 release is the first release where the default size of OIDs on 64-bit WIndows systems is 64 bits. Before, the default on Windows was 32 bits. On all other 64-bit platforms, the default size of OIDs was also 64 bits. This means that, on 64-bit Windows systems, the database needs to be converted. This is done automatically when the database is first opened, but as always with automatic conversions, it is a good idea to make a backup first.

The Aug2011 uses a slightly different catalog from earlier releases. The database is automatically updated when first opened.

This release is the last release that comes with a JDBC driver that can be used with Java 1.4 and 1.5, also known as JDBCv3.

Aug 2011-SP3 bugfix release

SQL

Added a fix for bug #2834, which caused weird (failing) behaviour with PreparedStatements.

Merovingian

Fixed a bug where monetdbd's socket files from /tmp were removed when a second monetdbd was attempted to be started using the same port.

mclient now checks the result of encoding conversions using the iconv library.

Fixed a source of crashes in mclient when a query on the command line using the -s option is combined with input on standard input (e.g. in the construct mclient -s 'COPY INTO t FROM STDIN ...' < file.csv).

Fixed bug 2897 where slow (network) reads could cause blocks to not be fully read in one go, causing errors in the subsequent use of those blocks. With thanks to Rémy Chibois.

Fixed a bug in mclient where processing queries from files could result in ghost empty results to be reported in the output

Merovingian

Resolved problem where monetdbd would terminate abnormally when databases named 'control', 'discovery' or 'merovingian' were stopped.

monetdbd get status now also reports the version of the running monetdbd

Improved response time of 'monetdb start' when the database fails to start.

Fixed a bug in monetdbd where starting a failing database could incorrectly be reported as a 'running but dead' database.

To avoid confusion, all occurrences of merovingian were changed into monetdbd for error messages sent to a client.

A bug was fixed where deleted rows weren't properly accounted for in all operations. This was bug 2882.

A bug was fixed which caused an update to an internal table to happen too soon. The bug could be observed on a multicore system with a query INSERT INTO t (SELECT * FROM t) when the table t is "large enough". This was bug 2883.

Fixed a bug in mclient/msqldump where an internal error occurred during dump when there are GLOBAL TEMPORARY tables.

MonetDB5 Server

Fixed a problem where MAL variables weren't properly cleared before reuse of the data strucutre. This problem could cause the data flow scheduler to generate dependencies between instructions that didn't actually exist, which in turn could cause circular dependencies among instructions with deadlock as a result. Bugs 2865 and 2888.

The default OID size for 64-bit Windows is now 64 bits. Databases with 32 bit OIDs are converted automatically.

Java Module

Add so_timeout Driver property to specify a SO_TIMEOUT value for the socket in use to the database. Setting this property to a value in milliseconds defines the timeout for read calls, which may 'unlock' the driver if the server hangs, bug #2828

Added a naive implementation for PreparedStatement.setCharacterStream

The obsolete Java-based implementation for PreparedStatements (formerly activated using the java_prepared_statements property) has been dropped

Client Package

msqldump now also accepts the database name as last argument on the command line (i.e. without -d).

Made error messages from the server in mclient go to stderr, instead of stdout.

Implemented SQL_ATTR_METADATA_ID attribute. The attribute is used in SQLColumns, SQLProcedures, and SQLTablePrivileges.

Implemented SQLTablePrivileges in the ODBC driver.

mclient now automatically sets the SQL `TIME ZONE' variable to its (the client's) time zone.

Removed perl/Cimpl, MonetDB-CLI-MapiLib and MonetDB-CLI-MapiXS

Switched implementation of MonetDB::CLI::MapiPP to Mapi.pm, and made it the default MonetDB::CLI provider.

Made Mapi.pm usable with current versions of MonetDB again

When the first non-option argument of mclient does not refer to an exising file, it now is taken as database name. This allows to simply do `mclient mydb`.

MonetDB5 Server

Make crackers optional and disable by default, since it wasn't used normally

Authorisation no longer takes scenarios into account. Access for only sql or mal is no longer possible. Any credentials now mean access to all scenarios that the server has available.

Geom Module

Implemented NULL checks in the geom module. Now when given NULL as input, the module functions return NULL instead of an exception. This fixes bug 2814.

Merovingian

Fixed confusing 'Success' error message for monetdb commands where an invalid hostname was given

The path to the mserver5 binary is no longer returned for the mserver property with monetdbd get for a dbfarm which is currently served by a monetdbd. Since the called monetdbd needs not to be the same as the running monetdbd, the reported mserver5 binary may be incorrect, and obviously lead to confusing situations. Refer to the running monetdbd's logfile to determine the mserver5 binary location instead.

Added -n option to monetdbd start command, which prevents monetdbd from forking into the background.