Aug2018 (11.31)

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

Aug2018-SP2 bugfix release (11.31.13)

SQL Frontend

  • Disabled function sys.getcontent(url).

Bug Fixes

  • 6643: schema name qualifier in create global temporary table json.table6643 … is not honered
  • 6645: optimizer treats all the functions with no or constant parameters as constant
  • 6650: PREPARE SQL statement fails to compile user defined functions with parameter/s
  • 6651: Multi-column IN clause for subquery produces wrong results
  • 6653: CREATE TABLE accepts empty table/column name
  • 6654: Incorrect handling of ‘TRUE’ in compound select
  • 6657: Restart sequence with a non atomic sub-query cardinality gives wrong error message
  • 6660: GRANTing a ROLE is not idempotent
  • 6662: Concurrency Conflicts Exception string “!transaction is aborted because of concurrency conflicts, will ROLLBACK instead” not shown on prompt.
  • 6664: mserver5 crash: infinite recursive happens at rel_bin.c:489
  • 6665: Creation of serial types does not accept negative numbers
  • 6666: COPY INTO from .. LOCKED doubles input data
  • 6668: The SAMPLE key word doesn’t work in a subquery.
  • 6669: COPY [xxx RECORDS] INTO foo FROM STDIN … doesn’t work without specifying nr of to be copied records
  • 6672: SQLGetData with SQL_C_WCHAR string truncation and invalid StrLen_or_Ind value

Aug2018-SP1 bugfix release (11.31.11)

Build Environment

  • On Ubuntu 18.10 (Cosmic Cuttlefish), the libmonetdb5-server-bam package cannot be built because of an incompatibility in the libbam library (it cannot be used in a shared object).

Whole System

  • Some subtle dependencies between RPMs have been fixed.

Bug Fixes

  • 6640: timestamp_to_str returning incorrectly adjusted results
  • 6641: race condition in SQL UDF with update
  • 6642: Hanging query
  • 6648: key property potentially wrong after type conversion
  • 6649: Projection inside within transaction gives wrong results

Aug2018 feature release (11.31.7)

MonetDB5 Server

Build Environment

  • Build the MonetDB-cfitsio RPM and libmonetdb5-server-cfitsio Debian/Ubuntu package.
  • On Windows, the separate MonetDB5-Geom installer has been incorporated into the main MonetDB5-SQL installer and is therefore no longer available as a separate download.

Merovingian

  • Added a “logrotate” configuration file. See /etc/logrotate.d/monetdbd.
  • Changed the monetdb profilerstart command to be more robust. If the server or stethoscope crashed before, the pid file is still there, so the next time we try to start stethoscope, it will fail. Now the profilerstart command will check if a stethoscope process with the recorded pid is running. If not, we start stethoscope, assuming that something went wrong before.
  • Changed the monetdb stop command to try to stop stethoscope before stoping the server. The error conditions that can arrise from attempting to stop stethoscope are:
    • The database is not running.
    • The profilerlogpath is not set.
    • The profiler.pid file does not exist or is inaccessible.
    • The contents of the profiler.pid are not valid.
    • Shutdown of stethoscope did not succeed.
    • Removing the profiler.pid file failed.In all the cases, the attempt to stop the server can continue normally, so we actually ignore any errors that rise from the attempt to stop stethoscope.

Client Package

  • ODBC: Implemented SQL_ATTR_QUERY_TIMEOUT parameter in SQLSetStmtAttr.
  • ODBC SQLGetInfo now returns a positive numeric value for InfoTypes: SQL_MAX_COLUMN_NAME_LEN, SQL_MAX_DRIVER_CONNECTIONS, SQL_MAX_IDENTIFIER_LEN, SQL_MAX_PROCEDURE_NAME_LEN, SQL_MAX_SCHEMA_NAME_LEN, SQL_MAX_TABLE_NAME_LEN and SQL_MAX_USER_NAME_LEN.
  • Added a ‘-f rowcount’ option in mclient to repress printing the actual data of a resultset, but only print the number of returned tuples

Stream Library

  • Added support for lz4 compressed files in the stream library

MonetDB Common

  • Hash indexes are now persistent across server restarts.
  • The macros bunfastapp and tfastins and variants no longer set the dirty flag of the heap they write to. This now needs to be done separately (and preferably outside of the inner loop).
  • Removed batDirty flag from BAT record. Its function is completely superseded by batDirtydesc and the dirty flags on the various heaps.
  • Removed “masksize” argument of function BAThash.
  • A whole bunch of functions that took an int argument that was used as a Boolean (true/false) value now take a value of type bool. The functions BATkeyed, BATordered and BATordered_rev now return a bool instead of an int.
  • Removed the tdense property: it’s function is completely replaced by whether or not tseqbase is equal to oid_nil.

