The MonetDB team at MonetDB BV is pleased to announce a feature release
of the MonetDB JDBC driver (monetdb-jdbc-3.2.jre8.jar) and JdbcClient
CLI program (jdbcclient.jre8.jar).
The new release adds the capability to use the SQL:
COPY ... INTO ... ON CLIENT
statements via Java from the client side. This allows users and
programmers to use the much faster COPY statements to load large data
sets into MonetDB from a local client side CSV file or stream.
The JDBC MonetConnection API has been extended with methods to register
and use Upload and Download Handlers to stream the data from the Java
client application to the server and/or from the server to the Java
client. See <https://www.monetdb.org/downloads/Java/onclient.txt> for
details.
The new functionality has also been added to the JdbcClient CLI program,
so you can now also use COPY ... INTO ... ON CLIENT statements from this
CLI program, provided you have started it with a --csvdir argument. The
CSV data files may also be gzip compressed (file name ends with: .gz).
Besides this new functionality we also improved both the JDBC driver and
JdbcClient to work optimal with the new MonetDB Jan2022 server release.
For a list of all changes please read:
<https://www.monetdb.org/downloads/Java/ChangeLog>.
We recommend all users of MonetDB JDBC driver and/or JdbcClient program
to upgrade to this new release. Especially if you use the new MonetDB
Jan2022 server release, you should use the new jar files. The download
location is as usual: <https://www.monetdb.org/downloads/Java/>.
For information and tips on using the MonetDB JDBC driver, read:
<https://www.monetdb.org/downloads/Java/release.txt>.
Reminder: as of release monetdb-jdbc-3.0.jre8.jar the MonetDB JDBC
Driver class name has been changed to: org.monetdb.jdbc.MonetDriver
It used to be nl.cwi.monetdb.jdbc.MonetDriver which is marked as
deprecated. Please use the new driver class name asap in your
configuration files/scripts and/or Java code.
The old driver class name is currently still included in the jdbc jar
file but only to ease the transition for existing deployments. The old
driver class will be removed in a future release of the MonetDB JDBC driver.
The MonetDB team at MonetDB BV is pleased to announce the
Jan2022 feature release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<https://www.monetdb.org/>.
For details on this release, please see the release notes at
<https://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <https://www.monetdb.org/downloads/>.
## Jan2022 Feature Release (11.43.5)
###
- A couple of concurrency issues have been fixed.
### Windows Packaging
- We now build Windows binaries using Visual Studio 2022.
### Client Package
- A new output formatting mode was added to mclient. Use -fcsv-noquote
to produce a CSV (comma-separated values) output where the quote
characters have not been escapes. This can be useful when producing
a single column string output that should be saved as is, e.g. when
using the sys.dump_database() function.
### MonetDB Common
- Implement string imprints (strimps for short) a pre-filter structure
for strings in order to accelerate LIKE queries. If a strimp exists
for a specific string column the strings are pre-filtered, rejecting
strings that cannot possibly match, before the more expensive and
accurate matching algorithms run.
- On Windows, files and directories we create now get the attribute
FILE_ATTIBUTE_NOT_CONTENT_INDEXED, meaning that they should not be
indexed by indexing or search services.
- Many (most) low level functions that could take a long time (such as
BATjoin) can now be aborted with a timeout. When the function takes too
long, the function will fail, and hence the whole SQL query will fail.
- At some point in the past, string heaps were created where the
hash value of the string was stored in the heap before the string.
This hasn't been used in a long time. Now the code that could still
read those old heaps has been removed. Bats that used the old format
are converted automatically.
- Some small interface changes to the atom functions: the atomPut function
now returns (var_t) -1 on error instead of 0; the atomHeap function
now returns success or failure as a gdk_return value.
### General
- Reliance on the OpenSSL library has been removed. OpenSSL was used
for the hash algorithms it contained (e.g. SHA512 and RIPEMD160) and
for producing random numbers. The hash functions have been replaced
by the original published functions, and random numbers are generated
using system-specific random sources (i.e. not simply pseudo-random
number generators).
### MonetDB5 Server
- The storage cleanup in the 11.41.5 (Jul2021) release made the OLTP
optimizer pipeline obsolete, thus it was removed.
### SQL Frontend
- Add string imprints to the existing imprints index creation syntax. On
string column "col" of a table "tbl" marked read only ("ALTER TABLE tbl
SET READ ONLY") the user can create a string imprint using the syntax:
"CREATE IMPRINTS INDEX index_name ON tbl(col);".
- With the storage cleanup in the 11.41.5 (Jul2021) release, the ANALYZE
statement was updated to accomodate those changes. The SAMPLE parameter
is now ignored because ANALYZE generated statistics used by
relational operators, are required to be precise.
- In order to mitigate the I/O required to update the 'statistics' table,
this table is no longer persisted. Alternately, it was changed into a
computed view every time when queried. The 'stamp' and 'sample' fields
were removed for the aforementioned reasons. The 'schema', 'table' and
'column' fields were added for convenience.
- In previous versions there was no check that the INCREMENT BY value of
a SEQUENCE was not zero. During the automatic upgrade of a database,
INCREMENT BY values that are zero are set to one.
- The method to compute the 'side_effect' effect property was changed
for SQL functions defined in the backend engine (eg. ``CREATE FUNCTION
... EXTERNAL NAME "module"."function"''). It was changed from being
computed by the SQL layer to the backend engine itself. As a consequence,
the computed 'side_effect' value may be different, thus bringing
incompatibilities. After an upgrade, if a 'side_effect' incompatibility
arises, either the 'side_effect' value in the backend should be changed or
the function should be re-created in SQL.
- Removed deprecated system view sys.systemfunctions. It was marked
as deprecated from release Apr2019 (11.33.3). Use query:
select id as function_id from sys.functions where system;
to get the same data as the old view.
- Extended SQL system catalog with lookup table sys.fkey_actions and
view sys.fkeys to provide user friendly querying of existing foreign
keys and their ON UPDATE and ON DELETE referential action specifications.
- Many improvements were done for REMOTE table plans. As a consequence,
master or slave servers from this feature release are not compatible
with older releases.
- The view sys.ids has been changed to give more information about the
objects in the system. In particular, there is an extra column
added at the end that indicates whether the object is a system
object.
- The example modules opt_sql_append and udf are no longer loaded by
default and no longer part of the binary release. If installed,
they can be loaded using the --loadmodule option.
- The built-in SQL functions to produce a dump that were added as a
proof-of-concept in the previous release have been improved and are
now usable. Use the query ``SELECT stmt FROM sys.dump_database(FALSE)
ORDER BY o'' to produce a dump. The dump code built into mclient and
msqldump is probably still more efficient, though.
- The sys.epoch function has always been confusing. There are two
versions, one with an INTEGER argument, and one with a BIGINT
argument. The former accepted values as seconds, whereas the
latter expected milliseconds. Also, the construct EXTRACT(EPOCH
FROM value) returns a BIGINT with millisecond precision. This has
now been overhauled. There is no longer a function sys.epoch with
BIGINT argument, but instead there is a new function sys.epoch with
DECIMAL(18,3) argument. The argument is seconds, but with 3 decimals,
it provides millisecond accuracy. Also the EXTRACT(EPOCH FROM value)
now returns a DECIMAL(18,3), again seconds with 3 decimals giving
millisecond accuracy. Note that the internal, binary representation
of DECIMAL(18,3) interpreted as seconds with 3 decimals and BIGINT
with millisecond precision is exactly the same.
### Merovingian
- Disabled logging into merovingian.log of next info message types:
- proxying client <host>:<port> for database '<dbname>' to <url>
- target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying
These messages were written to the log file at each connection. In most
cases this information is not used. The disabling reduces the log file size.
- Removed the deprecated monetdb commands `profilerstart` and
`profilerstop`.
### Bug Fixes
- [7168](https://github.com/MonetDB/MonetDB/issues/7168): Loosing the documentation
- [7180](https://github.com/MonetDB/MonetDB/issues/7180): GROUP BY-subquery crashes MonetDb
- [7182](https://github.com/MonetDB/MonetDB/issues/7182): Queries against sys.querylog_catalog, sys.querylog_calls or sys.querylog_history fail after restore of a db created using call sys.hot_snapshot(R'\path\file.tar');
- [7201](https://github.com/MonetDB/MonetDB/issues/7201): Selection of a subquery with a LEFT JOIN returns the wrong result set
- [7202](https://github.com/MonetDB/MonetDB/issues/7202): DISTINCT does not work when sorting by additional columns
- [7215](https://github.com/MonetDB/MonetDB/issues/7215): ODBC Driver SQLStatistics returns duplicate rows/rows for other tables
The MonetDB team at MonetDB Solutions BV is pleased to announce that
MonetDB is also available on the AWS marketplace from now on!
We provide a free AMI (Amazon Machine Image) with a pre-installed MonetDB database server of the latest MonetDB release. Start it with your preferred AWS instance and you’re ready to go.
Read the full article
Check out MonetDB on AWS
Best,
The MonetDB team
www.monetdb.org
info(a)monetdbsolutions.com
The MonetDB team at MonetDB BV is pleased to announce the
Jul2021-SP2 bugfix release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<https://www.monetdb.org/>.
For details on this release, please see the release notes at
<https://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <https://www.monetdb.org/downloads/>.
Jul2021-SP2 Bugfix Release (11.41.13)
Client Package
* Dumping the database now also dumps the read-only and insert-only
states of tables.
MonetDB Common
* Sometimes when the server was restarted, it wouldn't start anymore
due to an error from BBPcheckbats. We finally found and fixed a
(hopefully "the") cause of this problem.
SQL Frontend
* Number parsing for SQL was fixed. If a number was immediately
followed by letters (i.e. without a space), the number was accepted
and the alphanumeric string starting with the letter was
interpreted as an alias (if aliases were allowed in that position).
Bug Fixes
* 7163: Multiple sql.mvc() invocations in the same query
* 7167: sys.shutdown() problems
* 7184: Insert into query blocks all other queries
* 7185: GROUPING SETS on groups with aliases provided in the SELECT
returns empty result
* 7186: data files created with COPY SELECT .. INTO 'file.csv' fail
to be loaded using COPY INTO .. FROM 'file.csv' when double quoted
string data contains the field values delimiter character
* 7191: [MonetDBe] monetdbe_cleanup_statement() with bound NULLs on
variable-sized types bug
* 7196: BATproject2: does not match always
* 7198: Suboptimal query plan for query containing JSON access filter
and two negative string comparisons
* 7200: PRIMARY KEY unique constraint is violated with concurrent
inserts
* 7206: Python UDF fails when returning an empty table as a
dictionary
The MonetDB team at MonetDB BV is pleased to announce the release of
MonetDB.Net on NuGet: https://www.nuget.org/packages/MonetDB/
To install the package from within Visual Studio:
Go to Tools -> NuGet Package Manager -> Package Manager Console -> Type:
Install-Package MonetDB -Version 2.1.2
Or
Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution and
search for MonetDB.
--
Sjoerd Mullender
The MonetDB team at MonetDB BV is pleased to announce the
Jul2021-SP1 bugfix release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<https://www.monetdb.org/>.
For details on this release, please see the release notes at
<https://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <https://www.monetdb.org/downloads/>.
Jul2021-SP1 Bugfix Release (11.41.11)
MonetDB Common
* Some deadlock and race condition issues were fixed.
* Handling of the list of free bats has been improved, leading to
less thread contention.
* A problem was fixed where the server wouldn't start with a message
from BBPcheckbats about files being too small. The issue was not
that the file was too small, but that BBPcheckbats was looking at
the wrong file.
* An issue was fixed where a "short read" error was produced when
memory was getting tight.
* When appending to a string bat, we made an optimization where the
string heap was sometimes copied completely to avoid having to
insert strings individually. This copying was still done too
eagerly, so now the string heap is copied less frequently. In
particular, when appending to an empty bat, the string heap is now
not always copied whole.
SQL Frontend
* If the server has been idle for a while with no active clients, the
write-ahead log is now rotated.
* A problem was fixed where files belonging to bats that had been
deleted internally were not cleaned up, leading to a growing
database (dbfarm) directory.
* A leak was fixed where extra bats were created but never cleaned
up, each taking up several kilobytes of memory.
* [This feature was already released in Jul2021 (11.41.5), but the
ChangeLog was missing] Grant indirect privileges. With "GRANT
SELECT ON <my_view> TO <another_user>" and "GRANT EXECUTE ON
FUNCTION <my_func> TO <another_user>", one can grant access to
"my_view" and "my_func" to another user who does not have access to
the underlying database objects (e.g. tables, views) used in
"my_view" and "my_func". The grantee will only be able to access
data revealed by "my_view" or conduct operations provided by
"my_func".
* Improved error reporting in COPY INTO by giving the line number
(starting with one) for the row in which an error was found. In
particular, the sys.rejects() table now lists the line number of
the CSV file on which the record started in which an error was
found.
Bug Fixes
* 7140: SQL Query Plan Non Optimal with View
* 7162: Extend sys.var_values table
* 7165: `JOINIDX: missing '.'` when running distributed join query on
merged remote tables
* 7172: Unexpected query result with merge tables
* 7173: If truncate is in transaction then after restart of MonetDB
the table is empty
* 7178: Remote Table Throws Error - createExceptionInternal: !ERROR:
SQLException:RAstatement2:42000!The number of projections don't
match between the generated plan and the expected one: 1 != 1200
The MonetDB team at MonetDB BV is pleased to announce the
Jul2021 feature release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<https://www.monetdb.org/>.
For details on this release, please see the release notes at
<https://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <https://www.monetdb.org/downloads/>.
Jul2021 Feature Release (11.41.5)
Client Package
* The MonetDB stethoscope has been removed. There is now a separate
package available with PIP (monetdb_stethoscope) or as an RPM or
DEB package (stethoscope) from the monetdb.org repository.
Mapi Library
* Add optional MAPI header field which can be used to immediately set
reply size, autocommit, time zone and some other options, see
mapi.h. This makes client connection setup faster. Support has been
added to mapilib, pymonetdb and the jdbc driver.
ODBC Driver
* A typo that made the SQLSpecialColumns function unusable was fixed.
MonetDB Common
* A bug in the grouping code has been fixed.
* Hash indexes are no longer maintained at all cost: if the number of
distinct values is too small compared to the total number of
values, the index is dropped instead of being maintained during
updates.
* A new type, called msk, was introduced. This is a bit mask type. In
a bat with type msk, each row occupies a single bit, so 8 rows are
stored in a single byte. There is no NULL value for this type.
* The function of the BAT iterator (type BATiter, function
bat_iterator) has been expanded. The iterator now contains more
information about the BAT, and it contains a pointer to the heaps
(theap and tvheap) that are stable, at least in the sense that they
will remain available even when parallel threads update the BAT and
cause those heaps to grow (and therefore possibly move in memory).
A call to bat_iterator must now be accompanied by a call to
bat_iterator_end.
* Implemented function BUNreplacemultiincr to replace multiple values
in a BAT in one go, starting at a given position.
* Implemented new function BUNreplacemulti to replace multiple values
in a BAT in one go, at the given positions.
* Removed function BUNinplace, just use BUNreplace, and check whether
the BAT argument is of type TYPE_void before calling if you don't
want to materialize.
* Implemented a function BUNappendmulti which appends an array of
values to a BAT. It is a generalization of the function BUNappend.
* Changed the interface of the atom read function. It now requires an
extra pointer to a size_t value that gives the current size of the
destination buffer, and when that buffer is too small, it receives
the size of the reallocated buffer that is large enough. In any
case, and as before, the return value is a pointer to the
destination buffer.
* Environment variables (sys.env()) must be UTF-8, but since they can
contain file names which may not be UTF-8, there is now a mechanism
to store the original values outside of sys.env() and store
%-escaped (similar to URL escaping) values in the environment. The
key must still be UTF-8.
* We now save the location of the min and max values when known.
MonetDB5 Server
* When using the --in-memory option, mserver5 will run completely in
memory, i.e. not create a database on disk. The server can still be
connected to using the name of the in-memory database. This name is
"in-memory".
* By using the option "--dbextra=in-memory", mserver5 can be
instructed to keep transient BATs completely in memory.
SQL Frontend
* The system view sys.ids has been updated to include some more
system IDs.
* The sys.storage() function now only returns meta data, i.e. data
that can be calculated without access to the column contents.
* Since STREAM tables support is removed, left over STREAM tables are
dropped from the catalog.
* Fix a warning emitted by some implementations of the tar(1) command
when unpacking hot snapshot files.
* support reading the concatenation of compressed files as a single
compressed file.
* COPY BINARY overhaul. Allow control over binary endianness using
COPY [ (BIG | LITTLE | NATIVE) ENDIAN] BINARY syntax. Defaults to
NATIVE. Strings are now \0 terminated rather than \n. Support for
BOOL, TINYINT, SMALLINT, INT, LARGEINT, HUGEINT, with their
respective "INTMIN" values as the NULL representation; 32 and 64
bit FLOAT/REAL, with NaN as the NULL representation; VARCHAR/TEXT,
JSON and URL with \x80 as the NULL representation; UUID as fixed
width 16 byte binary values, with (by default) all zeroes as the
NULL representation; temporal type structs as defined in
copybinary.h with any invalid value as the NULL representation.
* In the Jul2021 release the storage and transaction layers have
undergone major changes. The goal of these changes is robust
performance under inserts/updates and deletes and lowering the
transaction startup costs, allowing faster (small) queries. Where
the old transaction layer duplicated a lot of data structures
during startup, the new layer shares the same tree. Using object
timestamps the isolation of object is guaranteed. On the storage
side the timestamps indicate whether a row is visible (deleted or
valid), to a transaction as well. The changes also give some slight
changes on the perceived transactional behavior. The new
implementation uses shared structures among all transactions, which
do not allow multiple changes of the same object. And we then
follow the principle of the first writer wins, i.e., if a
transaction creates a table with name 'table_name', and
concurrently one other transaction does the same the later of the
two will fail with a concurrency conflict error message (even if
the first writer never commits). We expect most users not to notice
this change, as such schema changes aren't usually done
concurrently.
* There is now a function sys.current_sessionid() to return the
session ID of the current session. This ID corresponds with the
sessionid in the sys.queue() result.
* Merge statements could not produce correct results on complex join
conditions, so a renovation was made. As a consequence, subqueries
now have to be disabled on merge join conditions.
* preserve in-query comments
* Use of CTEs inside UPDATE and DELETE statements are now more
restrict. Previously they could be used without any extra
specification in the query (eg. with "v1"("c1") as (...) delete
from "t" where "t"."c1" = "v1"."c1"), however this was not
conformant with the SQL standard. In order to use them, they must
be specified in the FROM clause in UPDATE statements or inside a
subquery.
* Added 'schema path' property to user, specifying a list of schemas
to be searched on to find SQL objects such as tables and functions.
The scoping rules have been updated to support this feature and it
now finds SQL objects in the following order: 1. On occasions with
multiple tables (e.g. add foreign key constraint, add table to a
merge table), the child will be searched on the parent's schema. 2.
For tables only, declared tables on the stack. 3. 'tmp' schema if
not listed on the 'schema path'. 4. Session's current schema. 5.
Each schema from the 'schema path' in order. 6. 'sys' schema if not
listed on the 'schema path'. Whenever the full path is specified,
ie "schema"."object", no search will be made besides on the
explicit schema.
* To update the schema path ALTER USER x SCHEMA PATH y; statement was
added. [SCHEMA PATH string] syntax was added to the CREATE USER
statement. The schema path must be a single string where each
schema must be between double quotes and separated with a single
comma, e.g. '"sch1","sch2"' For every created user, if the schema
path is not given, '"sys"' will be the default schema path.
* Changes in the schema path won't be reflected on currently
connected users, therefore they have to re-connect to see the
change. Non existent schemas on the path will be ignored.
* Leftover STREAM table definition from Datacell extension was
removed from the parser. They had no effect anymore.
Merovingian
* Deprecate `profilerstart` and `profilerstop` commands. Since
stethoscope is a separate project
(https://github.com/MonetDBSolutions/monetdb-pystethoscope) the
installation directory is not standard anymore. `profilerstart` and
`profilerstop` commands assume that the stethoscope executable is
in the same directory as `mserver5`. This is no longer necessarily
true since stethoscope can now be installed in a python virtual
environment. The commands still work if stethoscope is installed
using the official MonetDB installers, or if a symbolic link is
created in the directory where `mserver5` is located.
* The exittimeout value can now be set to a negative value (e.g. -1)
to indicate that when stopping the dbfarm (using monetdbd stop
dbfarm), any mserver5 processes are to be sent a termination signal
and then waited for until they terminate. In addition, if
exittimeout is greater than zero, the mserver5 processes are sent a
SIGKILL signal after the specified timeout and the managing
monetdbd is sent a SIGKILL signal after another five seconds (if it
didn't terminate already). The old situation was that the managing
monetdbd process was sent a SIGKILL after 30 seconds, and the
mserver5 processes that hadn't terminated yet would be allowed to
continue their termination sequence.
Bug Fixes
* 2030: Temporary table is semi-persistent when transaction fails
* 7031: I cannot start MoentDb, because the installation path has
Chinese.
* 7055: Table count returning function used inside other function
gives wrong results.
* 7075: Inconsistent Results using CTEs in Large Queries
* 7079: WITH table AS... UPDATE ignores the WHERE conditions on table
* 7081: Attempt to allocate too much space in UPDATE query
* 7093: `current_schema` not in sys.keywords
* 7096: DEBUG SQL statement broken
* 7115: Jul2021: ParseException while upgrading Oct2020 database
* 7116: Jul2021: Cannot create filter functions
* 7125: MonetDB Round Function issues in the latest release
* 7126: The "lower" and "upper" functions doesn't work for Cyrillic
alphabet
* 7127: Bug report: "write error on stream" that results in mclient
crash
* 7128: Bug report: strange error message "Subquery result missing"
* 7129: Bug report: TypeException:user.main[19]:'batcalc.between'
undefined
* 7130: Bug report: TypeException:user.main[396]:'algebra.join'
undefined
* 7131: Bug report: TypeException:user.main[273]:'bat.append'
undefined
* 7133: WITH <alias> ( SELECT x ) DELETE FROM ... deletes wrong
tuples
* 7136: MERGE statement is deleting rows if the column is set as NOT
NULL even though it should not
* 7137: Segmentation fault while loading data
* 7138: Monetdb Python UDF crashes because of null aggr_group_arr
* 7141: COUNT(DISTINCT col) does not calculate correctly distinct
values
* 7142: Aggregates returning tables should not be allowed
* 7144: Type up-casting (INT to BIGINT) doesn't always happen
automatically
* 7146: Query produces this error: !ERROR: Could not find %102.%102
* 7147: Internal error occurs and is not shown on the screen
* 7148: Select distinct is not working correctly
* 7151: Insertion is too slow
* 7153: System UDFs lose their indentation - Python functions broken
* 7158: Python aggregate UDF returns garbage when run on empty table
* 7161: fix priority
The MonetDB team at MonetDB BV is pleased to announce a bugfix release
of the MonetDB Java jars and JDBC driver.
We recommend all users of MonetDB JDBC driver to upgrade to version:
monetdb-jdbc-3.1.jre8.jar
The download location is as usual:
<https://www.monetdb.org/downloads/Java/>.
For a list of changes please read:
<https://www.monetdb.org/downloads/Java/ChangeLog>.
For information and tips on using the MonetDB JDBC driver, see:
<https://www.monetdb.org/downloads/Java/release.txt>.
Note: as of release monetdb-jdbc-3.0.jre8.jar the MonetDB JDBC Driver
class name has been changed to: org.monetdb.jdbc.MonetDriver
It used to be nl.cwi.monetdb.jdbc.MonetDriver which is now marked as
deprecated.
Please use the new driver class name asap in your configuration
files/scripts and/or Java code.
The old driver class name is still included in the jar file to ease the
transition for existing deployments. However it will be removed in a
future release of the MonetDB JDBC driver.
--
Sjoerd Mullender
The MonetDB team at MonetDB BV is pleased to announce the
Oct2020-SP5 bugfix release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<https://www.monetdb.org/>.
For details on this release, please see the release notes at
<https://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <https://www.monetdb.org/downloads/>.
Oct2020-SP5 Bugfix Release (11.39.17)
Windows Packaging
* Added the monetdbe library to the Windows installer.
MonetDB Common
* A bug that would very occasionally produce an error "strPut:
incorrectly encoded UTF-8", even when no incorrectly coded
characters are used at all, has been fixed. It was the result of a
rare combination of strings having been added to the column that
caused essentially an off-by-one type of error to occur.
SQL Frontend
* A bug where a sequence of TRUNCATE TABLE and COPY INTO the just
truncated table would result in success being reported to both
queries, but the table still being empty afterwards, has been
fixed.
Merovingian
* When stopping monetdbd using the `monetdbd stop' command, this
command now waits for 5 seconds longer than the exittimeout value
before it kills the monetdbd daemon instead of only 30 seconds
total (or until that daemon stops earlier). This gives the daemon
enough time to terminate the mserver5 processes that it is
managing. If exittimeout is negative, the daemon and the monetdbd
process initiating the stop wait indefinitely until the mserver5
processes have stopped.
Bug Fixes
* 3336: DB files not removed if all rows are deleted, even after
restart
* 7104: Monetdbe NTILE function does not produce correct ordering
* 7108: Monetdb crashes on query execution
* 7109: MERGE Statement incorrectly reports that input relation
matches multiple rows
* 7110: Monetdb Query parsing consistency issues in the latest
release (Remote Table)