# DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
# This file contains past ChangeLog entries

* Thu Feb 18 2016 Martin Kersten <mk@cwi.nl> - 11.23.1-20160601
- Extended the storage() table producing function to also accept
  storage([schemaname [, tablename [, columnname]]])

* Tue Dec 22 2015 Martin Kersten <mk@cwi.nl> - 11.23.1-20160601
- The :bat[:oid,:any] type descriptor has been turned into its columnar
  version :bat[:any]

* Mon Dec 21 2015 Martin Kersten <mk@cwi.nl> - 11.23.1-20160601
- Converted the *.mal scripts into *.malC versions to prepare for removal
  of the mserver console.

* Tue Dec 15 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed functions mat.hasMoreElements, mat.info, mat.mergepack,
  mat. newIterator, mat.project, mat.pack2, mat.sortReverse, mat.sort,
  and mat.slice.

* Thu Dec 10 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed grouped aggregate functions from the aggr module in which the
  groups were indicated by the head column of the bat to be aggregated.
  Use the interface with a separate group bat instead.

* Tue Dec  8 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- The server now stops executing a query when the client disconnects.

* Thu Dec  3 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.join.  Use algebra.subjoin instead.
- Removed algebra.antijoin.  Use algebra.subantijoin or
  algebra.subthetajoin instead.

* Mon Nov 23 2015 Martin Kersten <mk@cwi.nl> - 11.23.1-20160601
- The MAL function 'leftfetchjoin' is renamed to its relational algebra
  version 'projection'

* Sat Nov  7 2015 Martin Kersten <mk@cwi.nl> - 11.23.1-20160601
- The generic property handling scheme has been removed. It was used in
  just a few places, for widely different purposes and contained cruft.

* Mon Oct 26 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed functions str.iconv and str.codeset.  Internally, strings are
  always in UTF-8 encoding, so we can't allow code set conversions.

* Wed Oct  7 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algerbra.like with a BAT argument.  Use algebra.likesubselect
  instead.

* Wed Sep 16 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.leftjoin.  Use algebra.subleftjoin or
  algebra.leftfetchjoin instead.
- Removed algebra.tdiff and algebra.tinter.

* Mon Sep 14 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.sample.  Use sample.subuniform instead.

* Fri Sep 11 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.select.  Use algebra.subselect instead.

* Wed Sep  9 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.revert.

* Tue Sep  8 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed bat.order and bat.orderReverse functions.

* Mon Sep  7 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Changed client.getUsers to return two bats, one with the user id
  and one with the user name.

* Sun Sep  6 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Implemented algebra.subdiff and algebra.subinter.

* Sat Sep  5 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.tdifference and algebra.tintersect.

* Fri Aug 14 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.23.1-20160601
- Removed algebra.tunion.

* Tue Sep  8 2015 Martin Kersten <mk@cwi.nl> - 11.21.15-20160310
- Fixed potential crash in MAL debugger when accessing BATs by
  index. Functionality dropped as it is also a security leak.

* Thu Jan 29 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.21.1-20150807
- Implemented batcalc.min and batcalc.max.  Made calc.min and calc.max
  generic so that no other implementations are needed.

* Fri Dec 19 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.21.1-20150807
- Removed function batcalc.ifthen.

* Thu Nov 20 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.19.5-20141120
- Fixed adding of 0 intervals to dates.

* Mon Sep 15 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.19.1-20141024
- Removed algebra.materialize.

* Fri Aug 29 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.19.1-20141024
- Removed algebra.kunique and algebra.tunique.  They were subsumed by
  algebra.subunique.

* Tue Aug 26 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.19.1-20141024
- Remove algebra.antiuselect and algebra.thetauselect.  They were subsumed
  by algebra.subselect.

* Mon Aug 25 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.19.1-20141024
- Removed algebra.topN and its imlementation BATtopN.  The function was
  not used.
- Removed aggr.histogram and its implementation BAThistogram.  The
  function was not used, and did not produce output in the "headless"
  (i.e. dense-headed) format.  Histograms can be created as a by-product
  of group.subgroup.

