Announcement: New Jul2017 Feature release of MonetDB suite

Brian Hood brianh6854 at
Mon Jul 17 18:21:46 CEST 2017

Hi Sjoerd,

I just noticed functions that are deprecated from the mapi client  library
in your release note.

* Removed the "array" and "quick" functions from the mapi library. To
       be precise, the removed functions are: mapi_execute_array,
       mapi_fetch_field_array, mapi_prepare_array, mapi_query_array,
       mapi_quick_query, mapi_quick_query_array, and mapi_quick_response.
     * Added a more elaborate \help command for SQL expressions.

If possible could provide a list of currently supported functions as i have
all of these functions in my Crystal Language driver code that i will need
to remove.


Brian Hood

On Mon, Jul 17, 2017 at 3:37 PM, Sjoerd Mullender <sjoerd at> wrote:

> The MonetDB team at CWI/MonetDB BV is pleased to announce the
> Jul2017 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 <>.
> Jul 2017 feature release
>    MonetDB5 Server
>      * The "sub" prefix of many functions, both at the MAL and the C
>        level, has been removed.
>      * Changed the interfaces of the AUTH* functions: pass values, not
>        pointers to values.
>      * Removed calc.setoid().
>      * group.subgroup is now called if it is not refining a
>        group. Both and group.subgroup now also have variants
>        with a candidate list.
>      * The allocation schemes for MAL blocks and Variables has been turned
>        into block-based. This reduces the number of malloc()/free() calls.
>    .
>      * Added a new server-side protocol implementation. The new protocol
>        is backwards compatible with the old protocol. Clients can choose
>        whether they want to use the old or the new protocol during the
>        initial handshake with the server. The new protocol is a binary
>        column-based protocol that is significantly faster than the old
>        protocol when transferring large result sets. In addition, the new
>        protocol supports compression using Snappy or LZ4.
>      * Moved the sphinx extension module to its own repository. See
>      * Removed GSL module: it's now a separate (extension) package. See
>      * The PCRE library is now optional for systems that support POSIX
>        regular expressions.
>      * Added 5 new sys schema tables: function_languages, function_types,
>        key_types, index_types and privilege_codes. They are pre-loaded
>        with static content and contain descriptive names for the various
>        integer type and code values. See also
>        sql/scripts/51_sys_schema_extension.sql
>    Merovingian
>      * Added handling of a dbextra property per database at the daemon
>        level. The user can set the dbextra property for a database using
>        the command: $ monetdb set dbextra=<path> <database> and the daemon
>        will make sure to start the new server using the correct --dbextra
>        parameter.
>    Client Package
>      * The mclient and msqldump programs lost compatibility with old
>        mserver5 versions (pre 2014) which didn't have a "system" column in
>        the sys.schemas table.
>      * The mclient and msqldump programs lost compatibility with ancient
>        mserver5 versions (pre 2011) which didn't have the
>        sys.systemfunctions table.
>      * Removed the "array" and "quick" functions from the mapi library. To
>        be precise, the removed functions are: mapi_execute_array,
>        mapi_fetch_field_array, mapi_prepare_array, mapi_query_array,
>        mapi_quick_query, mapi_quick_query_array, and mapi_quick_response.
>      * Added a more elaborate \help command for SQL expressions.
>    MonetDB Common
>      * Improved error checking in the logger code (dealing with the
>        write-ahead log); changed return types a several functions from int
>        to gdk_return (i.e., they now return GDK_SUCCEED or GDK_FAIL). The
>        logger no longer calls GDKfatal on error. Instead the caller is
>        responsible for dealing with errors.
>      * BATsort may now create an order index as a by product.
>      * Quantile calculations now use the order index if available (and use
>        BATsort otherwise, producing an order index).
>      * Quantiles calculate a position in the sorted column. If this
>        position is not an integer, we now choose the nearest position,
>        favoring the lower if the distance to the two adjacent positions is
>        equal (round down to nearest integer).
>      * Removed function BATprintf. Use BATprint or BATprintcolumns
>        instead.
>      * Removed BATsave from the list of exported functions.
>      * Replaced BBPincref/BBPdecref with BBPfix/BBPunfix for physical
>        reference count and BBPretain/BBPrelease for logical reference
>        count maintenance.
>      * Removed automatic conversion of 32-bit OIDs to 64 bits on 64-bit
>        architectures.
>      * Removed functions OIDbase() and OIDnew().
>      * Removed talign field from BAT descriptor.
>      * BATappend now takes an optional (NULL if not used) candidate list
>        for the to-be-appended BAT.
>      * New function BATkeyed(BAT *b) that determines (possibly using a
>        hash table) whether all values in b are distinct.
>    SQL
>      * Made the operator precedence of % equal to those of * and /. All
>        three are evaluated from left to right.
>      * Removed table sys.connections. It was a remnant of an experimental
>        change that had already been removed in 2012.
>      * Protect against runaway profiler events If you hit a barrier block
>        during profiling, the JSON event log may quickly become unwieldy.
>        Event production is protected using a high water mark, which
>        ensures that never within the single execution of MAL block the
>        instruction causes excessive event records.
>    Bug Fixes
>      * 3465: Request: add support for CREATE VIEW with ORDER BY clause
>      * 3545: monetdb commands don't work with -h -P -p options (locally
>        and remotely)
>      * 3996: select * from sys.connections always returns 0 rows. Expected
>        to see at least one row for the active connection.
>      * 6187: Nested WITH queries not supported
>      * 6225: Order of evaluation of the modulo operator
>      * 6289: Crashes and hangs with remote tables
>      * 6292: Runaway SQL optimizer in too many nested operators
>      * 6310: Name resolution error (sqlsmith)
>      * 6312: Object not found in LIMIT clause (sqlsmith)
>      * 6313: Null type resolution in disjunction fails (sqlsmith)
>      * 6319: Server crash on LATERAL (sqlsmith)
>      * 6322: Crash on disjunction with LIMIT (sqlsmith)
>      * 6323: Deadlock calling sys.bbp()
>      * 6324: Sqlitelogictest crash in a IN query (8th)
>      * 6327: The daemon does not respect the actual name of the mserver5
>        executable
>      * 6330: Sqlitelogictest crash on a complex SELECT query
>      * 6331: sys.statistics column "nils" always contains 0. Expected a
>        positive value for columns that have one or more nils/NULLs
>      * 6332: Sqlitelogictest crash related to an undefined MAL function
> _______________________________________________
> developers-list mailing list
> developers-list at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the developers-list mailing list