Announcement: New Jan2014 Feature release of MonetDB suite

Sjoerd Mullender sjoerd at
Thu Feb 20 15:04:18 CET 2014

The MonetDB team at CWI/MonetDB BV is pleased to announce the
Jan2014 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 <>.

   Jan 2014 feature release
   Build Environment
     * Created development packages for RPM based systems and
       Debian/Ubuntu containing the files needed to create extensions to
       the SQL front end.
     * Removed Mx, the literate programming tool. All code for the server
       is now pure C.
     * Created packages for RPM based systems and Debian/Ubunty containing
       the MonetDB interface to the GNU Scientific Library (gsl).
     * We no longer install the .la files in our Fedora/Debian/Ubuntu

   Client Package
     * ODBC: Implemented {fn scalar()} and {interval ...} escapes.

     * Changed defaults for connecting (defaults to unix socket now).
     * Unix sockets partially working for control protocol.
     * Add support for unix socket.

     * Changed defaults for connecting (defaults to unix socket now).
     * Unix sockets partially working for control protocol.
     * Add support for unix socket.

     * The R connector is now distributed in the source code packages.

   MonetDB Common
     * The join code has been completely rewritten. It now optionally uses
       candidate lists, like the select code that was introduced in the
       previous release.
     * A new indexing structure for range selections on unsorted data has
       been added.
     * The vmtrim thread is no longer started by default on 64 bit
       architectures. The vmtrim thread monitors memory usage and drops
       BATs from memory when memory gets tight. However, in the age of
       large address spaces and virtual memory, the kernel does a good
       enough job. And in addition to dropping BATs, the thread also
       destroyed indexing structures which would have to be recreated the
       next time they were needed.
     * Cleaned up some of the parameters dealing with memory usage.
     * If available on the system, we now use atomic instructions for
     * Removed some unused fields in the atomDesc structure. This change
       requires a complete recompilation of the whole suite.
     * Replaced the mutex implementation for both GNU C and Visual Studio
       with a home-grown implementation that uses atomic instructions
       (__sync_*() in gcc, _Interlocked*() in VS).

     * Added support for quantiles (generalization of median). Usage:
       SELECT quantile(column_name,0.25) FROM table_name; The value should
       be in the range 0..1.

   Bug Fixes
     * 3040: Wrong NULL behavior in EXCEPT and INTERSECT
     * 3092: ODBC client doesn't support scalar function escape
     * 3198: SIGSEGV insert_string_bat (b=0x7fffe419d0a0,
       n=0x7fffc4006010, append=0) at gdk_batop.c:196
     * 3210: Unexpected concurrency conflict when inserting to 2 tables
       simultaneously and querying one of them
     * 3273: Add support to Python DBAPI package for timetz, inet and url
     * 3285: no such table 'queryHistory'
     * 3298: GDKmmap messages and monetdb start db takes very long
     * 3354: Introduce query time-out
     * 3371: (i)like generates batloop instead of algebra.likesubselect
     * 3372: Large group by queries never complete - server at 100%
       cpu(all cores) until MonetDB stopped
     * 3383: Bad performance with DISTINCT GROUP BY
     * 3391: Bad performance with GROUP BY and FK with out aggregate
     * 3393: "COPY .. INTO ..." - escape of string quotes
     * 3399: server crashed on simple (malformed) query
     * 3401: inconsistent/strange handling of invalid dates (e.g.
       2013-02-29) in where clause
     * 3403: NOT NULL constraint can't be applied after deleting rows with
       null values
     * 3404: Assertion `h->storage == STORE_MMAP' failed.
     * 3408: nested concat query crashed server
     * 3411: (disguised) BETWEEN clause not recognised. Hence no
     * 3412: Boolean expressions in WHERE clause, result in incorrect
     * 3417: Nested Common Table Expressions Crash
     * 3418: Segmentation fault on a query from table expression
     * 3419: Database does not start after upgrade
     * 3420: Database does not start after upgrade
     * 3423: Group by alias with distinct count doesn't work
     * 3425: Temporal extraction glitches
     * 3427: Consistent use of current_timestamp and now()
     * 3428: Aggregation over two columns is broken
     * 3429: SAMPLE on JOIN result crashes server
     * 3430: Wrong temporary handling
     * 3431: SQLGetInfo returns incorrect value for SQL_FN_NUM_TRUNCATE
     * 3432: MonetDB SQL syntax incompatible with SQL-92 <delimited
       identifier> syntax
     * 3435: INDEX prevents JOIN from discovering matches
     * 3436: COPY INTO from file containing leading Byte Order Mark (BOM)
       causes corruption

More information about the developers-list mailing list