* Tue Nov 19 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.19-20131120
- Fixed a possible buffer overflow in the COPY INTO code.
- Fixed a problem that when the server is using all available threads
  for a query, it was not possible to attach another client and have
  it execute even the smallest query.  This is fixed by creating extra
  threads for each client entering the fray at the cost of having more
  threads that execute queries.  But at least there is guaranteed progress
  for all clients (modulo the operating system scheduler).  See bug #3258.

* Tue Mar 12 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.5-20130412
- Fixed argument parsing of mapi.reconnect() with 5 arguments.

* Wed Nov 14 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.15.1-20130212
- mserver5: The --dbname and --dbfarm options have been replaced by the
  single --dbpath option.

* Wed Oct  3 2012 Martin Kersten <mk@cwi.nl> - 11.15.1-20130212
- The scheduler of mserver5 was changed to use a fixed set of workers to
  perform the work for all connected clients.  Previously, each client
  connection had its own set of workers, easily causing resource problems
  upon multiple connections to the server.

* Tue Sep 25 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.13.1-20121010
- Removed module attach since it wasn't used or even tested.

* Wed Aug  8 2012 Fabian Groffen <fabian@cwi.nl> - 11.13.1-20121010
- The MAL-to-C Compiler (mcc) was removed.  The code wasn't tested and
  most likely non-functional.

* Fri Sep  7 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.9-20120911
- Changed the way nclients maximum was calculated to avoid 'out of client
  slots' errors way before the maximum was reached.

* Thu Aug  2 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.7-20120813
- The server now distinguishes between starting and started states,
  such that monetdbd can wait for it to finish starting.

* Thu Jun 14 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.1-20120706
- Crackers code has been removed.  Development continues in the holindex
  branch.

* Tue Feb  7 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.9.1-20120418
- The type "chr" has been removed.
  chr has long been superseded by bte for 1 byte arithmetic plus it is
  pretty useless to hold single characters since we use Unicode and
  thus only a tiny subset of the supported character set would fit.

* Thu Feb  9 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.7.7-20120224
- Fixed potential crash by dealing better with non-standard types.

* Mon Jan 16 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.7.3-20120117
- A couple of memory leaks have been plugged.

* Fri Sep 23 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Introduced new variable max_clients that allows to define how many
  concurrent connections are allowed to be made against the database.

* Tue Aug  2 2011 Martin Kersten <mk@cwi.nl> - 11.7.1-20120111
- mal_interpreter.mx Protect against concurrent exceptions If multiple
  parallel blocks access the exception variables and perform GDKfree
  on old messages, then we may enter a case that one thread attempts a
  second free.  Simple lock-based protection is the first line of defense.

* Tue Aug  2 2011 Martin Kersten <mk@cwi.nl> - 11.7.1-20120111
- bpm and partitions have been moved to the attic.  It is replaced by
  the partition optimizer, still under construction.

* Tue Aug  2 2011 Martin Kersten <mk@cwi.nl> - 11.7.1-20120111
- The MAL debugger next/step operations semantics have been fixed.
  The profiler also now clearly shows entrance/exit of a MAL function.

* Tue Aug  2 2011 Martin Kersten <mk@cwi.nl> - 11.7.1-20120111
- The dataflow optimizer uses a less strict side-effect test for BAT
  new operations and better recognizes trivial plans.

* Wed Sep 21 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.3-20110925
- Fixed a problem where MAL variables weren't properly cleared before
  reuse of the data strucutre.  This problem could cause the data flow
  scheduler to generate dependencies between instructions that didn't
  actually exist, which in turn could cause circular dependencies among
  instructions with deadlock as a result.  Bugs 2865 and 2888.

* Wed Jul 13 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- Make crackers optional and disable by default, since it wasn't used
  normally

* Fri Apr 22 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- Authorisation no longer takes scenarios into account.  Access for only
  sql or mal is no longer possible.  Any credentials now mean access to
  all scenarios that the server has available.

