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
<http://www.monetdb.org/>.
For details on this release, please see the release notes at
<http://www.monetdb.org/Downloads/ReleaseNotes >.
As usual, the download location is <http://dev.monetdb.org/downloads/ >.
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 group.group if it is not refining a
group. Both group.group 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
https://dev.monetdb.org/hg/MonetDB-sphinx/ .
* Removed GSL module: it's now a separate (extension) package. See
https://dev.monetdb.org/hg/MonetDB-gsl/ .
* 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@monetdb.org
https://www.monetdb.org/mailman/listinfo/developers- list