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

* Sun Aug 30 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.21.7-20151020
- In the SQL formatter of mclient (the default) we now properly align
  East Asian wide characters.

* Thu Feb 19 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.21.1-20150807
- Added a new output format to mclient: --format=expanded (or -fx).
  In this format, column values are shown in full and below each other.

* Tue Jan 13 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.19.9-20150123
- Changes to the Perl interface, thanks to Stefan O'Rear:
  1. removes "use sigtrap", because this has global effects and should
  not be used by modules, only by the application.
  2. allows Perl 5.8.1+ Unicode strings to be passed to quote() and
  included in statements (UTF-8 encoded, as expected by Monet's str
  module)
  3. quote and unquote now use the same quoting rules as the MonetDB
  server, allowing for all characters except NUL to be round-tripped
  4. several character loops have been reimplemented in regex for much
  greater performance
  5. micro-optimizations to the result fetch loop
  6. block boundaries are preserved in piggyback data so that Xclose is
  not appended or prepended to a SQL command
  7. diagnostic messages #foo before a result header are ignored, this
  is necessary to use recycler_pipe
  8. fail quickly and loudly if we receive a continuation prompt (or any
  other response that starts with a non-ASCII character)
  9. header lines must start with %, not merely contain %, fixing a bug
  when querying a table where string values contain %
  10. after closing a large resultset, account for the fact that a reply
  will come and do not lose sync
  11. allow a MAPI_TRACE environment variable to dump wire protocol
  frames to standard output
  12. fixes maximum MAPI block size to match the server limit of 16k.
  previously would crash on blocks larger than 16k

* Tue Apr  1 2014 Sjoerd Mullender <sjoerd@acm.org> - 11.17.15-20140508
- ODBC: Implemented {call procedure-name(...)} escape.  The version
  {?=call ...} is not implemented.

* Fri Sep  6 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.17.1-20140114
- ODBC: Implemented {fn scalar()} and {interval ...} escapes.

* Tue Nov 19 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.19-20131120
- mclient: Fixed a bug where the -H option only worked if the readline
  history file already existed.  Now we properly create and use the
  history file.

* Wed Nov  6 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.19-20131120
- ODBC: Fixed interpretation SQL_C_SLONG/SQL_C_ULONG/SQL_C_LONG to
  refer to a 32 bit integer always (i.e. "int" on 64 bit architectures
  despite the name and the Microsoft documentation).  This seems to be
  the consensus.
- ODBC: Fixed transaction level: MonetDB only supports the highest level
  (SQL_TXN_SERIALIZABLE), so setting the transaction level can be accepted
  and ignored.

* Fri Oct  4 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.17-20131008
- ODBC: Implemented retrieving variable-length data in parts with
  SQLGetData.  See bug 3381.

* Sat Dec  1 2012 Fabian Groffen <fabian@monetdb.org> - 11.15.1-20130212
- Mapi protocol v8 support was removed from all client drivers.  Protocol
  v8 has not been used by the servers any more since Apr2012 release
- The tool mnc was removed from installations

* Wed Nov  7 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.15.1-20130212
- msqldump: Implmented an option (--table/-t) to dump a single table.
- Changed msqdump's trace option to be in line with mclient.  In both
  cases, the long option is --Xdebug and the short option is -X.

* Tue Sep  4 2012 Fabian Groffen <fabian@cwi.nl> - 11.13.1-20121010
- mclient now accepts URIs as database to connect to.