* Wed May 11 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.3.3-20110517
- Fixed a bug in conversion from string to the URL type.  The bug was
  an incorrect call to free().

* Thu Feb  3 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
- mserver5 no longer reads monetdb5.conf upon startup by default.
  Use --config=file to have mserver5 read a configuration on startup

* Sat Mar 05 2011 Stefan de Konink <stefan@konink.de> - 11.1.1-20110317
- sphinx module: update, adding limit/max_results support

* Fri Sep 10 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Improve the performance of remote.put for BAT arguments.  The put
  speed is now roughly equal to the speed of get on a BAT.

* Thu Jan 20 2011 Sjoerd Mullender <sjoerd@acm.org>
- Fix problem with Windows cmd script if installation folder name
  contains parentheses.

* Sat Jul 17 2010 mk@cwi.nl - 5.22.1-20101029
- Debugging the optimizer pipeline The best way is to use mdb.traceOptimizer(str)
  and inspect the information gathered during the optimization phase.
  Several optimizers produce more intermediate information, which may
  shed light on the details.  The optDebug bitvector controls their
  output. It can be set to a pipeline or a comma separated list of
  optimizers you would like to trace. It is a server wide property and
  can not be set dynamically, as it is intended for internal use.

* Wed Oct 27 2010 Fabian Groffen <fabian@cwi.nl> - 5.22.1-20101029
- Resolved a problem with leaking threads, eventually causing new
  connections to the server to hang, bug #2700

* Tue Jul 13 2010 Stefan Manegold <Stefan.Manegold@cwi.nl> - 5.22.1-20101029
- Added "sequential_pipe" SQL optimizer pipeline that is (and should be kept!)
  identical to the default pipeline, except that optimizers mitosis & dataflow
  are omitted.

* Mon Jul 12 2010 Stefan Manegold <Stefan.Manegold@cwi.nl> - 5.22.1-20101029
- Added "no_mitosis_pipe" SQL optimizer pipeline that is (and should be kept!)
  identical to the default pipeline, except that optimizer mitosis is omitted.

* Mon Aug 30 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.22.1-20101029
- When attempting to insert incorrect UTF-8 sequences in a COPY INTO
  statement, the error message was truncated.  This is now fixed.
  Bug 2575.

* Tue Aug 24 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.5-20100824
- Fixed a crash when calculating certain aggregates on platforms where
  non-aligned data access is not allowed (e.g. Sparc).

* Fri Aug 20 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.5-20100823
- A bug was fixed where on 32 bit systems (or 64 bit systems using 32 bit
  OIDs), values were sometimes written as 32 bits but read as 64 bits.
  This fixes bugs 2644 and 2654.

* Thu Aug 19 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.5-20100823
- If extensions such as SQL and GEOM are properly installed, they are
  loaded automatically when mserver5 starts.  This fixes bug 2522.

* Fri Jul 30 2010 Niels Nes <niels@cwi.nl> - 5.20.5-20100823
- Fixed bug 2557. There was a bug in the mergetable optimizer which was
  triggered by multi column (at least 32 columns).

* Wed Jul 28 2010 Martin Kersten <mk@cwi.nl> - 5.20.5-20100823
- Added missing multiplex version of MAL str.stringlength().
  This improves performance of SQL length().

* Tue Jul 27 2010 Martin Kersten <mk@cwi.nl> - 5.20.5-20100823
- Protect dataflow against multi-assignments.
  This fixes bugs 2626 & 2614.

* Thu Jul 22 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.5-20100823
- Slight change to Fedora, Debian, Ubuntu installers: the database
  directory now has the group setuid bit set so that new databases
  inherit the group ownership (monetdb).

* Thu Jul 15 2010 Stefan Manegold <Stefan.Manegold@cwi.nl> - 5.20.5-20100823
- Restored genuine original mitosis logic by disabling
  incorrect octopus dominance (even when octopus was not
  enabled); basically a selective back-port of changesets
  http://dev.monetdb.org/hg/MonetDB/rev/2a358751a4b6
  http://dev.monetdb.org/hg/MonetDB/rev/692eff15bea0 from the default
  branch. This fixes bug 2596.

