July 2015

These release notes are replicated for historical purposes only. The release is not supported anymore.

Jul 2015-SP4 bugfix release

MonetDB Common

  • Fixed a bug that caused various instances where old data returned or where crashes occurred. The problem was that internally data wasn’t always marked dirty when it was being changed, causing later processing to not deal with the changed data correctly.

Bug Fixes

  • 3905: MonetDB doesn’t handle ANY/SOME/ALL operator correctly
  • 3929: R aggregate not recognized when using 3 or more parameters
  • 3965: Not possible to quote/escape single quote character in the name of the file to load.
  • 3968: Missing double use of column names

Jul 2015-SP3 bugfix release

MonetDB5 Server

  • Fixed potential crash in MAL debugger when accessing BATs by index. Functionality dropped as it is also a security leak.

Bug Fixes

  • 2972: SQL URL functionality contains errors
  • 3549: bulk string operations very slow
  • 3881: Server crashes on bulk load
  • 3890: Window function + group by in subselect, rel2bin_project: Assertion ‘0’ failed
  • 3891: MonetDB crashes when executing SQL with window function
  • 3900: null handling in some sql statements is incorrect
  • 3906: Multi-column 1-N table-function with mitosis produces different column counts
  • 3908: LEFT JOIN with OR conditions triggers assertion
  • 3909: Incorrect column name in OR condition of LEFT JOIN crashes mserver
  • 3910: COPY INTO table (column1, column2) got wrong result
  • 3912: When table/column names conflicts, data ends in multiple tables!
  • 3917: Date difference returns month_interval instead of day_interval
  • 3918: MonetDB.R version 1.0.1 incorrectly constructs the batfile script
  • 3919: Table conflict when the table name and fields are identical
  • 3921: Creating a table from a complex query crashes mserver or triggers assertion
  • 3922: AVG( column ) returns NaN rather than Inf when column contains Inf
  • 3928: When killing a virtual machine, sql_logs/sql/log is empty
  • 3930: Wrong typecast on character columns in prepared statements when using Umlaute
  • 3932: CASE expressions with constants are not evaluated correctly
  • 3933: replace “exit” by “throw new Exception”
  • 3937: bad BAT properties with binary copy into and NULL values
  • 3938: Wrong error message on violating foreign key constraint
  • 3940: Date calculation and comparison produce wrong result
  • 3941: Wrong coercion priority
  • 3948: SQL: select * from sys.sys.table_name; is accepted but should return an error
  • 3951: extern table_funcs not visible from Windows DLL for extensions like vaults (crashes)
  • 3952: Stream table gives segfault
  • 3953: MIN/MAX of a UUID column produces wrong results
  • 3954: Consolidate table assertion error
  • 3955: (incorrect) MAL loop instead of manifold triggered by simple change in target list

Jul 2015-SP2 bugfix release