* Thu Jul 19 2012 Gijs Molenaar <g.j.molenaar@uva.nl> - 11.13.1-20121010
- all strings returned by python2 are unicode, removed use_unicode option
- python2 and 3 type convertion speed improvements
- python2 uses new styl objects now (bug #3104)
- split python2 and python3

* Tue Jul 17 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.7-20120813
- mclient no longer prints the SQLSTATE at the start of each error
  returned by the SQL-server.

* Fri Jun 29 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.11.1-20120706
- ODBC: Fixed a bug where SQLNativeSql expected a statment handle instead
  of a connection handle.

* Wed May 23 2012 Fabian Groffen <fabian@cwi.nl> - 11.9.7-20120607
- Resolved a cosmetical error where tab-characters would cause
  misalignments in tabular result views.  For the time being, tabs are
  now represented as a single space in tabular view.

* Fri Mar  9 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.9.1-20120418
- ODBC: Implemented the SQL_ATTR_CONNECTION_TIMEOUT attribute.

* Tue Mar  6 2012 Sjoerd Mullender <sjoerd@acm.org> - 11.9.1-20120418
- mclient now has a -a (--autocommit) option to turn off autocommit mode.

* Wed Dec  7 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Fix making connections with stethoscope to hosts without monetdbd.
  Bug #2944.

* Tue Dec  6 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Fixed some bugs in the PHP interface affecting the mapi_ping(),
  monetdb_insert_id() and auto_commit() functions.  Bugs #2936, #2937,
  #2938.

* Tue Nov 15 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- ODBC: Fixed SQLNumResultCols and SQLDescribeCol to return useful
  information after a call to SQLPrepare and before any SQLExecute.

* Wed Nov  9 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- mclient: The exact interpretation of the -i (--interactive) option
  and the - filename argument have changed.  The - filename argument
  means read from standard input and no longer implies that no \
  interpretation is done on the input.  Instead, \ interpretation is done
  if either standard input is a terminal, or if the -i option is given.
  The -i option no longer causes mclient to read from standard input.
  It only means to do \ interpretation when reading from standard input.
  Use the - filename argument to read from standard input.  Note that
  if no -s option is specified and no filename arguments are present,
  mclient still reads from standard input.

* Wed Nov  2 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- ODBC: Improved internal query for SQLSpecialColumns.  Before, the query
  returned all columns taking part in a PRIMARY KEY *and* all columns
  taking part in a UNIQUE constraint.  Now it returns only one or the
  other set.

* Fri Oct 28 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- ODBC: The database name is now used as the catalog name throughout.
  Functions that return a catalog name return the database name, and
  functions that match on catalog name match it with the database name.

* Mon Oct 24 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- ODBC: Implemented an easier way to create a log file of interactions
  with the ODBC driver.  You can now add a connection attribute
  "LOGFILE=filename" to the connection string parameter of
  SQLBrowseConnect and SQLDriverConnect, and to the relevant part of
  the Windows registry or odbc.ini file.  This value is only used if
  there is no environment variable ODBCDEBUG.

* Wed Oct 12 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Quoting of object names for mclient's \d command is now more flexible
  and consistent with standard SQL quoting rules, bug #2846.

* Mon Sep 12 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.7.1-20120111
- ODBC: Implemented SQLColumnPrivileges function.

* Sat Aug 27 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Install new program, mnc, which provides netcat functionality, but
  based on MonetDB's communication libraries

* Tue Aug 23 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- Report full URI to database instead of just database when available
  in mclient.

* Thu Aug 18 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
- The time format of the timer output can now be controlled with an
  optional argument to the -i option.  ms, s and m force the time to be
  formatted as milliseconds, seconds or minutes + seconds respectively.

* Thu Oct 20 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.7-20111021
- ODBC: Implemented a workaround in SQLTables for bug 2908.

* Mon Oct 17 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.5-20111018
- Small improvement to mclient's table rendering for tables without
  any rows.  Previously, the column names in the header could be
  squeezed to very small widths, degrading readability.

* Wed Oct 12 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.5-20111018
- Python DB API connect() function now supports PEP 249-style arguments
  user and host, bug #2901

* Wed Oct 12 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.5-20111018
- mclient now checks the result of encoding conversions using the iconv
  library.

* Mon Oct 10 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.5-20111018
- Fixed a source of crashes in mclient when a query on the command line
  using the -s option is combined with input on standard input (e.g. in
  the construct mclient -s 'COPY INTO t FROM STDIN ...' < file.csv).

* Fri Oct  7 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.5-20111018
- Fixed bug 2897 where slow (network) reads could cause blocks to not
  be fully read in one go, causing errors in the subsequent use of
  those blocks.  With thanks to Rémy Chibois.

* Tue Sep 27 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.5-20111018
- Fixed a bug in mclient where processing queries from files could result
  in ghost empty results to be reported in the output

* Fri Sep 23 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.3-20110925
- Fixed Perl DBD rowcount for larger results, bug #2889

* Mon Sep 19 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.3-20110925
- Perl: We now distinguish properly between TABLE and GLOBAL TEMPORARY
  (the latter are recognized by being in the "tmp" schema).
- Perl: fixed a bunch of syntax errors.  This fixes bug 2884.  With thanks
  to Rémy Chibois.
- Perl: Fixed DBD::monetdb table_info and tabletype_info.  This fixes
  bug 2885.  With thanks to Rémy Chibois.

* Tue Sep 13 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.3-20110925
- mclient: fix display of varchar columns with only NULL values.
- Fixed a bug in mclient/msqldump where an internal error occurred during
  dump when there are GLOBAL TEMPORARY tables.

* Wed Aug 31 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.1-20110907
- msqldump now also accepts the database name as last argument on the
  command line (i.e. without -d).

* Fri Aug 26 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- Made error messages from the server in mclient go to stderr, instead
  of stdout.

* Thu Aug 18 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.1-20110907
- Implemented SQL_ATTR_METADATA_ID attribute.  The attribute is used
  in SQLColumns, SQLProcedures, and SQLTablePrivileges.
- Implemented SQLTablePrivileges in the ODBC driver.

* Fri Aug  5 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.5.1-20110907
- mclient now automatically sets the SQL `TIME ZONE' variable to its
  (the client's) time zone.

* Sun Jul 24 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- Removed perl/Cimpl, MonetDB-CLI-MapiLib and MonetDB-CLI-MapiXS
- Switched implementation of MonetDB::CLI::MapiPP to Mapi.pm, and made
  it the default MonetDB::CLI provider.

* Sun Jul 17 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- Made Mapi.pm usable with current versions of MonetDB again

* Mon Apr 18 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
- When the first non-option argument of mclient does not refer to an
  exising file, it now is taken as database name.  This allows to simply
  do `mclient mydb`.

* Fri Jul  1 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.5-20110720
- Fix stethoscope's mod.fcn filter when using multiple targets, bug #2827

* Wed Jun 29 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.3.5-20110720
- The separate Python distribution now uses the same version number as
  the main package.

* Tue Apr  5 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
- Plugged a small memory leak occurring upon redirects by the server
  (e.g. via monetdbd)

* Mon Feb  7 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
- Remove XQuery related code from Ruby adapter, PHP driver and Perl Mapi
  library

* Thu Feb  3 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
- Make SQL the default language for mclient, e.g. to use when --language=
  or -l is omitted

* Mon Feb 14 2011 Sjoerd Mullender <sjoerd@acm.org> - 11.1.1-20110317
- Fixed bug 2677: SQL_DESC_OCTET_LENGTH should give the size in bytes
  required to copy the data.

* Mon Jan 24 2011 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Disable timer functionality for non-XQuery languages since it is
  incorrect, bug #2705

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

* Tue Jan  4 2011 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Added mapi_get_uri function to retrieve mapi URI for the connection

* Fri Dec 10 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Allow to dump table data using INSERT INTO statements, rather than COPY
  INTO + CSV data using the -N/--inserts flag of mclient and msqldump.
  Bug #2727

* Wed Dec  8 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Added support for \dn to list schemas or describe a specific one

* Thu Nov 25 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Added support for \df to list functions or describe a specific one
- Added support for \ds to list sequences or describe a specific one

* Mon Nov 22 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- Added support for wildcards * and ? in object names given to \d
  commands, such that pattern matching is possible, e.g. \d my*
- Added support for \dS that lists also system tables

* Fri Nov 19 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
- object names given to \d are now lowercased, unless quoted by either
  single or double quotes
- Strip any trailing whitespace with the \d command

* Fri Nov 19 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.3-20101215
- Workaround usage of strncat to solve mclient/mapilib aborts from
  bug #2725

* Fri Nov 12 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.40.3-20101215
- Fixed a corner case in the table display code.

* Thu Oct 28 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
- Fix crash when the server disconnects during \d query

* Wed Oct 27 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.40.1-20101029
- A manual page for the msqldump program was added.
- Mclient now recognizes the file name "-" to refer to its standard
  input.

* Fri Oct  1 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.40.1-20101029
- Save readline history as we go along.  This fixes bug 2632.

* Tue Sep 14 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.40.1-20101029
- The \d and \D commands now require a space if they are followed by a
  table name.  This is to accomodate future expansion where \d and \D
  could be immediately followed by another letter to indicate the type
  of object of interest.
- Implemented dumping of "external" functions.  This fixes bug 2546.

* Thu Aug 26 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
- Empty resultsets now show a header in mclient using SQL mode.

* Wed Aug 18 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
- Allow users to specify their own default formatter (using format=), or
  their default formatting width (using width=) in their .monetdb file.
  Setting the latter option is mostly useful when using the sql
  formatter, such that truncation can be disabled by setting width=-1.
- Rendering of mclient's tabular mode (when using SQL) has been changed
  considerably to get improved output.  Most importantly it now omits
  parts of field values or even full columns when the used terminal width
  is insufficient to display the result.  To disable this behaviour,
  simply set width to -1 (via -w option or \w in mclient), or chose
  another rendering mode.

* Wed Jul 21 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
- In SQL mode, always use the table formatter, as there is no sense to
  use raw (protocol debug) mode when reading from pipe or file really.
  People likely prefer tab (-ftab) formatting in such case for easy
  scripting.

* Thu Jul 15 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
- In SQL (rendering) mode, mclient now returns timings for SELECT and
  UPDATE/INSERT/DELETE queries next to the number of tuples returned or
  rows affected.

* Fri Sep 10 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.40.1-20101029
- A bug was fixed (bug 2639) where using completion failed with an error
  when using another schema than "sys".

* Thu Aug 19 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.5-20100823
- mclient now complains about NULL bytes in the input when in interactive
  mode.

* Fri Aug 13 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
- Slight rendering improvements to mclient's tabular output when
  rendering results larger than the available screen width, headers
  were previously unnecessarily squeezed.
- Fix bug #2650, a too small buffer caused the active database as
  reported by mclient's welcome message to be truncated

* Wed Jul 21 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
- Add --version option to mclient.

* Tue Jul 20 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.5-20100823
- In case of an incomplete line from the server, add a newline.
  This fixes bug 2619.

* Mon Jul 19 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.5-20100823
- Avoid using SQLROWSETSIZE and SQLROWOFFSET.
  This fixes bug 2558.

* Mon Jul  5 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.3-20100706
- Implemented dumping of GRANT statements.
  This fixes bug 2574.

* Thu Jul  1 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.3-20100706
- Fix implementation of mapi_mapiuri to deal with UNIX socket urls
  properly.  This fixes one part of Bug #2567.

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

* Tue Apr 20 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.1-20100618
- The MonetDB ODBC driver now no longer depends on its own copy of the
  standard ODBC include files but instead depends on system include
  files (unixODBC on Linux and Microsoft SDK on Windows).

* Tue Apr 20 2010 Stefan Manegold <manegold@cwi.nl> - 1.38.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> - 1.38.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 Fabian Groffen <fabian@cwi.nl> - 1.38.1-20100618
- Changed \d output of mclient no longer to list (internal use only)
  system tables.  Administrator users who like to inspect these tables
  can use SELECT * FROM tables; instead

* Tue Apr 20 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.38.1-20100618
- Implemented the changes required for properly running ODBC on a
  64-bit platform.

* Tue Apr 20 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.1-20100618
- Added stethoscope, a utility to profile MonetDB5 instances,
  originally from the MonetDB5 repository.

* Thu Apr 15 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.36.5-20100420
- Documented the database option in the DSN in the Perl interface.
  Also incremented the version number of the Perl interface.
- Fixed a problem in the PHP interface where under certain
  circumstances not all data from the server was read, leading to a
  limited number of rows being returned and other weird behavior.
  This fixes SF bug 2975433.
- If mclient is called with argument -? or --help, exit with exit code
  0.  This fixes SF bug 2956574.

* Wed Feb 17 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.36.1-20100223
- Fixed a bug in the Mapi library when sending very large queries to
  the server.
- Implemented BLOB and CLOB support in ODBC driver.

* Tue Feb 02 2010 Fabian Groffen <fabian@cwi.nl> - 1.36.1-20100223
- Fixed crash upon connect to a server that is under maintenance but
  has the requested language (scenario) not loaded.

* Wed Jan 27 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.36.1-20100223
- Fixed bug in the ODBC driver where a non-ASCII character at the end
  of a string caused an error when the string was converted to wide
  characters.

* Wed Jan 20 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.36.1-20100223
- mclient timer information (-t option) is now written to standard
  error instead of standard output.  This makes getting timer
  information easier when there is a large amount of regular output
  (which can be redirected to a file or /dev/null).

* Tue Jan 19 2010 Sjoerd Mullender <sjoerd@acm.org> - 1.36.1-20100223
- Implemented new function mapi_fetch_field_len() which returns the
  length (excluding trailing NULL byte) of the field returned by
  mapi_fetch_field().

* Mon Jan  4 2010 Sjoerd Mullender <sjoerd@cwi.nl>
- Fix exit code of mclient -D in case dump fails.