* Mon Jul 12 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.3-20100713
- Fixed bug 2597: This bug manifested itself in rank queries in SQL
  but was a bug in the mergetable optimizer.

* Thu Jul 01 2010 Fabian Groffen <fabian@cwi.nl> - 5.20.3-20100706
- Return a correct URI for local connection from Sabaoth when the
  connection is a UNIX domain socket.  Partial fix for bug #2567.

* Wed Jun 30 2010 Stefan Manegold <Stefan.Manegold@cwi.nl> - 5.20.3-20100706
- various performance fixes in grouping and grouped aggregation code
  (MonetDB5/src/modules/kernel/group.mx,
  MonetDB5/src/modules/kernel/aggr*.mx) to reduce the execution time
  the following query that mimics a two-column primary key check over
  the ~5 billion tuple "neighbors" table of the Skyserver database
  from 26 hours to 1.5 hours (on a 64 GB machine): SELECT count(c),
  sum(c), min(c), max(c) FROM (SELECT count(*) AS c FROM "neighbors"
  GROUP BY "objID","NeighborObjID") AS t;

* Wed Jun 23 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.1-20100625
- When libxml2 is available, the XML module is automatically loaded.

* Mon May 31 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.1-20100618
- Updated Vendor information.

* Wed May 19 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.20.1-20100618
- Created a new RPM MonetDB5-server-rdf for the optional MonetDB/RDF
  module.

* Sun May  2 2010 Martin Kersten <martin.kersten@cwi.nl> - 5.20.1-20100618
- Added the Z-order module to simplify future manipulation of arrays.

* Sat May  1 2010 Stefan Manegold <manegold@cwi.nl> - 5.20.1-20100618
- fixed BUG #2994521 "mat.slice unable to cope with only empty BAT
  arguments" by making MATpackSliceInternal() handle empty input BATs
  correctly

* Tue Apr 20 2010 Martin Kersten <martin.kersten@cwi.nl> - 5.20.1-20100618
- Select <col> from <t> limit <n> has been improved by introducing
  mat.slice().

* Tue Apr 20 2010 Stefan Manegold <manegold@cwi.nl> - 5.20.1-20100618
- Made compilation of "testing" (and "java") independent of MonetDB.
  This is mainly for Windows, but also on other systems, "testing" can
  now be built independently of (and hence before) "MonetDB".  Files
  that mimic configure functionality on Windows were moved from
  "MonetDB" to "buildtools"; hence, this affects all packages on
  Windows, requiring a complete rebuild from scratch on Windows.
  getopt() support in testing has changed; hence, (most probably)
  requiring a rebuild from scratch of testing on other systems.

* Tue Apr 20 2010 Stefan Manegold <manegold@cwi.nl> - 5.20.1-20100618
- Implemented build directory support for Windows, i.e., like on
  Unix/Linux also on Windows we can now build in a separate build
  directory as alternative to ...\<package>\NT, and thus keep the latter
  clean from files generated during the build.  On Windows, the build
  directory must be a sibling of ...\<package>\NT .

* Tue Apr 20 2010 Martin Kersten <martin.kersten@cwi.nl> - 5.20.1-20100618
- The MAL debugger list command has been extended with an optional
  hash '#', which produces line numbers for each of reference and
  analysis of variable span.
- The dataflow scheduler has been revamped to allow for more
  parallelism to be exploited.
- The garbage collection administration has been changed. Every
  variable record now comes with an end-of-life field (eolife), which
  denotes the instruction whereafter the BAT variable reference
  counter can be decremented. The garbage collector is never called
  automagically on MAL functions, because there may be other pressing
  needs to retain them. This means that MAL functions defined and used
  in the context of SQL, and which are not inlined, may cause a
  leakage.  The garbage collection has become part of each interpreter
  step.  The new approach makes the SQL/MAL plans half the size as
  before.