Bug Fixes

  • 2014: ’null’ from copy into gets wrong
  • 3817: opt_pushselect stuck with multi-table UDF
  • 3835: windows does not release ram after operations
  • 3836: rand() only gets evaluated once when used as an expression
  • 3838: Update column with or without parenthesis produce different results
  • 3840: savepoints may crash the database
  • 3841: mclient fails with response “Challenge string is not valid”
  • 3842: SQL execution fails to finish and reports bogus error messages
  • 3845: Too many VALUES in INSERT freeze mserver5
  • 3847: Wrong SQL results for a certain combination of GROUP BY / ORDER BY / LIMIT
  • 3848: mserver segfault during bulk loading/updating
  • 3849: HUGEINT incorrect value
  • 3850: DEL character not escaped
  • 3851: expression that should evaluate to FALSE evaluates to TRUE in SELECT query
  • 3852: CASE statement produces GDK error on multithreaded database: BATproject does not match always
  • 3854: Complex expression with comparison evaluates incorrectly in WHERE clause
  • 3855: Foreign key referencing table in a different schema - not allowed.
  • 3857: Large LIMIT in SELECT may abort the query
  • 3861: Using window functions cause a crash
  • 3864: Error in bulk import for chinese character
  • 3871: NOT x LIKE triggers “too many nested operators”
  • 3872: mserver crashes under specific combination of JOIN and WHERE conditions
  • 3873: mserver5: gdk_bat.c:1015: setcolprops: Assertion `x != ((void *)0) || col->type == 0’ failed.
  • 3879: Database crashes when querying with several UNION ALLs.
  • 3887: Querying “sys”.“tracelog” causes assertion violation and crash of mserver5 process
  • 3889: read only does not protect empty tables
  • 3895: read only does not protect this table

Jul 2015-SP1 bugfix release

Client Package

  • In the SQL formatter of mclient (the default) we now properly align East Asian wide characters.

Bug Fixes

  • 3789: Query on large string table fails on HEAPextend
  • 3794: table function sys.rejects() and view sys.rejects() are listed are metadata objects but give an (incorrect) error when they are queried
  • 3797: COPY INTO with incorrect number columns
  • 3798: SELECT query with INTERSECT causes assertion failure
  • 3800: LIKE is broken for many patterns
  • 3802: Disk space never freed: a logical ref is keeped on a deleted BATs
  • 3803: SQL query parser fails to parse valid SELECT query with a CASE .. END in it. It fails with parser error: identifier ‘x’ ambiguous
  • 3804: monetdb status command crashes under certain conditions
  • 3809: Inefficient plan is generated for queries with many (>= 24) joined tables which take a long time or an HEAPalloc error. I get Error: GDK reported error. HEAPalloc: Insufficie
  • 3810: Fix statistics gathering
  • 3811: NOT LIKE not working if the operand doesn’t contains wildcards.
  • 3813: COPY INTO fails on perfectly clean CSV file
  • 3814: Server crash when using bitwise NOT operation in SQL query
  • 3816: Server crashes when trying to convert timestamp to str with incorrect format
  • 3818: Crash when performing UNION/GROUP BY over tables with different columns
  • 3819: order of tables in FROM-clause has negative impact on generated plan (using crossproducts instead of joins)
  • 3820: mclient accepts table with repeated constraint which causes crash on insert
  • 3821: Unexpected error when using a number instead of a boolean
  • 3822: Yet another LIKE operator issue
  • 3823: JDBC Connection to a schema - setSchema() error
  • 3825: MonetDB not cleaning intermediate results which leads to filling up disk space and ultimately server crash
  • 3827: Certains comparisons between UUID produce a MAL error
  • 3828: Schema corruption after several ALTER TABLE statements and server restart
  • 3829: Certains simple WHERE clause cause MonetDB to segfault without explanation
  • 3830: Coalesce typing inconsistencies
  • 3833: NULL literals refused at many places
  • 3834: Date comparison returns incorrect results
  • 3839: msqldump generates incorrect syntax ON UPDATE (null)

Jul 2015 feature release

Do not skip upgrades!

  • One of the new features in this release is the possibility to use “best effort” when importing CSV files into the server.  However, we have found a bug that causes this feature to misbehave when the CSV file cannot be read correctly (exactly when one might want to use best effort).  Hence we recommend to not use the feature.  See bug 3797Z.

MonetDB5 Server

  • Implemented batcalc.min and batcalc.max. Made calc.min and calc.max generic so that no other implementations are needed.
  • Removed function batcalc.ifthen.

Build Environment

  • Upgraded the license to the Mozilla Public License Version 2.0.

Client Package

  • Added a new output format to mclient: –format=expanded (or -fx). In this format, column values are shown in full and below each other.

MonetDB Common

  • BUNtvar and BUNhvar macros no longer work for TYPE_void columns.
  • Changed interfaces of a lot of GDK-level functions. When they modify a BAT, don’t return the same BAT or NULL, but instead return GDK_SUCCEED or GDK_FAIL.
  • Changed a bunch of hash-related functions to work on the tail column. The functions that have been changed to work on the tail column are: BAThash, BATprepareHash, HASHgonebad, HASHins, and HASHremove.

Java Module

  • Improved JDBC driver to not throw NullPointerException anymore when calling isNullable() or getPrecision() or getScale() or getColumnDisplaySize() or getSchemaName() or getTableName() or getColumnClassName() on a ResultSetMetaData object.
  • We now compile the Java classes using the latest Java 1.8 version, and we tell it to compile for Java 1.7.


  • Differences between time, timestamp, and date values now return properly typed interval types (second or month intervals) instead of integers.
  • Added support for 128-bit integers (called HUGEINT) on platforms that support this.
  • Removed support for the mseed library.
  • Removed support for RDF.
  • Removed DataCell. It was experimental code that was never enabled.

Bug Fixes

  • 2618: Implement master slave scheme
  • 3361: constants as MAL function parameters prevent intermediate reuse
  • 3364: Cannot set role back to a user’s default role
  • 3365: Unable to grant object privileges while having a non-default current_role
  • 3440: Sequence type errors
  • 3449: mserver crash on start - Freebsd 10 amd64
  • 3476: Cannot revoke object access
  • 3496: autocompletion table names does not work correctly
  • 3556: when 2 multiplexed functions in MAL plan, only one is mapped correctly to bat.function primitive
  • 3564: Request: add support for postgresql specific scalar function: split_part(string text, delimiter text, field int)
  • 3625: SIGSEGV because mat array can overrun in opt_mergetable.c
  • 3627: SQRT in CASE does not work as of Oct2014
  • 3654: configure –enable-fits requires extra commands after creating a database instance
  • 3673: mclient ’expanded’ row formatter
  • 3674: Obfuscate event tracing
  • 3679: No error is given when incorrect timezone value is specified for a timetz column
  • 3686: Wrong associativity of multiply/divide
  • 3702: Filter function not found if created in a user schema
  • 3708: wrong scoping for cross-schema view references
  • 3716: alter table my_merge_table drop table t1; crashes mserver5 with Segmentation fault
  • 3724: Wrong size calculation in BATsubjoin
  • 3730: SAMPLE function not sampling randomly
  • 3732: memory leak (of InstrRecord) in opt_mergetable
  • 3733: “(TRUE OR ) AND ” is evaluated incorrectly
  • 3735: python connection with unix_socket
  • 3736: crash if mclient disconnects abruptly during a query
  • 3738: Database inconsistency when using savepoint
  • 3739: CASE statements do not handle NULLs in the IN () operator properly
  • 3740: select epoch(now()); types timestamptz(7,0) and bigint(64,0) are not equal
  • 3742: Division By Zero
  • 3744: cast to int gives different results for decimal than double
  • 3747: joins fail in the presence of nulls
  • 3748: Missing META-INF/services/java.sql.Driver in JDBC package
  • 3753: Hang on json field parsing
  • 3754: select from a REMOTE TABLE referring local table crashes mserver5
  • 3756: column type conversion sticks to subsequent queries
  • 3758: “COPY INTO …” doesn’t work, if executing from 2 processes concurrently.
  • 3759: select data from “sys”.“rejects” returns unexpected error and when next select data from “sys”.“sessions” causes an assertion failure in mal_interpreter.c:646.
  • 3760: SQL parser has problem with (position of) a scalar subquery in a SELECT-list
  • 3761: SQL executor has problem with (position of) a subquery in a SELECT-list. Inconsistent behavior.
  • 3763: JDBC PreparedStatement for a table with 14 Foreign Keys crashing the Database
  • 3764: DROPping multiple users causes a crash
  • 3765: Re-granting a revoked privilege does not work
  • 3766: VIEW not visible if created under a different schema
  • 3767: CREATE TEMP TABLE using “LIKE” incorrectly handled
  • 3769: SIGSEGV when combining a cast/column alias with a UNION ALL view
  • 3770: combined conditions on declared table in User Defined Function definition crashes monetdb
  • 3771: Owner of the schema loses rights if assumes the monetdb role.
  • 3772: Any user can grant a role.
  • 3773: quantile(col, 0) and quantile(col, 1) fail
  • 3774: mclient is unaware of merge tables and remote tables
  • 3775: COPY INTO: Backslash preceding field separator kills import
  • 3778: Crash on remote table schema mismatch
  • 3779: server crashes on MAX() on SELECT DISTINCT something combo
  • 3783: Behavioural change in Jul2015 for ’timestamp minus timestamp’
  • 3784: Assertion failed: (bn->batCapacity >= cnt), function BAT_scanselect, file gdk_select.c, line 1008.
  • 3785: sum(interval) causes overflow in conversion to bte
  • 3786: ResultSet.close() never sends Xclose to free resources
  • 3787: “b and g must be aligned” from complex group/union query
  • 3791: HEAPextend: failed to extend to 2420077101056