Testing Environment

  • Removed helper programs Mtimeout and MkillUsers: they have long been superseded by timeout handling by Mtest.py itself.

SQL Frontend

  • Removed deprecated table producing system functions: sys.dependencies_columns_on_functions() sys.dependencies_columns_on_indexes() sys.dependencies_columns_on_keys() sys.dependencies_columns_on_triggers() sys.dependencies_columns_on_views() sys.dependencies_functions_on_functions() sys.dependencies_functions_on_triggers() sys.dependencies_keys_on_foreignkeys() sys.dependencies_owners_on_schemas() sys.dependencies_schemas_on_users() sys.dependencies_tables_on_foreignkeys() sys.dependencies_tables_on_functions() sys.dependencies_tables_on_indexes() sys.dependencies_tables_on_triggers() sys.dependencies_tables_on_views() sys.dependencies_views_on_functions() sys.dependencies_views_on_triggers() They are replaced by new system dependency_* views: sys.dependency_args_on_types sys.dependency_columns_on_functions sys.dependency_columns_on_indexes sys.dependency_columns_on_keys sys.dependency_columns_on_procedures sys.dependency_columns_on_triggers sys.dependency_columns_on_types sys.dependency_columns_on_views sys.dependency_functions_on_functions sys.dependency_functions_on_procedures sys.dependency_functions_on_triggers sys.dependency_functions_on_types sys.dependency_functions_on_views sys.dependency_keys_on_foreignkeys sys.dependency_owners_on_schemas sys.dependency_schemas_on_users sys.dependency_tables_on_foreignkeys sys.dependency_tables_on_functions sys.dependency_tables_on_indexes sys.dependency_tables_on_procedures sys.dependency_tables_on_triggers sys.dependency_tables_on_views sys.dependency_views_on_functions sys.dependency_views_on_procedures sys.dependency_views_on_views
  • Implemented group_concat(X,Y) aggregate function which also concatenates a column of strings X, but using a supplied string Y as the separator. This function is also a SQL extension.
  • Implemented group_concat(X) aggregate function which concatenates a column of strings using a comma as a separator. This function is not featured in the SQL standard.

Bug Fixes

  • 4020: Importing timestamp with zone from copy into
  • 6506: Improper performance counters
  • 6556: Sqlitelogictest division by zero on COALESCE call
  • 6564: Changes to the Remote Table definition
  • 6575: Sqlitelogictest crash on groupby query with coalesce call
  • 6579: Sqlitelogic test infinite loop while compiling SQL query
  • 6586: Sqlitelogictest crash on complex aggregation query
  • 6593: Poor performance with like operator and escape clause
  • 6596: Multicolumn aggregation very slow after ANALYZE when persistent hashes are enabled
  • 6605: Sqlitelogictest set queries with wrong results
  • 6606: Misleading parameter name in generate_series function
  • 6610: Sqlitelogictest algebra.rangejoin undefined
  • 6611: Cannot compile with GCC 8.1 and –enable-debug=no
  • 6612: Implement BLOB handling in python UDFs
  • 6618: dependency column on sequence violated by DROP SEQUENCE
  • 6621: SELECT FROM REMOTE TABLE WHERE <> returns wrong results
  • 6624: “Cannot use non GROUP BY column in query results without an aggregate function” when using aggregate function in both HAVING and ORDER BY clauses.
  • 6625: OR in subselect causes the server to crash with segmentation fault
  • 6627: stddev_pop inconsistent behaviour
  • 6628: User cannot insert into own local temporary table
  • 6629: CREATE TABLE IF NOT EXISTS returns 42000!
  • 6630: Sqlitelogictest cast NULL to integer failing
  • 6632: Dataflow causes crash when THRnew fails
  • 6633: ILIKE clauses don’t work on certain characters
  • 6635: monetdbd exits due to “Too many open files” error
  • 6637: Within a transaction, \d after an error causes mclient to exit
  • 6638: (sequences of) mkey.bulk_rotate_xor_hash() can generate NIL from non-NIL making multi-col joins return wrong results
  • 6639: COMMENT ON TABLE abc IS NULL invalidly sets the remark column to null where remark column is defined as NOT NULLable