* Tue Apr 20 2010 Fabian Groffen <fabian@cwi.nl> - 5.20.1-20100618
- Removed stethoscope from MonetDB5 sources.  New location is in the
  clients repository.

* Tue Apr 20 2010 Martin Kersten <mk@cwi.nl> - 5.20.1-20100618
- Added the compression optimizer as an example of how to gain access
  to foreign file formats deep down in the kernel and transfer them
  just in time into a temporary BAT.

* Tue Apr 20 2010 Fabian Groffen <fabian@cwi.nl> - 5.20.1-20100618
- Renamed configure argument --with-console to --enable-console.
  Default remains console being enabled.

* Tue Apr 20 2010 Martin Kersten <mk@cwi.nl> - 5.20.1-20100618
- Fixed cleaning the user module context upon session end.
  Fixes bug #2956664

* Tue Apr 20 2010 Fabian Groffen <fabian@cwi.nl> - 5.20.1-20100618
- The config variable mapi_usock can now be used to instruct the
  server to listen for connections on a local UNIX domain socket on
  UNIX-like systems.

* Tue Apr 20 2010 Martin Kersten <mk@cwi.nl> - 5.20.1-20100618
- The MAL interpreter has been extended with an operation admission
  policy to control the memory claims of all concurrent running
  interpreters. Instructions are hold up unto there is sufficient
  resource or the query plan can not avoid its execution anymore.
- The join path optimizer has been extended with searching for join*,
  semijoin*, and leftjoin* paths. Furthermore, it avoids duplicate
  work by factoring out all common simple join paths.

* Thu Mar 18 2010 Sjoerd Mullender <sjoerd@acm.org> - 5.18.3-20100322
- Fixed a race condition that could occur if many clients were
  connecting and disconnecting.

* Sun Feb 21 2010 Martin Kersten <mk@(none)> - 5.18.1-20100223
- The MonetDB 5 code base underwent a series of small/medium changes:
  - Solving name conflicts with external libraries in mal_box.
  - Dependency graph generation in MAL debugger fixed.
  - Code hardening against out of memory errors and based on Coverity
    checks.
  - Recycler improved to deal with SQL plans from different sessions.
  - Profiler extended to report the argument types, user, and thread
    id.
  - MAL interpreter reports an event before and after the instruction.
  - Dataflow also allowed for updates on temporary BATs.
  - Reorder optimizer better respects the dataflow.
  - All update instructions return their target to mark the dataflow.
  - Clean up of (bat)calc module.
  - Packing pieces together simplified and speed up.
- The MAL interpreter has been extended with an operator admission
  scheme, which is active during parallel execution. It blocks threads
  if the total amount of memory needed for the operator can not be
  claimed. Only if there is one operation left to execute, it won't
  block. The admission level is controlled by a threshold, which is
  set to 90% of the physical memory.

* Mon Jan 11 2010 Sjoerd Mullender <sjoerd@acm.org>
- Install embeddedclient.h.

* Sun Jan 10 2010 Martin Kersten <mk@> - 5.18.1-20100223
- The ilike[u]select operations has been included in the repertoire
  recognized by the mergetable optimizer for push through of
  selections.
- The joinpath optimizer has been extended with recognition of the
  leftjoin.  This way, series of leftjoin operations can be optimized
  by looking at the smallest starting point.
- Introduced a dictionary encoding option to the optimizer pipeline.
  Encoding is initiated with a SQL call compress(tablename).

* Sun Nov 15 2009 Fabian Groffen <fabian@cwi.nl> - 5.18.1-20100223
- Removed the ability to redirect to other running databases in the
  same dbfarm.  This functionality has been taken over completely by
  merovingian, and only results in confusement these days, bug
  #2891191.
- Added --enable-console configure argument, defaulting to 'yes' for
  now.  Disabling the server console increases security by avoiding
  local access exploits.  This is not the default since our Testing
  setup cannot deal with a console-less server yet.

* Tue Nov  3 2009 Fabian Groffen <fabian@cwi.nl> - 5.18.1-20100223
- Report detected amount of main memory and cpu cores in output of
  `mserver5 --version`.

