Announcement: New Oct2014 Feature release of MonetDB suite

Sjoerd Mullender sjoerd at
Fri Oct 31 14:05:54 CET 2014

The MonetDB team at CWI/MonetDB BV is pleased to announce the
Oct2014 feature release of the MonetDB suite of programs.

More information about MonetDB can be found on our website at

For details on this release, please see the release notes at

As usual, the download location is <>.

   Important consideration when upgrading to this release. In this release
   we have fixed bug 3474. This bug made it possible that there were
   duplicates despite there being a unique or primary key constraint
   present. This could only happen for multi-column constraints. MonetDB
   maintains an internal column containing a hash for multi-column
   constraints, and there was a bug in the maintenance code of this
   column. During an upgrade, this column needs to be recreated. This is
   done by dropping and adding back the constraints. If there are no
   duplicates, adding back the constrains should work without problem, but
   if there are duplicates, adding the constraints will fail. There is
   unfortunately no easy way to tell the user, so after having made the
   first connection to the server (when the upgrade happens), check the
   merovingian log (if you use merovingian -- also known as monetdbd) or
   the server output window (if you don't use merovingian).

   Jaql support is removed. The experimental code for Jaql support has
   been removed. If you have RPM or DEB packages for Jaql installed from
   an earlier version (MonetDB-jaql and monetdb5_jaql respectively), you
   will need to uninstall them before the upgrade.

   Known issue when upgrading old versions. We have noticed that upgrading
   directly from a version older than the Jan2014 release gave an error.
   Upgrading to Jan2014 first and then on to Oct2014 should work.

   Backup. As always, make a backup of your databases before upgrading.

   Oct 2014 feature release
   MonetDB5 Server
     * Removed algebra.materialize.
     * Removed algebra.kunique and algebra.tunique. They were subsumed by
     * Remove algebra.antiuselect and algebra.thetauselect. They were
       subsumed by algebra.subselect.
     * Removed algebra.topN and its imlementation BATtopN. The function
       was not used.
     * Removed aggr.histogram and its implementation BAThistogram. The
       function was not used, and did not produce output in the "headless"
       (i.e. dense-headed) format. Histograms can be created as a
       by-product of group.subgroup.

   Build Environment
     * Jacqueline, the MonetDB/JAQL frontend, has been removed. The
       frontend never grew beyond being experimental, and there is no
       interest anymore to maintain the code.

     * monetdb create: add -p flag to set monetdb user password on
       creation, and therefore allow creating the database in unlocked

     * Changed mapi_timeout argument from seconds to milliseconds.

     * Changed mnstr_settimeout function so that the specified timeout is
       now in milliseconds (used to be seconds), and that it also needs an
       extra argument specifying a callback function (no arguments, int
       result) that should return TRUE if the timeout should cause the
       function to abort or continue what it was doing.

   MonetDB Common
     * Added "multifarm" capability. It is now possible to separate
       persistent and transient BATs into different directories
       (presumably on different disks). This can be done by using the
       --dbextra option of mserver5 (see the man page).

     * Added PostgreSQL compatible string TRIM, LTRIM, RTRIM, LPAD and
       RPAD functions
     * Stop support for upgrading directly from a database created with a
       server from the Oct2012 release or older. You can upgrade via the
       Feb2013 or Jan2014 release.

   Bug Fixes
     * 2945: evaluation of SQL "between SYMMETRIC" requires MAL iterator
       because there is no (bulk) MIN/MAX(a,b)
     * 3204: monetdb create: allow setting admin password during creation
     * 3390: Missing definition for pushSht in monetdb5/mal/mal_builder.h
     * 3402: We should have a C implementation of mal.multiplex.
     * 3422: Segmentation fault after large table insert
     * 3459: incomplete implementation of JDBC driver
       getNumericFunctions(), getStringFunctions(), getSystemFunctions(),
       getTimeDateFunctions(), getSQLKeywords() methods in MonetDatabaseM
     * 3471: JDBC driver: incorrect output result of SQL query: SELECT 1 ;
     * 3474: bulk and scalar versions of mkey.rotate_xor_hash differ
     * 3484: COPY INTO on a file works fine on Linux/OSX, but not on
     * 3488: Slow SQL execution for correlated scalar subquery
     * 3489: SQL query with ORDER BY does not order its result as
     * 3490: SQL query kills the mserver5 (Segmentation fault)
     * 3491: SQL query kills the mserver5 (Segmentation fault)
     * 3493: Test monetdb5/modules/mal/Tests/pqueue.mal fails since recent
     * 3494: Tests monetdb5/modules/mal/Tests/pqueue[23].mal lack
       correct/expected/intended output
     * 3495: Test sql/test/centipede/Tests/olap.sql lacks
       correct/expected/intended output
     * 3497: monetdb start reports crash in merovingian.log
     * 3498: SQL throws TypeException if aggregations and limit statements
       are both present
     * 3502: Database was killed by signal SIGBUS
     * 3504: COPY INTO does not allow OFFSET without specifying amount of
     * 3505: expression with <boolean> = NOT <boolean> returns a syntax
       error but NOT <boolean> = <boolean> not
     * 3506: conversion to varchar terminates mserver
     * 3508: conversion of string '0 ' to type smallint or integer fails
     * 3510: timestamp + month interval generates bogus MAL?
     * 3511: When having multiple selections combined with aliases not all
       of them seem to be evalauted.
     * 3512: auto-conversion of string to `sht` type no longer works
     * 3513: COPY BINARY INTO fails on 6gb file; works fine on 3gb
     * 3516: inserting '0' into a column of datatype numeric fails
     * 3518: UNION with subqueries
     * 3521: large results of function exp() are not automatically
       returned as double
     * 3522: SQL catalog table sys.columns lists columns for table ids
       which do not exist in sys.tables
     * 3523: Window function over union gives no result
     * 3524: wrong error on missing aggregation column
     * 3527: select distinct - order by - limit 2 results in one single
     * 3528: segfault at mal_session.c:521
     * 3532: several geom tests crash after manifold changes
     * 3534: missing table name with invalid column in join using (and
       problems after resolving it)
     * 3536: program contains error with join using integer and smallint
     * 3542: gdk/gdk_bat.c:2904: BATassertHeadProps: Assertion
       `!b->H->revsorted || cmp >= 0' failed.
     * 3543: invalid behavior and incorrect data results for SQL data
       type: numeric(4,4)
     * 3544: sys.reuse() corrupts data
     * 3546: Division by zero in CASE statement that should avoid it
     * 3547: Empty query when selecting a field from a view made of UNION
     * 3551: Wrong ticks in TRACE
     * 3552: incorrect data results for "WHERE int_col <> 0"
     * 3554: Issue with subselect and ORDER BY
     * 3555: Order of evaluation inside CASE WHEN
     * 3558: numeric values (as strings) are incorrectly parsed/converted
       and invalid strings are accepted without error
     * 3560: Error "BATproject: does not match always" with
     * 3562: mserver5: gdk_bat.c:2855: BATassertHeadProps: Assertion
       `!b->H->revsorted || cmp >= 0' failed.
     * 3563: incorrect results for scalar function locate(in_str,
       search_str, occurrence)
     * 3565: Wrong/confusing error message when trying to add a FK to a
     * 3572: Table names with escaped double quotes are rejected
     * 3573: alter table alter_not_null_test alter test set NOT NULL; is
       accepted when test contains null. This used to be restricted but
       isn't anymore
     * 3575: segmentation fault in mserver5 process
     * 3576: Dropping default value definitions from a table does not work
       as expected
     * 3577: SIGSEGV in BATins_kdiff
     * 3579: segmentation fault in mserver5 process
     * 3581: mserver5: rel_bin.c:2504: rel2bin_groupby: Assertion `0'
     * 3582: mserver5: sql_mem.c:48: sql_ref_dec: Assertion `r->refcnt >
       0' failed.
     * 3583: Possible buffer overflow in max(varchar)
     * 3585: Incorrect query terminates connection
     * 3586: mserver5: sql/storage/store.c:3610: sys_drop_func: Assertion
       `rid_func != oid_nil' failed.
     * 3592: SIGSEGV in MANIFOLDjob
     * 3593: delta_append_val: Assertion `!c || ((c)->S->count) ==
       bat->ibase' failed.
     * 3594: gdk/gdk_bat.c:2855: BATassertHeadProps: Assertion
       `!b->H->revsorted || cmp >= 0' failed.
     * 3595: Race/heap corruption on thread exit
     * 3596: gdk_bat.c:2861: BATassertHeadProps: Assertion `!b->H->nonil
       || cmp != 0' failed.
     * 3597: SQL to MAL listing looses types
     * 3598: SQL bulk load should ignore leading/trailing spaces also with
       type decimal (as with integers & real/double)
     * 3599: Double-free of imprints
     * 3601: Trivial typo in debian/monetdb5-sql.init.d
     * 3603: "monetdb create -p" hangs monetdbd
     * 3604: Sys.queue ignored upon errors

More information about the announce-list mailing list