changeset 0:a5a898f6886c

Copy of MonetDB java directory changeset e6e32756ad31.
author Sjoerd Mullender <sjoerd@acm.org>
date Wed, 21 Sep 2016 09:34:48 +0200 (2016-09-21)
parents
children aded8207ba33
files ChangeLog ChangeLog-Archive ChangeLog.Jun2016 Makefile.ag SQLSTATEs build.properties build.xml example/MJDBCTest.java example/PreparedExample.java example/SQLImport.java example/SQLcopyinto.java jdbc-3_0-fr-spec.pdf jdbc4.0-fr-spec.pdf pom.xml release.txt src/main/java/nl/cwi/monetdb/client/JMonetDB.java src/main/java/nl/cwi/monetdb/client/JdbcClient.java src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java src/main/java/nl/cwi/monetdb/jdbc/MonetClob.java src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java src/main/java/nl/cwi/monetdb/jdbc/MonetDataSource.java src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java src/main/java/nl/cwi/monetdb/jdbc/MonetSavepoint.java src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java src/main/java/nl/cwi/monetdb/jdbc/MonetWrapper.java src/main/java/nl/cwi/monetdb/jdbc/types/INET.java src/main/java/nl/cwi/monetdb/jdbc/types/URL.java src/main/java/nl/cwi/monetdb/mcl/MCLException.java src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java src/main/java/nl/cwi/monetdb/mcl/net/MapiSocket.java src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java src/main/java/nl/cwi/monetdb/mcl/parser/MCLParseException.java src/main/java/nl/cwi/monetdb/mcl/parser/MCLParser.java src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java src/main/java/nl/cwi/monetdb/merovingian/Control.java src/main/java/nl/cwi/monetdb/merovingian/MerovingianException.java src/main/java/nl/cwi/monetdb/merovingian/SabaothDB.java src/main/java/nl/cwi/monetdb/util/CmdLineOpts.java src/main/java/nl/cwi/monetdb/util/Exporter.java src/main/java/nl/cwi/monetdb/util/Extract.java src/main/java/nl/cwi/monetdb/util/OptionsException.java src/main/java/nl/cwi/monetdb/util/SQLExporter.java src/main/java/nl/cwi/monetdb/util/SQLRestore.java src/main/java/nl/cwi/monetdb/util/XMLExporter.java tests/BugConcurrent_clients_SF_1504657.java tests/BugConcurrent_sequences.java tests/BugDatabaseMetaData_Bug_3356.java tests/BugDecimalRound_Bug_3561.java tests/Makefile.ag tests/Test_Cautocommit.java tests/Test_Cforkbomb.java tests/Test_CisValid.java tests/Test_Clargequery.java tests/Test_Cmanycon.java tests/Test_Creplysize.java tests/Test_Csavepoints.java tests/Test_Csendthread.java tests/Test_Ctransaction.java tests/Test_Dobjects.java tests/Test_FetchSize.java tests/Test_Int128.java tests/Test_PSgeneratedkeys.java tests/Test_PSgetObject.java tests/Test_PSlargeamount.java tests/Test_PSlargebatchval.java tests/Test_PSlargeresponse.java tests/Test_PSmanycon.java tests/Test_PSmetadata.java tests/Test_PSsomeamount.java tests/Test_PSsqldata.java tests/Test_PStimedate.java tests/Test_PStimezone.java tests/Test_PStypes.java tests/Test_Rbooleans.java tests/Test_Rmetadata.java tests/Test_Rpositioning.java tests/Test_Rsqldata.java tests/Test_Rtimedate.java tests/Test_Sbatching.java tests/Test_Smoreresults.java tests/build.properties tests/build.xml tests/drop.sql version.sh
diffstat 89 files changed, 26518 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,31 @@
+# ChangeLog file for java
+# This file is updated with Maddlog
+
+* Thu Sep 15 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
+- Improved performance of following JDBC ResultSet and ResultSetMetaData
+  methods:
+  - ResultSet.getBoolean(column)
+  - ResultSet.getBinaryStream(column)
+  - ResultSet.getBytes(column)
+  - ResultSet.getObject(column)
+  - ResultSet.getObject(column, map)
+  - ResultSet.getDate(column)
+  - ResultSet.getTime(column)
+  - ResultSet.getTimestamp(column)
+  - ResultSet.getDate(column, calendar)
+  - ResultSet.getTime(column, calendar)
+  - ResultSet.getTimestamp(column, calendar)
+  - ResultSetMetaData.getColumnClassName(column)
+  - ResultSetMetaData.getColumnType(column)
+  - ResultSetMetaData.isCaseSensitive(column)
+  - ResultSetMetaData.isSigned(column)
+  - ResultSetMetaData.getPrecision(column)
+
+* Thu Sep  8 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
+- Improved JdbcClient program by fixing some resource leaks.
+- Extended JdbcClient program by showing elapsed time information for each
+  query or command when started in interactive mode (no -f was used at startup).
+
+* Thu Sep  1 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
+- Improved fetching and output speed of JdbcClient program for query results.
+
new file mode 100644
--- /dev/null
+++ b/ChangeLog-Archive
@@ -0,0 +1,404 @@
+# DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
+# This file contains past ChangeLog entries
+
+* Thu Jul  7 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.7-20160713
+- Corrected PROCEDURE_TYPE output value of method DatabaseMetaData.getProcedures().
+  It used to return procedureReturnsResult. Now it returns procedureNoResult.
+  Corrected ORDINAL_POSITION output value of method DatabaseMetaData.getProcedureColumns().
+  It used to start with 0, but as procedures do not return a result value it now
+  starts with 1 for all the procedure arguments, as defined by the JDBC API.
+- Improved output of method DatabaseMetaData.getProcedures(). The REMARKS
+  column now contains the procedure definition as stored in sys.functions.func.
+  The SPECIFIC_NAME column now contains the procedure unique identifier as
+  stored in sys.functions.id. This allows the caller to retrieve the specific
+  overloaded procedure which has the same name, but different arguments.
+  Also improved output of method DatabaseMetaData.getProcedureColumns().
+  The SPECIFIC_NAME column now contains the procedure unique identifier as
+  stored in sys.functions.id. This allows the caller to retrieve the proper
+  arguments of the specific overloaded procedure by matching the SPECIFIC_NAME
+  value.
+- Improved output of method DatabaseMetaData.getFunctions(). The REMARKS
+  column now contains the function definition as stored in sys.functions.func.
+  The SPECIFIC_NAME column now contains the function unique identifier as
+  stored in sys.functions.id. This allows the caller to retrieve the specific
+  overloaded function which has the same name, but different arguments.
+  Also improved output of method DatabaseMetaData.getFunctionColumns().
+  The SPECIFIC_NAME column now contains the function unique identifier as
+  stored in sys.functions.id. This allows the caller to retrieve the proper
+  arguments of the specific overloaded function by matching the SPECIFIC_NAME
+  value.
+
+* Thu May 26 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Fixed problem in DatabaseMetaData.getUDTs() when it was called with
+  types parameter filled.  It used to throw SQException with message:
+  SELECT: identifier 'DATA_TYPE' unknown. Now it returns the UDTs which
+  match the provided array of data types.
+
+* Thu May 19 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Implemented MonetDatabaseMetaData.supportsConvert() and
+  MonetDatabaseMetaData.supportsConvert(int fromType, int toType) methods.
+  It used to always return false. Now it returns true for the supported conversions.
+  This fixes Bug 3460.
+
+* Sun May  8 2016 Jennie Zhang <y.zhang@cwi.nl> - 11.23.1-20160601
+- ResultSet.setFetchSize(): added a dummy implementation to get rid
+  of the SQLFeatureNotSupportedException. In MonetDB, it does not
+  make sense to set the fetch size of a result set. If one really
+  wants to set the fetch size, one should use Statement.setFetchSize()
+  instead.
+
+* Thu Apr 21 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Fixed resource leak in ResultSetMetaData. It created and cached a ResultSet
+  object for each column but never closed the ResultSet objects.
+
+* Thu Mar 31 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Corrected DatabaseMetaData methods which accept a catalog filter argument.
+  Those methods will now filter the results on the specified catalog name,
+  whereas previously the catalog filter argument was ignored.
+- Corrected output of column KEY_SEQ of DatabaseMetaData methods:
+  getPrimaryKeys(), getImportedKeys(), getExportedKeys() and
+  getCrossReference(). It now starts at 1 instead of 0 previously.
+
+* Thu Mar 24 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Corrected DatabaseMetaData.getSchemas() by returning 2 instead of 3 columns.
+- Improved DatabaseMetaData.getColumns() by returning two additional
+  columns: IS_AUTOINCREMENT and IS_GENERATEDCOLUMN.
+
+* Thu Mar 17 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Improved DatabaseMetaData.getTypeInfo(). It now returns better information
+  on LITERAL_PREFIX, LITERAL_SUFFIX, CREATE_PARAMS, CASE_SENSITIVE,
+  FIXED_PREC_SCALE and MAXIMUM_SCALE for some data types. Also the returned rows
+  are now ordered by DATA_TYPE, TYPE_NAME, PRECISION as required by the specs.
+  Also corrected output column names "searchable" into "SEARCHABLE" and
+  "MAXIMUM SCALE" into "MAXIMUM_SCALE" to match the JDBC specification.
+- Corrected DatabaseMetaData.getPseudoColumns(). It used to return 12 empty rows.
+  Now it returns no rows as MonetDB does not have pseudo columns.
+
+* Thu Mar  3 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Implemented method DatabaseMetaData.getClientProperties(). It used to always
+  return a resultset with 4 completely empty rows.  It now returns a
+  resultset with the possible connection properties.
+- Implemented method DatabaseMetaData.getUDTs(). It used to return an empty
+  resultset. Now it returns the User Defined Types such as inet, json, url and uuid.
+
+* Thu Feb 18 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Corrected the returned table types in DatabaseMetaData.getTableTypes().
+  It now returns all 10 table types (as stored in sys.table_types) instead
+  of the previously 8 hardcoded table types.
+  For old MonetDB servers which do not have the sys.table_types table,
+  the old behavior is retained.
+
+* Thu Feb 11 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Implemented methods DatabaseMetadata.getProcedures() and
+  DatabaseMetadata.getProcedureColumns(). They used to return an empty resultset.
+  Now they return the expected Procedures and ProcedureColumns.
+  Also getProcedureColumns() now returns a resultset with all 20 columns
+  instead of 13 columns previously.
+
+* Thu Feb  4 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Method getFunctionColumns() in DatabaseMetadata used to throw an
+  SQLException:  getFunctionColumns(String, String, String, String) is
+  not implemented.
+  This method is now implemented and returns a resultset.
+
+* Thu Jan 28 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Method getFunctions() in DatabaseMetadata used to throw an SQLException:
+   SELECT: no such column 'functions.sql'
+  This has been corrected. It now returns a resultset as requested.
+- The resultsets of DatabaseMetadata methods now no longer return a
+  value for the *_CAT columns as MonetDB does not support Catalogs.
+
+* Thu Jan  7 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Fixed a memory leak in MonetDatabaseMetaData.java for a static cache
+  which kept references to closed Connection objects.
+
+* Thu May 12 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Improved JdbcClient program when presenting query data to console.
+  It used to send an SQL catalog query for each query result column
+  which slowed down the interactive response considerably.
+  These additional SQL catalog queries have been eliminated.
+
+* Thu May 12 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.23.1-20160601
+- Corrected MonetResultSet.getObject(String columnName). It no longer
+  throws a NullPointerException in cases where internally a
+  MonetVirtualResultSet is used.
+
+* Sun May  8 2016 Jennie Zhang <y.zhang@cwi.nl> - 11.23.1-20160601
+- Fixed Connection.isValid(): this method should never attempt to
+  close the connection, even if an error has occurred.
+
+* Thu Aug  6 2015 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.21.1-20150807
+- 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.
+
+* Thu Jul 16 2015 Sjoerd Mullender <sjoerd@acm.org> - 11.21.1-20150807
+- We now compile the Java classes using the latest Java 1.8 version, and
+  we tell it to compile for Java 1.7.
+
+* Mon Oct  7 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.17-20131008
+- Rearranged order of returned columns of certain metadata functions to
+  comply with the JDBC documentation.  See bug 3356.
+
+* Sun Jun  9 2013 Fabian Groffen <fabian@monetdb.org> - 11.15.9-20130619
+- Further improved setBigDecimal() method, based on patch by Ben Reilly
+  in bug #3290
+
+* Thu May 23 2013 Fabian Groffen <fabian@monetdb.org> - 11.15.9-20130619
+- Fixed bug where PreparedStatement.setBigDecimal() wouldn't format its
+  input well enough for the server causing odd errors.
+- Allow PreparedStatement.setXXX() methods to be called with null
+  arguments, bug #3288
+
+* Thu Apr 11 2013 Sjoerd Mullender <sjoerd@acm.org> - 11.15.5-20130412
+- The pre-compiled .jar files are now created using Java 7 instead of
+  Java 6.
+
+* Sat Dec  1 2012 Fabian Groffen <fabian@monetdb.org> - 11.15.1-20130212
+- merocontrol was changed to return server URIs, and lastStop time.
+  Connections and dbpath were removed.
+- Mapi protocol v8 support was removed from MapiSocket.  Protocol
+  v8 has not been used by the servers any more since Apr2012 release
+
+* Fri Nov 23 2012 Fabian Groffen <fabian@monetdb.org> - 11.13.7-20121212
+- Implemented type map support of Connection to allow custom mapping
+  of UDTs to Java classes.  By default the INET and URL UDTs are
+  now mapped to nl.cwi.monetdb.jdbc.types.{INET,URL}.  Most notably,
+  ResultSet.getObject() and PreparedStatement.setObject() deal with the
+  type map.
+
+* Thu Nov 22 2012 Fabian Groffen <fabian@monetdb.org> - 11.13.7-20121212
+- Fixed a problem in PreparedStatement where the prepared statement's
+  ResultSetMetaData (on its columns to be produced) incorrectly threw
+  exceptions about non existing columns.  Bug #3192
+
+* Wed Oct 10 2012 Fabian Groffen <fabian@cwi.nl> - 11.13.3-20121016
+- Fixed problem with PreparedStatements and setXXX() methods using column
+  numbers instead of names, bug #3158
+
+* Tue Aug 14 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.9-20120911
+- Fixed a bug where DatabaseMetaData.getURL() did return null:0 for
+  hostname:port.
+
+* Fri Jul 20 2012 Fabian Groffen <fabian@cwi.nl> - 11.11.7-20120813
+- Fixed adaptive cache size used when retrieving results, not to cause
+  divide by zero errors when memory gets short, bug #3119.
+
+* Fri Mar  2 2012 Wouter Alink <wouter@spinque.com> - 11.9.1-20120418
+- Password reading by JdbcClient no longer results in strange artifacts
+- JdbcClient now returns exit code 1 in case of failures
+
+* Tue Feb 28 2012 Fabian Groffen <fabian@cwi.nl> - 11.7.9-20120312
+- Implemented missing Number types support in
+  PreparedStatement.setObject()
+
+* Mon Feb 20 2012 Fabian Groffen <fabian@cwi.nl> - 11.7.7-20120224
+- Fixed bug in DatabaseMetaData.getSchemas() method that caused an SQL
+  error when called with catalog and schema argument.
+
+* Tue Feb 14 2012 Fabian Groffen <fabian@cwi.nl> - 11.7.7-20120224
+- Resolved a bug where JDBC and Control connections could terminate
+  abruptly with 'Connection closed' messages
+
+* Mon Jan  2 2012 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Implemented getMetaData() method of PreparedStatement.
+
+* Tue Dec 27 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Fixed an AssertionError for special results from e.g. EXPLAIN queries.
+
+* Wed Dec 21 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Fixed overflow error when batching large statements, bug #2952
+
+* Tue Dec 20 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Resolved a concurrency problem where ResultSet's date-related getters
+  could cause odd stack traces when used by multiple threads at the
+  same time, bug #2950.
+
+* Mon Dec 19 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- JDBC now implements JDBCv4.1 which makes it possible to be built with
+  Java 7 and up.  JDBCv4.1 is a maintenance release of JDBCv4, and hence
+  can be compiled with Java 6, although the added methods obviously are
+  not part of the java.sql interfaces.
+
+* Sun Dec 11 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- SQLExceptions thrown now carry a SQLSTATE.  Until the server starts
+  sending correct SQLSTATEs for all errors, server originated errors
+  without SQLSTATE are considered generic data exceptions (22000).
+
+* Sat Dec 10 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Fixed a bug where closing ResultSets and PreparedStatements could lead
+  to errors on concurrent running queries using the same Connection due
+  to a race condition.
+
+* Thu Dec  8 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- Changed version scheme of JDBC driver and MCL jar to be more standard,
+  from monetdb-X.Y-<thing>.jar to monetdb-<thing>-X.Y.jar, bug #2943
+
+* Fri Oct 14 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- The embedded monet instance capability of MonetConnection was removed.
+- Bump JDBC version to 2.0 (Liberica).  JDBC now implements JDBCv4 which
+  makes it possible to be built with Java 6 and up.  Java 5 and before
+  are no longer supported, and can use the 1.x releases of the driver.
+
+* Thu Sep  1 2011 Fabian Groffen <fabian@cwi.nl> - 11.7.1-20120111
+- INTERVAL columns are now treated as decimals, since they can have
+  sub-second precision.
+
+* Thu Jun 30 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
+- Add so_timeout Driver property to specify a SO_TIMEOUT value for the
+  socket in use to the database.  Setting this property to a value in
+  milliseconds defines the timeout for read calls, which may 'unlock'
+  the driver if the server hangs, bug #2828
+
+* Wed May 25 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
+- Added a naive implementation for PreparedStatement.setCharacterStream
+
+* Mon Apr 11 2011 Fabian Groffen <fabian@cwi.nl> - 11.5.1-20110907
+- The obsolete Java-based implementation for PreparedStatements (formerly
+  activated using the java_prepared_statements property) has been dropped
+
+* Fri Jul  8 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.5-20110720
+- Return false from Statement.getMoreResults() instead of a
+  NullPointerException when no query has been performed on the Statement
+  yet, bug #2833
+
+* Mon Jun  6 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.5-20110720
+- Fixed read-only interpretation.  Connection.isReadOnly now always
+  returns false, setReadOnly now generates a warning when called with
+  true.  Partly from bug #2818
+- Allow readonly to be set when autocommit is disabled as well.  Bug #2818
+
+* Wed May 11 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.3-20110517
+- Insertion via PreparedStatement and retrieval via ResultSet of timestamp
+  and time fields with and without timezones was improved to better
+  respect timezones, as partly indicated in bug #2781.
+
+* Tue Apr  5 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
+- clarify exception messages for unsupported methods
+
+* Mon Feb  7 2011 Fabian Groffen <fabian@cwi.nl> - 11.3.1-20110414
+- Removed XQuery related XRPC wrapper and XML:DB code, removed support
+  for language=xquery and language=mil from JDBC.
+
+* Wed Dec 15 2010 Fabian Groffen <fabian@cwi.nl> - 11.1.1-20110317
+- PreparedStatements now free the server-side resources attached to them
+  when closed.  This implements bug #2720
+
+* Tue Nov  9 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101110
+- Fix SQL syntax of inserting BLOB code, using setBytes()
+- Added propery 'treat_blob_as_binary' to simulate BINARY types based on
+  BLOBs for applications, (e.g. Hibernate-based) that rely on BINARY's
+  byte array mapping
+- Added code to handle BINARY types
+- Fixed implementation of getBytes to match the specifications
+- Implemented getBinaryStream according to the specifications
+
+* Mon Nov  8 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101109
+- Java 1.6's subSequence() bug has changed into a slice() bug since
+  1.6.0_22.  Revert workaround for subSequence breakage, since it breaks
+  operating with the latest Java 1.6.
+
+* Fri Oct 22 2010 Fabian Groffen <fabian@cwi.nl> - 1.40.1-20101029
+- Fix for bug #2703, allow to have multiple metadata ResultSets open at
+  the same time
+
+* Wed Aug 11 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
+- Implemented ResultSet's getCharacterStream methods, since Hibernate seems to
+  call this method for retrieving CLOB columns that we now do support.
+
+* Fri Aug 06 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
+- Fix implementation of setBytes method of PreparedStatement, such that bytes
+  are converted to MonetDB/SQL's BLOB notation.
+
+* Wed Jul 21 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
+- merocontrol Java library requires Java 2 Platform 1.5 and up, due to enum
+  and boxing/unboxing. Bug #2627
+
+* Tue Jul 20 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
+- Implement missing Blob support (readonly), since getObject will blindly
+  return a BLOB instance as String, which is causing applications to wrongly
+  believe a BLOB instance is a string.
+
+* Fri Jul 16 2010 Fabian Groffen <fabian@cwi.nl> - 1.38.5-20100823
+- Fix problem when using the MAL language.  Any statement would return
+  an error with a typo that was not typed in by the user, such as
+  ioo.printf when io.printf was typed.
+
+* Fri Apr 16 2010 Fabian Groffen <fabian@cwi.nl> - Jun2010-SP1
+- Enable the merovingian control library for default distribution as it
+  has been in use for some time without problems now.
+
+* Wed Mar 31 2010 Stefan Manegold <manegold@cwi.nl> - Jun2010-SP1
+- 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.
+
+* Wed Mar 31 2010 Fabian Groffen <fabian@cwi.nl> - Feb2010-SP2
+- Do not to throw an SQLException, but generate a warning and try to
+  perform as much as requested in an optimistic manner, as not to break
+  clients that rely on the called method, but don't really use its
+  functionality (such as high-level generic programs that call any
+  driver and try to put it in a mode that it does what they expect).
+  The following functions no longer throw an SQLException but now
+  generate a warning and perform actions as far as possible:
+  - Statement.execute(sql, columnIndexes/columnNames)
+  - Statement.executeUpdate(sql, columnIndexes/columnNames)
+  - Statement.getMaxFieldSize()
+  - Statement.setCursorName(name)
+  - Statement.setEscapeProcessing(enable)
+  - Statement.setMaxFieldSize(max)
+  - Statement.setQueryTimeout(seconds)
+  - PreparedStatement.getMetaData()
+  - PreparedStatement.setNull(paramIndex, sqlType, typeName)
+
+* Wed Mar 24 2010 Stefan Manegold <manegold@cwi.nl> - Jun2010-SP1
+- 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 Mar 09 2010 Fabian Groffen <fabian@cwi.nl> - Feb2010-SP1
+- Set JAVA_HOME to the configure derived value, such that ant will use
+  the javac compiler as found by configure, and not the one it was built
+  with itself.  This solves the problem that the JDBC driver still fails
+  to compile on e.g. Fedora systems even though configure
+  --with-java=/path/to/sun/jdk-5 was given, because ant still uses
+  gjc/icedtea by itself.
+
+* Mon Oct 12 2009 Wouter Alink <w.alink@cwi.nl> - Aug2009-SP2
+- Bump MCL version to 1.6 for fix.
+
+* Fri Oct 09 2009 Fabian Groffen <fabian@cwi.nl> - Feb2010
+- Bump Java source version to 1.5.  Java 1.5 is the current J2EE, and code
+  from nl.cwi.monetdb.merovingian relies on Java 1.5 features.  It seems
+  like a good time to deprecate 1.4 now 1.6 is about to become the new
+  J2EE version.
+
+* Fri Oct 09 2009 Wouter Alink <w.alink@cwi.nl> - Aug2009-SP2
+- applied workaround for bug in Sun JRE 1.6.
+
+* Thu Oct 01 2009 Fabian Groffen <fabian@cwi.nl> - Aug2009-SP2
+- Bump JDBC version to 1.14 for fix.
+
+* Thu Oct 01 2009 Fabian Groffen <fabian@cwi.nl> - Aug2009-SP2
+- Fix warning messages to disappear when a connection to merovingian is
+  made.
+
+* Sun Aug 23 2009 Fabian Groffen <fabian@cwi.nl> - Aug2009-SP1
+- Bump JDBC version to 1.13 for fix.
+
+* Sun Aug 23 2009 Fabian Groffen <fabian@cwi.nl> - Aug2009-SP1
+- Avoid "ResultSet is closed" messages by disabling the use of
+  finalizers, bug #2844202
+
+* Thu Mar 26 2009 Fabian Groffen <fabian@cwi.nl> - Feb2010
+- Fix configure handling for --enable-{jdbc,xrpc}, by Yue Sheng on
+  Monetdb-developers ML
+
new file mode 100644
--- /dev/null
+++ b/ChangeLog.Jun2016
@@ -0,0 +1,3 @@
+# ChangeLog file for java
+# This file is updated with Maddlog
+
new file mode 100644
--- /dev/null
+++ b/Makefile.ag
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0.  If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+
+SUBDIRS = HAVE_JAVAJDBC?tests
+
+EXTRA_DIST = build.xml build.properties release.txt
+
+EXTRA_DIST_DIR = src \
+		 example
+
+JAVA_HOME = @JAVA_HOME@
+
+ant_distjdbc = {
+	COND = HAVE_JAVAJDBC
+	DIR = datadir/monetdb/lib
+	FILES = monetdb-mcl-1.13.jar monetdb-jdbc-2.23.jar jdbcclient.jar
+}
+
+ant_distmerocontrol = {
+	COND = HAVE_JAVAMEROCONTROL
+	DIR = datadir/monetdb/lib
+	FILES = merocontrol.jar
+}
+
+# vim: ft=automake :
new file mode 100644
--- /dev/null
+++ b/SQLSTATEs
@@ -0,0 +1,56 @@
+08M01 opening logfile failed
+01M02 redirect warning
+M0M03 illegal arguments (invalid call of internal function)
+01M03 illegal arguments (invalid call of internal function)
+M0M04 only supported in SQL mode
+M1M05 invalid argument (user supplied)
+M0M06 savepoint is not MonetSavepoint
+01M07 unrecognised clientinfo property
+01M08 read-only conection mode not supported
+01M09 transaction mode not supported
+M0M10 protocol violation/unexpected server response
+01M10 unexpected server output
+01M11 server-client autocommit state mismatch
+M0M12 matching client handle referenced by server not found
+01M13 concurrency mode not supported
+01M14 scrolling mode not supported
+01M15 holdability mode not supported
+M1M16 multistatements not supported in batches
+M1M17 result set not expected for DML or DDL-statement
+01M18 generated keys for columns not supported
+M1M19 response is not a result set
+M1M20 object closed
+01M21 cursors not supported
+0AM21 cursors not supported
+01M22 JDBC escape syntax not supported
+01M23 field size limitation not supported
+01M24 query time out not supported
+M1M25 failed reading from/writing to object stream
+08M26 invalid URI
+M0M27 unknown error
+22M28 invalid BLOB format
+M0M29 assert
+3BM30 autocommit mode active
+2DM30 autocommit mode active
+42M31 user/role already exists
+42M32 user/role not found
+08M33 connection timeout
+0AM34 Java generics not supported
+42M35 sequence not found
+42M36 cannot restart sequence with NULL
+2BM37 dependent objects still exist
+
+TODO:
+JDBC 4.1 suggests the following SQLException subclass mapping:
+NonTransientSQLExeceptions (fails when same operation executed again)
+0A SQLFeatureNotSupportedException
+08 SQLNonTransientConnectionException
+22 SQLDataException
+23 SQLIntegrityConstraintViolationException
+28 SQLInvalidAuthorizationException
+42 SQLSyntaxErrorException
+TransientSQLExeceptions (retry of same operation might succeed)
+08 SQLTransientConnectionException
+40 SQLTransactionRollbackException
+   SQLTimeoutException
+
new file mode 100644
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,36 @@
+# Default build parameters.  These may be overridden by local configuration
+# settings in build.local.properties.
+
+
+##
+## MCL
+##
+
+# major release number
+MCL_MAJOR=1
+# minor release number
+MCL_MINOR=13
+
+
+##
+## JDBC (and client)
+##
+
+# major release number
+JDBC_MAJOR=2
+# minor release number
+JDBC_MINOR=23
+# an additional identifying string
+JDBC_VER_SUFFIX=Liberica
+# the default port to connect on, if no port given when using SQL
+JDBC_DEF_PORT=50000
+
+
+##
+## General
+##
+
+# should we compile with debugging symbols
+enable_debug=true
+# should we optimize the build, preferably not for debugging
+enable_optimize=false
new file mode 100644
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,385 @@
+<?xml version="1.0"?><!-- vim:set ts=2 sw=2 expandtab: -->
+
+<!--
+This Source Code Form is subject to the terms of the Mozilla Public
+License, v. 2.0.  If a copy of the MPL was not distributed with this
+file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+-->
+
+<!--
+
+  Build file to allow ant (http://jakarta.apache.org/ant/) to be used
+  to build the MonetDB Java libraries, such as the JDBC and XML:DB
+  drivers.
+
+-->
+
+<project name="MonetDB_Java_Drivers" default="default" basedir=".">
+
+
+  <!-- set global properties for this build -->
+  <property name="srcdir"               value="src/main/java" />
+  <property name="libdir"               value="lib" />
+  <property name="jardir"               value="jars" />
+  <property name="builddir"             value="build" />
+  <property name="docdir"               value="doc" />
+  <property name="jdbc-package"         value="nl/cwi/monetdb/jdbc" />
+  <property name="mcl-package"          value="nl/cwi/monetdb/mcl" />
+  <property name="client-package"       value="nl/cwi/monetdb/client" />
+  <property name="util-package"         value="nl/cwi/monetdb/util" />
+  <property name="mero-control-package" value="nl/cwi/monetdb/merovingian" />
+
+  <property file="build.local.properties" />
+  <property file="build.properties" />
+
+  <property name="jdbc-jar"
+    value="${jardir}/monetdb-jdbc-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
+  <property name="jdbcclient-jar"
+    value="${jardir}/jdbcclient.jar" />
+  <property name="jmonetdb-jar"
+    value="${jardir}/jmonetdb.jar" />
+  <property name="mcl-jar"
+    value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}.jar" />
+
+  <property name="mero-control-jar"
+    value="${jardir}/merocontrol.jar" />
+
+  <!-- 
+
+  Cross-compile for JVM 1.5 ("Java 5"). This allows the driver to work with older java installations.
+  see also https://blogs.oracle.com/darcy/entry/bootclasspath_older_source for details on the error message w.r.t rt.jar 
+  to get around this issue, the -Xlint:-options compiler option has also been addded.
+  2013-04-17, hannes@cwi.nl
+
+  Update: cross-compile for JVM 1.7 since 1.5 and 1.6 are both long
+  since EOL.
+  2015-07-16, sjoerd@acm.org
+
+  -->
+  <property name="jvm.version"               value="1.7" />
+  <property name="javac.flags"               value="-Xlint:-options" />
+
+  <!-- full target -->
+  <target name="all">
+    <antcall target="distjdbc" />
+
+    <antcall target="distmerocontrol" />
+
+    <antcall target="doc" />
+  </target>
+
+  <target name="distall">
+    <antcall target="distjdbc" />
+    <antcall target="distmerocontrol" />
+  </target>
+
+  <target name="default">
+    <antcall target="jar_jdbcclient" />
+    <antcall target="jar_jmonetdb" />
+  </target>
+
+  <target name="distjdbc">
+    <antcall target="jar_jdbc" />
+    <antcall target="jar_mcl" />
+    <antcall target="jar_jdbcclient" />
+  </target>
+
+  <target name="distmerocontrol">
+    <antcall target="jar_mero_control" />
+  </target>
+
+  <!-- jar targets -->
+  <target name="jar_jdbc" depends="compile_mcl,compile_jdbc"
+    unless="uptodate.jdbc-jar">
+    <echo file="${builddir}/META-INF/services/java.sql.Driver" append="false">nl.cwi.monetdb.jdbc.MonetDriver</echo>
+    <jar jarfile="${jdbc-jar}">
+      <fileset dir="${builddir}">
+        <include name="${jdbc-package}/**/*.class" />
+        <include name="${mcl-package}/**/*.class" />
+        <include name="META-INF/services/java.sql.Driver" />
+      </fileset>
+    </jar>
+  </target>
+
+  <target name="jar_mcl" depends="compile_mcl">
+    <jar jarfile="${mcl-jar}">
+      <fileset dir="${builddir}">
+        <include name="${mcl-package}/**/*.class" />
+      </fileset>
+    </jar>
+  </target>
+
+  <target name="jar_client" depends="compile_util,compile_client">
+    <jar jarfile="${jardir}/monetdb-clients.jar">
+      <fileset dir="${builddir}">
+        <include name="${client-package}/**/*.class" />
+        <include name="${util-package}/**/*.class" />
+      </fileset>
+    </jar>
+  </target>
+
+  <!-- a convenience jar of JDBC plus the JdbcClient utililty -->
+  <target name="jar_jdbcclient"
+    depends="compile_mcl,compile_jdbc,compile_util,compile_client"
+    unless="uptodate.jdbcclient-jar">
+    <echo message="Building JDBC + JdbcClient convenience jar" />
+    <jar jarfile="${jdbcclient-jar}">
+      <fileset dir="${builddir}">
+        <include name="${jdbc-package}/**/*.class" />
+        <include name="${mcl-package}/**/*.class" />
+        <include name="${client-package}/**/*.class" />
+        <include name="${util-package}/**/*.class" />
+        <include name="META-INF/services/java.sql.Driver" />
+      </fileset>
+      <manifest>
+        <attribute name="Built-By" value="${user.name}" />
+        <attribute name="Main-Class" value="nl.cwi.monetdb.client.JdbcClient" />
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- a convenience jar of MeroControl plus the JMonetDB utility -->
+  <target name="jar_jmonetdb"
+    depends="compile_mcl,compile_util,compile_mero_control,compile_client"
+    unless="uptodate.jmonetdb-jar">
+    <echo message="Building MeroControl + JmonetDB convenience jar" />
+    <jar jarfile="${jmonetdb-jar}">
+      <fileset dir="${builddir}">
+        <include name="${mero-control-package}/**/*.class" />
+        <include name="${mcl-package}/**/*.class" />
+        <include name="${client-package}/**/JMonetDB.class" />
+        <include name="${util-package}/**/*.class" />
+      </fileset>
+      <manifest>
+        <attribute name="Built-By" value="${user.name}" />
+        <attribute name="Main-Class" value="nl.cwi.monetdb.client.JMonetDB" />
+      </manifest>
+    </jar>
+  </target>
+
+  <target name="jar_mero_control"
+    depends="compile_mcl,compile_mero_control">
+    <jar jarfile="${mero-control-jar}">
+      <fileset dir="${builddir}">
+        <include name="${mero-control-package}/**/*.class" />
+      </fileset>
+      <manifest>
+        <attribute name="Built-By" value="${user.name}" />
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- compile targets -->
+  <target name="compile_jdbc" depends="prepare,driver">
+    <echo message="Compiling JDBC driver" />
+    <javac
+      classpath="${srcdir}"
+      destdir="${builddir}"
+      debug="${debug}"
+      optimize="${optimize}"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <src path="${srcdir}" />
+      <include name="${jdbc-package}/**/*.java" />
+      <compilerarg line="${javac.flags}" />
+    </javac>
+  </target>
+
+  <target name="compile_mcl" depends="prepare">
+    <echo message="Compiling MCL" />
+    <javac
+      classpath="${srcdir}"
+      srcdir="${srcdir}"
+      destdir="${builddir}"
+      debug="${debug}"
+      optimize="${optimize}"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <include name="${mcl-package}/**/*.java" />
+      <compilerarg line="${javac.flags}" />
+    </javac>
+  </target>
+
+  <target name="compile_client" depends="prepare">
+    <echo message="Compiling Clients" />
+    <javac
+      classpath="${srcdir}"
+      srcdir="${srcdir}"
+      destdir="${builddir}"
+      debug="${debug}"
+      optimize="${optimize}"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <include name="${client-package}/**/*.java" />
+      <compilerarg line="${javac.flags}" />
+    </javac>
+  </target>
+
+  <target name="compile_util" depends="prepare">
+    <echo message="Compiling Utilities" />
+    <javac
+      classpath="${srcdir}"
+      srcdir="${srcdir}"
+      destdir="${builddir}"
+      debug="${debug}"
+      optimize="${optimize}"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <include name="${util-package}/**/*.java" />
+      <compilerarg line="${javac.flags}" />
+    </javac>
+  </target>
+
+  <target name="compile_mero_control" depends="prepare">
+    <echo message="Compiling Merovingian Control library" />
+    <javac
+      classpath="${srcdir}"
+      srcdir="${srcdir}"
+      destdir="${builddir}"
+      debug="${debug}"
+      optimize="${optimize}"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <include name="${mero-control-package}/**/*.java" />
+      <compilerarg line="${javac.flags}" />
+    </javac>
+  </target>
+
+  <!--
+  This generates MonetDriver.java from its ".java.in" equivalents.  It's
+  required for importing the driver version properties.
+  -->
+  <target name="driver" depends="prepare" unless="uptodate.drivers">
+    <tstamp>
+      <format property="TODAY" pattern="yyyyMMdd" />
+    </tstamp>
+
+    <!-- Some defaults -->
+    <filter token="JDBC_MAJOR" value="${JDBC_MAJOR}" />
+    <filter token="JDBC_MINOR" value="${JDBC_MINOR}" />
+    <filter token="MCL_MAJOR" value="${MCL_MAJOR}" />
+    <filter token="MCL_MINOR" value="${MCL_MINOR}" />
+    <filter token="JDBC_DEF_PORT" value="${JDBC_DEF_PORT}" />
+    <filter token="JDBC_VER_SUFFIX" value="${JDBC_VER_SUFFIX} ${TODAY}" />
+
+    <fail unless="JDBC_MAJOR" message="'JDBC_MAJOR' undefined. Please follow the directions in build.properties."/>
+    <fail unless="JDBC_MINOR" message="'JDBC_MINOR' undefined. Please follow the directions in build.properties."/>
+    <fail unless="JDBC_DEF_PORT" message="'JDBC_DEF_PORT' undefined. Please follow the directions in build.properties."/>
+    <fail unless="JDBC_VER_SUFFIX" message="'JDBC_VER_SUFFIX' undefined. Please follow the directions in build.properties."/>
+
+    <!-- now copy and filter the file -->
+  	<copy file="${srcdir}/${jdbc-package}/MonetDriver.java.in"
+  	  overwrite="true"
+  	  tofile="${srcdir}/${jdbc-package}/MonetDriver.java"
+  	  filtering="yes" />
+
+    <echo message="Configured build for the ${JDBC_MAJOR}.${JDBC_MINOR} (${JDBC_VER_SUFFIX}) edition driver" />
+  </target>
+
+  <!-- Prepares the build directory and sets some variables -->
+  <!-- checks whether regeneration of files is necessary -->
+  <target name="prepare">
+    <condition property="debug" value="true">
+      <equals arg1="${enable_debug}" arg2="true" casesensitive="false" trim="true" />
+    </condition>
+    <condition property="debug" value="false">
+      <not>
+        <equals arg1="${enable_debug}" arg2="true" casesensitive="false" trim="true" />
+      </not>
+    </condition>
+    <condition property="optimize" value="true">
+      <equals arg1="${enable_optimize}" arg2="true" casesensitive="false" trim="true" />
+    </condition>
+    <condition property="optimize" value="false">
+      <not>
+        <equals arg1="${enable_optimize}" arg2="true" casesensitive="false" trim="true" />
+      </not>
+    </condition>
+
+    <uptodate targetfile="${jdbc-jar}" property="uptodate.jdbc-jar">
+      <srcfiles dir="${srcdir}">
+        <include name="${jdbc-package}/**/*.java" />
+        <include name="${mcl-package}/**/*.java" />
+      </srcfiles>
+    </uptodate>
+    <uptodate targetfile="${jdbcclient-jar}" property="uptodate.jdbcclient-jar">
+      <srcfiles dir="${srcdir}">
+        <include name="${client-package}/**/*.java" />
+        <include name="${jdbc-package}/**/*.java" />
+        <include name="${mcl-package}/**/*.java" />
+      </srcfiles>
+    </uptodate>
+    <uptodate targetfile="${jmonetdb-jar}" property="uptodate.jmonetdb-jar">
+      <srcfiles dir="${srcdir}">
+        <include name="${client-package}/**/*.java" />
+        <include name="${mero-control-package}/**/*.java" />
+        <include name="${mcl-package}/**/*.java" />
+      </srcfiles>
+    </uptodate>
+    <condition property="uptodate.drivers">
+      <and>
+        <uptodate targetfile="${builddir}/src/${jdbc-package}/MonetDriver.java">
+          <srcfiles dir="${srcdir}">
+            <include name="build.properties" />
+            <include name="build.local.properties" />
+            <include name="${jdbc-package}/MonetDriver.java.in" />
+            <include name="${jdbc-package}/**/*.java" />
+          </srcfiles>
+        </uptodate>
+      </and>
+    </condition>
+
+    <mkdir dir="${builddir}" />
+    <mkdir dir="${jardir}" />
+    <echo message="Debug is ${debug}, optimise is ${optimize}" />
+  </target>
+
+  <!-- This target removes the build, jar and doc directories -->
+  <target name="clean">
+    <delete quiet="true" dir="${builddir}" />
+    <delete quiet="true" dir="${jardir}" />
+    <delete quiet="true" dir="${docdir}" />
+  </target>
+
+
+  <!-- documentation target -->
+  <target name="doc"
+    depends="compile_mcl,compile_jdbc,compile_util,compile_client,compile_mero_control">
+    <javadoc
+      destdir="${docdir}"
+      author="true"
+      version="true"
+      use="true"
+      windowtitle="MonetDB Java APIs">
+
+      <fileset dir="${srcdir}" defaultexcludes="yes">
+        <include name="${jdbc-package}/**/*.java" />
+        <include name="${mcl-package}/**/*.java" />
+        <include name="${client-package}/**/*.java" />
+        <include name="${util-package}/**/*.java" />
+        <include name="${mero-control-package}/**/*.java" />
+      </fileset>
+
+      <fileset dir="${builddir}/src" defaultexcludes="yes">
+        <include name="${jdbc-package}/**/*.java" />
+        <include name="${mcl-package}/**/*.java" />
+        <include name="${client-package}/**/*.java" />
+        <include name="${util-package}/**/*.java" />
+        <include name="${mero-control-package}/**/*.java" />
+      </fileset>
+    </javadoc>
+  </target>
+
+</project>
new file mode 100644
--- /dev/null
+++ b/example/MJDBCTest.java
@@ -0,0 +1,101 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+/**
+ * This example assumes there exists tables a and b filled with some data.
+ * On these tables some queries are executed and the JDBC driver is tested
+ * on it's accuracy and robustness against 'users'.
+ *
+ * @author Fabian Groffen
+ */
+public class MJDBCTest {
+	public static void main(String[] args) throws Exception {
+		// make sure the driver is loaded
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		// turn on debugging (disabled)
+		//nl.cwi.monetdb.jdbc.MonetConnection.setDebug(true);
+		Connection con = DriverManager.getConnection("jdbc:monetdb://localhost/notused", "monetdb", "monetdb");
+		Statement st = con.createStatement();
+		ResultSet rs;
+
+		rs = st.executeQuery("SELECT a.var1, COUNT(b.id) as total FROM a, b WHERE a.var1 = b.id AND a.var1 = 'andb' GROUP BY a.var1 ORDER BY a.var1, total;");
+		// get meta data and print columns with their type
+		ResultSetMetaData md = rs.getMetaData();
+		for (int i = 1; i <= md.getColumnCount(); i++) {
+			System.out.print(md.getColumnName(i) + ":" +
+				md.getColumnTypeName(i) + "\t");
+		}
+		System.out.println("");
+		// print the data: only the first 5 rows, while there probably are
+		// a lot more. This shouldn't cause any problems afterwards since the
+		// result should get properly discarded on the next query
+		for (int i = 0; rs.next() && i < 5; i++) {
+			for (int j = 1; j <= md.getColumnCount(); j++) {
+				System.out.print(rs.getString(j) + "\t");
+			}
+			System.out.println("");
+		}
+		
+		// tell the driver to only return 5 rows, it can optimize on this
+		// value, and will not fetch any more than 5 rows.
+		st.setMaxRows(5);
+		// we ask the database for 22 rows, while we set the JDBC driver to
+		// 5 rows, this shouldn't be a problem at all...
+		rs = st.executeQuery("select * from a limit 22");
+		// read till the driver says there are no rows left
+		for (int i = 0; rs.next(); i++) {
+			System.out.print("[" + rs.getString("var1") + "]");
+			System.out.print("[" + rs.getString("var2") + "]");
+			System.out.print("[" + rs.getInt("var3") + "]");
+			System.out.println("[" + rs.getString("var4") + "]");
+		}
+		
+		// this close is not needed, should be done by next execute(Query) call
+		// however if there can be some time between this point and the next
+		// execute call, it is from a resource perspective better to close it.
+		//rs.close();
+		
+		// unset the row limit; 0 means as much as the database sends us
+		st.setMaxRows(0);
+		// we only ask 10 rows
+		rs = st.executeQuery("select * from b limit 10;");
+		// and simply print them
+		while (rs.next()) {
+			System.out.print(rs.getInt("rowid") + ", ");
+			System.out.print(rs.getString("id") + ", ");
+			System.out.print(rs.getInt("var1") + ", ");
+			System.out.print(rs.getInt("var2") + ", ");
+			System.out.print(rs.getString("var3") + ", ");
+			System.out.println(rs.getString("var4"));
+		}
+		
+		// this close is not needed, as the Statement will close the last
+		// ResultSet around when it's closed
+		// again, if that can take some time, it's nicer to close immediately
+		// the reason why these closes are commented out here, is to test if
+		// the driver really cleans up it's mess like it should
+		//rs.close();
+
+		// perform a ResultSet-less query (with no trailing ; since that should
+		// be possible as well and is JDBC standard)
+		// Note that this method should return the number of updated rows. This
+		// method however always returns -1, since Monet currently doesn't
+		// support returning the affected rows.
+		st.executeUpdate("delete from a where var1 = 'zzzz'");
+
+		// closing the connection should take care of closing all generated
+		// statements from it...
+		// Don't forget to do it yourself if the connection is reused or much
+		// longer alive, since the Statement object contains a lot of things
+		// you probably want to reclaim if you don't need them anymore.
+		//st.close();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/example/PreparedExample.java
@@ -0,0 +1,45 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+/**
+ * This example shows the use of the PreparedStatement
+ *
+ * @author Fabian Groffen
+ */
+public class PreparedExample {
+	public static void main(String[] args) throws Exception {
+		// make sure the driver is loaded
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection("jdbc:monetdb://localhost/notused", "monetdb", "monetdb");
+		PreparedStatement st = con.prepareStatement("SELECT ? AS a1, ? AS a2");
+		ResultSet rs;
+
+		st.setString(1, "te\\s't");
+		st.setInt(2, 10);
+
+		rs = st.executeQuery();
+		// get meta data and print columns with their type
+		ResultSetMetaData md = rs.getMetaData();
+		for (int i = 1; i <= md.getColumnCount(); i++) {
+			System.out.print(md.getColumnName(i) + ":" +
+				md.getColumnTypeName(i) + "\t");
+		}
+		System.out.println("");
+
+		while (rs.next()) {
+			for (int j = 1; j <= md.getColumnCount(); j++) {
+				System.out.print(rs.getString(j) + "\t");
+			}
+			System.out.println("");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/example/SQLImport.java
@@ -0,0 +1,79 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.io.*;
+
+/**
+ * This simple example somewhat emulates the mclient command. However in
+ * it's simpleness it only supports SQL queries which entirely are on one line.
+ *
+ * This program reads a file line by line, and feeds the line into a running
+ * Mserver on the localhost. Upon error, the error is reported and the program
+ * continues reading and executing lines.
+ * A very lousy way of implementing options is used to somewhat configure the
+ * behaviour of the program in order to be a bit more verbose or commit after
+ * each (sucessfully) executed line.
+ *
+ * The program uses a debuglog in which the exact conversation between the
+ * JDBC driver and Mserver is reported. The log file is put in the current
+ * working directory and names like monet_[unix timestamp].log
+ *
+ * @author Fabian Groffen
+ */
+
+public class SQLImport {
+	public static void main(String[] args) throws Exception {
+		if (args.length < 1) {
+			System.out.println("synopsis: java SQLImport filename [autocommit] [verbose]");
+			System.exit(-1);
+		}
+
+		// open the file
+		BufferedReader fr = new BufferedReader(new FileReader(args[0]));
+
+		// make sure the driver is loaded
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		// request a connection suitable for Monet from the driver manager
+		// note that the database specifier is currently not implemented, for
+		// Monet itself can't access multiple databases.
+		// turn on debugging
+		Connection con = DriverManager.getConnection("jdbc:monetdb://localhost/database?debug=true", "monetdb", "monetdb");
+
+		boolean beVerbose = false;
+		if (args.length == 3) {
+			// turn on verbose mode
+			beVerbose = true;
+		}
+		if (args.length < 2) {
+			// disable auto commit using the driver
+			con.setAutoCommit(false);
+		}
+
+		// get a statement to execute on
+		Statement stmt = con.createStatement();
+
+		String query;
+		for (int i = 1; (query = fr.readLine()) != null; i++) {
+			if (beVerbose) System.out.println(query);
+			try {
+				// execute the query, no matter what it is
+				stmt.execute(query);
+			} catch (SQLException e) {
+				System.out.println("Error on line " + i + ": " + e.getMessage());
+				if (!beVerbose) System.out.println(query);
+			}
+		}
+
+		// free resources, close the statement
+		stmt.close();
+		// close the connection with the database
+		con.close();
+		fr.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/example/SQLcopyinto.java
@@ -0,0 +1,111 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.io.*;
+import java.util.*;
+import nl.cwi.monetdb.mcl.net.*;
+import nl.cwi.monetdb.mcl.io.*;
+
+/**
+ * This example demonstrates how the MonetDB JDBC driver can facilitate
+ * in performing COPY INTO sequences.  This is mainly meant to show how
+ * a quick load can be performed from Java.
+ *
+ * @author Fabian Groffen
+ */
+
+public class SQLcopyinto {
+	public static void main(String[] args) throws Exception {
+		// make sure the driver is loaded
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		// request a connection suitable for Monet from the driver manager
+		// note that the database specifier is currently not implemented, for
+		// Monet itself can't access multiple databases.
+		// turn on debugging
+		Connection con = DriverManager.getConnection("jdbc:monetdb://localhost/database", "monetdb", "monetdb");
+
+		// get a statement to execute on
+		Statement stmt = con.createStatement();
+
+		String query = "CREATE TABLE example (id int, val varchar(24))";
+		try {
+			stmt.execute(query);
+		} catch (SQLException e) {
+			System.out.println(query + ": " + e.getMessage());
+			System.exit(1);
+		}
+
+		// now create a connection manually to perform a load, this can
+		// of course also be done simultaneously with the JDBC
+		// connection being kept connected
+
+		MapiSocket server = new MapiSocket();
+
+		server.setDatabase("database");
+		server.setLanguage("sql");
+
+		try {
+			List warning = 
+				server.connect("localhost", 50000, "monetdb", "monetdb");
+			if (warning != null) {
+				for (Iterator it = warning.iterator(); it.hasNext(); ) {
+					System.out.println(it.next().toString());
+				}
+			}
+
+			BufferedMCLReader in = server.getReader();
+			BufferedMCLWriter out = server.getWriter();
+
+			String error = in.waitForPrompt();
+			if (error != null)
+				throw new Exception(error);
+
+			query = "COPY INTO example FROM STDIN USING DELIMITERS ',','\\n';";
+			// the leading 's' is essential, since it is a protocol
+			// marker that should not be omitted, likewise the
+			// trailing semicolon
+			out.write('s');
+			out.write(query);
+			out.newLine();
+			for (int i = 0; i < 100; i++) {
+				out.write("" + i + ",val_" + i);
+				out.newLine();
+			}
+			out.writeLine(""); // need this one for synchronisation over flush()
+			error = in.waitForPrompt();
+			if (error != null)
+				throw new Exception(error);
+			// disconnect from server
+			server.close();
+		} catch (IOException e) {
+			System.err.println("unable to connect: " + e.getMessage());
+			System.exit(-1);
+		} catch (Exception e) {
+			System.err.println(e.getMessage());
+			System.exit(-1);
+		}
+
+		query = "SELECT COUNT(*) FROM example";
+		ResultSet rs = null;
+		try {
+			rs = stmt.executeQuery(query);
+		} catch (SQLException e) {
+			System.out.println(query + ": " + e.getMessage());
+			System.exit(1);
+		}
+		if (rs != null && rs.next())
+			System.out.println(rs.getString(1));
+
+		// free resources, close the statement
+		stmt.close();
+		// close the connection with the database
+		con.close();
+
+	}
+}
new file mode 100644
index 0000000000000000000000000000000000000000..6ac85a733bcf33556961662141bb1bcf7abbd996
GIT binary patch
literal 961144
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%0A}7}gXN3Gzcfv9Z*()G2Q;WBP(*Z}GZW
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%0D{XM%zb!?&(YE{k)6)SvTWjqo><I_B$yM6S
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
I{lky{1~;AS-T(jq
new file mode 100644
index 0000000000000000000000000000000000000000..61a3a4507dc615fcebb61f61ae05c4a537b03a88
GIT binary patch
literal 1672067
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%0A(vNxu7^vlPF$035mS>jDUov?wb`4<{$7~Dp*Vs
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%0DNY*a!Bmz>z
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%0Doo7`9Vi&-ERsoj{++FZZL
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
GpZ*`euuoY4
new file mode 100644
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+	http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>monetdb</groupId>
+	<artifactId>monetdb-jdbc</artifactId>
+	<version>2.23</version>
+	<name>${project.groupId}:${project.artifactId}</name>
+	<description>MonetDB JDBC driver</description>
+	<url>https://www.monetdb.org</url>
+
+	<licenses>
+		<license>
+			<name>Mozilla Public License, Version 2.0</name>
+			<url>https://www.mozilla.org/MPL/2.0/</url>
+		</license>
+	</licenses>
+
+	<developers>
+		<developer>
+			<name>Sjoerd Mullender</name>
+			<email>sjoerd@monetdb.org</email>
+			<organization>MonetDB</organization>
+			<organizationUrl>https://www.monetdb.org</organizationUrl>
+		</developer>
+		<developer>
+			<name>Dimitar Nedev</name>
+			<email>dimitar.nedev@monetdbsolutions.com</email>
+			<organization>MonetDB Solutions</organization>
+			<organizationUrl>https://www.monetdbsolutions.com</organizationUrl>
+		</developer>
+	</developers>
+
+	<distributionManagement>
+		<snapshotRepository>
+			<id>ossrh</id>
+			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
+		</snapshotRepository>
+		<repository>
+			<id>ossrh</id>
+			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+		</repository>
+	</distributionManagement>
+
+	<scm>
+		<connection>scm:hg:https://dev.monetdb.org/hg/MonetDB/</connection>
+		<developerConnection>scm:hg:ssh://hg@dev.monetdb.org/MonetDB/</developerConnection>
+		<url>https://dev.monetdb.org/hg/MonetDB/</url>
+	</scm>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<jdbc.sources>nl/cwi/monetdb/jdbc/**/*.java</jdbc.sources>
+		<mcl.sources>nl/cwi/monetdb/mcl/**/*.java</mcl.sources>
+	</properties>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.2</version>
+				<configuration>
+					<includes>
+						<include>${jdbc.sources}</include>
+						<include>${mcl.sources}</include>
+					</includes>
+					<source>1.7</source>
+					<target>1.7</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-source-plugin</artifactId>
+				<version>2.2.1</version>
+				<executions>
+					<execution>
+						<id>attach-sources</id>
+						<goals>
+							<goal>jar-no-fork</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<includes>
+						<include>${jdbc.sources}</include>
+						<include>${mcl.sources}</include>
+					</includes>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<version>2.9.1</version>
+				<executions>
+					<execution>
+						<id>attach-javadocs</id>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<sourceFileIncludes>
+						<include>${jdbc.sources}</include>
+						<include>${mcl.sources}</include>
+					</sourceFileIncludes>
+					<additionalparam>-Xdoclint:none</additionalparam>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.sonatype.plugins</groupId>
+				<artifactId>nexus-staging-maven-plugin</artifactId>
+				<version>1.6.3</version>
+				<extensions>true</extensions>
+				<configuration>
+					<serverId>ossrh</serverId>
+					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
+					<autoReleaseAfterClose>false</autoReleaseAfterClose>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-release-plugin</artifactId>
+				<version>2.5</version>
+				<configuration>
+					<autoVersionSubmodules>true</autoVersionSubmodules>
+					<useReleaseProfile>false</useReleaseProfile>
+					<releaseProfiles>release</releaseProfiles>
+					<goals>deploy</goals>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-gpg-plugin</artifactId>
+				<version>1.5</version>
+				<executions>
+					<execution>
+						<id>sign-artifacts</id>
+						<phase>verify</phase>
+						<goals>
+							<goal>sign</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
new file mode 100644
--- /dev/null
+++ b/release.txt
@@ -0,0 +1,95 @@
+RELEASE NOTES
+MonetDB JDBC driver version 2.23 (Liberica/MCL-1.13)
+Release date: 2016-07-13
+
+This JDBC driver is designed for use with MonetDB, a main-memory
+database.  For more information see https://www.monetdb.org/.
+
+Within the current implementation not all functionalities of the JDBC
+interface are available.  It is believed, however, that this
+implementation is rich enough to be suitable for a majority of
+application settings.
+Note that this driver is JDBC4 compatible, and hence cannot be compiled
+with Java 1.5 and earlier.
+As of Jul2015 release we compile the java sources to target: Java 1.7.
+
+Below a list of supported features can be found.  Please read this list
+if you intend to use this driver.
+
+If you feel some features are missing or have encountered an issue/bug,
+please let us know at our bugtracker:
+  https://bugs.monetdb.org/Developers/ReportingABug
+
+Currently implemented JDBC interfaces:
+  * java.sql.Driver
+
+  * javax.sql.DataSource (not tested)
+
+  * java.sql.Connection
+    The next features/methods are NOT implemented:
+    - createStatement with result set holdability
+    - nativeSQL (there is no query parsing for JDBC escapes yet)
+    - prepareCall (CallableStatement not supported)
+    - prepareStatement with column indices or names
+    - setCatalog (there is no catalog)
+    - setHoldability (close/hold cursors over commit is not
+      configurable)
+    - isReadOnly/setReadOnly (updateable result sets are not supported at
+      all)
+    - createArrayOf
+    - createBlob, createClob, createNClob
+    - createStruct
+    - createSQLXML
+  NOTE: be sure to check for warnings after setting concurrencies or
+        isolation levels; MonetDB currently does not support anything
+        else but "fully serializable" transactions.
+
+  * java.sql.DatabaseMetaData
+
+  * java.sql.Statement
+    The next features/methods are NOT implemented:
+    - cancel/getQueryTimeout/setQueryTimeout (query execution cannot be
+      terminated, once started)
+    - execute with column indices or names
+    - executeUpdate with column indices or names
+    - getMaxFieldSize/setMaxFieldSize
+    - setCursorName
+    - setEscapeProcessing
+
+  * java.sql.PreparedStatement
+    The next features/methods are NOT implemented:
+    - setArray
+    - setAsciiStream, setBinaryStream, setUnicodeStream
+    - setBlob, setNClob, setNString
+    - setRef, setRowId, setSQLXML, setURL
+
+  * java.sql.ParameterMetaData
+
+  * java.sql.ResultSet
+    The next features/methods are NOT implemented:
+    - getArray
+    - getAsciiStream, getBinaryStream, getUnicodeStream
+    - getRef, getURL
+    - all methods related to updateable result sets
+
+  * java.sql.ResultSetMetaData
+
+  * java.sql.SavePoint
+
+  * java.sql.Blob
+    A simple implementation using a byte[] to store the whole BLOB
+    The next features/methods are NOT implemented:
+    - setBinaryStream
+
+  * java.sql.Clob
+    A simple implementation using a StringBuilder to store the whole CLOB
+    The next features/methods are NOT implemented:
+    - getAsciiStream
+    - getCharacterStream
+    - setAsciiStream
+    - setCharacterStream
+
+
+- Auto-commit behaviour is defined by the server which handles the
+  auto-commit.  This is in general in line with the JDBC standard.
+
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/client/JMonetDB.java
@@ -0,0 +1,142 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.client;
+
+import nl.cwi.monetdb.util.*;
+import nl.cwi.monetdb.merovingian.*;
+import java.io.*;
+import java.util.*;
+
+/**
+ * This program mimics the monetdb tool.  It is meant as demonstration
+ * and test of the MeroControl library.
+ *
+ * @author Fabian Groffen
+ * @version 1.0
+ */
+
+public class JMonetDB {
+	private static PrintWriter out;
+
+	public final static void main(String[] args) throws Exception {
+		CmdLineOpts copts = new CmdLineOpts();
+
+		// arguments which take exactly one argument
+		copts.addOption("h", "host", CmdLineOpts.CAR_ONE, "localhost",
+				"The hostname of the host that runs the MonetDB server.  " +
+				"A port number can be supplied by use of a colon, i.e. " +
+				"-h somehost:12345.");
+		copts.addOption("p", "port", CmdLineOpts.CAR_ONE, "50000",
+				"The port number to connect to.");
+		copts.addOption("P", "passphrase", CmdLineOpts.CAR_ONE, null,
+				"The passphrase to tell the MonetDB server");
+		copts.addOption("c", "command", CmdLineOpts.CAR_ONE_MANY, null,
+				"The command to execute on the MonetDB server");
+
+		// arguments which have no argument(s)
+		copts.addOption(null, "help", CmdLineOpts.CAR_ZERO, null,
+				"This help screen.");
+
+		// extended options
+		copts.addOption(null, "Xhash", CmdLineOpts.CAR_ONE, null,
+				"Use the given hash algorithm during challenge response.  " +
+				"Supported algorithm names: SHA256, SHA1, MD5.");
+		// arguments which can have zero or one argument(s)
+		copts.addOption(null, "Xdebug", CmdLineOpts.CAR_ONE, null,
+				"Writes a transmission log to disk for debugging purposes.  " +
+				"A file name must be given.");
+
+		try {
+			copts.processArgs(args);
+		} catch (OptionsException e) {
+			System.err.println("Error: " + e.getMessage());
+			System.exit(1);
+		}
+
+		if (copts.getOption("help").isPresent()) {
+			System.out.print(
+"Usage java -jar jmonetdb.jar\n" +
+"                  -h host[:port] -p port -P passphrase [-X<opt>] -c cmd ...\n" +
+"or using long option equivalents --host --port --passphrase.\n" +
+"Arguments may be written directly after the option like -p50000.\n" +
+"\n" +
+"If no host and port are given, localhost and 50000 are assumed.\n" +
+"\n" +
+"OPTIONS\n" +
+copts.produceHelpMessage()
+);
+			System.exit(0);
+		}
+
+		out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
+
+		String pass = copts.getOption("passphrase").getArgument();
+
+		// we need the password from the user, fetch it with a pseudo
+		// password protector
+		if (pass == null) {
+			char[] tmp = System.console().readPassword("passphrase: ");
+			if (tmp == null) {
+				System.err.println("Invalid passphrase!");
+				System.exit(1);
+			}
+			pass = String.valueOf(tmp);
+		}
+
+		// build the hostname
+		String host = copts.getOption("host").getArgument();
+		String sport = copts.getOption("port").getArgument();
+		int pos;
+		if ((pos = host.indexOf(":")) != -1) {
+			sport = host.substring(pos + 1);
+			host = host.substring(0, pos);
+		}
+		int port = Integer.parseInt(sport);
+
+		String hash = null;
+		if (copts.getOption("Xhash").isPresent())
+			hash = copts.getOption("Xhash").getArgument();
+
+		if (!copts.getOption("command").isPresent()) {
+			System.err.println("need a command to execute (-c)");
+			System.exit(1);
+		}
+
+		Control ctl = null;
+		try {
+			ctl = new Control(host, port, pass);
+		} catch (IllegalArgumentException e) {
+			System.err.println(e.getMessage());
+			System.exit(1);
+		}
+		// FIXME: Control needs to respect Xhash
+
+		if (copts.getOption("Xdebug").isPresent()) {
+			String fname = copts.getOption("Xdebug").getArgument();
+			ctl.setDebug(fname);
+		}
+
+		String[] commands = copts.getOption("command").getArguments();
+		if (commands[0].equals("status")) {
+			List<SabaothDB> sdbs;
+			if (commands.length == 1) {
+				sdbs = ctl.getAllStatuses();
+			} else {
+				sdbs = new ArrayList<SabaothDB>();
+				for (int i = 1; i < commands.length; i++)
+					sdbs.add(ctl.getStatus(commands[i]));
+			}
+			Iterator<SabaothDB> it = sdbs.iterator();
+			while (it.hasNext()) {
+				SabaothDB sdb = it.next();
+				System.out.println(sdb.getName() + " " + sdb.getURI());
+			}
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/client/JdbcClient.java
@@ -0,0 +1,1193 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.client;
+
+import nl.cwi.monetdb.util.*;
+import java.sql.*;
+import java.io.*;
+import java.util.*;
+import java.util.zip.*;
+import java.net.*;
+
+/**
+ * This program acts like an extended client program for MonetDB. Its
+ * look and feel is very much like PostgreSQL's interactive terminal
+ * program.  Although it looks like this client is designed for MonetDB,
+ * it demonstrates the power of the JDBC interface since it built on top
+ * of JDBC only.
+ *
+ * @author Fabian Groffen, Martin van Dinther
+ * @version 1.3
+ */
+
+public final class JdbcClient {
+
+	private static Connection con;
+	private static Statement stmt;
+	private static BufferedReader in;
+	private static PrintWriter out;
+	private static Exporter exporter;
+	private static DatabaseMetaData dbmd;
+
+	public final static void main(String[] args) throws Exception {
+		CmdLineOpts copts = new CmdLineOpts();
+
+		// arguments which take exactly one argument
+		copts.addOption("h", "host", CmdLineOpts.CAR_ONE, "localhost",
+				"The hostname of the host that runs the MonetDB database.  " +
+				"A port number can be supplied by use of a colon, i.e. " +
+				"-h somehost:12345.");
+		copts.addOption("p", "port", CmdLineOpts.CAR_ONE, "50000",
+				"The port number to connect to.");
+		// todo make it CAR_ONE_MANY
+		copts.addOption("f", "file", CmdLineOpts.CAR_ONE, null,
+				"A file name to use either for reading or writing.  The " +
+				"file will be used for writing when dump mode is used " +
+				"(-D --dump).  In read mode, the file can also be an URL " +
+				"pointing to a plain text file that is optionally gzip " +
+				"compressed.");
+		copts.addOption("u", "user", CmdLineOpts.CAR_ONE, System.getProperty("user.name"),
+				"The username to use when connecting to the database.");
+		// this one is only here for the .monetdb file parsing, it is
+		// removed before the command line arguments are parsed
+		copts.addOption(null, "password", CmdLineOpts.CAR_ONE, null, null);
+		copts.addOption("d", "database", CmdLineOpts.CAR_ONE, "",
+				"Try to connect to the given database (only makes sense " +
+				"if connecting to monetdbd).");
+		copts.addOption("l", "language", CmdLineOpts.CAR_ONE, "sql",
+				"Use the given language, defaults to 'sql'.");
+
+		// arguments which have no argument(s)
+		copts.addOption(null, "help", CmdLineOpts.CAR_ZERO, null,
+				"This help screen.");
+		copts.addOption(null, "version", CmdLineOpts.CAR_ZERO, null,
+				"Display driver version and exit.");
+		copts.addOption("e", "echo", CmdLineOpts.CAR_ZERO, null,
+				"Also outputs the contents of the input file, if any.");
+		copts.addOption("q", "quiet", CmdLineOpts.CAR_ZERO, null,
+				"Suppress printing the welcome header.");
+
+		// arguments which have zero to many arguments
+		copts.addOption("D", "dump", CmdLineOpts.CAR_ZERO_MANY, null,
+				"Dumps the given table(s), or the complete database if " +
+				"none given.");
+
+		// extended options
+		copts.addOption(null, "Xoutput", CmdLineOpts.CAR_ONE, null,
+				"The output mode when dumping.  Default is sql, xml may " +
+				"be used for an experimental XML output.");
+		copts.addOption(null, "Xhash", CmdLineOpts.CAR_ONE, null,
+				"Use the given hash algorithm during challenge response.  " +
+				"Supported algorithm names: SHA1, MD5, plain.");
+		// arguments which can have zero or one argument(s)
+		copts.addOption(null, "Xdebug", CmdLineOpts.CAR_ZERO_ONE, null,
+				"Writes a transmission log to disk for debugging purposes.  " +
+				"If a file name is given, it is used, otherwise a file " +
+				"called monet<timestamp>.log is created.  A given file " +
+				"never be overwritten; instead a unique variation of the " +
+				"file is used.");
+		copts.addOption(null, "Xbatching", CmdLineOpts.CAR_ZERO_ONE, null,
+				"Indicates that a batch should be used instead of direct " +
+				"communication with the server for each statement.  If a " +
+				"number is given, it is used as batch size.  i.e. 8000 " +
+				"would execute the contents on the batch after each 8000 " +
+				"statements read.  Batching can greatly speedup the " +
+				"process of restoring a database dump.");
+
+		// we store user and password in separate variables in order to
+		// be able to properly act on them like forgetting the password
+		// from the user's file if the user supplies a username on the
+		// command line arguments
+		String pass = null;
+		String user = null;
+
+		// look for a file called .monetdb in the current dir or in the
+		// user's homedir and read its preferences
+		File pref = new File(".monetdb");
+		if (!pref.exists())
+			pref = new File(System.getProperty("user.home"), ".monetdb");
+		if (pref.exists()) {
+			try {
+				copts.processFile(pref);
+			} catch (OptionsException e) {
+				System.err.println("Error in " + pref.getAbsolutePath() + ": " + e.getMessage());
+				System.exit(1);
+			}
+			user = copts.getOption("user").getArgument();
+			pass = copts.getOption("password").getArgument();
+		}
+
+		// process the command line arguments, remove password option
+		// first, and save the user we had at this point
+		copts.removeOption("password");
+		try {
+			copts.processArgs(args);
+		} catch (OptionsException e) {
+			System.err.println("Error: " + e.getMessage());
+			System.exit(1);
+		}
+		// we can actually compare pointers (objects) here
+		if (user != copts.getOption("user").getArgument()) pass = null;
+
+		if (copts.getOption("help").isPresent()) {
+			System.out.print(
+				"Usage java -jar jdbcclient.jar\n" +
+				"                  [-h host[:port]] [-p port] [-f file] [-u user]\n" +
+				"                  [-l language] [-d database] [-e] [-D [table]]\n" +
+				"                  [-X<opt>]\n" +
+				"or using long option equivalents --host --port --file --user --language\n" +
+				"--dump --echo --database.\n" +
+				"Arguments may be written directly after the option like -p50000.\n" +
+				"\n" +
+				"If no host and port are given, localhost and 50000 are assumed.  An .monetdb\n" +
+				"file may exist in the user's home directory.  This file can contain\n" +
+				"preferences to use each time JdbcClient is started.  Options given on the\n" +
+				"command line override the preferences file.  The .monetdb file syntax is\n" +
+				"<option>=<value> where option is one of the options host, port, file, mode\n" +
+				"debug, or password.  Note that the last one is perilous and therefore not\n" +
+				"available as command line option.\n" +
+				"If no input file is given using the -f flag, an interactive session is\n" +
+				"started on the terminal.\n" +
+				"\n" +
+				"OPTIONS\n" +
+				copts.produceHelpMessage()
+				);
+			System.exit(0);
+		} else if (copts.getOption("version").isPresent()) {
+			// We cannot use the DatabaseMetaData here, because we
+			// cannot get a Connection.  So instead, we just get the
+			// values we want out of the Driver directly.
+			System.out.println("JDBC Driver: v" + nl.cwi.monetdb.jdbc.MonetDriver.getDriverVersion());
+			System.exit(0);
+		}
+
+		in = new BufferedReader(new InputStreamReader(System.in));
+		out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
+
+		// whether the semi-colon at the end of a String terminates the
+		// query or not (default = yes => SQL)
+		boolean scolonterm = true;
+		boolean xmlMode = "xml".equals(copts.getOption("Xoutput").getArgument());
+
+		// we need the password from the user, fetch it with a pseudo
+		// password protector
+		if (pass == null) {
+			char[] tmp = System.console().readPassword("password: ");
+			if (tmp == null) {
+				System.err.println("Invalid password!");
+				System.exit(1);
+			}
+			pass = String.valueOf(tmp);
+		}
+
+		user = copts.getOption("user").getArgument();
+
+		// build the hostname
+		String host = copts.getOption("host").getArgument();
+		if (host.indexOf(":") == -1) {
+			host = host + ":" + copts.getOption("port").getArgument();
+		}
+
+		// make sure the driver is loaded
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+
+		// build the extra arguments of the JDBC connect string
+		String attr = "?";
+		CmdLineOpts.OptionContainer oc = copts.getOption("language");
+		String lang = oc.getArgument();
+		if (oc.isPresent())
+			attr += "language=" + lang + "&";
+		// set some behaviour based on the language XQuery
+		if (lang.equals("xquery")) {
+			scolonterm = false;	// no ; to end a statement
+			if (!copts.getOption("Xoutput").isPresent())
+				xmlMode = true; // the user will like xml results, most probably
+		}
+		oc = copts.getOption("Xdebug");
+		if (oc.isPresent()) {
+			attr += "debug=true&";
+			if (oc.getArgumentCount() == 1)
+				attr += "logfile=" + oc.getArgument() + "&";
+		}
+		oc = copts.getOption("Xhash");
+		if (oc.isPresent())
+			attr += "hash=" + oc.getArgument() + "&";
+
+		// request a connection suitable for MonetDB from the driver
+		// manager note that the database specifier is only used when
+		// connecting to a proxy-like service, since MonetDB itself
+		// can't access multiple databases.
+		con = null;
+		String database = copts.getOption("database").getArgument();
+		try {
+			con = DriverManager.getConnection(
+					"jdbc:monetdb://" + host + "/" + database + attr,
+					user,
+					pass
+			);
+			SQLWarning warn = con.getWarnings();
+			while (warn != null) {
+				System.err.println("Connection warning: " + warn.getMessage());
+				warn = warn.getNextWarning();
+			}
+			con.clearWarnings();
+		} catch (SQLException e) {
+			System.err.println("Database connect failed: " + e.getMessage());
+			System.exit(1);
+		}
+
+		try {
+			dbmd = con.getMetaData();
+		} catch (SQLException e) {
+			// we ignore this because it's probably because we don't use
+			// SQL language
+			dbmd = null;
+		}
+		stmt = con.createStatement();
+		
+		// see if we will have to perform a database dump (only in SQL mode)
+		if ("sql".equals(lang) && copts.getOption("dump").isPresent()) {
+			ResultSet tbl;
+
+			// use the given file for writing
+			oc = copts.getOption("file");
+			if (oc.isPresent())
+				out = new PrintWriter(new BufferedWriter(new FileWriter(oc.getArgument())));
+
+			// we only want user tables and views to be dumped, unless a specific
+			// table is requested
+			String[] types = {"TABLE", "VIEW"};
+			if (copts.getOption("dump").getArgumentCount() > 0)
+				types = null;
+			// request the tables available in the current schema in the database
+			tbl = dbmd.getTables(null, con.getSchema(), null, types);
+
+			List<Table> tables = new LinkedList<Table>();
+			while (tbl.next()) {
+				tables.add(new Table(
+					tbl.getString("TABLE_SCHEM"),
+					tbl.getString("TABLE_NAME"),
+					tbl.getString("TABLE_TYPE")));
+			}
+			tbl.close();
+			tbl = null;
+
+			if (xmlMode) {
+				exporter = new XMLExporter(out);
+				exporter.setProperty(XMLExporter.TYPE_NIL, XMLExporter.VALUE_XSI);
+			} else {
+				exporter = new SQLExporter(out);
+				// stick with SQL INSERT INTO commands for now
+				// in the future we might do COPY INTO's here using VALUE_COPY
+				exporter.setProperty(SQLExporter.TYPE_OUTPUT, SQLExporter.VALUE_INSERT);
+			}
+			exporter.useSchemas(true);
+
+			// start SQL output
+			if (!xmlMode)
+				out.println("START TRANSACTION;\n");
+
+			// dump specific table(s) or not?
+			if (copts.getOption("dump").getArgumentCount() > 0) { // yes we do
+				String[] dumpers = copts.getOption("dump").getArguments();
+				for (int i = 0; i < tables.size(); i++) {
+					Table ttmp = tables.get(i);
+					for (int j = 0; j < dumpers.length; j++) {
+						if (ttmp.getName().equalsIgnoreCase(dumpers[j].toString()) ||
+							ttmp.getFqname().equalsIgnoreCase(dumpers[j].toString()))
+						{
+							// dump the table
+							doDump(out, ttmp);
+						}
+					}
+				}
+			} else {
+				/* this returns everything, so including SYSTEM TABLE
+				 * constraints */
+				tbl = dbmd.getImportedKeys(null, null, null);
+				while (tbl.next()) {
+					// find FK table object
+					Table fk = Table.findTable(tbl.getString("FKTABLE_SCHEM") + "." + tbl.getString("FKTABLE_NAME"), tables);
+
+					// find PK table object
+					Table pk = Table.findTable(tbl.getString("PKTABLE_SCHEM") + "." + tbl.getString("PKTABLE_NAME"), tables);
+
+					// this happens when a system table has referential
+					// constraints
+					if (fk == null || pk == null)
+						continue;
+
+					// add PK table dependancy to FK table
+					fk.addDependancy(pk);
+				}
+				tbl.close();
+				tbl = null;
+
+				// search for cycles of type a -> (x ->)+ b probably not
+				// the most optimal way, but it works by just scanning
+				// every table for loops in a recursive manor
+				for (Table t : tables) {
+					Table.checkForLoop(t, new ArrayList<Table>());
+				}
+
+				// find the graph, at this point we know there are no
+				// cycles, thus a solution exists
+				for (int i = 0; i < tables.size(); i++) {
+					List<Table> needs = tables.get(i).requires(tables.subList(0, i + 1));
+					if (needs.size() > 0) {
+						tables.removeAll(needs);
+						tables.addAll(i, needs);
+
+						// re-evaluate this position, for there is a new
+						// table now
+						i--;
+					}
+				}
+
+				// we now have the right order to dump tables
+				for (Table t : tables) {
+					// dump the table
+					doDump(out, t);
+				}
+			}
+
+			if (!xmlMode)
+				out.println("COMMIT;");
+			out.flush();
+
+			// free resources, close the statement
+			stmt.close();
+			// close the connection with the database
+			con.close();
+			// completed database dump
+			System.exit(0);
+		}
+
+		if (xmlMode) {
+			exporter = new XMLExporter(out);
+			exporter.setProperty(XMLExporter.TYPE_NIL, XMLExporter.VALUE_XSI);
+		} else {
+			exporter = new SQLExporter(out);
+			// we want nice table formatted output
+			exporter.setProperty(SQLExporter.TYPE_OUTPUT, SQLExporter.VALUE_TABLE);
+		}
+		exporter.useSchemas(false);
+
+		try {
+			// use the given file for reading
+			boolean hasFile = copts.getOption("file").isPresent();
+			boolean doEcho = hasFile && copts.getOption("echo").isPresent();
+			if (hasFile) {
+				String tmp = copts.getOption("file").getArgument();
+				int batchSize = 0;
+				try {
+					in = getReader(tmp);
+				} catch (Exception e) {
+					System.err.println("Error: " + e.getMessage());
+					System.exit(1);
+				}
+
+				// check for batch mode
+				oc = copts.getOption("Xbatching");
+				if (oc.isPresent()) {
+					if (oc.getArgumentCount() == 1) {
+						// parse the number
+						try {
+							batchSize = Integer.parseInt(oc.getArgument());
+						} catch (NumberFormatException ex) {
+							// complain to the user
+							throw new IllegalArgumentException("Illegal argument for Xbatching: " + oc.getArgument() + " is not a parseable number!");
+						}
+					}
+					processBatch(batchSize);
+				} else {
+					processInteractive(true, doEcho, scolonterm, user);
+				}
+			} else {
+				if (!copts.getOption("quiet").isPresent()) {
+					// print welcome message
+					out.println("Welcome to the MonetDB interactive JDBC terminal!");
+					if (dbmd != null) {
+						out.println("Database Server: " + dbmd.getDatabaseProductName() +
+							" v" + dbmd.getDatabaseProductVersion());
+						out.println("JDBC Driver: " + dbmd.getDriverName() +
+							" v" + dbmd.getDriverVersion());
+					}
+					out.println("Current Schema: " + con.getSchema());
+					out.println("Type \\q to quit, \\h for a list of available commands");
+					out.flush();
+				}
+				processInteractive(false, doEcho, scolonterm, user);
+			}
+
+			// free resources, close the statement
+			stmt.close();
+			// close the connection with the database
+			con.close();
+			// close the file (if we used a file)
+			in.close();
+		} catch (Exception e) {
+			System.err.println("A fatal exception occurred: " + e.toString());
+			e.printStackTrace(System.err);
+			// at least try to close the connection properly, since it will
+			// close all statements associated with it
+			try {
+				con.close();
+			} catch (SQLException ex) {
+				// ok... nice try
+			}
+			System.exit(1);
+		}
+	}
+
+	/**
+	 * Tries to interpret the given String as URL or file.  Returns the
+	 * assigned BufferedReader, or throws an Exception if the given
+	 * string couldn't be identified as a valid URL or file.
+	 *
+	 * @param uri URL or filename as String
+	 * @return a BufferedReader for the uri
+	 * @throws Exception if uri cannot be identified as a valid URL or
+	 *         file
+	 */
+	static BufferedReader getReader(String uri) throws Exception {
+		BufferedReader ret = null;
+		URL u = null;
+
+		// Try and parse as URL first
+		try {
+			u = new URL(uri);
+		} catch (MalformedURLException e) {
+			// no URL, try as file
+			try {
+				ret = new BufferedReader(new FileReader(uri));
+			} catch (FileNotFoundException fnfe) {
+				// the message is descriptive enough, adds "(No such file
+				// or directory)" itself.
+				throw new Exception(fnfe.getMessage());
+			}
+		}
+
+		if (ret == null) try {
+			HttpURLConnection.setFollowRedirects(true);
+			HttpURLConnection con =
+				(HttpURLConnection)u.openConnection();
+			con.setRequestMethod("GET");
+			String ct = con.getContentType();
+			if ("application/x-gzip".equals(ct)) {
+				// open gzip stream
+				ret = new BufferedReader(new InputStreamReader(
+							new GZIPInputStream(con.getInputStream())));
+			} else {
+				// text/plain otherwise just attempt to read as is
+				ret = new BufferedReader(new InputStreamReader(
+							con.getInputStream()));
+			}
+		} catch (IOException e) {
+			// failed to open the url
+			throw new Exception("No such host/file: " + e.getMessage());
+		} catch (Exception e) {
+			// this is an exception that comes from deep ...
+			throw new Exception("Invalid URL: " + e.getMessage());
+		}
+
+		return ret;
+	}
+
+	/**
+	 * Starts an interactive processing loop, where output is adjusted to an
+	 * user session.  This processing loop is not suitable for bulk processing
+	 * as in executing the contents of a file, since processing on the given
+	 * input is done after each row that has been entered.
+	 *
+	 * @param hasFile a boolean indicating whether a file is used as input
+	 * @param doEcho a boolean indicating whether to echo the given input
+	 * @param user a String representing the username of the current user
+	 * @throws IOException if an IO exception occurs
+	 * @throws SQLException if a database related error occurs
+	 */
+	public static void processInteractive(
+		boolean hasFile,
+		boolean doEcho,
+		boolean scolonterm,
+		String user
+	)
+		throws IOException, SQLException
+	{
+		// an SQL stack keeps track of ( " and '
+		SQLStack stack = new SQLStack();
+		// a query part is a line of an SQL query
+		QueryPart qp = null;
+
+		String query = "", curLine;
+		boolean wasComplete = true, doProcess, lastac = false;
+		if (!hasFile) {
+			lastac = con.getAutoCommit();
+			out.println("auto commit mode: " + (lastac ? "on" : "off"));
+			out.print(getPrompt(stack, true));
+			out.flush();
+		}
+
+		// the main (interactive) process loop
+		for (long i = 1; true; i++) {
+			// Manually read a line, because we want to detect an EOF
+			// (ctrl-D).  Doing so allows to have a terminator for query
+			// which is not based on a special character, as is the
+			// problem for XQuery
+			curLine = in.readLine();
+			if (curLine == null) {
+				out.println("");
+				if (!query.isEmpty()) {
+					try {
+						executeQuery(query, stmt, out, !hasFile);
+					} catch (SQLException e) {
+						out.flush();
+						do {
+							if (hasFile) {
+								System.err.println("Error on line " + i + ": [" + e.getSQLState() + "] " + e.getMessage());
+							} else {
+								System.err.println("Error [" + e.getSQLState() + "]: " + e.getMessage());
+							}
+							// print all error messages in the chain (if any)
+						} while ((e = e.getNextException()) != null);
+					}
+					query = "";
+					wasComplete = true;
+					if (!hasFile) {
+						boolean ac = con.getAutoCommit();
+						if (ac != lastac) {
+							out.println("auto commit mode: " + (ac ? "on" : "off"));
+							lastac = ac;
+						}
+						out.print(getPrompt(stack, wasComplete));
+					}
+					out.flush();
+					// try to read again
+					continue;
+				} else {
+					// user did ctrl-D without something in the buffer,
+					// so terminate
+					break;
+				}
+			}
+
+			if (doEcho) {
+				out.println(curLine);
+				out.flush();
+			}
+			qp = scanQuery(curLine, stack, scolonterm);
+			if (!qp.isEmpty()) {
+				String command = qp.getQuery();
+				doProcess = true;
+				if (wasComplete) {
+					doProcess = false;
+					// check for commands only when the previous row was
+					// complete
+					if (command.equals("\\q")) {
+						// quit
+						break;
+					} else if (command.startsWith("\\h")) {
+						out.println("Available commands:");
+						out.println("\\q      quits this program");
+						out.println("\\h      this help screen");
+						if (dbmd != null)
+							out.println("\\d      list available tables and views");
+						out.println("\\d<obj> describes the given table or view");
+						out.println("\\l<uri> executes the contents of the given file or URL");
+						out.println("\\i<uri> batch executes the inserts from the given file or URL");
+					} else if (dbmd != null && command.startsWith("\\d")) {
+						try {
+							String object = command.substring(2).trim().toLowerCase();
+							if (scolonterm && object.endsWith(";"))
+								object = object.substring(0, object.length() - 1);
+							if (!object.isEmpty()) {
+								String schema;
+								int dot = object.indexOf(".");
+								if (dot != -1) {
+									// use provided schema
+									schema = object.substring(0, dot);
+									object = object.substring(dot + 1);
+								} else {
+									// use current schema
+									schema = con.getSchema();
+								}
+								ResultSet tbl = dbmd.getTables(null, schema, null, null);
+
+								// we have an object, see if we can find it
+								boolean found = false;
+								while (tbl.next()) {
+									String tableName = tbl.getString("TABLE_NAME");
+									String schemaName = tbl.getString("TABLE_SCHEM");
+									if ((dot == -1 && tableName.equalsIgnoreCase(object)) ||
+										(schemaName + "." + tableName).equalsIgnoreCase(object))
+									{
+										// we found it, describe it
+										exporter.dumpSchema(dbmd,
+												tbl.getString("TABLE_TYPE"),
+												tbl.getString("TABLE_CAT"),
+												schemaName,
+												tableName);
+
+										found = true;
+										break;
+									}
+								}
+								tbl.close();
+
+								if (!found)
+									System.err.println("Unknown table or view: " + object);
+							} else {
+								String current_schema = con.getSchema();
+								ResultSet tbl = dbmd.getTables(null, current_schema, null, null);
+
+								// give us a list of all non-system tables and views (including temp ones)
+								while (tbl.next()) {
+									String tableType = tbl.getString("TABLE_TYPE");
+									if (tableType != null && !tableType.startsWith("SYSTEM "))
+										out.println(tableType + "\t" +
+											tbl.getString("TABLE_SCHEM") + "." +
+											tbl.getString("TABLE_NAME"));
+								}
+								tbl.close();
+							}
+						} catch (SQLException e) {
+							out.flush();
+							do {
+								System.err.println("Error [" + e.getSQLState() + "]: " + e.getMessage());
+								// print all error messages in the chain (if any)
+							} while ((e = e.getNextException()) != null);
+						}
+					} else if (command.startsWith("\\l") || command.startsWith("\\i")) {
+						String object = command.substring(2).trim();
+						if (scolonterm && object.endsWith(";"))
+							object = object.substring(0, object.length() - 1);
+						if (object.isEmpty()) {
+							System.err.println("Usage: '" + command.substring(0, 2) + "<uri>' where <uri> is a file or URL");
+						} else {
+							// temporarily redirect input from in
+							BufferedReader console = in;
+							try {
+								in = getReader(object);
+								if (command.startsWith("\\l")) {
+									processInteractive(true, doEcho, scolonterm, user);
+								} else {
+									processBatch(0);
+								}
+							} catch (Exception e) {
+								out.flush();
+								System.err.println("Error: " + e.getMessage());
+							} finally {
+								// put back in redirection
+								in = console;
+							}
+						}
+					} else {
+						doProcess = true;
+					}
+				}
+
+				if (doProcess) {
+					query += command + (qp.hasOpenQuote() ? "\\n" : " ");
+					if (qp.isComplete()) {
+						// strip off trailing ';'
+						query = query.substring(0, query.length() - 2);
+						// execute query
+						try {
+							executeQuery(query, stmt, out, !hasFile);
+						} catch (SQLException e) {
+							out.flush();
+							do {
+								if (hasFile) {
+									System.err.println("Error on line " + i + ": [" + e.getSQLState() + "] " + e.getMessage());
+								} else {
+									System.err.println("Error [" + e.getSQLState() + "]: " + e.getMessage());
+								}
+								// print all error messages in the chain (if any)
+							} while ((e = e.getNextException()) != null);
+						}
+						query = "";
+						wasComplete = true;
+					} else {
+						wasComplete = false;
+					}
+				}
+			}
+
+			if (!hasFile) {
+				boolean ac = con.getAutoCommit();
+				if (ac != lastac) {
+					out.println("auto commit mode: " + (ac ? "on" : "off"));
+					lastac = ac;
+				}
+				out.print(getPrompt(stack, wasComplete));
+			}
+			out.flush();
+		}
+	}
+
+	/**
+	 * Executes the given query and prints the result tabularised to the
+	 * given PrintWriter stream.  The result of this method is the
+	 * default output of a query: tabular data.
+	 *
+	 * @param query the query to execute
+	 * @param stmt the Statement to execute the query on
+	 * @param out the PrintWriter to write to
+	 * @param showTiming flag to specify if timing information nees to be printed
+	 * @throws SQLException if a database related error occurs
+	 */
+	private static void executeQuery(String query,
+			Statement stmt,
+			PrintWriter out,
+			boolean showTiming)
+		throws SQLException
+	{
+		// warnings generated during querying
+		SQLWarning warn;
+		long startTime = (showTiming ? System.currentTimeMillis() : 0);
+		long finishTime = 0;
+
+		// execute the query, let the driver decide what type it is
+		int aff = -1;
+		boolean	nextRslt = stmt.execute(query, Statement.RETURN_GENERATED_KEYS);
+		if (!nextRslt)
+			aff = stmt.getUpdateCount();
+		do {
+			if (nextRslt) {
+				// we have a ResultSet, print it
+				ResultSet rs = stmt.getResultSet();
+
+				exporter.dumpResultSet(rs);
+				if (showTiming) {
+					finishTime = System.currentTimeMillis();
+					out.println("Elapsed Time: " + (finishTime - startTime) + " ms");
+					startTime = finishTime;
+				}
+
+				// if there were warnings for this result,
+				// show them!
+				warn = rs.getWarnings();
+				if (warn != null) {
+					// force stdout to be written so the
+					// warning appears below it
+					out.flush();
+					do {
+						System.err.println("ResultSet warning: " +
+							warn.getMessage());
+						warn = warn.getNextWarning();
+					} while (warn != null);
+					rs.clearWarnings();
+				}
+				rs.close();
+			} else if (aff != -1) {
+				String timingoutput = "";
+				if (showTiming) {
+					finishTime = System.currentTimeMillis();
+					timingoutput = ". Elapsed Time: " + (finishTime - startTime) + " ms";
+					startTime = finishTime;
+				}
+
+				if (aff == Statement.SUCCESS_NO_INFO) {
+					out.println("Operation successful" + timingoutput);
+				} else {
+					// we have an update count
+					// see if a key was generated
+					ResultSet rs = stmt.getGeneratedKeys();
+					boolean hasGeneratedKeyData = rs.next();
+					out.println(aff + " affected row" + (aff != 1 ? "s" : "") +
+						(hasGeneratedKeyData ? ", last generated key: " + rs.getString(1) : "") +
+						timingoutput);
+					rs.close();
+				}
+			}
+
+			out.flush();
+		} while ((nextRslt = stmt.getMoreResults()) ||
+			 (aff = stmt.getUpdateCount()) != -1);
+
+		// if there were warnings for this statement,
+		// and/or connection show them!
+		warn = stmt.getWarnings();
+		while (warn != null) {
+			System.err.println("Statement warning: " + warn.getMessage());
+			warn = warn.getNextWarning();
+		}
+		stmt.clearWarnings();
+
+		warn = con.getWarnings();
+		while (warn != null) {
+			System.err.println("Connection warning: " + warn.getMessage());
+			warn = warn.getNextWarning();
+		}
+		con.clearWarnings();
+	}
+
+	/**
+	 * Starts a processing loop optimized for processing (large) chunks of
+	 * continuous data, such as input from a file.  Unlike in the interactive
+	 * loop above, queries are sent only to the database if a certain batch
+	 * amount is reached.  No client side query checks are made, but everything
+	 * is sent to the server as-is.
+	 *
+	 * @param batchSize the number of items to store in the batch before
+	 *                  sending them to the database for execution.
+	 * @throws IOException if an IO exception occurs.
+	 */
+	public static void processBatch(int batchSize) throws IOException {
+		StringBuilder query = new StringBuilder();
+		String curLine;
+		int i = 0;
+		try {
+			// the main loop
+			for (i = 1; (curLine = in.readLine()) != null; i++) {
+				query.append(curLine);
+				if (curLine.endsWith(";")) {
+					// lousy check for end of statement, but in batch mode it
+					// is not very important to catch all end of statements...
+					stmt.addBatch(query.toString());
+					query.delete(0, query.length());
+				} else {
+					query.append('\n');
+				}
+				if (batchSize > 0 && i % batchSize == 0) {
+					stmt.executeBatch();
+					stmt.clearBatch();
+				}
+			}
+			stmt.addBatch(query.toString());
+			stmt.executeBatch();
+			stmt.clearBatch();
+		} catch (SQLException e) {
+			do {
+				System.err.println("Error at line " + i + ": [" + e.getSQLState() + "] " + e.getMessage());
+				// print all error messages in the chain (if any)
+			} while ((e = e.getNextException()) != null);
+		}
+	}
+
+	/**
+	 * Wrapper method that decides to dump SQL or XML.  In the latter case,
+	 * this method does the XML data generation.
+	 *
+	 * @param out a Writer to write the data to
+	 * @param table the table to dump
+	 * @throws SQLException if a database related error occurs
+	 */
+	public static void doDump(PrintWriter out, Table table) throws SQLException {
+		String tableType = table.getType();
+
+		// dump CREATE definition of this table/view
+		exporter.dumpSchema(dbmd, tableType, null, table.getSchem(), table.getName());
+		out.println();
+
+		// only dump data from real tables, not from views
+		if (tableType.contains("TABLE")) {
+			ResultSet rs = stmt.executeQuery("SELECT * FROM " + table.getFqnameQ());
+			exporter.dumpResultSet(rs);
+			rs.close();
+			out.println();
+		}
+	}
+
+	/**
+	 * Simple helper method that generates a prompt.
+	 *
+	 * @param stack the current SQLStack
+	 * @param compl whether the statement is complete
+	 * @return a prompt which consist of "sql" plus the top of the stack
+	 */
+	private static String getPrompt(SQLStack stack, boolean compl) {
+		return (compl ? "sql" : "more") +
+			(stack.empty() ? ">" : "" + stack.peek()) + " ";
+	}
+
+	/**
+	 * Scans the given string and tries to discover if it is a complete query
+	 * or that there needs something to be added.  If a string doesn't end with
+	 * a ; it is considered not to be complete.  SQL string quotation using ' and
+	 * SQL identifier quotation using " is taken into account when scanning a
+	 * string this way.
+	 * Additionally, this method removes comments from the SQL statements,
+	 * identified by -- and removes white space where appropriate.
+	 *
+	 * @param query the query to parse
+	 * @param stack query stack to work with
+	 * @param scolonterm whether a ';' makes this query part complete
+	 * @return a QueryPart object containing the results of this parse
+	 */
+	private static QueryPart scanQuery(
+			String query,
+			SQLStack stack,
+			boolean scolonterm)
+	{
+		// examine string, char for char
+		boolean wasInString = (stack.peek() == '\'');
+		boolean wasInIdentifier = (stack.peek() == '"');
+		boolean escaped = false;
+		int len = query.length();
+		for (int i = 0; i < len; i++) {
+			switch(query.charAt(i)) {
+				case '\\':
+					escaped = !escaped;
+				break;
+				default:
+					escaped = false;
+				break;
+				case '\'':
+					/**
+					 * We can not be in a string if we are in an identifier. So
+					 * If we find a ' and are not in an identifier, and not in
+					 * a string we can safely assume we will be now in a string.
+					 * If we are in a string already, we should stop being in a
+					 * string if we find a quote which is not prefixed by a \,
+					 * for that would be an escaped quote. However, a nasty
+					 * situation can occur where the string is like 'test \\'.
+					 * As obvious, a test for a \ in front of a ' doesn't hold
+					 * here. Because 'test \\\'' can exist as well, we need to
+					 * know if a quote is prefixed by an escaping slash or not.
+					 */
+					if (!escaped && stack.peek() != '"') {
+						if (stack.peek() != '\'') {
+							// although it makes no sense to escape a quote
+							// outside a string, it is escaped, thus not meant
+							// as quote for us, apparently
+							stack.push('\'');
+						} else {
+							stack.pop();
+						}
+					}
+					// reset escaped flag
+					escaped = false;
+				break;
+				case '"':
+					if (!escaped && stack.peek() != '\'') {
+						if (stack.peek() != '"') {
+							stack.push('"');
+						} else {
+							stack.pop();
+						}
+					}
+					// reset escaped flag
+					escaped = false;
+				break;
+				case '-':
+					if (!escaped && stack.peek() != '\'' && stack.peek() != '"' && i + 1 < len && query.charAt(i + 1) == '-') {
+						len = i;
+					}
+					escaped = false;
+				break;
+				case '(':
+					if (!escaped && stack.peek() != '\'' && stack.peek() != '"') {
+						stack.push('(');
+					}
+					escaped = false;
+				break;
+				case ')':
+					if (!escaped && stack.peek() == '(') {
+						stack.pop();
+					}
+					escaped = false;
+				break;
+			}
+		}
+
+		int start = 0;
+		if (!wasInString && !wasInIdentifier && len > 0) {
+			// trim spaces at the start of the string
+			for (; start < len && Character.isWhitespace(query.charAt(start)); start++);
+		}
+		int stop = len - 1;
+		if (stack.peek() !=  '\'' && !wasInIdentifier && stop > start) {
+			// trim spaces at the end of the string
+			for (; stop >= start && Character.isWhitespace(query.charAt(stop)); stop--);
+		}
+		stop++;
+
+		if (start == stop) {
+			// we have an empty string
+			return new QueryPart(false, null, stack.peek() ==  '\'' || stack.peek() == '"');
+		} else if (stack.peek() ==  '\'' || stack.peek() == '"') {
+			// we have an open quote
+			return new QueryPart(false, query.substring(start, stop), true);
+		} else {
+			// see if the string is complete
+			if (scolonterm && query.charAt(stop - 1) == ';') {
+				return new QueryPart(true, query.substring(start, stop), false);
+			} else {
+				return new QueryPart(false, query.substring(start, stop), false);
+			}
+		}
+	}
+
+	public static String dq(String in) {
+		return "\"" + in.replaceAll("\\\\", "\\\\\\\\").replaceAll("\"", "\\\\\"") + "\"";
+	}
+}
+
+/**
+ * A QueryPart is (a part of) a SQL query.  In the QueryPart object information
+ * like the actual SQL query string, whether it has an open quote and the like
+ * is stored.
+ */
+class QueryPart {
+	private boolean complete;
+	private String query;
+	private boolean open;
+
+	public QueryPart(boolean complete, String query, boolean open) {
+		this.complete = complete;
+		this.query = query;
+		this.open = open;
+	}
+
+	public boolean isEmpty() {
+		return query == null;
+	}
+
+	public boolean isComplete() {
+		return complete;
+	}
+
+	public String getQuery() {
+		return query;
+	}
+
+	public boolean hasOpenQuote() {
+		return open;
+	}
+}
+
+/**
+ * An SQLStack is a simple stack that keeps track of open brackets and
+ * (single and double) quotes in an SQL query.
+ */
+class SQLStack {
+	StringBuilder stack = new StringBuilder();
+
+	public char peek() {
+		if (empty()) {
+			return '\0';
+		} else {
+			return stack.charAt(stack.length() - 1);
+		}
+	}
+
+	public char pop() {
+		char tmp = peek();
+		if (tmp != '\0') {
+			stack.setLength(stack.length() - 1);
+		}
+		return tmp;
+	}
+
+	public char push(char item) {
+		stack.append(item);
+		return item;
+	}
+
+	public boolean empty() {
+		return stack.length() == 0;
+	}
+}
+
+/**
+ * A Table represents an SQL table.  All data required to
+ * generate a fully qualified name is stored, as well as dependency
+ * data.
+ */
+class Table {
+	final String schem;
+	final String name;
+	final String type;
+	final String fqname;
+	List<Table> needs = new ArrayList<Table>();
+
+	Table(String schem, String name, String type) {
+		this.schem = schem;
+		this.name = name;
+		this.type = type;
+		this.fqname = schem + "." + name;
+	}
+
+	void addDependancy(Table dependsOn) throws Exception {
+		if (this.fqname.equals(dependsOn.fqname))
+			throw new Exception("Cyclic dependancy graphs are not supported (foreign key relation references self)");
+
+		if (dependsOn.needs.contains(this))
+			throw new Exception("Cyclic dependancy graphs are not supported (foreign key relation a->b and b->a)");
+
+		if (!needs.contains(dependsOn))
+			needs.add(dependsOn);
+	}
+
+	List<Table> requires(List<Table> existingTables) {
+		if (existingTables == null || existingTables.isEmpty())
+			return new ArrayList<Table>(needs);
+
+		List<Table> req = new ArrayList<Table>();
+		for (Table n : needs) {
+			if (!existingTables.contains(n))
+				req.add(n);
+		}
+
+		return req;
+	}
+
+	String getSchem() {
+		return schem;
+	}
+
+	String getSchemQ() {
+		return JdbcClient.dq(schem);
+	}
+
+	String getName() {
+		return name;
+	}
+
+	String getNameQ() {
+		return JdbcClient.dq(name);
+	}
+
+	String getType() {
+		return type;
+	}
+
+	String getFqname() {
+		return fqname;
+	}
+
+	String getFqnameQ() {
+		return getSchemQ() + "." + getNameQ();
+	}
+
+	public String toString() {
+		return fqname;
+	}
+
+
+	static Table findTable(String fqname, List<Table> list) {
+		for (Table l : list) {
+			if (l.fqname.equals(fqname))
+				return l;
+		}
+		// not found
+		return null;
+	}
+
+	static void checkForLoop(Table table, List<Table> parents) throws Exception {
+		parents.add(table);
+		for (int i = 0; i < table.needs.size(); i++) {
+			Table child = table.needs.get(i);
+			if (parents.contains(child))
+				throw new Exception("Cyclic dependancy graphs are not supported (cycle detected for " + child.fqname + ")");
+			checkForLoop(child, parents);
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
@@ -0,0 +1,299 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import java.util.Arrays;
+import java.io.*;
+
+/**
+ * The MonetBlob class implements the {@link java.sql.Blob} interface.  Because
+ * MonetDB/SQL currently has no support for streams, this class is a
+ * shallow wrapper of a byte[].  It is more or less supplied to
+ * enable an application that depends on it to run.  It may be obvious
+ * that it is a real resource expensive workaround that contradicts the
+ * benefits for a Blob: avoidance of huge resource consumption.
+ *
+ * @author Fabian Groffen
+ */
+public class MonetBlob implements Blob {
+	private byte[] buf;
+
+	protected MonetBlob(byte[] data) {
+		buf = data;
+	}
+	
+	static MonetBlob create(String in) {
+		int len = in.length() / 2;
+		byte[] buf = new byte[len];
+		for (int i = 0; i < len; i++)
+			buf[i] = (byte)Integer.parseInt(in.substring(2 * i, (2 * i) + 2), 16);
+		return new MonetBlob(buf);
+	}
+	
+
+	//== begin interface Blob
+	
+	/**
+	 * This method frees the Blob object and releases the resources that
+	 * it holds. The object is invalid once the free method is called.
+	 *
+	 * After free has been called, any attempt to invoke a method other
+	 * than free will result in a SQLException being thrown. If free is
+	 * called multiple times, the subsequent calls to free are treated
+	 * as a no-op.
+	 *
+	 * @throws SQLException if an error occurs releasing the Blob's
+	 *         resources
+	 * @throws SQLFeatureNotSupportedException - if the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void free() throws SQLException {
+		buf = null;
+	}
+	
+	/**
+	 * Retrieves the BLOB value designated by this Blob instance as a
+	 * stream.
+	 *
+	 * @return a stream containing the BLOB data
+	 * @throws SQLException if there is an error accessing the BLOB value
+	 * @throws SQLFeatureNotSupportedException if the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public InputStream getBinaryStream() throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		return new ByteArrayInputStream(buf);
+	}
+
+	/**
+	 * Returns an InputStream object that contains a partial Blob value,
+	 * starting with the byte specified by pos, which is length bytes in
+	 * length.
+	 *
+	 * @param pos the offset to the first byte of the partial value to
+	 *        be retrieved. The first byte in the Blob is at position 1
+	 * @param length the length in bytes of the partial value to be
+	 *        retrieved
+	 * @return InputStream through which the partial Blob value can be
+	 *         read.
+	 * @throws SQLException if pos is less than 1 or if pos is
+	 *         greater than the number of bytes in the Blob or if pos +
+	 *         length is greater than the number of bytes in the Blob
+	 * @throws SQLFeatureNotSupportedException if the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public InputStream getBinaryStream(long pos, long length)
+		throws SQLException
+	{
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		if (pos < 1)
+			throw new SQLException("pos is less than 1", "M1M05");
+		if (pos - 1 > buf.length)
+			throw new SQLException("pos is greater than the number of bytes in the Blob", "M1M05");
+		if (pos - 1 + length > buf.length)
+			throw new SQLException("pos + length is greater than the number of bytes in the Blob", "M1M05");
+		return new ByteArrayInputStream(buf, (int)(pos - 1), (int)length);
+	}
+
+	/**
+	 * Retrieves all or part of the BLOB value that this Blob object
+	 * represents, as an array of bytes.  This byte array contains up to
+	 * length consecutive bytes starting at position pos.
+	 *
+	 * @param pos the ordinal position of the first byte in the BLOB
+	 *        value to be extracted; the first byte is at position 1.
+	 * @param length the number of consecutive bytes to be copied
+	 * @return a byte array containing up to length consecutive bytes
+	 *         from the BLOB value designated by this Blob object,
+	 *         starting with the byte at position pos.
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public byte[] getBytes(long pos, int length) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		try {
+			return Arrays.copyOfRange(buf, (int) pos - 1, (int) pos - 1 + length);
+		} catch (IndexOutOfBoundsException e) {
+			throw new SQLException(e.getMessage(), "M0M10");
+		}
+	}
+
+	/**
+	 * Returns the number of bytes in the BLOB value designated by this
+	 * Blob object.
+	 *
+	 * @return length of the BLOB in bytes
+	 * @throws SQLException if there is an error accessing the length
+	 *         of the BLOB value
+	 */
+	@Override
+	public long length() throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		return (long)buf.length;
+	}
+
+	/**
+	 * Retrieves the byte position in the BLOB value designated by this
+	 * Blob object at which pattern begins.  The search begins at
+	 * position start.
+	 *
+	 * @param pattern the Blob object designating the BLOB value for
+	 *        which to search
+	 * @param start the position in the BLOB value at which to begin
+	 *        searching; the first position is 1
+	 * @return the position at which the pattern begins, else -1
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public long position(Blob pattern, long start) throws SQLException {
+		return position(pattern.getBytes(1L, (int)pattern.length()), start);
+	}
+
+	/**
+	 * Retrieves the byte position at which the specified byte array
+	 * pattern begins within the BLOB value that this Blob object
+	 * represents.  The search for pattern begins at position start.
+	 *
+	 * @param pattern the byte array for which to search
+	 * @param start the position at which to begin searching;
+	 *        the first position is 1
+	 * @return the position at which the pattern appears, else -1
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public long position(byte[] pattern, long start) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		try {
+			for (int i = (int)(start - 1); i < buf.length - pattern.length; i++) {
+				int j;
+				for (j = 0; j < pattern.length; j++) {
+					if (buf[i + j] != pattern[j])
+						break;
+				}
+				if (j == pattern.length)
+					return i;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw new SQLException(e.getMessage(), "M0M10");
+		}
+		return -1;
+	}
+
+	/**
+	 * Retrieves a stream that can be used to write to the BLOB value
+	 * that this Blob object represents. The stream begins at position
+	 * pos. The bytes written to the stream will overwrite the existing
+	 * bytes in the Blob object starting at the position pos. If the end
+	 * of the Blob value is reached while writing to the stream, then
+	 * the length of the Blob value will be increased to accomodate the
+	 * extra bytes.
+	 *
+	 * @param pos the position in the BLOB value at which to start
+	 *            writing; the first position is 1
+	 * @return a java.io.OutputStream object to which data can be
+	 *         written
+	 * @throws SQLException if there is an error accessing the BLOB
+	 *         value or if pos is less than 1
+	 * @throws SQLFeatureNotSupportedException if the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public OutputStream setBinaryStream(long pos) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		if (pos < 1)
+			throw new SQLException("pos is less than 1", "M1M05");
+		throw new SQLFeatureNotSupportedException("Operation setBinaryStream(long pos) currently not supported", "0A000");
+	}
+
+	/**
+	 * Writes the given array of bytes to the BLOB value that this Blob
+	 * object represents, starting at position pos, and returns the
+	 * number of bytes written.
+	 *
+	 * @param pos the position in the BLOB object at which to start
+	 *        writing
+	 * @param bytes the array of bytes to be written to the BLOB  value
+	 *        that this Blob object represents
+	 * @return the number of bytes written
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public int setBytes(long pos, byte[] bytes) throws SQLException {
+		return setBytes(pos, bytes, 1, bytes.length);
+	}
+
+	/**
+	 * Writes all or part of the given byte array to the BLOB value that
+	 * this Blob object represents and returns the number of bytes
+	 * written.  Writing starts at position pos in the BLOB  value; len
+	 * bytes from the given byte array are written.
+	 *
+	 * @param pos the position in the BLOB object at which to start
+	 *        writing
+	 * @param bytes the array of bytes to be written to this BLOB
+	 *        object
+	 * @param offset the offset into the array bytes at which to start
+	 *        reading the bytes to be set
+	 * @param len the number of bytes to be written to the BLOB  value
+	 *        from the array of bytes bytes
+	 * @return the number of bytes written
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public int setBytes(long pos, byte[] bytes, int offset, int len)
+		throws SQLException
+	{
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		try {
+			/* transactions? what are you talking about? */
+			for (int i = (int)pos; i < len; i++)
+				buf[i] = bytes[offset - 1 + i];
+		} catch (IndexOutOfBoundsException e) {
+			throw new SQLException(e.getMessage(), "M0M10");
+		}
+		return len;
+	}
+
+	/**
+	 * Truncates the BLOB value that this Blob  object represents to be
+	 * len bytes in length.
+	 *
+	 * @param len the length, in bytes, to which the BLOB value
+	 *        should be truncated
+	 * @throws SQLException if there is an error accessing the
+	 *         BLOB value
+	 */
+	@Override
+	public void truncate(long len) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Blob object has been freed", "M1M20");
+		if (buf.length > len) {
+			byte[] newbuf = new byte[(int)len];
+			for (int i = 0; i < len; i++)
+				newbuf[i] = buf[i];
+			buf = newbuf;
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetClob.java
@@ -0,0 +1,265 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import java.io.*;
+
+/**
+ * The MonetClob class implements the {@link java.sql.Clob} interface.  Because
+ * MonetDB/SQL currently has no support for streams, this class is a
+ * shallow wrapper of a {@link StringBuilder}.  It is more or less supplied to
+ * enable an application that depends on it to run.  It may be obvious
+ * that it is a real resource expensive workaround that contradicts the
+ * sole reason for a Clob: avoidance of huge resource consumption.
+ * <b>Use of this class is highly discouraged.</b>
+ *
+ * @author Fabian Groffen
+ */
+public class MonetClob implements Clob {
+	
+	private StringBuilder buf;
+
+	protected MonetClob(String in) {
+		buf = new StringBuilder(in);
+	}
+
+	//== begin interface Clob
+	
+	/**
+	 * This method frees the Clob object and releases the resources the
+	 * resources that it holds. The object is invalid once the free
+	 * method is called.
+	 *
+	 * After free has been called, any attempt to invoke a method other
+	 * than free will result in a SQLException being thrown. If free is
+	 * called multiple times, the subsequent calls to free are treated
+	 * as a no-op.
+	 */
+	@Override
+	public void free() {
+		buf = null;
+	}
+
+	/**
+	 * Retrieves the CLOB value designated by this Clob object as an
+	 * ascii stream.
+	 *
+	 * @return a java.io.InputStream object containing the CLOB data
+	 * @throws SQLFeatureNotSupportedException this JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public InputStream getAsciiStream() throws SQLException {
+		throw new SQLFeatureNotSupportedException("Operation getAsciiStream() currently not supported", "0A000");
+	}
+
+	/**
+	 * Retrieves the CLOB value designated by this Clob object as a
+	 * java.io.Reader object (or as a stream of characters).
+	 *
+	 * @return a java.io.Reader object containing the CLOB data
+	 * @throws SQLFeatureNotSupportedException this JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public Reader getCharacterStream() throws SQLException {
+		throw new SQLFeatureNotSupportedException("Operation getCharacterStream() currently not supported", "0A000");
+	}
+
+	/**
+	 * Returns a Reader object that contains a partial Clob value,
+	 * starting with the character specified by pos, which is length
+	 * characters in length.
+	 *
+	 * @param pos the offset to the first character of the partial value
+	 *        to be retrieved. The first character in the Clob is at
+	 *        position 1.
+	 * @param length the length in characters of the partial value to be
+	 *        retrieved.
+	 * @return Reader through which the partial Clob value can be read.
+	 * @throws SQLFeatureNotSupportedException this JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public Reader getCharacterStream(long pos, long length) throws SQLException {
+		throw new SQLFeatureNotSupportedException("Operation getCharacterStream(long, long) currently not supported", "0A000");
+	}
+
+	/**
+	 * Retrieves a copy of the specified substring in the CLOB value
+	 * designated by this Clob object.  The substring begins at
+	 * position pos and has up to length consecutive characters.
+	 *
+	 * @param pos the first character of the substring to be
+	 *        extracted. The first character is at position 1.
+	 * @param length the number of consecutive characters to be copied
+	 * @return a String that is the specified substring in the
+	 *         CLOB value designated by this Clob object
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public String getSubString(long pos, int length) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		try {
+			return buf.substring((int)(pos - 1), (int)(pos - 1 + length));
+		} catch (IndexOutOfBoundsException e) {
+			throw new SQLException(e.getMessage());
+		}
+	}
+
+	/**
+	 * Retrieves the number of characters in the CLOB value designated
+	 * by this Clob object.
+	 *
+	 * @return length of the CLOB in characters
+	 * @throws SQLException if there is an error accessing the length
+	 *         of the CLOB value
+	 */
+	@Override
+	public long length() throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		return (long)buf.length();
+	}
+
+	/**
+	 * Retrieves the character position at which the specified Clob
+	 * object searchstr appears in this Clob object.  The search
+	 * begins at position start.
+	 *
+	 * @param searchstr the Clob object for which to search
+	 * @param start the position at which to begin searching;
+	 *        the first position is 1
+	 * @return the position at which the Clob object appears or
+	 *         -1 if it is not present; the first position is 1
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public long position(Clob searchstr, long start) throws SQLException {
+		return position(searchstr.getSubString(1L, (int)(searchstr.length())), start);
+	}
+
+	/**
+	 * Retrieves the character position at which the specified
+	 * substring searchstr appears in the SQL CLOB value represented
+	 * by this Clob object.  The search begins at position start.
+	 *
+	 * @param searchstr the substring for which to search
+	 * @param start the position at which to begin searching;
+	 *        the first position is 1
+	 * @return the position at which the substring appears or
+	 *         -1 if it is not present; the first position is 1
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public long position(String searchstr, long start) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		return (long)(buf.indexOf(searchstr, (int)(start - 1)));
+	}
+
+	@Override
+	public OutputStream setAsciiStream(long pos) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		throw new SQLException("Operation setAsciiStream(long pos) currently not supported", "0A000");
+	}
+
+	@Override
+	public Writer setCharacterStream(long pos) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		throw new SQLException("Operation setCharacterStream(long pos) currently not supported", "0A000");
+	}
+
+	/**
+	 * Writes the given Java String to the CLOB  value that this
+	 * Clob object designates at the position pos.
+	 *
+	 * @param pos the position at which to start writing to the
+	 *        CLOB value that this Clob object represents
+	 * @param str the string to be written to the CLOB value that
+	 *        this Clob designates
+	 * @return the number of characters written
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public int setString(long pos, String str) throws SQLException {
+		return setString(pos, str, 1, str.length());
+	}
+
+	/**
+	 * Writes len characters of str, starting at character offset,
+	 * to the CLOB value that this Clob represents.
+	 *
+	 * @param pos the position at which to start writing to this
+	 *        CLOB object
+	 * @param str the string to be written to the CLOB value that
+	 *        this Clob object represents
+	 * @param offset the offset into str to start reading the
+	 *        characters to be written
+	 * @param len the number of characters to be written
+	 * @return the number of characters written
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public int setString(long pos, String str, int offset, int len)
+		throws SQLException
+	{
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+
+		int buflen = buf.length();
+		int retlen = Math.min(buflen, (int)(pos - 1 + len));
+		
+		if (retlen > 0) {
+			buf.replace((int)(pos - 1), (int)(pos + retlen), str.substring(offset - 1, (offset + len)));
+			return retlen;
+		} else {
+			return 0;
+		}
+	}
+
+	/**
+	 * Truncates the CLOB value that this Clob designates to
+	 * have a length of len characters.
+	 *
+	 * @param len the length, in bytes, to which the CLOB value
+	 *        should be truncated
+	 * @throws SQLException if there is an error accessing the
+	 *         CLOB value
+	 */
+	@Override
+	public void truncate(long len) throws SQLException {
+		if (buf == null)
+			throw new SQLException("This Clob has been freed", "M1M20");
+		// this command is a no-op
+	}
+
+	/**
+	 * Returns the String behind this Clob.  This is a MonetClob
+	 * extension that does not violate nor is described in the Clob
+	 * interface.
+	 *
+	 * @return the String this Clob wraps.
+	 */
+	@Override
+	public String toString() {
+		if (buf == null)
+			return "<a freed MonetClob instance>";
+		return buf.toString();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
@@ -0,0 +1,2764 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.SocketException;
+import java.net.SocketTimeoutException;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.sql.Struct;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.WeakHashMap;
+import java.util.concurrent.Executor;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import nl.cwi.monetdb.jdbc.types.INET;
+import nl.cwi.monetdb.jdbc.types.URL;
+import nl.cwi.monetdb.mcl.MCLException;
+import nl.cwi.monetdb.mcl.io.BufferedMCLReader;
+import nl.cwi.monetdb.mcl.io.BufferedMCLWriter;
+import nl.cwi.monetdb.mcl.net.MapiSocket;
+import nl.cwi.monetdb.mcl.parser.HeaderLineParser;
+import nl.cwi.monetdb.mcl.parser.MCLParseException;
+import nl.cwi.monetdb.mcl.parser.StartOfHeaderParser;
+
+/**
+ * A {@link Connection} suitable for the MonetDB database.
+ * 
+ * This connection represents a connection (session) to a MonetDB
+ * database. SQL statements are executed and results are returned within
+ * the context of a connection. This Connection object holds a physical
+ * connection to the MonetDB database.
+ * 
+ * A Connection object's database should able to provide information
+ * describing its tables, its supported SQL grammar, its stored
+ * procedures, the capabilities of this connection, and so on. This
+ * information is obtained with the getMetaData method.
+ * 
+ * Note: By default a Connection object is in auto-commit mode, which
+ * means that it automatically commits changes after executing each
+ * statement. If auto-commit mode has been disabled, the method commit
+ * must be called explicitly in order to commit changes; otherwise,
+ * database changes will not be saved.
+ * 
+ * The current state of this connection is that it nearly implements the
+ * whole Connection interface.
+ *
+ * @author Fabian Groffen
+ * @version 1.2
+ */
+public class MonetConnection extends MonetWrapper implements Connection {
+	/** The hostname to connect to */
+	private final String hostname;
+	/** The port to connect on the host to */
+	private final int port;
+	/** The database to use (currently not used) */
+	private final String database;
+	/** The username to use when authenticating */
+	private final String username;
+	/** The password to use when authenticating */
+	private final String password;
+	/** A connection to mserver5 using a TCP socket */
+	private final MapiSocket server;
+	/** The Reader from the server */
+	private final BufferedMCLReader in;
+	/** The Writer to the server */
+	private final BufferedMCLWriter out;
+
+	/** A StartOfHeaderParser  declared for reuse. */
+	private StartOfHeaderParser sohp = new StartOfHeaderParser();
+
+	/** Whether this Connection is closed (and cannot be used anymore) */
+	private boolean closed;
+
+	/** Whether this Connection is in autocommit mode */
+	private boolean autoCommit = true;
+
+	/** The stack of warnings for this Connection object */
+	private SQLWarning warnings = null;
+	/** The Connection specific mapping of user defined types to Java
+	 * types */
+	private Map<String,Class<?>> typeMap = new HashMap<String,Class<?>>() {/**
+		 * 
+		 */
+		private static final long serialVersionUID = 1L;
+		{
+			put("inet", INET.class);
+			put("url",  URL.class);
+		}
+	};
+
+	// See javadoc for documentation about WeakHashMap if you don't know what
+	// it does !!!NOW!!! (only when you deal with it of course)
+	/** A Map containing all (active) Statements created from this Connection */
+	private Map<Statement,?> statements = new WeakHashMap<Statement, Object>();
+
+	/** The number of results we receive from the server at once */
+	private int curReplySize = -1;	// the server by default uses -1 (all)
+
+	/** A template to apply to each query (like pre and post fixes) */
+	String[] queryTempl;
+	/** A template to apply to each command (like pre and post fixes) */
+	String[] commandTempl;
+
+	/** the SQL language */
+	final static int LANG_SQL = 0;
+	/** the MAL language (officially *NOT* supported) */
+	final static int LANG_MAL = 3;
+	/** an unknown language */
+	final static int LANG_UNKNOWN = -1;
+	/** The language which is used */
+	final int lang;
+
+	/** Whether or not BLOB is mapped to BINARY within the driver */
+	private final boolean blobIsBinary;
+
+	/**
+	 * Constructor of a Connection for MonetDB. At this moment the
+	 * current implementation limits itself to storing the given host,
+	 * database, username and password for later use by the
+	 * createStatement() call.  This constructor is only accessible to
+	 * classes from the jdbc package.
+	 *
+	 * @param props a Property hashtable holding the properties needed for
+	 *              connecting
+	 * @throws SQLException if a database error occurs
+	 * @throws IllegalArgumentException is one of the arguments is null or empty
+	 */
+	MonetConnection(Properties props)
+		throws SQLException, IllegalArgumentException
+	{
+		this.hostname = props.getProperty("host");
+		int port;
+		try {
+			port = Integer.parseInt(props.getProperty("port"));
+		} catch (NumberFormatException e) {
+			port = 0;
+		}
+		this.port = port;
+		this.database = props.getProperty("database");
+		this.username = props.getProperty("user");
+		this.password = props.getProperty("password");
+		String language = props.getProperty("language");
+		boolean debug = Boolean.valueOf(props.getProperty("debug")).booleanValue();
+		String hash = props.getProperty("hash");
+		blobIsBinary = Boolean.valueOf(props.getProperty("treat_blob_as_binary")).booleanValue();
+		int sockTimeout = 0;
+		try {
+			sockTimeout = Integer.parseInt(props.getProperty("so_timeout"));
+		} catch (NumberFormatException e) {
+			sockTimeout = 0;
+		}
+		// check input arguments
+		if (hostname == null || hostname.trim().equals(""))
+			throw new IllegalArgumentException("hostname should not be null or empty");
+		if (port == 0)
+			throw new IllegalArgumentException("port should not be 0");
+		if (username == null || username.trim().equals(""))
+			throw new IllegalArgumentException("user should not be null or empty");
+		if (password == null || password.trim().equals(""))
+			throw new IllegalArgumentException("password should not be null or empty");
+		if (language == null || language.trim().equals("")) {
+			language = "sql";
+			addWarning("No language given, defaulting to 'sql'", "M1M05");
+		}
+
+		// initialise query templates (filled later, but needed below)
+		queryTempl = new String[3]; // pre, post, sep
+		commandTempl = new String[3]; // pre, post, sep
+
+		server = new MapiSocket();
+
+		if (hash != null) server.setHash(hash);
+		if (database != null) server.setDatabase(database);
+		server.setLanguage(language);
+
+		// we're debugging here... uhm, should be off in real life
+		if (debug) {
+			try {
+				String fname = props.getProperty("logfile", "monet_" +
+					System.currentTimeMillis() + ".log");
+				File f = new File(fname);
+				int ext = fname.lastIndexOf(".");
+				if (ext < 0) ext = fname.length();
+				String pre = fname.substring(0, ext);
+				String suf = fname.substring(ext);
+
+				for (int i = 1; f.exists(); i++) {
+					f = new File(pre + "-" + i + suf);
+				}
+
+				server.debug(f.getAbsolutePath());
+			} catch (IOException ex) {
+				throw new SQLException("Opening logfile failed: " + ex.getMessage(), "08M01");
+			}
+		}
+
+		try {
+			List<String> warnings = 
+				server.connect(hostname, port, username, password);
+			for (String warning : warnings) {
+				addWarning(warning, "01M02");
+			}
+			
+			// apply NetworkTimeout value from legacy (pre 4.1) driver
+			// so_timeout calls
+			server.setSoTimeout(sockTimeout);
+
+			in = server.getReader();
+			out = server.getWriter();
+
+			String error = in.waitForPrompt();
+			if (error != null)
+				throw new SQLException(error.substring(6), "08001");
+		} catch (IOException e) {
+			throw new SQLException("Unable to connect (" + hostname + ":" + port + "): " + e.getMessage(), "08006");
+		} catch (MCLParseException e) {
+			throw new SQLException(e.getMessage(), "08001");
+		} catch (MCLException e) {
+			String[] connex = e.getMessage().split("\n");
+			SQLException sqle = new SQLException(connex[0], "08001", e);
+			for (int i = 1; i < connex.length; i++) {
+				sqle.setNextException(new SQLException(connex[1], "08001"));
+			}
+			throw sqle;
+		}
+
+		// we seem to have managed to log in, let's store the
+		// language used
+		if ("sql".equals(language)) {
+			lang = LANG_SQL;
+		} else if ("mal".equals(language)) {
+			lang = LANG_MAL;
+		} else {
+			lang = LANG_UNKNOWN;
+		}
+		
+		// fill the query templates
+		if (lang == LANG_SQL) {
+			queryTempl[0] = "s";		// pre
+			queryTempl[1] = "\n;";		// post
+			queryTempl[2] = "\n;\n";	// separator
+
+			commandTempl[0] = "X";		// pre
+			commandTempl[1] = null;		// post
+			commandTempl[2] = "\nX";	// separator
+		} else if (lang == LANG_MAL) {
+			queryTempl[0] = null;
+			queryTempl[1] = ";\n";
+			queryTempl[2] = ";\n";
+
+			commandTempl[0] = null;		// pre
+			commandTempl[1] = null;		// post
+			commandTempl[2] = null;		// separator
+		}
+
+		// the following initialisers are only valid when the language
+		// is SQL...
+		if (lang == LANG_SQL) {
+			// enable auto commit
+			setAutoCommit(true);
+			// set our time zone on the server
+			Calendar cal = Calendar.getInstance();
+			int offset = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
+			offset /= (60 * 1000); // milliseconds to minutes
+			String tz = offset < 0 ? "-" : "+";
+			tz += (Math.abs(offset) / 60 < 10 ? "0" : "") + (Math.abs(offset) / 60) + ":";
+			offset -= (offset / 60) * 60;
+			tz += (offset < 10 ? "0" : "") + offset;
+			sendIndependentCommand("SET TIME ZONE INTERVAL '" + tz + "' HOUR TO MINUTE");
+		}
+
+		// we're absolutely not closed, since we're brand new
+		closed = false;
+	}
+
+	//== methods of interface Connection
+
+	/**
+	 * Clears all warnings reported for this Connection object. After a
+	 * call to this method, the method getWarnings returns null until a
+	 * new warning is reported for this Connection object.
+	 */
+	@Override
+	public void clearWarnings() {
+		warnings = null;
+	}
+
+	/**
+	 * Releases this Connection object's database and JDBC resources
+	 * immediately instead of waiting for them to be automatically
+	 * released. All Statements created from this Connection will be
+	 * closed when this method is called.
+	 * 
+	 * Calling the method close on a Connection object that is already
+	 * closed is a no-op.
+	 */
+	@Override
+	public void close() {
+		synchronized (server) {
+			for (Statement st : statements.keySet()) {
+				try {
+					st.close();
+				} catch (SQLException e) {
+					// better luck next time!
+				}
+			}
+			// close the socket
+			server.close();
+			// close active SendThread if any
+			if (sendThread != null) {
+				sendThread.shutdown();
+				sendThread = null;
+			}
+			// report ourselves as closed
+			closed = true;
+		}
+	}
+
+	/**
+	 * Makes all changes made since the previous commit/rollback
+	 * permanent and releases any database locks currently held by this
+	 * Connection object.  This method should be used only when
+	 * auto-commit mode has been disabled.
+	 *
+	 * @throws SQLException if a database access error occurs or this
+	 *         Connection object is in auto-commit mode
+	 * @see #setAutoCommit(boolean)
+	 */
+	@Override
+	public void commit() throws SQLException {
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send commit to the server
+		try {
+			l.processQuery("COMMIT");
+		} finally {
+			l.close();
+		}
+	}
+
+	/**
+	 * Factory method for creating Array objects.
+	 * 
+	 * Note: When createArrayOf is used to create an array object that
+	 * maps to a primitive data type, then it is implementation-defined
+	 * whether the Array object is an array of that primitive data type
+	 * or an array of Object.
+	 * 
+	 * Note: The JDBC driver is responsible for mapping the elements
+	 * Object array to the default JDBC SQL type defined in
+	 * java.sql.Types for the given class of Object. The default mapping
+	 * is specified in Appendix B of the JDBC specification. If the
+	 * resulting JDBC type is not the appropriate type for the given
+	 * typeName then it is implementation defined whether an
+	 * SQLException is thrown or the driver supports the resulting
+	 * conversion. 
+	 *
+	 * @param typeName the SQL name of the type the elements of the
+	 *        array map to. The typeName is a database-specific name
+	 *        which may be the name of a built-in type, a user-defined
+	 *        type or a standard SQL type supported by this database.
+	 *        This is the value returned by Array.getBaseTypeName
+	 * @return an Array object whose elements map to the specified SQL
+	 *         type
+	 * @throws SQLException if a database error occurs, the JDBC type
+	 *         is not appropriate for the typeName and the conversion is
+	 *         not supported, the typeName is null or this method is
+	 *         called on a closed connection
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this data type
+	 */
+	@Override
+	public Array createArrayOf(String typeName, Object[] elements)
+		throws SQLException
+	{
+		throw new SQLFeatureNotSupportedException("createArrayOf(String, Object[]) not supported", "0A000");
+	}
+
+	/**
+	 * Creates a Statement object for sending SQL statements to the
+	 * database.  SQL statements without parameters are normally
+	 * executed using Statement objects. If the same SQL statement is
+	 * executed many times, it may be more efficient to use a
+	 * PreparedStatement object.
+	 * 
+	 * Result sets created using the returned Statement object will by
+	 * default be type TYPE_FORWARD_ONLY and have a concurrency level of
+	 * CONCUR_READ_ONLY.
+	 *
+	 * @return a new default Statement object
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Statement createStatement() throws SQLException {
+		return createStatement(
+					ResultSet.TYPE_FORWARD_ONLY,
+					ResultSet.CONCUR_READ_ONLY,
+					ResultSet.HOLD_CURSORS_OVER_COMMIT);
+	}
+
+	/**
+	 * Creates a Statement object that will generate ResultSet objects
+	 * with the given type and concurrency. This method is the same as
+	 * the createStatement method above, but it allows the default
+	 * result set type and concurrency to be overridden.
+	 *
+	 * @param resultSetType a result set type; one of
+	 *        ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
+	 *        or ResultSet.TYPE_SCROLL_SENSITIVE
+	 * @param resultSetConcurrency a concurrency type; one of
+	 *        ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
+	 * @return a new Statement object that will generate ResultSet objects with
+	 *         the given type and concurrency
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Statement createStatement(
+			int resultSetType,
+			int resultSetConcurrency)
+		throws SQLException
+	{
+		return createStatement(
+					resultSetType,
+					resultSetConcurrency,
+					ResultSet.HOLD_CURSORS_OVER_COMMIT);
+	}
+
+	/**
+	 * Creates a Statement object that will generate ResultSet objects
+	 * with the given type, concurrency, and holdability.  This method
+	 * is the same as the createStatement method above, but it allows
+	 * the default result set type, concurrency, and holdability to be
+	 * overridden.
+	 *
+	 * @param resultSetType one of the following ResultSet constants:
+	 * ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
+	 * or ResultSet.TYPE_SCROLL_SENSITIVE
+	 * @param resultSetConcurrency one of the following ResultSet
+	 * constants: ResultSet.CONCUR_READ_ONLY or
+	 * ResultSet.CONCUR_UPDATABLE
+	 * @param resultSetHoldability one of the following ResultSet
+	 * constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or
+	 * ResultSet.CLOSE_CURSORS_AT_COMMIT 
+	 *
+	 * @return a new Statement      object that will generate ResultSet
+	 * objects with the given type, concurrency, and holdability 
+	 * @throws SQLException if a database access error occurs or the
+	 * given parameters are not ResultSet constants indicating type,
+	 * concurrency, and holdability
+	 */
+	@Override
+	public Statement createStatement(
+			int resultSetType,
+			int resultSetConcurrency,
+			int resultSetHoldability)
+		throws SQLException
+	{
+		try {
+			Statement ret =
+				new MonetStatement(
+					this,
+					resultSetType,
+					resultSetConcurrency,
+					resultSetHoldability
+				);
+			// store it in the map for when we close...
+			statements.put(ret, null);
+			return ret;
+		} catch (IllegalArgumentException e) {
+			throw new SQLException(e.toString(), "M0M03");
+		}
+		// we don't have to catch SQLException because that is declared to
+		// be thrown
+	}
+
+	/**
+	 * Constructs an object that implements the Clob interface. The
+	 * object returned initially contains no data. The setAsciiStream,
+	 * setCharacterStream and setString methods of the Clob interface
+	 * may be used to add data to the Clob.
+	 *
+	 * @return a MonetClob instance
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support MonetClob objects that can be filled in
+	 */
+	@Override
+	public Clob createClob() throws SQLException {
+		throw new SQLFeatureNotSupportedException("createClob() not supported", "0A000");
+	}
+
+	/**
+	 * Constructs an object that implements the Blob interface. The
+	 * object returned initially contains no data. The setBinaryStream
+	 * and setBytes methods of the Blob interface may be used to add
+	 * data to the Blob.
+	 *
+	 * @return a MonetBlob instance
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support MonetBlob objects that can be filled in
+	 */
+	@Override
+	public Blob createBlob() throws SQLException {
+		throw new SQLFeatureNotSupportedException("createBlob() not supported", "0A000");
+	}
+
+	/**
+	 * Constructs an object that implements the NClob interface. The
+	 * object returned initially contains no data. The setAsciiStream,
+	 * setCharacterStream and setString methods of the NClob interface
+	 * may be used to add data to the NClob.
+	 *
+	 * @return an NClob instance
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support MonetClob objects that can be filled in
+	 */
+	@Override
+	public NClob createNClob() throws SQLException {
+		throw new SQLFeatureNotSupportedException("createNClob() not supported", "0A000");
+	}
+
+	/**
+	 * Factory method for creating Struct objects.
+	 *
+	 * @param typeName the SQL type name of the SQL structured type that
+	 *        this Struct object maps to. The typeName is the name of a
+	 *        user-defined type that has been defined for this database.
+	 *        It is the value returned by Struct.getSQLTypeName.
+	 * @param attributes the attributes that populate the returned
+	 *        object
+	 * @return a Struct object that maps to the given SQL type and is
+	 *         populated with the given attributes
+	 * @throws SQLException if a database error occurs, the typeName
+	 *         is null or this method is called on a closed connection
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this data type
+	 */
+	@Override
+	public Struct createStruct(String typeName, Object[] attributes)
+		throws SQLException
+	{
+		throw new SQLFeatureNotSupportedException("createStruct() not supported", "0A000");
+	}
+
+	/**
+	 * Constructs an object that implements the SQLXML interface. The
+	 * object returned initially contains no data. The
+	 * createXmlStreamWriter object and setString method of the SQLXML
+	 * interface may be used to add data to the SQLXML object.
+	 *
+	 * @return An object that implements the SQLXML interface
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this data type
+	 */
+	@Override
+	public SQLXML createSQLXML() throws SQLException {
+		throw new SQLFeatureNotSupportedException("createSQLXML() not supported", "0A000");
+	}
+
+	/**
+	 * Retrieves the current auto-commit mode for this Connection
+	 * object.
+	 *
+	 * @return the current state of this Connection object's auto-commit
+	 *         mode
+	 * @see #setAutoCommit(boolean)
+	 */
+	@Override
+	public boolean getAutoCommit() throws SQLException {
+		return autoCommit;
+	}
+
+	/**
+	 * Retrieves this Connection object's current catalog name.
+	 *
+	 * @return the current catalog name or null if there is none
+	 * @throws SQLException if a database access error occurs or the
+	 *         current language is not SQL
+	 */
+	@Override
+	public String getCatalog() throws SQLException {
+		// MonetDB does NOT support catalogs
+		return null;
+	}
+	
+	/**
+	 * Not implemented by MonetDB's JDBC driver.
+	 *
+	 * @param name The name of the client info property to retrieve
+	 * @return The value of the client info property specified
+	 */
+	@Override
+	public String getClientInfo(String name) {
+		// This method will also return null if the specified client
+		// info property name is not supported by the driver.
+		return null;
+	}
+
+	/**
+	 * Not implemented by MonetDB's JDBC driver.
+	 *
+	 * @return A Properties object that contains the name and current
+	 *         value of each of the client info properties supported by
+	 *         the driver.
+	 */
+	@Override
+	public Properties getClientInfo() {
+		return new Properties();
+	}
+
+	/**
+	 * Retrieves the current holdability of ResultSet objects created
+	 * using this Connection object.
+	 *
+	 * @return the holdability, one of
+	 *         ResultSet.HOLD_CURSORS_OVER_COMMIT or
+	 *         ResultSet.CLOSE_CURSORS_AT_COMMIT
+	 */
+	@Override
+	public int getHoldability() {
+		// TODO: perhaps it is better to have the server implement
+		//       CLOSE_CURSORS_AT_COMMIT
+		return ResultSet.HOLD_CURSORS_OVER_COMMIT;
+	}
+
+	/**
+	 * Retrieves a DatabaseMetaData object that contains metadata about
+	 * the database to which this Connection object represents a
+	 * connection. The metadata includes information about the
+	 * database's tables, its supported SQL grammar, its stored
+	 * procedures, the capabilities of this connection, and so on.
+	 *
+	 * @throws SQLException if the current language is not SQL
+	 * @return a DatabaseMetaData object for this Connection object
+	 */
+	@Override
+	public DatabaseMetaData getMetaData() throws SQLException {
+		if (lang != LANG_SQL)
+			throw new SQLException("This method is only supported in SQL mode", "M0M04");
+
+		return new MonetDatabaseMetaData(this);
+	}
+
+	/**
+	 * Retrieves this Connection object's current transaction isolation
+	 * level.
+	 *
+	 * @return the current transaction isolation level, which will be
+	 *         Connection.TRANSACTION_SERIALIZABLE
+	 */
+	@Override
+	public int getTransactionIsolation() {
+		return TRANSACTION_SERIALIZABLE;
+	}
+
+	/**
+	 * Retrieves the Map object associated with this Connection object.
+	 * Unless the application has added an entry, the type map returned
+	 * will be empty.
+	 *
+	 * @return the java.util.Map object associated with this Connection
+	 *         object
+	 */
+	@Override
+	public Map<String,Class<?>> getTypeMap() {
+		return typeMap;
+	}
+
+	/**
+	 * Retrieves the first warning reported by calls on this Connection
+	 * object.  If there is more than one warning, subsequent warnings
+	 * will be chained to the first one and can be retrieved by calling
+	 * the method SQLWarning.getNextWarning on the warning that was
+	 * retrieved previously.
+	 * 
+	 * This method may not be called on a closed connection; doing so
+	 * will cause an SQLException to be thrown.
+	 * 
+	 * Note: Subsequent warnings will be chained to this SQLWarning.
+	 *
+	 * @return the first SQLWarning object or null if there are none
+	 * @throws SQLException if a database access error occurs or this method is
+	 *         called on a closed connection
+	 */
+	@Override
+	public SQLWarning getWarnings() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Connection", "M1M20");
+
+		// if there are no warnings, this will be null, which fits with the
+		// specification.
+		return warnings;
+	}
+
+	/**
+	 * Retrieves whether this Connection object has been closed.  A
+	 * connection is closed if the method close has been called on it or
+	 * if certain fatal errors have occurred.  This method is guaranteed
+	 * to return true only when it is called after the method
+	 * Connection.close has been called.
+	 * 
+	 * This method generally cannot be called to determine whether a
+	 * connection to a database is valid or invalid.  A typical client
+	 * can determine that a connection is invalid by catching any
+	 * exceptions that might be thrown when an operation is attempted.
+	 *
+	 * @return true if this Connection object is closed; false if it is
+	 *         still open
+	 */
+	@Override
+	public boolean isClosed() {
+		return closed;
+	}
+
+	/**
+	 * Retrieves whether this Connection object is in read-only mode.
+	 * MonetDB currently doesn't support updateable result sets, but
+	 * updates are possible.  Hence the Connection object is never in
+	 * read-only mode.
+	 *
+	 * @return true if this Connection object is read-only; false otherwise
+	 */
+	@Override
+	public boolean isReadOnly() {
+		return false;
+	}
+
+	/**
+	 * Returns true if the connection has not been closed and is still
+	 * valid. The driver shall submit a query on the connection or use
+	 * some other mechanism that positively verifies the connection is
+	 * still valid when this method is called.
+	 * 
+	 * The query submitted by the driver to validate the connection
+	 * shall be executed in the context of the current transaction.
+	 *
+	 * @param timeout The time in seconds to wait for the database
+	 *        operation used to validate the connection to complete. If
+	 *        the timeout period expires before the operation completes,
+	 *        this method returns false. A value of 0 indicates a
+	 *        timeout is not applied to the database operation.
+	 * @return true if the connection is valid, false otherwise
+	 * @throws SQLException if the value supplied for timeout is less
+	 *         than 0
+	 */
+	@Override
+	public boolean isValid(int timeout) throws SQLException {
+		if (timeout < 0)
+			throw new SQLException("timeout is less than 0", "M1M05");
+		if (closed)
+			return false;
+		// ping db using select 1;
+		Statement stmt = null;
+		try {
+			stmt = createStatement();
+			// the timeout parameter is ignored here, since
+			// MonetStatement.setQueryTimeout(timeout) is not supported.
+			stmt.executeQuery("SELECT 1");
+			stmt.close();
+			return true;
+		} catch (Exception e) {
+			if (stmt != null) {
+				try {
+					stmt.close();
+				} catch (Exception e2) {}
+			}
+		}
+		return false;
+	}
+
+	@Override
+	public String nativeSQL(String sql) {return sql;}
+	@Override
+	public CallableStatement prepareCall(String sql) {return null;}
+	@Override
+	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) {return null;}
+	@Override
+	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) {return null;}
+
+	/**
+	 * Creates a PreparedStatement object for sending parameterized SQL
+	 * statements to the database.
+	 * 
+	 * A SQL statement with or without IN parameters can be pre-compiled
+	 * and stored in a PreparedStatement object. This object can then be
+	 * used to efficiently execute this statement multiple times.
+	 * 
+	 * Note: This method is optimized for handling parametric SQL
+	 * statements that benefit from precompilation. If the driver
+	 * supports precompilation, the method prepareStatement will send
+	 * the statement to the database for precompilation. Some drivers
+	 * may not support precompilation. In this case, the statement may
+	 * not be sent to the database until the PreparedStatement object is
+	 * executed. This has no direct effect on users; however, it does
+	 * affect which methods throw certain SQLException objects.
+	 * 
+	 * Result sets created using the returned PreparedStatement object
+	 * will by default be type TYPE_FORWARD_ONLY and have a concurrency
+	 * level of CONCUR_READ_ONLY.
+	 *
+	 * @param sql an SQL statement that may contain one or more '?' IN
+	 *        parameter placeholders
+	 * @return a new default PreparedStatement object containing the
+	 *         pre-compiled SQL statement
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public PreparedStatement prepareStatement(String sql) throws SQLException {
+		return prepareStatement(
+					sql,
+					ResultSet.TYPE_FORWARD_ONLY,
+					ResultSet.CONCUR_READ_ONLY,
+					ResultSet.HOLD_CURSORS_OVER_COMMIT
+		);
+	}
+
+	/**
+	 * Creates a PreparedStatement object that will generate ResultSet
+	 * objects with the given type and concurrency.  This method is the
+	 * same as the prepareStatement method above, but it allows the
+	 * default result set type and concurrency to be overridden.
+	 *
+	 * @param sql a String object that is the SQL statement to be sent to the
+	 *            database; may contain one or more ? IN parameters
+	 * @param resultSetType a result set type; one of
+	 *        ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
+	 *        or ResultSet.TYPE_SCROLL_SENSITIVE
+	 * @param resultSetConcurrency a concurrency type; one of
+	 *        ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
+	 * @return a new PreparedStatement object containing the pre-compiled SQL
+	 *         statement that will produce ResultSet objects with the given
+	 *         type and concurrency
+	 * @throws SQLException if a database access error occurs or the given
+	 *                      parameters are not ResultSet constants indicating
+	 *                      type and concurrency
+	 */
+	@Override
+	public PreparedStatement prepareStatement(
+			String sql,
+			int resultSetType,
+			int resultSetConcurrency)
+		throws SQLException
+	{
+		return prepareStatement(
+					sql,
+					resultSetType,
+					resultSetConcurrency,
+					ResultSet.HOLD_CURSORS_OVER_COMMIT
+		);
+	}
+
+	/**
+	 * Creates a PreparedStatement object that will generate ResultSet
+	 * objects with the given type, concurrency, and holdability.
+	 * 
+	 * This method is the same as the prepareStatement method above, but
+	 * it allows the default result set type, concurrency, and
+	 * holdability to be overridden.
+	 *
+	 * @param sql a String object that is the SQL statement to be sent
+	 * to the database; may contain one or more ? IN parameters
+	 * @param resultSetType one of the following ResultSet constants:
+	 * ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
+	 * or ResultSet.TYPE_SCROLL_SENSITIVE
+	 * @param resultSetConcurrency one of the following ResultSet
+	 * constants: ResultSet.CONCUR_READ_ONLY or
+	 * ResultSet.CONCUR_UPDATABLE
+	 * @param resultSetHoldability one of the following ResultSet
+	 * constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or
+	 * ResultSet.CLOSE_CURSORS_AT_COMMIT 
+	 * @return a new PreparedStatement object, containing the
+	 * pre-compiled SQL statement, that will generate ResultSet objects
+	 * with the given type, concurrency, and holdability 
+	 * @throws SQLException if a database access error occurs or the
+	 * given parameters are not ResultSet constants indicating type,
+	 * concurrency, and holdability
+	 */
+	@Override
+	public PreparedStatement prepareStatement(
+			String sql,
+			int resultSetType,
+			int resultSetConcurrency,
+			int resultSetHoldability)
+		throws SQLException
+	{
+		try {
+			PreparedStatement ret = new MonetPreparedStatement(
+				this,
+				resultSetType,
+				resultSetConcurrency,
+				resultSetHoldability,
+				sql
+			);
+			// store it in the map for when we close...
+			statements.put(ret, null);
+			return ret;
+		} catch (IllegalArgumentException e) {
+			throw new SQLException(e.toString(), "M0M03");
+		}
+		// we don't have to catch SQLException because that is declared to
+		// be thrown
+	}
+
+	/**
+	 * Creates a default PreparedStatement object that has the
+	 * capability to retrieve auto-generated keys.  The given constant
+	 * tells the driver whether it should make auto-generated keys
+	 * available for retrieval.  This parameter is ignored if the SQL
+	 * statement is not an INSERT statement.
+	 * 
+	 * Note: This method is optimized for handling parametric SQL
+	 * statements that benefit from precompilation.  If the driver
+	 * supports precompilation, the method prepareStatement will send
+	 * the statement to the database for precompilation. Some drivers
+	 * may not support precompilation.  In this case, the statement may
+	 * not be sent to the database until the PreparedStatement object is
+	 * executed.  This has no direct effect on users; however, it does
+	 * affect which methods throw certain SQLExceptions.
+	 * 
+	 * Result sets created using the returned PreparedStatement object
+	 * will by default be type TYPE_FORWARD_ONLY and have a concurrency
+	 * level of CONCUR_READ_ONLY.
+	 *
+	 * @param sql an SQL statement that may contain one or more '?' IN
+	 *        parameter placeholders
+	 * @param autoGeneratedKeys a flag indicating whether auto-generated
+	 *        keys should be returned; one of
+	 *        Statement.RETURN_GENERATED_KEYS or
+	 *        Statement.NO_GENERATED_KEYS
+	 * @return a new PreparedStatement object, containing the
+	 *         pre-compiled SQL statement, that will have the capability
+	 *         of returning auto-generated keys
+	 * @throws SQLException - if a database access error occurs or the
+	 *         given parameter is not a Statement  constant indicating
+	 *         whether auto-generated keys should be returned
+	 */
+	@Override
+	public PreparedStatement prepareStatement(
+			String sql,
+			int autoGeneratedKeys)
+		throws SQLException
+	{
+		if (autoGeneratedKeys != Statement.RETURN_GENERATED_KEYS &&
+				autoGeneratedKeys != Statement.NO_GENERATED_KEYS)
+			throw new SQLException("Invalid argument, expected RETURN_GENERATED_KEYS or NO_GENERATED_KEYS", "M1M05");
+		
+		/* MonetDB has no way to disable this, so just do the normal
+		 * thing ;) */
+		return prepareStatement(
+					sql,
+					ResultSet.TYPE_FORWARD_ONLY,
+					ResultSet.CONCUR_READ_ONLY
+		);
+	}
+
+	@Override
+	public PreparedStatement prepareStatement(String sql, int[] columnIndexes) {return null;}
+	@Override
+	public PreparedStatement prepareStatement(String sql, String[] columnNames) {return null;}
+
+	/**
+	 * Removes the given Savepoint object from the current transaction.
+	 * Any reference to the savepoint after it have been removed will
+	 * cause an SQLException to be thrown.
+	 *
+	 * @param savepoint the Savepoint object to be removed
+	 * @throws SQLException if a database access error occurs or the given
+	 *         Savepoint object is not a valid savepoint in the current
+	 *         transaction
+	 */
+	@Override
+	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+		if (!(savepoint instanceof MonetSavepoint)) throw
+			new SQLException("This driver can only handle savepoints it created itself", "M0M06");
+
+		MonetSavepoint sp = (MonetSavepoint)savepoint;
+
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send the appropriate query string to the database
+		try {
+			l.processQuery("RELEASE SAVEPOINT " + sp.getName());
+		} finally {
+			l.close();
+		}
+	}
+
+	/**
+	 * Undoes all changes made in the current transaction and releases
+	 * any database locks currently held by this Connection object. This
+	 * method should be used only when auto-commit mode has been
+	 * disabled.
+	 *
+	 * @throws SQLException if a database access error occurs or this
+	 *         Connection object is in auto-commit mode
+	 * @see #setAutoCommit(boolean)
+	 */
+	@Override
+	public void rollback() throws SQLException {
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send rollback to the server
+		try {
+			l.processQuery("ROLLBACK");
+		} finally {
+			l.close();
+		}
+	}
+
+	/**
+	 * Undoes all changes made after the given Savepoint object was set.
+	 * 
+	 * This method should be used only when auto-commit has been
+	 * disabled.
+	 *
+	 * @param savepoint the Savepoint object to roll back to
+	 * @throws SQLException if a database access error occurs, the
+	 *         Savepoint object is no longer valid, or this Connection
+	 *         object is currently in auto-commit mode
+	 */
+	@Override
+	public void rollback(Savepoint savepoint) throws SQLException {
+		if (!(savepoint instanceof MonetSavepoint)) throw
+			new SQLException("This driver can only handle savepoints it created itself", "M0M06");
+
+		MonetSavepoint sp = (MonetSavepoint)savepoint;
+
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send the appropriate query string to the database
+		try {
+			l.processQuery("ROLLBACK TO SAVEPOINT " + sp.getName());
+		} finally {
+			l.close();
+		}
+	}
+
+	/**
+	 * Sets this connection's auto-commit mode to the given state. If a
+	 * connection is in auto-commit mode, then all its SQL statements
+	 * will be executed and committed as individual transactions.
+	 * Otherwise, its SQL statements are grouped into transactions that
+	 * are terminated by a call to either the method commit or the
+	 * method rollback. By default, new connections are in auto-commit
+	 * mode.
+	 * 
+	 * The commit occurs when the statement completes or the next
+	 * execute occurs, whichever comes first. In the case of statements
+	 * returning a ResultSet object, the statement completes when the
+	 * last row of the ResultSet object has been retrieved or the
+	 * ResultSet object has been closed. In advanced cases, a single
+	 * statement may return multiple results as well as output parameter
+	 * values. In these cases, the commit occurs when all results and
+	 * output parameter values have been retrieved.
+	 * 
+	 * NOTE: If this method is called during a transaction, the
+	 * transaction is committed.
+	 *
+ 	 * @param autoCommit true to enable auto-commit mode; false to disable it
+	 * @throws SQLException if a database access error occurs
+	 * @see #getAutoCommit()
+	 */
+	@Override
+	public void setAutoCommit(boolean autoCommit) throws SQLException {
+		if (this.autoCommit != autoCommit) {
+			sendControlCommand("auto_commit " + (autoCommit ? "1" : "0"));
+			this.autoCommit = autoCommit;
+		}
+	}
+
+	/**
+	 * Sets the given catalog name in order to select a subspace of this
+	 * Connection object's database in which to work.  If the driver
+	 * does not support catalogs, it will silently ignore this request. 
+	 */
+	@Override
+	public void setCatalog(String catalog) throws SQLException {
+		// silently ignore this request as MonetDB does not support catalogs
+	}
+
+	/**
+	 * Not implemented by MonetDB's JDBC driver.
+	 *
+	 * @param name The name of the client info property to set
+	 * @param value The value to set the client info property to. If the
+	 *        value is null, the current value of the specified property
+	 *        is cleared.
+	 */
+	@Override
+	public void setClientInfo(String name, String value) {
+		addWarning("clientInfo: " + name + "is not a recognised property", "01M07");
+	}
+
+	/**
+	 * Not implemented by MonetDB's JDBC driver.
+	 *
+	 * @param props The list of client info properties to set
+	 */
+	@Override
+	public void setClientInfo(Properties props) {
+		for (Entry<Object, Object> entry : props.entrySet()) {
+			setClientInfo(entry.getKey().toString(),
+					entry.getValue().toString());
+		}
+	}
+
+	@Override
+	public void setHoldability(int holdability) {}
+
+	/**
+	 * Puts this connection in read-only mode as a hint to the driver to
+	 * enable database optimizations.  MonetDB doesn't support any mode
+	 * here, hence an SQLWarning is generated if attempted to set
+	 * to true here.
+	 *
+	 * @param readOnly true enables read-only mode; false disables it
+	 * @throws SQLException if a database access error occurs or this
+	 *         method is called during a transaction.
+	 */
+	@Override
+	public void setReadOnly(boolean readOnly) throws SQLException {
+		if (readOnly == true)
+			addWarning("cannot setReadOnly(true): read-only Connection mode not supported", "01M08");
+	}
+
+	/**
+	 * Creates an unnamed savepoint in the current transaction and
+	 * returns the new Savepoint object that represents it.
+	 *
+	 * @return the new Savepoint object
+	 * @throws SQLException if a database access error occurs or this Connection
+	 *         object is currently in auto-commit mode
+	 */
+	@Override
+	public Savepoint setSavepoint() throws SQLException {
+		// create a new Savepoint object
+		MonetSavepoint sp = new MonetSavepoint();
+
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send the appropriate query string to the database
+		try {
+			l.processQuery("SAVEPOINT " + sp.getName());
+		} finally {
+			l.close();
+		}
+
+		return sp;
+	}
+
+	/**
+	 * Creates a savepoint with the given name in the current
+	 * transaction and returns the new Savepoint object that represents
+	 * it.
+	 *
+	 * @param name a String containing the name of the savepoint
+	 * @return the new Savepoint object
+	 * @throws SQLException if a database access error occurs or this Connection
+	 *         object is currently in auto-commit mode
+	 */
+	@Override
+	public Savepoint setSavepoint(String name) throws SQLException {
+		// create a new Savepoint object
+		MonetSavepoint sp;
+		try {
+			sp = new MonetSavepoint(name);
+		} catch (IllegalArgumentException e) {
+			throw new SQLException(e.getMessage(), "M0M03");
+		}
+
+		// note: can't use sendIndependentCommand here because we need
+		// to process the auto_commit state the server gives
+
+		// create a container for the result
+		ResponseList l = new ResponseList(
+			0,
+			0,
+			ResultSet.FETCH_FORWARD,
+			ResultSet.CONCUR_READ_ONLY
+		);
+		// send the appropriate query string to the database
+		try {
+			l.processQuery("SAVEPOINT " + sp.getName());
+		} finally {
+			l.close();
+		}
+
+		return sp;
+	}
+
+	/**
+	 * Attempts to change the transaction isolation level for this
+	 * Connection object to the one given.  The constants defined in the
+	 * interface Connection are the possible transaction isolation
+	 * levels.
+	 *
+	 * @param level one of the following Connection constants:
+	 *        Connection.TRANSACTION_READ_UNCOMMITTED,
+	 *        Connection.TRANSACTION_READ_COMMITTED,
+	 *        Connection.TRANSACTION_REPEATABLE_READ, or
+	 *        Connection.TRANSACTION_SERIALIZABLE.
+	 */
+	@Override
+	public void setTransactionIsolation(int level) {
+		if (level != TRANSACTION_SERIALIZABLE) {
+			addWarning("MonetDB only supports fully serializable " +
+					"transactions, continuing with transaction level " +
+					"raised to TRANSACTION_SERIALIZABLE", "01M09");
+		}
+	}
+
+	/**
+	 * Installs the given TypeMap object as the type map for this
+	 * Connection object. The type map will be used for the custom
+	 * mapping of SQL structured types and distinct types.
+	 *
+	 * @param map the java.util.Map object to install as the replacement for
+	 *        this Connection  object's default type map
+	 */
+	@Override
+	public void setTypeMap(Map<String, Class<?>> map) {
+		typeMap = map;
+	}
+
+	/**
+	 * Returns a string identifying this Connection to the MonetDB
+	 * server.
+	 *
+	 * @return a String representing this Object
+	 */
+	@Override
+	public String toString() {
+		return "MonetDB Connection (" + getJDBCURL() + ") " + 
+				(closed ? "connected" : "disconnected");
+	}
+
+	//== 1.7 methods (JDBC 4.1)
+
+	/**
+	 * Sets the given schema name to access.
+	 *
+	 * @param schema the name of a schema in which to work
+	 * @throws SQLException if a database access error occurs or this
+	 *         method is called on a closed connection
+	 */
+	@Override
+	public void setSchema(String schema) throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Connection", "M1M20");
+		if (schema != null)
+			createStatement().execute("SET SCHEMA \"" + schema + "\"");
+	}
+
+	/**
+	 * Retrieves this Connection object's current schema name.
+	 *
+	 * @return the current schema name or null if there is none
+	 * @throws SQLException if a database access error occurs or this
+	 *         method is called on a closed connection
+	 */
+	@Override
+	public String getSchema() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Connection", "M1M20");
+
+		String cur_schema;
+		Statement st = createStatement();
+		ResultSet rs = null;
+		try {
+			rs = st.executeQuery("SELECT CURRENT_SCHEMA");
+			if (!rs.next())
+				throw new SQLException("Row expected", "02000");
+			cur_schema = rs.getString(1);
+		} finally {
+			if (rs != null)
+				rs.close();
+			st.close();
+		}
+		return cur_schema;
+	}
+
+	/**
+	 * Terminates an open connection. Calling abort results in:
+	 *  * The connection marked as closed
+	 *  * Closes any physical connection to the database
+	 *  * Releases resources used by the connection
+	 *  * Insures that any thread that is currently accessing the
+	 *    connection will either progress to completion or throw an
+	 *    SQLException. 
+	 * Calling abort marks the connection closed and releases any
+	 * resources. Calling abort on a closed connection is a no-op. 
+	 *
+	 * @param executor The Executor implementation which will be used by
+	 *        abort
+	 * @throws SQLException if a database access error occurs or the
+	 *         executor is null
+	 * @throws SecurityException if a security manager exists and
+	 *         its checkPermission method denies calling abort
+	 */
+	@Override
+	public void abort(Executor executor) throws SQLException {
+		if (closed)
+			return;
+		if (executor == null)
+			throw new SQLException("executor is null", "M1M05");
+		// this is really the simplest thing to do, it destroys
+		// everything (in particular the server connection)
+		close();
+	}
+
+	/**
+	 * Sets the maximum period a Connection or objects created from the
+	 * Connection will wait for the database to reply to any one
+	 * request. If any request remains unanswered, the waiting method
+	 * will return with a SQLException, and the Connection or objects
+	 * created from the Connection will be marked as closed. Any
+	 * subsequent use of the objects, with the exception of the close,
+	 * isClosed or Connection.isValid methods, will result in a
+	 * SQLException.
+	 *
+	 * @param executor The Executor implementation which will be used by
+	 *        setNetworkTimeout
+	 * @param millis The time in milliseconds to wait for the
+	 *        database operation to complete
+	 * @throws SQLException if a database access error occurs, this
+	 *         method is called on a closed connection, the executor is
+	 *         null, or the value specified for seconds is less than 0.
+	 */
+	@Override
+	public void setNetworkTimeout(Executor executor, int millis)
+		throws SQLException
+	{
+		if (closed)
+			throw new SQLException("Cannot call on closed Connection", "M1M20");
+		if (executor == null)
+			throw new SQLException("executor is null", "M1M05");
+		if (millis < 0)
+			throw new SQLException("milliseconds is less than zero", "M1M05");
+
+		try {
+			server.setSoTimeout(millis);
+		} catch (SocketException e) {
+			throw new SQLException(e.getMessage(), "08000");
+		}
+	}
+
+	/**
+	 * Retrieves the number of milliseconds the driver will wait for a
+	 * database request to complete. If the limit is exceeded, a
+	 * SQLException is thrown.
+	 *
+	 * @return the current timeout limit in milliseconds; zero means
+	 *         there is no limit
+	 * @throws SQLException if a database access error occurs or
+	 *         this method is called on a closed Connection
+	 */
+	@Override
+	public int getNetworkTimeout() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Connection", "M1M20");
+
+		try {
+			return server.getSoTimeout();
+		} catch (SocketException e) {
+			throw new SQLException(e.getMessage(), "08000");
+		}
+	}
+
+	//== end methods of interface Connection
+
+	public String getJDBCURL() {
+		String language = "";
+		if (lang == LANG_MAL)
+			language = "?language=mal";
+		return "jdbc:monetdb://" + hostname + ":" + port + "/" +
+			database + language;
+	}
+
+	/**
+	 * Returns whether the BLOB type should be mapped to BINARY type.
+	 */
+	boolean getBlobAsBinary() {
+		return blobIsBinary;
+	}
+
+	/**
+	 * Sends the given string to MonetDB as regular statement, making
+	 * sure there is a prompt after the command is sent.  All possible
+	 * returned information is discarded.  Encountered errors are
+	 * reported.
+	 *
+	 * @param command the exact string to send to MonetDB
+	 * @throws SQLException if an IO exception or a database error occurs
+	 */
+	void sendIndependentCommand(String command) throws SQLException {
+		synchronized (server) {
+			try {
+				out.writeLine(
+						(queryTempl[0] == null ? "" : queryTempl[0]) +
+						command +
+						(queryTempl[1] == null ? "" : queryTempl[1]));
+				String error = in.waitForPrompt();
+				if (error != null)
+					throw new SQLException(error.substring(6),
+							error.substring(0, 5));
+			} catch (SocketTimeoutException e) {
+				close(); // JDBC 4.1 semantics: abort()
+				throw new SQLException("connection timed out", "08M33");
+			} catch (IOException e) {
+				throw new SQLException(e.getMessage(), "08000");
+			}
+		}
+	}
+
+	/**
+	 * Sends the given string to MonetDB as control statement, making
+	 * sure there is a prompt after the command is sent.  All possible
+	 * returned information is discarded.  Encountered errors are
+	 * reported.
+	 *
+	 * @param command the exact string to send to MonetDB
+	 * @throws SQLException if an IO exception or a database error occurs
+	 */
+	void sendControlCommand(String command) throws SQLException {
+		// send X command
+		synchronized (server) {
+			try {
+				out.writeLine(
+						(commandTempl[0] == null ? "" : commandTempl[0]) +
+						command +
+						(commandTempl[1] == null ? "" : commandTempl[1]));
+				String error = in.waitForPrompt();
+				if (error != null)
+					throw new SQLException(error.substring(6),
+							error.substring(0, 5));
+			} catch (SocketTimeoutException e) {
+				close(); // JDBC 4.1 semantics, abort()
+				throw new SQLException("connection timed out", "08M33");
+			} catch (IOException e) {
+				throw new SQLException(e.getMessage(), "08000");
+			}
+		}
+	}
+
+	/**
+	 * Adds a warning to the pile of warnings this Connection object
+	 * has.  If there were no warnings (or clearWarnings was called)
+	 * this warning will be the first, otherwise this warning will get
+	 * appended to the current warning.
+	 *
+	 * @param reason the warning message
+	 */
+	void addWarning(String reason, String sqlstate) {
+		if (warnings == null) {
+			warnings = new SQLWarning(reason, sqlstate);
+		} else {
+			warnings.setNextWarning(new SQLWarning(reason, sqlstate));
+		}
+	}
+
+	/** the default number of rows that are (attempted to) read at once */
+	private final static int DEF_FETCHSIZE = 250;
+	/** The sequence counter */
+	private static int seqCounter = 0;
+
+	/** An optional thread that is used for sending large queries */
+	private SendThread sendThread = null;
+
+	/**
+	 * A Response is a message sent by the server to indicate some
+	 * action has taken place, and possible results of that action.
+	 */
+	// {{{ interface Response
+	interface Response {
+		/**
+		 * Adds a line to the underlying Response implementation.
+		 * 
+		 * @param line the header line as String
+		 * @param linetype the line type according to the MAPI protocol
+		 * @return a non-null String if the line is invalid,
+		 *         or additional lines are not allowed.
+		 */
+		public abstract String addLine(String line, int linetype);
+
+		/**
+		 * Returns whether this Reponse expects more lines to be added
+		 * to it.
+		 *
+		 * @return true if a next line should be added, false otherwise
+		 */
+		public abstract boolean wantsMore();
+
+		/**
+		 * Indicates that no more header lines will be added to this
+		 * Response implementation.
+		 * 
+		 * @throws SQLException if the contents of the Response is not
+		 *         consistent or sufficient.
+		 */
+		public abstract void complete() throws SQLException;
+
+		/**
+		 * Instructs the Response implementation to close and do the
+		 * necessary clean up procedures.
+		 *
+		 * @throws SQLException
+		 */
+		public abstract void close();
+	}
+	// }}}
+
+	/**
+	 * The ResultSetResponse represents a tabular result sent by the
+	 * server.  This is typically an SQL table.  The MAPI headers of the
+	 * Response look like:
+	 * <pre>
+	 * &amp;1 1 28 2 10
+	 * # name,     value # name
+	 * # varchar,  varchar # type
+	 * </pre>
+	 * there the first line consists out of<br />
+	 * <tt>&amp;"qt" "id" "tc" "cc" "rc"</tt>.
+	 */
+	// {{{ ResultSetResponse class implementation
+	class ResultSetResponse implements Response {
+		/** The number of columns in this result */
+		public final int columncount;
+		/** The total number of rows this result set has */
+		public final int tuplecount;
+		/** The numbers of rows to retrieve per DataBlockResponse */
+		private int cacheSize;
+		/** The table ID of this result */
+		public final int id;
+		/** The names of the columns in this result */
+		private String[] name;
+		/** The types of the columns in this result */
+		private String[] type;
+		/** The max string length for each column in this result */
+		private int[] columnLengths;
+		/** The table for each column in this result */
+		private String[] tableNames;
+		/** The query sequence number */
+		private final int seqnr;
+		/** A List of result blocks (chunks of size fetchSize/cacheSize) */
+		private DataBlockResponse[] resultBlocks;
+
+		/** A bitmap telling whether the headers are set or not */
+		private boolean[] isSet;
+		/** Whether this Response is closed */
+		private boolean closed;
+
+		/** The Connection that we should use when requesting a new block */
+		private MonetConnection.ResponseList parent;
+		/** Whether the fetchSize was explitly set by the user */
+		private boolean cacheSizeSetExplicitly = false;
+		/** Whether we should send an Xclose command to the server
+		 *  if we close this Response */
+		private boolean destroyOnClose;
+		/** the offset to be used on Xexport queries */
+		private int blockOffset = 0;
+
+		/** A parser for header lines */
+		HeaderLineParser hlp;
+
+		private final static int NAMES	= 0;
+		private final static int TYPES	= 1;
+		private final static int TABLES	= 2;
+		private final static int LENS	= 3;
+
+
+		/**
+		 * Sole constructor, which requires a MonetConnection parent to
+		 * be given.
+		 *
+		 * @param id the ID of the result set
+		 * @param tuplecount the total number of tuples in the result set
+		 * @param columncount the number of columns in the result set
+		 * @param rowcount the number of rows in the current block
+		 * @param parent the parent that created this Response and will
+		 *               supply new result blocks when necessary
+		 * @param seq the query sequence number
+		 */
+		ResultSetResponse(
+				int id,
+				int tuplecount,
+				int columncount,
+				int rowcount,
+				MonetConnection.ResponseList parent,
+				int seq)
+			throws SQLException
+		{
+			isSet = new boolean[7];
+			this.parent = parent;
+			if (parent.cachesize == 0) {
+				/* Below we have to calculate how many "chunks" we need
+				 * to allocate to store the entire result.  However, if
+				 * the user didn't set a cache size, as in this case, we
+				 * need to stick to our defaults. */
+				cacheSize = MonetConnection.DEF_FETCHSIZE;
+				cacheSizeSetExplicitly = false;
+			} else {
+				cacheSize = parent.cachesize;
+				cacheSizeSetExplicitly = true;
+			}
+			/* So far, so good.  Now the problem with EXPLAIN, DOT, etc
+			 * queries is, that they don't support any block fetching,
+			 * so we need to always fetch everything at once.  For that
+			 * reason, the cache size is here set to the rowcount if
+			 * it's larger, such that we do a full fetch at once.
+			 * (Because we always set a reply_size, we can only get a
+			 * larger rowcount from the server if it doesn't paginate,
+			 * because it's a pseudo SQL result.) */
+			if (rowcount > cacheSize)
+				cacheSize = rowcount;
+			seqnr = seq;
+			closed = false;
+			destroyOnClose = id > 0 && tuplecount > rowcount;
+
+			this.id = id;
+			this.tuplecount = tuplecount;
+			this.columncount = columncount;
+			this.resultBlocks =
+				new DataBlockResponse[(tuplecount / cacheSize) + 1];
+
+			hlp = new HeaderLineParser(columncount);
+
+			resultBlocks[0] = new DataBlockResponse(
+				rowcount,
+				parent.rstype == ResultSet.TYPE_FORWARD_ONLY
+			);
+		}
+
+		/**
+		 * Parses the given string and changes the value of the matching
+		 * header appropriately, or passes it on to the underlying
+		 * DataResponse.
+		 *
+		 * @param tmpLine the string that contains the header
+		 * @return a non-null String if the header cannot be parsed or
+		 *         is unknown
+		 */
+		// {{{ addLine
+		@Override
+		public String addLine(String tmpLine, int linetype) {
+			if (isSet[LENS] && isSet[TYPES] && isSet[TABLES] && isSet[NAMES]) {
+				return resultBlocks[0].addLine(tmpLine, linetype);
+			}
+
+			if (linetype != BufferedMCLReader.HEADER)
+				return "header expected, got: " + tmpLine;
+
+			// depending on the name of the header, we continue
+			try {
+				switch (hlp.parse(tmpLine)) {
+					case HeaderLineParser.NAME:
+						name = hlp.values.clone();
+						isSet[NAMES] = true;
+					break;
+					case HeaderLineParser.LENGTH:
+						columnLengths = hlp.intValues.clone();
+						isSet[LENS] = true;
+					break;
+					case HeaderLineParser.TYPE:
+						type = hlp.values.clone();
+						isSet[TYPES] = true;
+					break;
+					case HeaderLineParser.TABLE:
+						tableNames = hlp.values.clone();
+						isSet[TABLES] = true;
+					break;
+				}
+			} catch (MCLParseException e) {
+				return e.getMessage();
+			}
+
+			// all is well
+			return null;
+		}
+		// }}}
+
+		/**
+		 * Returns whether this ResultSetResponse needs more lines.
+		 * This method returns true if not all headers are set, or the
+		 * first DataBlockResponse reports to want more.
+		 */
+		@Override
+		public boolean wantsMore() {
+			if (isSet[LENS] && isSet[TYPES] && isSet[TABLES] && isSet[NAMES]) {
+				return resultBlocks[0].wantsMore();
+			} else {
+				return true;
+			}
+		}
+
+		/**
+		 * Returns an array of Strings containing the values between
+		 * ',\t' separators.
+		 *
+		 * @param chrLine a character array holding the input data
+		 * @param start where the relevant data starts
+		 * @param stop where the relevant data stops
+		 * @return an array of Strings
+		 */
+		final private String[] getValues(char[] chrLine, int start, int stop) {
+			int elem = 0;
+			String[] values = new String[columncount];
+			
+			for (int i = start; i < stop; i++) {
+				if (chrLine[i] == '\t' && chrLine[i - 1] == ',') {
+					values[elem++] =
+						new String(chrLine, start, i - 1 - start);
+					start = i + 1;
+				}
+			}
+			// at the left over part
+			values[elem++] = new String(chrLine, start, stop - start);
+
+			return values;
+		}
+
+		/**
+		 * Adds the given DataBlockResponse to this ResultSetResponse at
+		 * the given block position.
+		 *
+		 * @param offset the offset number of rows for this block
+		 * @param rr the DataBlockResponse to add
+		 */
+		void addDataBlockResponse(int offset, DataBlockResponse rr) {
+			int block = (offset - blockOffset) / cacheSize;
+			resultBlocks[block] = rr;
+		}
+
+		/**
+		 * Marks this Response as being completed.  A complete Response
+		 * needs to be consistent with regard to its internal data.
+		 *
+		 * @throws SQLException if the data currently in this Response is not
+		 *                      sufficient to be consistant
+		 */
+		@Override
+		public void complete() throws SQLException {
+			String error = "";
+			if (!isSet[NAMES]) error += "name header missing\n";
+			if (!isSet[TYPES]) error += "type header missing\n";
+			if (!isSet[TABLES]) error += "table name header missing\n";
+			if (!isSet[LENS]) error += "column width header missing\n";
+			if (error != "") throw new SQLException(error, "M0M10");
+		}
+
+		/**
+		 * Returns the names of the columns
+		 *
+		 * @return the names of the columns
+		 */
+		String[] getNames() {
+			return name;
+		}
+
+		/**
+		 * Returns the types of the columns
+		 *
+		 * @return the types of the columns
+		 */
+		String[] getTypes() {
+			return type;
+		}
+
+		/**
+		 * Returns the tables of the columns
+		 *
+		 * @return the tables of the columns
+		 */
+		String[] getTableNames() {
+			return tableNames;
+		}
+
+		/**
+		 * Returns the lengths of the columns
+		 *
+		 * @return the lengths of the columns
+		 */
+		int[] getColumnLengths() {
+			return columnLengths;
+		}
+
+		/**
+		 * Returns the cache size used within this Response
+		 *
+		 * @return the cache size
+		 */
+		int getCacheSize() {
+			return cacheSize;
+		}
+
+		/**
+		 * Returns the current block offset
+		 *
+		 * @return the current block offset
+		 */
+		int getBlockOffset() {
+			return blockOffset;
+		}
+
+		/**
+		 * Returns the ResultSet type, FORWARD_ONLY or not.
+		 *
+		 * @return the ResultSet type
+		 */
+		int getRSType() {
+			return parent.rstype;
+		}
+
+		/**
+		 * Returns the concurrency of the ResultSet.
+		 *
+		 * @return the ResultSet concurrency
+		 */
+		int getRSConcur() {
+			return parent.rsconcur;
+		}
+
+		/**
+		 * Returns a line from the cache. If the line is already present in the
+		 * cache, it is returned, if not apropriate actions are taken to make
+		 * sure the right block is being fetched and as soon as the requested
+		 * line is fetched it is returned.
+		 *
+		 * @param row the row in the result set to return
+		 * @return the exact row read as requested or null if the requested row
+		 *         is out of the scope of the result set
+		 * @throws SQLException if an database error occurs
+		 */
+		String getLine(int row) throws SQLException {
+			if (row >= tuplecount || row < 0)
+				return null;
+
+			int block = (row - blockOffset) / cacheSize;
+			int blockLine = (row - blockOffset) % cacheSize;
+
+			// do we have the right block loaded? (optimistic try)
+			DataBlockResponse rawr;
+			// load block if appropriate
+			if ((rawr = resultBlocks[block]) == null) {
+				/// TODO: ponder about a maximum number of blocks to keep
+				///       in memory when dealing with random access to
+				///       reduce memory blow-up
+
+				// if we're running forward only, we can discard the old
+				// block loaded
+				if (parent.rstype == ResultSet.TYPE_FORWARD_ONLY) {
+					for (int i = 0; i < block; i++)
+						resultBlocks[i] = null;
+
+					if (MonetConnection.seqCounter - 1 == seqnr &&
+							!cacheSizeSetExplicitly &&
+							tuplecount - row > cacheSize &&
+							cacheSize < MonetConnection.DEF_FETCHSIZE * 10)
+					{
+						// there has no query been issued after this
+						// one, so we can consider this an uninterrupted
+						// continuation request.  Let's once increase
+						// the cacheSize as it was not explicitly set,
+						// since the chances are high that we won't
+						// bother anyone else by doing so, and just
+						// gaining some performance.
+
+						// store the previous position in the
+						// blockOffset variable
+						blockOffset += cacheSize;
+
+						// increase the cache size (a lot)
+						cacheSize *= 10;
+
+						// by changing the cacheSize, we also
+						// change the block measures.  Luckily
+						// we don't care about previous blocks
+						// because we have a forward running
+						// pointer only.  However, we do have
+						// to recalculate the block number, to
+						// ensure the next call to find this
+						// new block.
+						block = (row - blockOffset) / cacheSize;
+						blockLine = (row - blockOffset) % cacheSize;
+					}
+				}
+
+				// ok, need to fetch cache block first
+				parent.executeQuery(
+						commandTempl, 
+						"export " + id + " " + ((block * cacheSize) + blockOffset) + " " + cacheSize 
+				);
+				rawr = resultBlocks[block];
+				if (rawr == null) throw
+					new AssertionError("block " + block + " should have been fetched by now :(");
+			}
+
+			return rawr.getRow(blockLine);
+		}
+
+		/**
+		 * Closes this Response by sending an Xclose to the server indicating
+		 * that the result can be closed at the server side as well.
+		 */
+		@Override
+		public void close() {
+			if (closed) return;
+			// send command to server indicating we're done with this
+			// result only if we had an ID in the header and this result
+			// was larger than the reply size
+			try {
+				if (destroyOnClose) sendControlCommand("close " + id);
+			} catch (SQLException e) {
+				// probably a connection error...
+			}
+
+			// close the data block associated with us
+			for (int i = 1; i < resultBlocks.length; i++) {
+				DataBlockResponse r = resultBlocks[i];
+				if (r != null) r.close();
+			}
+
+			closed = true;
+		}
+
+		/**
+		 * Returns whether this Response is closed
+		 *
+		 * @return whether this Response is closed
+		 */
+		boolean isClosed() {
+			return closed;
+		}
+	}
+	// }}}
+	
+	/**
+	 * The DataBlockResponse is tabular data belonging to a
+	 * ResultSetResponse.  Tabular data from the server typically looks
+	 * like:
+	 * <pre>
+	 * [ "value",	56	]
+	 * </pre>
+	 * where each column is separated by ",\t" and each tuple surrounded
+	 * by brackets ("[" and "]").  A DataBlockResponse object holds the
+	 * raw data as read from the server, in a parsed manner, ready for
+	 * easy retrieval.
+	 * 
+	 * This object is not intended to be queried by multiple threads
+	 * synchronously. It is designed to work for one thread retrieving
+	 * rows from it.  When multiple threads will retrieve rows from this
+	 * object, it is possible for threads to get the same data.
+	 */
+	// {{{ DataBlockResponse class implementation
+	static class DataBlockResponse implements Response {
+		/** The String array to keep the data in */
+		private final String[] data;
+
+		/** The counter which keeps the current position in the data array */
+		private int pos;
+		/** Whether we can discard lines as soon as we have read them */
+		private boolean forwardOnly;
+
+		/**
+		 * Constructs a DataBlockResponse object
+		 * @param size the size of the data array to create
+		 * @param forward whether this is a forward only result
+		 */
+		DataBlockResponse(int size, boolean forward) {
+			pos = -1;
+			data = new String[size];
+			forwardOnly = forward;
+		}
+
+		/**
+		 * addLine adds a String of data to this object's data array.
+		 * Note that an IndexOutOfBoundsException can be thrown when an
+		 * attempt is made to add more than the original construction size
+		 * specified.
+		 * 
+		 * @param line the header line as String
+		 * @param linetype the line type according to the MAPI protocol
+		 * @return a non-null String if the line is invalid,
+		 *         or additional lines are not allowed.
+		 */
+		@Override
+		public String addLine(String line, int linetype) {
+			if (linetype != BufferedMCLReader.RESULT)
+				return "protocol violation: unexpected line in data block: " + line;
+			// add to the backing array
+			data[++pos] = line;
+
+			// all is well
+			return null;
+		}
+
+		/**
+		 * Returns whether this Reponse expects more lines to be added
+		 * to it.
+		 *
+		 * @return true if a next line should be added, false otherwise
+		 */
+		@Override
+		public boolean wantsMore() {
+			// remember: pos is the value already stored
+			return pos + 1 < data.length;
+		}
+
+		/**
+		 * Indicates that no more header lines will be added to this
+		 * Response implementation.  In most cases this is a redundant
+		 * operation because the data array is full.  However... it can
+		 * happen that this is NOT the case!
+		 *
+		 * @throws SQLException if not all rows are filled
+		 */
+		@Override
+		public void complete() throws SQLException {
+			if ((pos + 1) != data.length) throw
+				new SQLException("Inconsistent state detected!  Current block capacity: " + data.length + ", block usage: " + (pos + 1) + ".  Did MonetDB send what it promised to?", "M0M10");
+		}
+
+		/**
+		 * Instructs the Response implementation to close and do the
+		 * necessary clean up procedures.
+		 *
+		 * @throws SQLException
+		 */
+		@Override
+		public void close() {
+			// feed all rows to the garbage collector
+			for (int i = 0; i < data.length; i++) data[i] = null;
+		}
+
+		/**
+		 * Retrieves the required row.  Warning: if the requested rows
+		 * is out of bounds, an IndexOutOfBoundsException will be
+		 * thrown.
+		 *
+		 * @param line the row to retrieve
+		 * @return the requested row as String
+		 */
+		String getRow(int line) {
+			if (forwardOnly) {
+				String ret = data[line];
+				data[line] = null;
+				return ret;
+			} else {
+				return data[line];
+			}
+		}
+	}
+	// }}}
+
+	/**
+	 * The UpdateResponse represents an update statement response.  It
+	 * is issued on an UPDATE, INSERT or DELETE SQL statement.  This
+	 * response keeps a count field that represents the affected rows
+	 * and a field that contains the last inserted auto-generated ID, or
+	 * -1 if not applicable.<br />
+	 * <tt>&amp;2 0 -1</tt>
+	 */
+	// {{{ UpdateResponse class implementation
+	static class UpdateResponse implements Response {
+		public final int count;
+		public final String lastid;
+		
+		public UpdateResponse(int cnt, String id) {
+			// fill the blank finals
+			this.count = cnt;
+			this.lastid = id;
+		}
+
+		@Override
+		public String addLine(String line, int linetype) {
+			return "Header lines are not supported for an UpdateResponse";
+		}
+
+		@Override
+		public boolean wantsMore() {
+			return false;
+		}
+
+		@Override
+		public void complete() {
+			// empty, because there is nothing to check
+		}
+
+		@Override
+		public void close() {
+			// nothing to do here...
+		}
+	}
+	// }}}
+
+	/**
+	 * The SchemaResponse represents an schema modification response.
+	 * It is issued on statements like CREATE, DROP or ALTER TABLE.
+	 * This response keeps a field that represents the success state, as
+	 * defined by JDBC, which is currently in MonetDB's case alwats
+	 * SUCCESS_NO_INFO.  Note that this state is not sent by the
+	 * server.<br />
+	 * <tt>&amp;3</tt>
+	 */
+	// {{{ SchemaResponse class implementation
+	class SchemaResponse implements Response {
+		public final int state = Statement.SUCCESS_NO_INFO;
+		
+		@Override
+		public String addLine(String line, int linetype) {
+			return "Header lines are not supported for a SchemaResponse";
+		}
+
+		@Override
+		public boolean wantsMore() {
+			return false;
+		}
+
+		@Override
+		public void complete() {
+			// empty, because there is nothing to check
+		}
+
+		@Override
+		public void close() {
+			// nothing to do here...
+		}
+	}
+	// }}}
+
+	/**
+	 * The AutoCommitResponse represents a transaction message.  It
+	 * stores (a change in) the server side auto commit mode.<br />
+	 * <tt>&amp;4 (t|f)</tt>
+	 */
+	// {{{ AutoCommitResponse class implementation
+	class AutoCommitResponse extends SchemaResponse {
+		public final boolean autocommit;
+		
+		public AutoCommitResponse(boolean ac) {
+			// fill the blank final
+			this.autocommit = ac;
+		}
+	}
+	// }}}
+
+	/**
+	 * A list of Response objects.  Responses are added to this list.
+	 * Methods of this class are not synchronized.  This is left as
+	 * responsibility to the caller to prevent concurrent access.
+	 */
+	// {{{ ResponseList class implementation
+	class ResponseList {
+		/** The cache size (number of rows in a DataBlockResponse object) */
+		final int cachesize;
+		/** The maximum number of results for this query */
+		final int maxrows;
+		/** The ResultSet type to produce */
+		final int rstype;
+		/** The ResultSet concurrency to produce */
+		final int rsconcur;
+		/** The sequence number of this ResponseList */
+		final int seqnr;
+		/** A list of the Responses associated with the query,
+		 *  in the right order */
+		private List<Response> responses;
+		/** A map of ResultSetResponses, used for additional
+		 *  DataBlockResponse mapping */
+		private Map<Integer, ResultSetResponse> rsresponses;
+
+		/** The current header returned by getNextResponse() */
+		private int curResponse;
+
+		/**
+		 * Main constructor.  The query argument can either be a String
+		 * or List.  An SQLException is thrown if another object
+		 * instance is supplied.
+		 *
+		 * @param cachesize overall cachesize to use
+		 * @param maxrows maximum number of rows to allow in the set
+		 * @param rstype the type of result sets to produce
+		 * @param rsconcur the concurrency of result sets to produce
+		 */
+		ResponseList(
+				int cachesize,
+				int maxrows,
+				int rstype,
+				int rsconcur
+		) throws SQLException {
+			this.cachesize = cachesize;
+			this.maxrows = maxrows;
+			this.rstype = rstype;
+			this.rsconcur = rsconcur;
+			responses = new ArrayList<Response>();
+			curResponse = -1;
+			seqnr = MonetConnection.seqCounter++;
+		}
+
+		/**
+		 * Retrieves the next available response, or null if there are
+		 * no more responses.
+		 *
+		 * @return the next Response available or null
+		 */
+		Response getNextResponse() throws SQLException {
+			if (rstype == ResultSet.TYPE_FORWARD_ONLY) {
+				// free resources if we're running forward only
+				if (curResponse >= 0 && curResponse < responses.size()) {
+					Response tmp = responses.get(curResponse);
+					if (tmp != null) tmp.close();
+					responses.set(curResponse, null);
+				}
+			}
+			curResponse++;
+			if (curResponse >= responses.size()) {
+				// ResponseList is obviously completed so, there are no
+				// more responses
+				return null;
+			} else {
+				// return this response
+				return responses.get(curResponse);
+			}
+		}
+
+		/**
+		 * Closes the Reponse at index i, if not null.
+		 *
+		 * @param i the index position of the header to close
+		 */
+		void closeResponse(int i) {
+			if (i < 0 || i >= responses.size()) return;
+			Response tmp = responses.set(i, null);
+			if (tmp != null)
+				tmp.close();
+		}
+
+		/**
+		 * Closes the current response.
+		 */
+		void closeCurrentResponse() {
+			closeResponse(curResponse);
+		}
+
+		/**
+		 * Closes the current and previous responses.
+		 */
+		void closeCurOldResponses() {
+			for (int i = curResponse; i >= 0; i--) {
+				closeResponse(i);
+			}
+		}
+
+		/**
+		 * Closes this ResponseList by closing all the Responses in this
+		 * ResponseList.
+		 */
+		void close() {
+			for (int i = 0; i < responses.size(); i++) {
+				closeResponse(i);
+			}
+		}
+
+		/**
+		 * Returns whether this ResponseList has still unclosed
+		 * Responses.
+		 */
+		boolean hasUnclosedResponses() {
+			for (Response r : responses) {
+				if (r != null)
+					return true;
+			}
+			return false;
+		}
+
+		/**
+		 * Executes the query contained in this ResponseList, and
+		 * stores the Responses resulting from this query in this
+		 * ResponseList.
+		 *
+		 * @throws SQLException if a database error occurs
+		 */
+		void processQuery(String query) throws SQLException {
+			executeQuery(queryTempl, query);
+		}
+
+		/**
+		 * Internal executor of queries.
+		 *
+		 * @param templ the template to fill in
+		 * @param the query to execute
+		 * @throws SQLException if a database error occurs
+		 */
+		@SuppressWarnings("fallthrough")
+		void executeQuery(String[] templ, String query)
+			throws SQLException
+		{
+			boolean sendThreadInUse = false;
+			String error = null;
+
+			try {
+				synchronized (server) {
+					// make sure we're ready to send query; read data till we
+					// have the prompt it is possible (and most likely) that we
+					// already have the prompt and do not have to skip any
+					// lines.  Ignore errors from previous result sets.
+					in.waitForPrompt();
+
+					// {{{ set reply size
+					/**
+					 * Change the reply size of the server.  If the given
+					 * value is the same as the current value known to use,
+					 * then ignore this call.  If it is set to 0 we get a
+					 * prompt after the server sent it's header.
+					 */
+					int size = cachesize == 0 ? DEF_FETCHSIZE : cachesize;
+					size = maxrows != 0 ? Math.min(maxrows, size) : size;
+					// don't do work if it's not needed
+					if (lang == LANG_SQL && size != curReplySize && templ != commandTempl) {
+						sendControlCommand("reply_size " + size);
+
+						// store the reply size after a successful change
+						curReplySize = size;
+					}
+					// }}} set reply size
+
+					// If the query is larger than the TCP buffer size, use a
+					// special send thread to avoid deadlock with the server due
+					// to blocking behaviour when the buffer is full.  Because
+					// the server will be writing back results to us, it will
+					// eventually block as well when its TCP buffer gets full,
+					// as we are blocking an not consuming from it.  The result
+					// is a state where both client and server want to write,
+					// but block.
+					if (query.length() > MapiSocket.BLOCK) {
+						// get a reference to the send thread
+						if (sendThread == null)
+							sendThread = new SendThread(out);
+						// tell it to do some work!
+						sendThread.runQuery(templ, query);
+						sendThreadInUse = true;
+					} else {
+						// this is a simple call, which is a lot cheaper and will
+						// always succeed for small queries.
+						out.writeLine(
+								(templ[0] == null ? "" : templ[0]) +
+								query +
+								(templ[1] == null ? "" : templ[1]));
+					}
+
+					// go for new results
+					String tmpLine = in.readLine();
+					int linetype = in.getLineType();
+					Response res = null;
+					while (linetype != BufferedMCLReader.PROMPT) {
+						// each response should start with a start of header
+						// (or error)
+						switch (linetype) {
+							case BufferedMCLReader.SOHEADER:
+								// make the response object, and fill it
+								try {
+									switch (sohp.parse(tmpLine)) {
+										case StartOfHeaderParser.Q_PARSE:
+											throw new MCLParseException("Q_PARSE header not allowed here", 1);
+										case StartOfHeaderParser.Q_TABLE:
+										case StartOfHeaderParser.Q_PREPARE: {
+											int id = sohp.getNextAsInt();
+											int tuplecount = sohp.getNextAsInt();
+											int columncount = sohp.getNextAsInt();
+											int rowcount = sohp.getNextAsInt();
+											// enforce the maxrows setting
+											if (maxrows != 0 && tuplecount > maxrows)
+												tuplecount = maxrows;
+											res = new ResultSetResponse(
+													id,
+													tuplecount,
+													columncount,
+													rowcount,
+													this,
+													seqnr
+											);
+											// only add this resultset to
+											// the hashmap if it can possibly
+											// have an additional datablock
+											if (rowcount < tuplecount) {
+												if (rsresponses == null)
+													rsresponses = new HashMap<Integer, ResultSetResponse>();
+												rsresponses.put(
+														Integer.valueOf(id),
+														(ResultSetResponse) res
+												);
+											}
+										} break;
+										case StartOfHeaderParser.Q_UPDATE:
+											res = new UpdateResponse(
+													sohp.getNextAsInt(),   // count
+													sohp.getNextAsString() // key-id
+													);
+										break;
+										case StartOfHeaderParser.Q_SCHEMA:
+											res = new SchemaResponse();
+										break;
+										case StartOfHeaderParser.Q_TRANS:
+											boolean ac = sohp.getNextAsString().equals("t") ? true : false;
+											if (autoCommit && ac) {
+												addWarning("Server enabled auto commit " +
+														"mode while local state " +
+														"already was auto commit.", "01M11"
+														);
+											}
+											autoCommit = ac;
+											res = new AutoCommitResponse(ac);
+										break;
+										case StartOfHeaderParser.Q_BLOCK: {
+											// a new block of results for a
+											// response...
+											int id = sohp.getNextAsInt(); 
+											sohp.getNextAsInt();	// columncount
+											int rowcount = sohp.getNextAsInt();
+											int offset = sohp.getNextAsInt();
+											ResultSetResponse t =
+												rsresponses.get(Integer.valueOf(id));
+											if (t == null) {
+												error = "M0M12!no ResultSetResponse with id " + id + " found";
+												break;
+											}
+
+											DataBlockResponse r =
+												new DataBlockResponse(
+													rowcount,	// rowcount
+													t.getRSType() == ResultSet.TYPE_FORWARD_ONLY
+												);
+
+											t.addDataBlockResponse(offset, r);
+											res = r;
+										} break;
+									}
+								} catch (MCLParseException e) {
+									error = "M0M10!error while parsing start of header:\n" +
+										e.getMessage() +
+										" found: '" + tmpLine.charAt(e.getErrorOffset()) + "'" +
+										" in: \"" + tmpLine + "\"" +
+										" at pos: " + e.getErrorOffset();
+									// flush all the rest
+									in.waitForPrompt();
+									linetype = in.getLineType();
+									break;
+								}
+
+								// immediately handle errors after parsing
+								// the header (res may be null)
+								if (error != null) {
+									in.waitForPrompt();
+									linetype = in.getLineType();
+									break;
+								}
+
+								// here we have a res object, which
+								// we can start filling
+								while (res.wantsMore()) {
+									error = res.addLine(
+											in.readLine(),
+											in.getLineType()
+									);
+									if (error != null) {
+										// right, some protocol violation,
+										// skip the rest of the result
+										error = "M0M10!" + error;
+										in.waitForPrompt();
+										linetype = in.getLineType();
+										break;
+									}
+								}
+								if (error != null)
+									break;
+								// it is of no use to store
+								// DataBlockReponses, you never want to
+								// retrieve them directly anyway
+								if (!(res instanceof DataBlockResponse))
+									responses.add(res);
+
+								// read the next line (can be prompt, new
+								// result, error, etc.) before we start the
+								// loop over
+								tmpLine = in.readLine();
+								linetype = in.getLineType();
+							break;
+							case BufferedMCLReader.INFO:
+								addWarning(tmpLine.substring(1), "01000");
+
+								// read the next line (can be prompt, new
+								// result, error, etc.) before we start the
+								// loop over
+								tmpLine = in.readLine();
+								linetype = in.getLineType();
+							break;
+							default:	// Yeah... in Java this is correct!
+								// we have something we don't
+								// expect/understand, let's make it an error
+								// message
+								tmpLine = "!M0M10!protocol violation, unexpected line: " + tmpLine;
+								// don't break; fall through...
+							case BufferedMCLReader.ERROR:
+								// read everything till the prompt (should be
+								// error) we don't know if we ignore some
+								// garbage here... but the log should reveal
+								// that
+								error = in.waitForPrompt();
+								linetype = in.getLineType();
+								if (error != null) {
+									error = tmpLine.substring(1) + "\n" + error;
+								} else {
+									error = tmpLine.substring(1);
+								}
+							break;
+						}
+					}
+				}
+
+				// if we used the sendThread, make sure it has finished
+				if (sendThreadInUse) {
+					String tmp = sendThread.getErrors();
+					if (tmp != null) {
+						if (error == null) {
+							error = "08000!" + tmp;
+						} else {
+							error += "\n08000!" + tmp;
+						}
+					}
+				}
+				if (error != null) {
+					SQLException ret = null;
+					String[] errors = error.split("\n");
+					for (int i = 0; i < errors.length; i++) {
+						if (ret == null) {
+							ret = new SQLException(errors[i].substring(6),
+									errors[i].substring(0, 5));
+						} else {
+							ret.setNextException(new SQLException(
+										errors[i].substring(6),
+										errors[i].substring(0, 5)));
+						}
+					}
+					throw ret;
+				}
+			} catch (SocketTimeoutException e) {
+				close(); // JDBC 4.1 semantics, abort()
+				throw new SQLException("connection timed out", "08M33");
+			} catch (IOException e) {
+				closed = true;
+				throw new SQLException(e.getMessage() + " (mserver still alive?)", "08000");
+			}
+		}
+	}
+	// }}}
+
+	/**
+	 * A thread to send a query to the server.  When sending large
+	 * amounts of data to a server, the output buffer of the underlying
+	 * communication socket may overflow.  In such case the sending
+	 * process blocks.  In order to prevent deadlock, it might be
+	 * desirable that the driver as a whole does not block.  This thread
+	 * facilitates the prevention of such 'full block', because this
+	 * separate thread only will block.<br />
+	 * This thread is designed for reuse, as thread creation costs are
+	 * high.
+	 */
+	// {{{ SendThread class implementation
+	static class SendThread extends Thread {
+		/** The state WAIT represents this thread to be waiting for
+		 *  something to do */
+		private final static int WAIT = 0;
+		/** The state QUERY represents this thread to be executing a query */
+		private final static int QUERY = 1;
+		/** The state SHUTDOWN is the final state that ends this thread */
+		private final static int SHUTDOWN = -1;
+
+		private String[] templ;
+		private String query;
+		private BufferedMCLWriter out;
+		private String error;
+		private int state = WAIT;
+		
+		final Lock sendLock = new ReentrantLock();
+		final Condition queryAvailable = sendLock.newCondition(); 
+		final Condition waiting = sendLock.newCondition();
+
+		/**
+		 * Constructor which immediately starts this thread and sets it
+		 * into daemon mode.
+		 *
+		 * @param monet the socket to write to
+		 */
+		public SendThread(BufferedMCLWriter out) {
+			super("SendThread");
+			setDaemon(true);
+			this.out = out;
+			start();
+		}
+
+		@Override
+		public void run() {
+			sendLock.lock();
+			try {
+				while (true) {
+					while (state == WAIT) {
+						try {
+							queryAvailable.await();
+						} catch (InterruptedException e) {
+							// woken up, eh?
+						}
+					}
+					if (state == SHUTDOWN)
+						break;
+
+					// state is QUERY here
+					try {
+						out.writeLine(
+								(templ[0] == null ? "" : templ[0]) +
+								query +
+								(templ[1] == null ? "" : templ[1]));
+					} catch (IOException e) {
+						error = e.getMessage();
+					}
+
+					// update our state, and notify, maybe someone is waiting
+					// for us in throwErrors
+					state = WAIT;
+					waiting.signal();
+				}
+			} finally {
+				sendLock.unlock();
+			}
+		}
+
+		/**
+		 * Starts sending the given query over the given socket.  Beware
+		 * that the thread should be finished (can be assured by calling
+		 * throwErrors()) before this method is called!
+		 *
+		 * @param templ the query template
+		 * @param query the query itself
+		 * @throws SQLException if this SendThread is already in use
+		 */
+		public void runQuery(String[] templ, String query) throws SQLException {
+			sendLock.lock();
+			try {
+				if (state != WAIT) 
+					throw new SQLException("SendThread already in use or shutting down!", "M0M03");
+
+				this.templ = templ;
+				this.query = query;
+
+				// let the thread know there is some work to do
+				state = QUERY;
+				queryAvailable.signal();
+			} finally {
+				sendLock.unlock();
+			}
+		}
+
+		/**
+		 * Returns errors encountered during the sending process.
+		 *
+		 * @return the errors or null if none
+		 */
+		public String getErrors() {
+			sendLock.lock();
+			try {
+				// make sure the thread is in WAIT state, not QUERY
+				while (state == QUERY) {
+					try {
+						waiting.await();
+					} catch (InterruptedException e) {
+						// just try again
+					}
+				}
+				if (state == SHUTDOWN)
+					error = "SendThread is shutting down";
+			} finally {
+				sendLock.unlock();
+			}
+			return error;
+		}
+
+		/**
+		 * Requests this SendThread to stop. 
+		 */
+		public void shutdown() {
+			sendLock.lock();
+			state = SHUTDOWN;
+			sendLock.unlock();
+			this.interrupt();  // break any wait conditions
+		}
+	}
+	// }}}
+}
+
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDataSource.java
@@ -0,0 +1,218 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import javax.sql.*;
+import java.util.*;
+import java.io.*;
+import java.util.logging.Logger;
+
+/**
+ * A DataSource suitable for the MonetDB database.
+ * 
+ * This DataSource allows retrieval of a Connection using the JNDI bean like
+ * framework.  A DataSource has numerous advantages over using the DriverManager
+ * to retrieve a Connection object.  Using the DataSource interface enables a
+ * more transparent application where the location or database can be changed
+ * without changing any application code.
+ * 
+ * Additionally, pooled connections can be used when using a DataSource.
+ *
+ * @author Fabian Groffen
+ * @version 0.1
+ */
+public class MonetDataSource extends MonetWrapper implements DataSource {
+	private String description;
+	private int loginTimeout = 0;
+	private String user;
+	// insecure, but how to do it better?
+	private String password;
+	private String url;
+
+	// the following properties are also standard:
+	// private String dataSourceName;
+	// private String networkProtocol;
+	// private String serverName;
+	// private String role;
+
+
+	private final MonetDriver driver;
+
+	/**
+	 * Constructor of a MonetDataSource which uses default settings for a
+	 * connection.  You probably want to change this setting using the
+	 * method setURL.
+	 */
+	public MonetDataSource() {
+		description = "MonetDB database";
+		url = "jdbc:monetdb://localhost/";
+
+		driver = new MonetDriver();
+	}
+
+	/**
+	 * Attempts to establish a connection with the data source that this
+	 * DataSource object represents.
+	 *
+	 * @return a MonetConnection
+	 * @throws SQLException if connecting to the database fails
+	 */
+	@Override
+	public Connection getConnection() throws SQLException {
+		return getConnection(user, password);
+	}
+
+	/**
+	 * Attempts to establish a connection with the data source that this
+	 * DataSource object represents.
+	 *
+	 * @param username the username to use
+	 * @param password the password to use
+	 * @return a MonetConnection
+	 * @throws SQLException if connecting to the database fails
+	 */
+	@Override
+	public Connection getConnection(String username, String password)
+		throws SQLException
+	{
+		if (loginTimeout > 0) {
+			/// could enable Socket.setSoTimeout(int timeout) here...
+		}
+		Properties props = new Properties();
+		props.put("user", username);
+		props.put("password", password);
+
+		return driver.connect(url, props);
+	}
+
+
+	/**
+	 * Gets the maximum time in seconds that this data source can wait while
+	 * attempting to connect to a database.
+	 *
+	 * @return login timeout default is 0 (infinite)
+	 */
+	@Override
+	public int getLoginTimeout() {
+		return loginTimeout;
+	}
+
+	/**
+	 * Sets the maximum time in seconds that this data source will wait while
+	 * attempting to connect to a database.
+	 *
+	 * @param seconds the number of seconds to wait before aborting the connect
+	 */
+	@Override
+	public void setLoginTimeout(int seconds) {
+		loginTimeout = seconds;
+	}
+
+	/**
+	 * Retrieves the log writer for this DataSource object.
+	 *
+	 * @return null, since there is no log writer
+	 */
+	@Override
+	public PrintWriter getLogWriter() {
+		return null;
+	}
+
+	/**
+	 * Sets the log writer for this DataSource object to the given
+	 * java.io.PrintWriter object.
+	 *
+	 * @param out a PrintWriter - ignored
+	 */
+	@Override
+	public void setLogWriter(PrintWriter out) {
+	}
+
+	/**
+	 * Sets the password to use when connecting.  There is no getter
+	 * for obvious reasons.
+	 *
+	 * @param password the password
+	 */
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	/**
+	 * Gets the username
+	 *
+	 * @return the username
+	 */
+	public String getUser() {
+		return user;
+	}
+
+	/**
+	 * Sets the username
+	 *
+	 * @param user the username
+	 */
+	public void setUser(String user) {
+		this.user = user;
+	}
+
+	/**
+	 * Gets the connection URL
+	 *
+	 * @return the connection URL
+	 */
+	public String getURL() {
+		return url;
+	}
+
+	/**
+	 * Sets the connection URL
+	 *
+	 * @param url the connection URL
+	 */
+	public void setDatabaseName(String url) {
+		this.url = url;
+	}
+
+	/**
+	 * Gets the description
+	 *
+	 * @return the description
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * Sets the description
+	 *
+	 * @param description the description
+	 */
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	/**
+	 * Return the parent Logger of all the Loggers used by this data
+	 * source.  This should be the Logger farthest from the root Logger
+	 * that is still an ancestor of all of the Loggers used by this data
+	 * source.  Configuring this Logger will affect all of the log
+	 * messages generated by the data source. In the worst case, this
+	 * may be the root Logger.
+	 *
+	 * @return the parent Logger for this data source
+	 * @throws SQLFeatureNotSupportedException if the data source does
+	 *         not use java.util.logging
+	 */
+	@Override
+	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+		throw new SQLFeatureNotSupportedException("java.util.logging not in use", "0A000");
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -0,0 +1,4086 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.Statement;
+import java.sql.SQLException;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.RowIdLifetime;
+import java.sql.Types;
+
+import java.util.ArrayList;
+
+/**
+ * A DatabaseMetaData object suitable for the MonetDB database.
+ *
+ * @author Fabian Groffen, Martin van Dinther
+ * @version 0.6
+ */
+public class MonetDatabaseMetaData extends MonetWrapper implements DatabaseMetaData {
+	private Connection con;
+	private String env_current_user;
+	private String env_monet_version;
+	private String env_max_clients;
+
+	public MonetDatabaseMetaData(Connection parent) {
+		con = parent;
+	}
+
+	/**
+	 * Internal cache for 3 environment values retrieved from the
+	 * server, to avoid querying the server over and over again.
+	 * Once a value is read, it is kept in the private env_* variables for reuse.
+	 * We currently only need the env values of: current_user, monet_version and max_clients.
+	 */
+	private synchronized void getEnvValues() {
+		Statement st = null;
+		ResultSet rs = null;
+		try {
+			st = con.createStatement();
+			rs = st.executeQuery(
+				"SELECT \"name\", \"value\" FROM \"sys\".\"environment\"" +
+				" WHERE \"name\" IN ('monet_version', 'max_clients')" +
+				" UNION SELECT 'current_user' as \"name\", current_user as \"value\"");
+			if (rs != null) {
+				while (rs.next()) {
+					String prop = rs.getString("name");
+					String value = rs.getString("value");
+					if ("current_user".equals(prop)) {
+						env_current_user = value;
+					} else
+					if ("monet_version".equals(prop)) {
+						env_monet_version = value;
+					} else
+					if ("max_clients".equals(prop)) {
+						env_max_clients = value;
+					}
+				}
+			}
+		} catch (SQLException e) {
+			// ignore
+		} finally {
+			if (rs != null) {
+				try {
+					rs.close();
+				} catch (SQLException e) { /* ignore */ }
+			}
+			if (st != null) {
+				try {
+					 st.close();
+				} catch (SQLException e) { /* ignore */ }
+			}
+		}
+// for debug: System.out.println("Read: env_current_user: " + env_current_user + "  env_monet_version: " + env_monet_version + "  env_max_clients: " + env_max_clients);
+	}
+
+
+	/**
+	 * Internal utility method to create a Statement object, execute a query and return the ResulSet object.
+	 * As the Statement object is created internally (the caller does not see it and thus can not close it),
+	 * we set it to close (and free server resources) when the ResultSet object is closed by the caller.
+	 */
+	private ResultSet executeMetaDataQuery(String query) throws SQLException {
+		Statement stmt = null;
+		ResultSet rs = null;
+		stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
+		if (stmt != null) {
+// for debug: System.out.println("SQL (len " + query.length() + "): " + query);
+			rs = stmt.executeQuery(query);
+			if (rs != null) {
+				/* we want the statement object to be closed also when the resultset is closed by the caller */
+				stmt.closeOnCompletion();
+			} else {
+				/* failed to produce a resultset, so release resources for created statement object now */
+				stmt.close();
+			}
+		}
+		return rs;
+	}
+
+	/**
+	 * Can all the procedures returned by getProcedures be called
+	 * by the current user?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean allProceduresAreCallable() {
+		return true;
+	}
+
+	/**
+	 * Can all the tables returned by getTable be SELECTed by
+	 * the current user?
+	 *
+	 * @return true because we only have one user a.t.m.
+	 */
+	@Override
+	public boolean allTablesAreSelectable() {
+		return true;
+	}
+
+	/**
+	 * What is the URL for this database?
+	 *
+	 * @return a reconstructed connection string
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public String getURL() throws SQLException {
+		return ((MonetConnection)con).getJDBCURL();
+	}
+
+	/**
+	 * What is our user name as known to the database?
+	 *
+	 * @return sql user
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public String getUserName() throws SQLException {
+		if (env_current_user == null)
+			getEnvValues();
+		return env_current_user;
+	}
+
+	/**
+	 * Is the database in read-only mode?
+	 *
+	 * @return always false for now
+	 */
+	@Override
+	public boolean isReadOnly() {
+		return false;
+	}
+
+	/**
+	 * Are NULL values sorted high?
+	 *
+	 * @return true because MonetDB puts NULL values on top upon ORDER BY
+	 */
+	@Override
+	public boolean nullsAreSortedHigh() {
+		return true;
+	}
+
+	/**
+	 * Are NULL values sorted low?
+	 *
+	 * @return negative of nullsAreSortedHigh()
+	 * @see #nullsAreSortedHigh()
+	 */
+	@Override
+	public boolean nullsAreSortedLow() {
+		return !nullsAreSortedHigh();
+	}
+
+	/**
+	 * Are NULL values sorted at the start regardless of sort order?
+	 *
+	 * @return false, since MonetDB doesn't do this
+	 */
+	@Override
+	public boolean nullsAreSortedAtStart() {
+		return false;
+	}
+
+	/**
+	 * Are NULL values sorted at the end regardless of sort order?
+	 *
+	 * @return false, since MonetDB doesn't do this
+	 */
+	@Override
+	public boolean nullsAreSortedAtEnd() {
+		return false;
+	}
+
+	/**
+	 * What is the name of this database product - this should be MonetDB
+	 * of course, so we return that explicitly.
+	 *
+	 * @return the database product name
+	 */
+	@Override
+	public String getDatabaseProductName() {
+		return "MonetDB";
+	}
+
+	/**
+	 * What is the version of this database product.
+	 *
+	 * @return the mserver5 version number string
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public String getDatabaseProductVersion() throws SQLException {
+		if (env_monet_version == null)
+			getEnvValues();
+		return env_monet_version;
+	}
+
+	/**
+	 * What is the name of this JDBC driver?
+	 *
+	 * @return the JDBC driver name
+	 */
+	@Override
+	public String getDriverName() {
+		return "MonetDB Native Driver";
+	}
+
+	/**
+	 * Retrieves the version number of this JDBC driver as a String.
+	 *
+	 * @return the JDBC driver version string
+	 */
+	@Override
+	public String getDriverVersion() {
+		return MonetDriver.getDriverVersion();
+	}
+
+	/**
+	 * What is this JDBC driver's major version number?
+	 *
+	 * @return the JDBC driver major version number
+	 */
+	@Override
+	public int getDriverMajorVersion() {
+		return MonetDriver.getDriverMajorVersion();
+	}
+
+	/**
+	 * What is this JDBC driver's minor version number?
+	 *
+	 * @return the JDBC driver minor version number
+	 */
+	@Override
+	public int getDriverMinorVersion() {
+		return MonetDriver.getDriverMinorVersion();
+	}
+
+	/**
+	 * Does the database store tables in a local file?	No - it
+	 * stores them in a file on the server.
+	 *
+	 * @return false because that's what MonetDB is for
+	 */
+	@Override
+	public boolean usesLocalFiles() {
+		return false;
+	}
+
+	/**
+	 * Does the database use a local file for each table?  Well, not really,
+	 * since it doesn't use local files.
+	 *
+	 * @return false for it doesn't
+	 */
+	@Override
+	public boolean usesLocalFilePerTable() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case unquoted SQL identifiers
+	 * as case sensitive and as a result store them in mixed case?
+	 * A JDBC-Compliant driver will always return false.
+	 *
+	 * @return false
+	 */
+	@Override
+	public boolean supportsMixedCaseIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case unquoted SQL identifiers as
+	 * case insensitive and store them in upper case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesUpperCaseIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case unquoted SQL identifiers as
+	 * case insensitive and store them in lower case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesLowerCaseIdentifiers() {
+		return true;
+	}
+
+	/**
+	 * Does the database treat mixed case unquoted SQL identifiers as
+	 * case insensitive and store them in mixed case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesMixedCaseIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case quoted SQL identifiers as
+	 * case sensitive and as a result store them in mixed case?  A
+	 * JDBC compliant driver will always return true.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsMixedCaseQuotedIdentifiers() {
+		return true;
+	}
+
+	/**
+	 * Does the database treat mixed case quoted SQL identifiers as
+	 * case insensitive and store them in upper case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesUpperCaseQuotedIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case quoted SQL identifiers as case
+	 * insensitive and store them in lower case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesLowerCaseQuotedIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * Does the database treat mixed case quoted SQL identifiers as case
+	 * insensitive and store them in mixed case?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean storesMixedCaseQuotedIdentifiers() {
+		return false;
+	}
+
+	/**
+	 * What is the string used to quote SQL identifiers?  This returns
+	 * a space if identifier quoting isn't supported.  A JDBC Compliant
+	 * driver will always use a double quote character.
+	 *
+	 * @return the quoting string
+	 */
+	@Override
+	public String getIdentifierQuoteString() {
+		return "\"";
+	}
+
+	/**
+	 * Get a comma separated list of all a database's SQL keywords that
+	 * are NOT also SQL:2003 keywords.
+	 *
+	 * @return a comma separated list of MonetDB keywords
+	 */
+	@Override
+	public String getSQLKeywords() {
+		String keywords = getConcatenatedStringFromQuery("SELECT \"keyword\" FROM \"sys\".\"keywords\" ORDER BY 1");
+
+		/* An old MonetDB server (pre Jul2015 release) will not have a table sys.keywords and return an empty String */
+		return (keywords.length() > 0) ? keywords :
+			/* for old servers return static list (as returned in clients/odbc/driver/SQLGetInfo.c case SQL_KEYWORDS:) */
+			"ADMIN,AFTER,AGGREGATE,ALWAYS,ASYMMETRIC,ATOMIC," +
+			"AUTO_INCREMENT,BEFORE,BIGINT,BIGSERIAL,BINARY,BLOB," +
+			"CALL,CHAIN,CLOB,COMMITTED,COPY,CORR,CUME_DIST," +
+			"CURRENT_ROLE,CYCLE,DATABASE,DELIMITERS,DENSE_RANK," +
+			"DO,EACH,ELSEIF,ENCRYPTED,EVERY,EXCLUDE,FOLLOWING," +
+			"FUNCTION,GENERATED,IF,ILIKE,INCREMENT,LAG,LEAD," +
+			"LIMIT,LOCALTIME,LOCALTIMESTAMP,LOCKED,MAXVALUE," +
+			"MEDIAN,MEDIUMINT,MERGE,MINVALUE,NEW,NOCYCLE," +
+			"NOMAXVALUE,NOMINVALUE,NOW,OFFSET,OLD,OTHERS,OVER," +
+			"PARTITION,PERCENT_RANK,PLAN,PRECEDING,PROD,QUANTILE," +
+			"RANGE,RANK,RECORDS,REFERENCING,REMOTE,RENAME," +
+			"REPEATABLE,REPLICA,RESTART,RETURN,RETURNS," +
+			"ROW_NUMBER,ROWS,SAMPLE,SAVEPOINT,SCHEMA,SEQUENCE," +
+			"SERIAL,SERIALIZABLE,SIMPLE,START,STATEMENT,STDIN," +
+			"STDOUT,STREAM,STRING,SYMMETRIC,TIES,TINYINT,TRIGGER," +
+			"UNBOUNDED,UNCOMMITTED,UNENCRYPTED,WHILE,XMLAGG," +
+			"XMLATTRIBUTES,XMLCOMMENT,XMLCONCAT,XMLDOCUMENT," +
+			"XMLELEMENT,XMLFOREST,XMLNAMESPACES,XMLPARSE,XMLPI," +
+			"XMLQUERY,XMLSCHEMA,XMLTEXT,XMLVALIDATE";
+	}
+
+	/**
+	 * Internal utility method getConcatenatedStringFromQuery(String query)
+	 * args: query: SQL SELECT query. Only the output of the first column is concatenated.
+	 * @return a String of query result values concatenated into one string, and values separated by comma's
+	 */
+	private String getConcatenatedStringFromQuery(String query) {
+		StringBuilder sb = new StringBuilder(1024);
+		Statement st = null;
+		ResultSet rs = null;
+		try {
+			st = con.createStatement();
+			rs = st.executeQuery(query);
+			// Fetch the first column output and concatenate the values into a StringBuilder separated by comma's
+			boolean isfirst = true;
+			while (rs.next()) {
+				String value = rs.getString(1);
+				if (value != null) {
+					if (isfirst) {
+						isfirst = false;
+					} else {
+						sb.append(',');
+					}
+					sb.append(value);
+				}
+			}
+		} catch (SQLException e) {
+			/* ignore */
+		} finally {
+			if (rs != null) {
+				try {
+					rs.close();
+				} catch (SQLException e) { /* ignore */ }
+			}
+			if (st != null) {
+				try {
+					 st.close();
+				} catch (SQLException e) { /* ignore */ }
+			}
+		}
+		// for debug: System.out.println("SQL query: " + query + "\nResult string: " + sb.toString());
+		return sb.toString();
+	}
+
+	// SQL query parts shared in below four getXxxxFunctions() methods
+	private final static String FunctionsSelect = "SELECT DISTINCT \"name\" FROM \"sys\".\"functions\" ";
+	private final static String FunctionsWhere = "WHERE \"id\" IN (SELECT \"func_id\" FROM \"sys\".\"args\" WHERE \"number\" = 1 AND \"name\" = 'arg_1' AND \"type\" IN ";
+
+	@Override
+	public String getNumericFunctions() {
+		String match =
+			"('tinyint', 'smallint', 'int', 'bigint', 'hugeint', 'decimal', 'double', 'real') )" +
+			// exclude functions which belong to the 'str' module
+			" AND \"mod\" <> 'str'";
+		return getConcatenatedStringFromQuery(FunctionsSelect + FunctionsWhere + match + " ORDER BY 1");
+	}
+
+	@Override
+	public String getStringFunctions() {
+		String match =
+			"('char', 'varchar', 'clob', 'json') )" +
+			// include functions which belong to the 'str' module
+			" OR \"mod\" = 'str'";
+		return getConcatenatedStringFromQuery(FunctionsSelect + FunctionsWhere + match + " ORDER BY 1");
+	}
+
+	@Override
+	public String getSystemFunctions() {
+		String wherePart =
+			"WHERE \"id\" NOT IN (SELECT \"func_id\" FROM \"sys\".\"args\" WHERE \"number\" = 1)" +
+			" AND \"id\" IN (SELECT \"function_id\" FROM \"sys\".\"systemfunctions\")" +
+			" AND \"type\" = 1" +	// only scalar functions
+			// add system functions which are not listed in sys.functions but implemented in the SQL parser (see sql/server/sql_parser.y)
+			" UNION SELECT 'cast'" +
+			" UNION SELECT 'convert'" +
+			" UNION SELECT 'coalesce'" +
+			" UNION SELECT 'extract'" +
+			" UNION SELECT 'ifthenelse'" +
+			" UNION SELECT 'isnull'" +
+			" UNION SELECT 'nullif'";
+		return getConcatenatedStringFromQuery(FunctionsSelect + wherePart + " ORDER BY 1");
+	}
+
+	@Override
+	public String getTimeDateFunctions() {
+		String match =
+			"('date', 'time', 'timestamp', 'timetz', 'timestamptz', 'sec_interval', 'month_interval') )";
+		return getConcatenatedStringFromQuery(FunctionsSelect + FunctionsWhere + match + " ORDER BY 1");
+	}
+
+	/**
+	 * This is the string that can be used to escape '_' and '%' in
+	 * a search string pattern style catalog search parameters
+	 *
+	 * @return the string used to escape wildcard characters
+	 */
+	@Override
+	public String getSearchStringEscape() {
+		return "\\";
+	}
+
+	/**
+	 * Get all the "extra" characters that can be used in unquoted
+	 * identifier names (those beyond a-zA-Z0-9 and _)
+	 * MonetDB has no extra characters (verified it for chars: !@#$%^&*()~{}[]?
+	 *
+	 * @return a string containing the extra characters
+	 */
+	@Override
+	public String getExtraNameCharacters() {
+		return "";
+	}
+
+	/**
+	 * Is "ALTER TABLE" with an add column supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsAlterTableWithAddColumn() {
+		return true;
+	}
+
+	/**
+	 * Is "ALTER TABLE" with a drop column supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsAlterTableWithDropColumn() {
+		return true;
+	}
+
+	/**
+	 * Is column aliasing supported?
+	 *
+	 * <p>If so, the SQL AS clause can be used to provide names for
+	 * computed columns or to provide alias names for columns as
+	 * required.  A JDBC Compliant driver always returns true.
+	 *
+	 * <p>e.g.
+	 *
+	 * <br><pre>
+	 * select count(C) as C_COUNT from T group by C;
+	 *
+	 * </pre><br>
+	 * should return a column named as C_COUNT instead of count(C)
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsColumnAliasing() {
+		return true;
+	}
+
+	/**
+	 * Are concatenations between NULL and non-NULL values NULL? A
+	 * JDBC Compliant driver always returns true
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean nullPlusNonNullIsNull() {
+		return true;
+	}
+
+	/**
+	 * Retrieves whether this database supports the JDBC scalar function
+	 * CONVERT for the conversion of one JDBC type to another.
+	 * The JDBC types are the generic SQL data types defined in java.sql.Types.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsConvert() {
+		return true;
+	}
+
+	/**
+	 * Retrieves whether this database supports the JDBC scalar function
+	 * CONVERT for conversions between the JDBC types fromType and toType.
+	 * The JDBC types are the generic SQL data types defined in java.sql.Types.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsConvert(int fromType, int toType) {
+		switch (fromType) {
+		case Types.BOOLEAN:
+			switch (toType) {
+			case Types.BOOLEAN:
+		/*	case Types.BIT: is not supported by MonetDB and will fail */
+			case Types.TINYINT:
+			case Types.SMALLINT:
+			case Types.INTEGER:
+			case Types.BIGINT:
+		/* conversion to FLOAT, REAL, DOUBLE, NUMERIC and DECIMAL is not supported by MonetDB */
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+	/*	case Types.BIT: is not supported by MonetDB and will fail */
+	/*	case Types.BINARY: is not supported by MonetDB and will fail */
+	/*	case Types.VARBINARY: is not supported by MonetDB and will fail */
+	/*	case Types.LONGVARBINARY: is not supported by MonetDB and will fail */
+		case Types.BLOB:
+			switch (toType) {
+		/*	case Types.BINARY: is not supported by MonetDB and will fail */
+		/*	case Types.VARBINARY: is not supported by MonetDB and will fail */
+		/*	case Types.LONGVARBINARY: is not supported by MonetDB and will fail */
+			case Types.BLOB:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		case Types.TINYINT:
+		case Types.SMALLINT:
+		case Types.INTEGER:
+		case Types.BIGINT:
+		case Types.FLOAT:
+		case Types.REAL:
+		case Types.DOUBLE:
+		case Types.NUMERIC:
+		case Types.DECIMAL:
+			switch (toType) {
+			case Types.BOOLEAN:
+		/*	case Types.BIT: is not supported by MonetDB and will fail */
+			case Types.TINYINT:
+			case Types.SMALLINT:
+			case Types.INTEGER:
+			case Types.BIGINT:
+			case Types.FLOAT:
+			case Types.REAL:
+			case Types.DOUBLE:
+			case Types.NUMERIC:
+			case Types.DECIMAL:
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		case Types.CHAR:
+		case Types.VARCHAR:
+	/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+		case Types.CLOB:
+			switch (toType) {
+			case Types.BOOLEAN:
+		/*	case Types.BIT: is not supported by MonetDB and will fail */
+			case Types.TINYINT:
+			case Types.SMALLINT:
+			case Types.INTEGER:
+			case Types.BIGINT:
+			case Types.FLOAT:
+			case Types.REAL:
+			case Types.DOUBLE:
+			case Types.NUMERIC:
+			case Types.DECIMAL:
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+			case Types.BLOB:
+			case Types.DATE:
+			case Types.TIME:
+			case Types.TIMESTAMP:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		case Types.DATE:
+			switch (toType) {
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+			case Types.DATE:
+			case Types.TIMESTAMP:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		case Types.TIME:
+			switch (toType) {
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+			case Types.TIME:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		case Types.TIMESTAMP:
+			switch (toType) {
+			case Types.CHAR:
+			case Types.VARCHAR:
+		/*	case Types.LONGVARCHAR: is not supported by MonetDB and will fail */
+			case Types.CLOB:
+			case Types.DATE:
+			case Types.TIME:
+			case Types.TIMESTAMP:
+				return true;
+			}
+			// conversion to all other types is not supported
+			return false;
+		}
+
+		// conversion from all other JDBC SQL types are not supported
+		return false;
+	}
+
+	/**
+	 * Are table correlation names supported? A JDBC Compliant
+	 * driver always returns true.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsTableCorrelationNames() {
+		return true;
+	}
+
+	/**
+	 * If table correlation names are supported, are they restricted to
+	 * be different from the names of the tables?
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsDifferentTableCorrelationNames() {
+		return false;
+	}
+
+	/**
+	 * Are expressions in "ORDER BY" lists supported?
+	 * e.g. select * from t order by a + b;
+	 *
+	 * MonetDB supports this, try:
+	 *  select (radix * 1000) + digits as comp, * from types order by (radix * 1000) + digits, -id;
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsExpressionsInOrderBy() {
+		return true;
+	}
+
+	/**
+	 * Can an "ORDER BY" clause use columns not in the SELECT?
+	 * MonetDB differs from SQL03 =&gt; true
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsOrderByUnrelated() {
+		return true;
+	}
+
+	/**
+	 * Is some form of "GROUP BY" clause supported?
+	 *
+	 * @return true since MonetDB supports it
+	 */
+	@Override
+	public boolean supportsGroupBy() {
+		return true;
+	}
+
+	/**
+	 * Can a "GROUP BY" clause use columns not in the SELECT?
+	 *
+	 * @return true since that also is supported
+	 */
+	@Override
+	public boolean supportsGroupByUnrelated() {
+		return true;
+	}
+
+	/**
+	 * Can a "GROUP BY" clause add columns not in the SELECT provided
+	 * it specifies all the columns in the SELECT?
+	 *
+	 * (MonetDB already supports the more difficult supportsGroupByUnrelated(),
+	 * so this is a piece of cake)
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsGroupByBeyondSelect() {
+		return true;
+	}
+
+	/**
+	 * Is the escape character in "LIKE" clauses supported?  A
+	 * JDBC compliant driver always returns true.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsLikeEscapeClause() {
+		return true;
+	}
+
+	/**
+	 * Are multiple ResultSets from a single execute supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsMultipleResultSets() {
+		return true;
+	}
+
+	/**
+	 * Can we have multiple transactions open at once (on different
+	 * connections?)
+	 * This is the main idea behind the Connection, is it?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsMultipleTransactions() {
+		return true;
+	}
+
+	/**
+	 * Can columns be defined as non-nullable.	A JDBC Compliant driver
+	 * always returns true.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsNonNullableColumns() {
+		return true;
+	}
+
+	/**
+	 * Does this driver support the minimum ODBC SQL grammar.  This
+	 * grammar is defined at:
+	 *
+	 * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odappcpr.asp
+	 * From this description, we seem to support the ODBC minimal (Level 0) grammar.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsMinimumSQLGrammar() {
+		return true;
+	}
+
+	/**
+	 * Does this driver support the Core ODBC SQL grammar.	We need
+	 * SQL-92 conformance for this.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCoreSQLGrammar() {
+		return true;
+	}
+
+	/**
+	 * Does this driver support the Extended (Level 2) ODBC SQL
+	 * grammar.  We don't conform to the Core (Level 1), so we can't
+	 * conform to the Extended SQL Grammar.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsExtendedSQLGrammar() {
+		return false;
+	}
+
+	/**
+	 * Does this driver support the ANSI-92 entry level SQL grammar?
+	 * All JDBC Compliant drivers must return true. We should be this
+	 * compliant, so let's 'act' like we are.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsANSI92EntryLevelSQL() {
+		return true;
+	}
+
+	/**
+	 * Does this driver support the ANSI-92 intermediate level SQL
+	 * grammar?
+	 * probably not
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsANSI92IntermediateSQL() {
+		return false;
+	}
+
+	/**
+	 * Does this driver support the ANSI-92 full SQL grammar?
+	 * Would be good if it was like that
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsANSI92FullSQL() {
+		return false;
+	}
+
+	/**
+	 * Is the SQL Integrity Enhancement Facility supported?
+	 * Our best guess is that this means support for constraints
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsIntegrityEnhancementFacility() {
+		return true;
+	}
+
+	/**
+	 * Is some form of outer join supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsOuterJoins(){
+		return true;
+	}
+
+	/**
+	 * Are full nexted outer joins supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsFullOuterJoins() {
+		return true;
+	}
+
+	/**
+	 * Is there limited support for outer joins?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsLimitedOuterJoins() {
+		return false;
+	}
+
+	/**
+	 * What is the database vendor's preferred term for "schema"?
+	 * MonetDB uses the term "schema".
+	 *
+	 * @return the vendor term
+	 */
+	@Override
+	public String getSchemaTerm() {
+		return "schema";
+	}
+
+	/**
+	 * What is the database vendor's preferred term for "procedure"?
+	 *
+	 * @return the vendor term
+	 */
+	@Override
+	public String getProcedureTerm() {
+		return "procedure";
+	}
+
+	/**
+	 * What is the database vendor's preferred term for "catalog"?
+	 * MonetDB doesn't really have them (from driver accessible) but
+	 * from the monetdb.conf file the term "database" sounds best
+	 *
+	 * @return the vendor term
+	 */
+	@Override
+	public String getCatalogTerm() {
+		return "database";
+	}
+
+	/**
+	 * Does a catalog appear at the start of a qualified table name?
+	 * (Otherwise it appears at the end).
+	 * Currently there is no catalog support at all in MonetDB
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean isCatalogAtStart() {
+		// return true here; we return false for every other catalog function
+		// so it won't matter what we return here
+		return true;
+	}
+
+	/**
+	 * What is the Catalog separator.
+	 *
+	 * @return the catalog separator string
+	 */
+	@Override
+	public String getCatalogSeparator() {
+		// MonetDB does NOT support catalogs, so also no catalog separator
+		return null;
+	}
+
+	/**
+	 * Can a schema name be used in a data manipulation statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsSchemasInDataManipulation() {
+		return true;
+	}
+
+	/**
+	 * Can a schema name be used in a procedure call statement?
+	 * Ohw probably, but I don't know of procedures in MonetDB
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsSchemasInProcedureCalls() {
+		return true;
+	}
+
+	/**
+	 * Can a schema be used in a table definition statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsSchemasInTableDefinitions() {
+		return true;
+	}
+
+	/**
+	 * Can a schema name be used in an index definition statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsSchemasInIndexDefinitions() {
+		return true;
+	}
+
+	/**
+	 * Can a schema name be used in a privilege definition statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsSchemasInPrivilegeDefinitions() {
+		return true;
+	}
+
+	/**
+	 * Can a catalog name be used in a data manipulation statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCatalogsInDataManipulation() {
+		return false;
+	}
+
+	/**
+	 * Can a catalog name be used in a procedure call statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCatalogsInProcedureCalls() {
+		return false;
+	}
+
+	/**
+	 * Can a catalog name be used in a table definition statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCatalogsInTableDefinitions() {
+		return false;
+	}
+
+	/**
+	 * Can a catalog name be used in an index definition?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCatalogsInIndexDefinitions() {
+		return false;
+	}
+
+	/**
+	 * Can a catalog name be used in a privilege definition statement?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsCatalogsInPrivilegeDefinitions() {
+		return false;
+	}
+
+	/**
+	 * MonetDB doesn't support positioned DELETEs I guess
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsPositionedDelete() {
+		return false;
+	}
+
+	/**
+	 * Is positioned UPDATE supported? (same as above)
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsPositionedUpdate() {
+		return false;
+	}
+
+	/**
+	 * Is SELECT FOR UPDATE supported?
+	 * My test resulted in a negative answer
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsSelectForUpdate(){
+		return false;
+	}
+
+	/**
+	 * Are stored procedure calls using the stored procedure escape
+	 * syntax supported?
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsStoredProcedures() {
+		return true;
+	}
+
+	/**
+	 * Are subqueries in comparison expressions supported? A JDBC
+	 * Compliant driver always returns true. MonetDB also supports this
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsSubqueriesInComparisons() {
+		return true;
+	}
+
+	/**
+	 * Are subqueries in 'exists' expressions supported? A JDBC
+	 * Compliant driver always returns true.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsSubqueriesInExists() {
+		return true;
+	}
+
+	/**
+	 * Are subqueries in 'in' statements supported? A JDBC
+	 * Compliant driver always returns true.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsSubqueriesInIns() {
+		return true;
+	}
+
+	/**
+	 * Are subqueries in quantified expressions supported? A JDBC
+	 * Compliant driver always returns true.
+	 *
+	 * (No idea what this is, but we support a good deal of
+	 * subquerying.)
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsSubqueriesInQuantifieds() {
+		return true;
+	}
+
+	/**
+	 * Are correlated subqueries supported? A JDBC Compliant driver
+	 * always returns true.
+	 *
+	 * (a.k.a. subselect in from?)
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsCorrelatedSubqueries() {
+		return true;
+	}
+
+	/**
+	 * Is SQL UNION supported?
+	 * since 2004-03-20
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsUnion() {
+		return true;
+	}
+
+	/**
+	 * Is SQL UNION ALL supported?
+	 * since 2004-03-20
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsUnionAll() {
+		return true;
+	}
+
+	/**
+	 * ResultSet objects (cursors) are not closed upon explicit or
+	 * implicit commit.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsOpenCursorsAcrossCommit() {
+		return true;
+	}
+
+	/**
+	 * Same as above
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsOpenCursorsAcrossRollback() {
+		return true;
+	}
+
+	/**
+	 * Can statements remain open across commits?  They may, but
+	 * this driver cannot guarentee that.  In further reflection.
+	 * we are taking a Statement object here, so the answer is
+	 * yes, since the Statement is only a vehicle to execute some SQL
+	 *
+	 * @return true if they always remain open; false otherwise
+	 */
+	@Override
+	public boolean supportsOpenStatementsAcrossCommit() {
+		return true;
+	}
+
+	/**
+	 * Can statements remain open across rollbacks?  They may, but
+	 * this driver cannot guarentee that.  In further contemplation,
+	 * we are taking a Statement object here, so the answer is yes again.
+	 *
+	 * @return true if they always remain open; false otherwise
+	 */
+	@Override
+	public boolean supportsOpenStatementsAcrossRollback() {
+		return true;
+	}
+
+	/**
+	 * How many hex characters can you have in an inline binary literal
+	 * I honestly wouldn't know...
+	 *
+	 * @return the max literal length
+	 */
+	@Override
+	public int getMaxBinaryLiteralLength() {
+		return 0; // no limit
+	}
+
+	/**
+	 * What is the maximum length for a character literal
+	 * Is there a max?
+	 *
+	 * @return the max literal length
+	 */
+	@Override
+	public int getMaxCharLiteralLength() {
+		return 0; // no limit
+	}
+
+	/**
+	 * Whats the limit on column name length.
+	 * I take some safety here, but it's just a varchar in MonetDB
+	 *
+	 * @return the maximum column name length
+	 */
+	@Override
+	public int getMaxColumnNameLength() {
+		return 1024;
+	}
+
+	/**
+	 * What is the maximum number of columns in a "GROUP BY" clause?
+	 *
+	 * @return the max number of columns
+	 */
+	@Override
+	public int getMaxColumnsInGroupBy() {
+		return 0; // no limit
+	}
+
+	/**
+	 * What's the maximum number of columns allowed in an index?
+	 *
+	 * @return max number of columns
+	 */
+	@Override
+	public int getMaxColumnsInIndex() {
+		return 0;	// unlimited I guess
+	}
+
+	/**
+	 * What's the maximum number of columns in an "ORDER BY clause?
+	 *
+	 * @return the max columns
+	 */
+	@Override
+	public int getMaxColumnsInOrderBy() {
+		return 0; // unlimited I guess
+	}
+
+	/**
+	 * What is the maximum number of columns in a "SELECT" list?
+	 *
+	 * @return the max columns
+	 */
+	@Override
+	public int getMaxColumnsInSelect() {
+		return 0; // unlimited I guess
+	}
+
+	/**
+	 * What is the maximum number of columns in a table?
+	 * wasn't MonetDB designed for datamining? (= much columns)
+	 *
+	 * @return the max columns
+	 */
+	@Override
+	public int getMaxColumnsInTable() {
+		return 0;
+	}
+
+	/**
+	 * How many active connections can we have at a time to this
+	 * database?  Well, since it depends on Mserver, which just listens
+	 * for new connections and creates a new thread for each connection,
+	 * this number can be very high, and theoretically till the system
+	 * runs out of resources. However, knowing MonetDB is knowing that you
+	 * should handle it a little bit with care, so I give a very minimalistic
+	 * number here.
+	 *
+	 * @return the maximum number of connections
+	 */
+	@Override
+	public int getMaxConnections() {
+		if (env_max_clients == null)
+			getEnvValues();
+
+		int max_clients = 16;
+		if (env_max_clients != null) {
+			try {
+				max_clients = Integer.parseInt(env_max_clients);
+			} catch (NumberFormatException nfe) { /* ignore */ }
+		}
+		return max_clients;
+	}
+
+	/**
+	 * What is the maximum cursor name length
+	 * Actually we do not do named cursors, so I keep the value small as
+	 * a precaution for maybe the future.
+	 *
+	 * @return max cursor name length in bytes
+	 */
+	@Override
+	public int getMaxCursorNameLength() {
+		return 1024;
+	}
+
+	/**
+	 * Retrieves the maximum number of bytes for an index, including all
+	 * of the parts of the index.
+	 *
+	 * @return max index length in bytes, which includes the composite
+	 *         of all the constituent parts of the index; a result of zero
+	 *         means that there is no limit or the limit is not known
+	 */
+	@Override
+	public int getMaxIndexLength() {
+		return 0; // I assume it is large, but I don't know
+	}
+
+	/**
+	 * Retrieves the maximum number of characters that this database
+	 * allows in a schema name.
+	 *
+	 * @return the number of characters or 0 if there is no limit, or the
+	 *         limit is unknown.
+	 */
+	@Override
+	public int getMaxSchemaNameLength() {
+		return 1024;
+	}
+
+	/**
+	 * What is the maximum length of a procedure name
+	 *
+	 * @return the max name length in bytes
+	 */
+	@Override
+	public int getMaxProcedureNameLength() {
+		return 1024;
+	}
+
+	/**
+	 * What is the maximum length of a catalog
+	 *
+	 * @return the maximum number of characters allowed in a catalog name;
+	 * a result of zero means that there is no limit or the limit is not known
+	 */
+	@Override
+	public int getMaxCatalogNameLength() {
+		return 0;  // MonetDB does not support catalog names
+	}
+
+	/**
+	 * What is the maximum length of a single row?
+	 *
+	 * @return max row size in bytes
+	 */
+	@Override
+	public int getMaxRowSize() {
+		return 0;	// very long I hope...
+	}
+
+	/**
+	 * Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
+	 * blobs?
+	 * Yes I thought so...
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean doesMaxRowSizeIncludeBlobs() {
+		return true;
+	}
+
+	/**
+	 * What is the maximum length of a SQL statement?
+	 * Till a programmer makes a mistake and causes a segmentation fault
+	 * on a string overflow...
+	 *
+	 * @return max length in bytes
+	 */
+	@Override
+	public int getMaxStatementLength() {
+		return 0;		// actually whatever fits in size_t
+	}
+
+	/**
+	 * How many active statements can we have open at one time to
+	 * this database?  Basically, since each Statement downloads
+	 * the results as the query is executed, we can have many.
+	 *
+	 * @return the maximum
+	 */
+	@Override
+	public int getMaxStatements() {
+		return 0;
+	}
+
+	/**
+	 * What is the maximum length of a table name
+	 *
+	 * @return max name length in bytes
+	 */
+	@Override
+	public int getMaxTableNameLength() {
+		return 1024;
+	}
+
+	/**
+	 * What is the maximum number of tables that can be specified
+	 * in a SELECT?
+	 *
+	 * @return the maximum
+	 */
+	@Override
+	public int getMaxTablesInSelect() {
+		return 0; // no limit
+	}
+
+	/**
+	 * What is the maximum length of a user name
+	 *
+	 * @return the max name length in bytes
+	 */
+	@Override
+	public int getMaxUserNameLength() {
+		return 512;
+	}
+
+	/**
+	 * What is the database's default transaction isolation level?
+	 * We only see commited data, nonrepeatable reads and phantom
+	 * reads can occur.
+	 *
+	 * @return the default isolation level
+	 * @see Connection
+	 */
+	@Override
+	public int getDefaultTransactionIsolation() {
+		return Connection.TRANSACTION_SERIALIZABLE;
+	}
+
+	/**
+	 * Are transactions supported?	If not, commit and rollback are noops
+	 * and the isolation level is TRANSACTION_NONE.  We do support
+	 * transactions.
+	 *
+	 * @return true if transactions are supported
+	 */
+	@Override
+	public boolean supportsTransactions() {
+		return true;
+	}
+
+	/**
+	 * Does the database support the given transaction isolation level?
+	 * We only support TRANSACTION_READ_COMMITTED as far as I know
+	 *
+	 * @param level the values are defined in java.sql.Connection
+	 * @return true if so
+	 * @see Connection
+	 */
+	@Override
+	public boolean supportsTransactionIsolationLevel(int level) {
+		return level == Connection.TRANSACTION_SERIALIZABLE;
+	}
+
+	/**
+	 * Are both data definition and data manipulation transactions
+	 * supported?
+	 * Supposedly that data definition is like CREATE or ALTER TABLE
+	 * yes it is.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsDataDefinitionAndDataManipulationTransactions() {
+		return true;
+	}
+
+	/**
+	 * Are only data manipulation statements within a transaction
+	 * supported?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean supportsDataManipulationTransactionsOnly() {
+		return false;
+	}
+
+	/**
+	 * Does a data definition statement within a transaction force
+	 * the transaction to commit?  I think this means something like:
+	 *
+	 * <p><pre>
+	 * CREATE TABLE T (A INT);
+	 * INSERT INTO T (A) VALUES (2);
+	 * BEGIN;
+	 * UPDATE T SET A = A + 1;
+	 * CREATE TABLE X (A INT);
+	 * SELECT A FROM T INTO X;
+	 * COMMIT;
+	 * </pre></p>
+	 *
+	 * does the CREATE TABLE call cause a commit?  The answer is no.
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean dataDefinitionCausesTransactionCommit() {
+		return false;
+	}
+
+	/**
+	 * Is a data definition statement within a transaction ignored?
+	 *
+	 * @return true if so
+	 */
+	@Override
+	public boolean dataDefinitionIgnoredInTransactions() {
+		return false;
+	}
+
+	/**
+	 * Get a description of stored procedures available in a catalog
+	 *
+	 * <p>Only procedure descriptions matching the schema and procedure
+	 * name criteria are returned.	They are ordered by PROCEDURE_SCHEM,
+	 *  PROCEDURE_NAME and SPECIFIC_NAME.
+	 *
+	 * <p>Each procedure description has the following columns:
+	 * <ol>
+	 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null)
+	 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null)
+	 * <li><b>PROCEDURE_NAME</b> String => procedure name
+	 * <li><b>Field4</b> reserved (make it null)
+	 * <li><b>Field5</b> reserved (make it null)
+	 * <li><b>Field6</b> reserved (make it null)
+	 * <li><b>REMARKS</b> String => explanatory comment on the procedure
+	 * <li><b>PROCEDURE_TYPE</b> short => kind of procedure
+	 *	<ul>
+	 *	  <li> procedureResultUnknown - May return a result
+	 *	  <li> procedureNoResult - Does not return a result
+	 *	  <li> procedureReturnsResult - Returns a result
+	 *	</ul>
+	 * </ol>
+	 * <li><b>SPECIFIC_NAME</b> String => The name which uniquely identifies this procedure within its schema.
+	 *
+	 * @param catalog - a catalog name; must match the catalog name as it is stored in the database;
+	 *	"" retrieves those without a catalog;
+	 *	null means that the catalog name should not be used to narrow the search
+	 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database;
+	 *	"" retrieves those without a schema;
+	 *	null means that the schema name should not be used to narrow the search
+	 * @param procedureNamePattern - a procedure name pattern; must match the procedure name as it is stored in the database
+	 * @return ResultSet - each row is a procedure description
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getProcedures(
+		String catalog,
+		String schemaPattern,
+		String procedureNamePattern
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(980);
+		query.append("SELECT cast(null as varchar(1)) AS \"PROCEDURE_CAT\", " +
+			"\"schemas\".\"name\" AS \"PROCEDURE_SCHEM\", " +
+			"\"functions\".\"name\" AS \"PROCEDURE_NAME\", " +
+			"cast(null as char(1)) AS \"Field4\", " +
+			"cast(null as char(1)) AS \"Field5\", " +
+			"cast(null as char(1)) AS \"Field6\", " +
+			"cast(\"functions\".\"func\" as varchar(9999)) AS \"REMARKS\", " +
+			// in MonetDB procedures have no return value by design.
+			"CAST(").append(DatabaseMetaData.procedureNoResult).append(" AS smallint) AS \"PROCEDURE_TYPE\", " +
+			// only the id value uniquely identifies a procedure. Include it to be able to differentiate between multiple overloaded procedures with the same name
+			"cast(\"functions\".\"id\" as varchar(10)) AS \"SPECIFIC_NAME\" " +
+		"FROM \"sys\".\"functions\" JOIN \"sys\".\"schemas\" ON (\"functions\".\"schema_id\" = \"schemas\".\"id\") " +
+		// include procedures only (type = 2). Others will be returned via getFunctions()
+		"WHERE \"functions\".\"type\" = 2");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (procedureNamePattern != null) {
+			query.append(" AND \"functions\".\"name\" ").append(composeMatchPart(procedureNamePattern));
+		}
+
+		query.append(" ORDER BY \"PROCEDURE_SCHEM\", \"PROCEDURE_NAME\", \"SPECIFIC_NAME\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of a catalog's stored procedure parameters
+	 * and result columns.
+	 *
+	 * <p>Only descriptions matching the schema, procedure and parameter name
+	 * criteria are returned. They are ordered by PROCEDURE_SCHEM, PROCEDURE_NAME
+	 * and SPECIFIC_NAME. Within this, the return value, if any, is first.
+	 * Next are the parameter descriptions in call order. The
+	 * column descriptions follow in column number order.
+	 *
+	 * <p>Each row in the ResultSet is a parameter description or column
+	 * description with the following fields:
+	 * <ol>
+	 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null)
+	 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null)
+	 * <li><b>PROCEDURE_NAME</b> String => procedure name
+	 * <li><b>COLUMN_NAME</b> String => column/parameter name
+	 * <li><b>COLUMN_TYPE</b> Short => kind of column/parameter:
+	 * <ul><li>procedureColumnUnknown - nobody knows
+	 * <li>procedureColumnIn - IN parameter
+	 * <li>procedureColumnInOut - INOUT parameter
+	 * <li>procedureColumnOut - OUT parameter
+	 * <li>procedureColumnReturn - procedure return value
+	 * <li>procedureColumnResult - result column in ResultSet
+	 * </ul>
+	 * <li><b>DATA_TYPE</b> int => SQL type from java.sql.Types
+	 * <li><b>TYPE_NAME</b> String => SQL type name, for a UDT type the type name is fully qualified
+	 * <li><b>PRECISION</b> int => precision
+	 * <li><b>LENGTH</b> int => length in bytes of data
+	 * <li><b>SCALE</b> short => scale - null is returned for data types where SCALE is not applicable.
+	 * <li><b>RADIX</b> short => radix
+	 * <li><b>NULLABLE</b> short => can it contain NULL?
+	 * <ul><li>procedureNoNulls - does not allow NULL values
+	 * <li>procedureNullable - allows NULL values
+	 * <li>procedureNullableUnknown - nullability unknown
+	 * </ul>
+	 * <li><b>REMARKS</b> String => comment describing parameter/column
+	 * <li><b>COLUMN_DEF</b> String => default value for the column, which should be interpreted as a string when the value is enclosed in single quotes (may be null)
+	 *         The string NULL (not enclosed in quotes) - if NULL was specified as the default value
+	 *         TRUNCATE (not enclosed in quotes) - if the specified default value cannot be represented without truncation
+	 *         NULL - if a default value was not specified
+	 * <li><b>SQL_DATA_TYPE</b> int => reserved for future use
+	 * <li><b>SQL_DATETIME_SUB</b> int => reserved for future use
+	 * <li><b>CHAR_OCTET_LENGTH</b> int => the maximum length of binary and character based columns. For any other datatype the returned value is a NULL
+	 * <li><b>ORDINAL_POSITION</b> int => the ordinal position, starting from 1, for the input and output parameters for a procedure.
+	 *	A value of 0 is returned if this row describes the procedure's return value. For result set columns, it is the ordinal position of the
+	 *	column in the result set starting from 1. If there are multiple result sets, the column ordinal positions are implementation defined.
+	 * <li><b>IS_NULLABLE</b> String => ISO rules are used to determine the nullability for a column.
+	 * <ul><li>YES --- if the parameter can include NULLs
+	 * <li>NO --- if the parameter cannot include NULLs
+	 * <li>empty string --- if the nullability for the parameter is unknown
+	 * </ul>
+	 * <li><b>SPECIFIC_NAME</b> String => the name which uniquely identifies this procedure within its schema.
+	 * </ol>
+	 * @param catalog - a catalog name; must match the catalog name as it is stored in the database;
+	 *	"" retrieves those without a catalog;
+	 *	null means that the catalog name should not be used to narrow the search
+	 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database;
+	 *	"" retrieves those without a schema;
+	 *	null means that the schema name should not be used to narrow the search
+	 * @param procedureNamePattern - a procedure name pattern; must match the procedure name as it is stored in the database
+	 * @param columnNamePattern - a column name pattern; must match the column name as it is stored in the database
+	 * @return ResultSet - each row describes a stored procedure parameter or column
+	 * @throws SQLException if a database-access error occurs
+	 * @see #getSearchStringEscape
+	 */
+	@Override
+	public ResultSet getProcedureColumns(
+		String catalog,
+		String schemaPattern,
+		String procedureNamePattern,
+		String columnNamePattern
+	) throws SQLException {
+		StringBuilder query = new StringBuilder(2900);
+		query.append("SELECT cast(null as varchar(1)) AS \"PROCEDURE_CAT\", " +
+			"\"schemas\".\"name\" AS \"PROCEDURE_SCHEM\", " +
+			"\"functions\".\"name\" AS \"PROCEDURE_NAME\", " +
+			"\"args\".\"name\" AS \"COLUMN_NAME\", " +
+			"CAST(CASE \"args\".\"inout\"" +
+				" WHEN 0 THEN (CASE \"args\".\"number\" WHEN 0 THEN ").append(DatabaseMetaData.procedureColumnReturn).append(" ELSE ").append(DatabaseMetaData.procedureColumnOut).append(" END)" +
+				" WHEN 1 THEN ").append(DatabaseMetaData.procedureColumnIn)
+				.append(" ELSE ").append(DatabaseMetaData.procedureColumnUnknown).append(" END AS smallint) AS \"COLUMN_TYPE\", " +
+			"CAST(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS int) AS \"DATA_TYPE\", " +
+			"\"args\".\"type\" AS \"TYPE_NAME\", " +
+			"CASE \"args\".\"type\" WHEN 'tinyint' THEN 3 WHEN 'smallint' THEN 5 WHEN 'int' THEN 10 WHEN 'bigint' THEN 19 WHEN 'hugeint' THEN 38 WHEN 'oid' THEN 19 WHEN 'wrd' THEN 19 ELSE \"args\".\"type_digits\" END AS \"PRECISION\", " +
+			"CASE \"args\".\"type\" WHEN 'tinyint' THEN 1 WHEN 'smallint' THEN 2 WHEN 'int' THEN 4 WHEN 'bigint' THEN 8 WHEN 'hugeint' THEN 16 WHEN 'oid' THEN 8 WHEN 'wrd' THEN 8 ELSE \"args\".\"type_digits\" END AS \"LENGTH\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric','time','timetz','timestamp','timestamptz','sec_interval') THEN \"args\".\"type_scale\" ELSE NULL END AS smallint) AS \"SCALE\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric') THEN 10 WHEN \"args\".\"type\" IN ('real','float','double') THEN 2 ELSE NULL END AS smallint) AS \"RADIX\", " +
+			"CAST(").append(DatabaseMetaData.procedureNullableUnknown).append(" AS smallint) AS \"NULLABLE\", " +
+			"CAST(null as char(1)) AS \"REMARKS\", " +
+			"CAST(null as char(1)) AS \"COLUMN_DEF\", " +
+			"CAST(0 as int) AS \"SQL_DATA_TYPE\", " +
+			"CAST(0 as int) AS \"SQL_DATETIME_SUB\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('char','varchar','clob') THEN \"args\".\"type_digits\" ELSE NULL END as int) AS \"CHAR_OCTET_LENGTH\", " +
+			// in MonetDB procedures have no return value by design. The arguments in sys.args are numbered from 0 so we must add 1 to comply with the API specification.
+			"CAST(\"args\".\"number\" + 1 as int) AS \"ORDINAL_POSITION\", " +
+			"CAST('' as varchar(3)) AS \"IS_NULLABLE\", " +
+			// the specific name contains the function id, in order to be able to match the args to the correct overloaded procedure name
+			"cast(\"functions\".\"id\" as varchar(10)) AS \"SPECIFIC_NAME\" " +
+		"FROM \"sys\".\"args\", \"sys\".\"functions\", \"sys\".\"schemas\" " +
+		"WHERE \"args\".\"func_id\" = \"functions\".\"id\" " +
+		"AND \"functions\".\"schema_id\" = \"schemas\".\"id\" " +
+		// include procedures only (type = 2). Others will be returned via getFunctionColumns()
+		"AND \"functions\".\"type\" = 2");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (procedureNamePattern != null) {
+			query.append(" AND \"functions\".\"name\" ").append(composeMatchPart(procedureNamePattern));
+		}
+		if (columnNamePattern != null) {
+			query.append(" AND \"args\".\"name\" ").append(composeMatchPart(columnNamePattern));
+		}
+		query.append(" ORDER BY \"PROCEDURE_SCHEM\", \"PROCEDURE_NAME\", \"SPECIFIC_NAME\", \"ORDINAL_POSITION\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+
+	//== this is a helper method which does not belong to the interface
+
+	/**
+	 * Returns a SQL match part string where depending on the input value we
+	 * compose an exact match (use =) or match with wildcards (use LIKE)
+	 *
+	 * @param in the string to match
+	 * @return the SQL match part string
+	 */
+	private static final String composeMatchPart(String in) {
+		if (in == null)
+			return "IS NULL";
+
+		String sql = "= '";
+		// check if SQL wildcards are used in the input, if so use LIKE
+		if (in.contains("%") || in.contains("_"))
+			sql = "LIKE '";
+
+		// all slashes and single quotes in input are escaped with a slash.
+		String escaped = in.replaceAll("\\\\", "\\\\\\\\").replaceAll("'", "\\\\'");
+
+		return sql + escaped + "'";
+	}
+
+	/**
+	 * Returns the given string between two double quotes for usage as
+	 * exact column or table name in SQL queries.
+	 *
+	 * @param in the string to quote
+	 * @return the quoted string
+	 */
+//	@SuppressWarnings("unused")
+//	private static final String dq(String in) {
+//		return "\"" + in.replaceAll("\\\\", "\\\\\\\\").replaceAll("\"", "\\\\\"") + "\"";
+//	}
+
+	//== end helper methods
+
+
+	/**
+	 * Retrieves a description of the tables available in the given catalog.
+	 * Only table descriptions matching the catalog, schema, table name and type criteria are returned.
+	 * They are ordered by TABLE_TYPE, TABLE_CAT, TABLE_SCHEM and TABLE_NAME.
+	 *
+	 * <p>Each table description has the following columns:
+	 *
+	 * <ol>
+	 * <li><b>TABLE_CAT</b> String => table catalog (may be null)
+	 * <li><b>TABLE_SCHEM</b> String => table schema (may be null)
+	 * <li><b>TABLE_NAME</b> String => table name
+	 * <li><b>TABLE_TYPE</b> String => table type. Typical types are "TABLE",
+	 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+	 * <li><b>REMARKS</b> String => explanatory comment on the table
+	 * <li><b>TYPE_CAT</b> String => the types catalog (may be null)
+	 * <li><b>TYPE_SCHEM</b> String => the types schema (may be null)
+	 * <li><b>TYPE_NAME</b> String => type name (may be null)
+	 * <li><b>SELF_REFERENCING_COL_NAME</b> String => name of the designated "identifier" column of a typed table (may be null)
+	 * <li><b>REF_GENERATION</b> String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null)
+	 * </ol>
+	 *
+	 * @param catalog - a catalog name; must match the catalog name as it is stored in the database;
+	 *	"" retrieves those without a catalog; null means that the
+	 *	catalog name should not be used to narrow the search
+	 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored
+	 *	in the database; "" retrieves those without a schema;
+	 *	null means that the schema name should not be used to narrow the search
+	 * @param tableNamePattern - a table name pattern; must match the table name as it is stored in the database
+	 *	For all tables this should be "%"
+	 * @param types - a list of table types, which must be from the list of table types returned
+	 *	from getTableTypes(),to include; null returns all types
+	 * @return ResultSet - each row is a table description
+	 * @throws SQLException if a database-access error occurs.
+	 */
+	@Override
+	public ResultSet getTables(
+		String catalog,
+		String schemaPattern,
+		String tableNamePattern,
+		String types[]
+	) throws SQLException
+	{
+		// as of Jul2015 release the sys.tables.type values (0 through 6) is extended with new values 10, 11, 20, and 30 (for system and temp tables/views).
+		// as of Jul2015 release we also have a new table: sys.table_types with names for the new table types
+		// for correct behavior we need to know if the server is using the old (pre Jul2015) or new sys.tables.type values
+		boolean preJul2015 = ("11.19.15".compareTo(getDatabaseProductVersion()) >= 0);
+		/* for debug: System.out.println("getDatabaseProductVersion() is " + getDatabaseProductVersion() + "  preJul2015 is " + preJul2015); */
+
+		StringBuilder query = new StringBuilder(1600);
+		if (preJul2015 && types != null && types.length > 0) {
+			// we need to filter on the constructed "TABLE_TYPE" expression, this is only possible when we use a subquery in the FROM
+			query.append("SELECT * FROM (");
+		}
+		query.append("SELECT DISTINCT cast(null as char(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", ");
+		if (preJul2015) {
+			query.append(
+				"CASE WHEN \"tables\".\"system\" = true AND \"tables\".\"type\" IN (0, 10) AND \"tables\".\"temporary\" = 0 THEN 'SYSTEM TABLE' " +
+				"WHEN \"tables\".\"system\" = true AND \"tables\".\"type\" IN (1, 11) AND \"tables\".\"temporary\" = 0 THEN 'SYSTEM VIEW' " +
+				"WHEN \"tables\".\"system\" = false AND \"tables\".\"type\" = 0 AND \"tables\".\"temporary\" = 0 THEN 'TABLE' " +
+				"WHEN \"tables\".\"system\" = false AND \"tables\".\"type\" = 1 AND \"tables\".\"temporary\" = 0 THEN 'VIEW' " +
+				"WHEN \"tables\".\"system\" = true AND \"tables\".\"type\" IN (0, 20) AND \"tables\".\"temporary\" = 1 THEN 'SYSTEM SESSION TABLE' " +
+				"WHEN \"tables\".\"system\" = true AND \"tables\".\"type\" IN (1, 21) AND \"tables\".\"temporary\" = 1 THEN 'SYSTEM SESSION VIEW' " +
+				"WHEN \"tables\".\"system\" = false AND \"tables\".\"type\" IN (0, 30) AND \"tables\".\"temporary\" = 1 THEN 'SESSION TABLE' " +
+				"WHEN \"tables\".\"system\" = false AND \"tables\".\"type\" IN (1, 31) AND \"tables\".\"temporary\" = 1 THEN 'SESSION VIEW' " +
+				"END AS \"TABLE_TYPE\", ");
+		} else {
+			query.append("\"table_types\".\"table_type_name\" AS \"TABLE_TYPE\", ");
+		}
+		query.append("\"tables\".\"query\" AS \"REMARKS\", " +
+			"cast(null as char(1)) AS \"TYPE_CAT\", " +
+			"cast(null as char(1)) AS \"TYPE_SCHEM\", " +
+			"cast(null as char(1)) AS \"TYPE_NAME\", " +
+			"cast(null as char(1)) AS \"SELF_REFERENCING_COL_NAME\", " +
+			"cast(null as char(1)) AS \"REF_GENERATION\" " +
+			"FROM \"sys\".\"tables\", \"sys\".\"schemas\"");
+		if (!preJul2015) {
+			query.append(", \"sys\".\"table_types\"");
+		}
+		query.append(" WHERE \"tables\".\"schema_id\" = \"schemas\".\"id\"");
+		if (!preJul2015) {
+			query.append(" AND \"tables\".\"type\" = \"table_types\".\"table_type_id\"");
+		}
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (tableNamePattern != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(tableNamePattern));
+		}
+		if (types != null && types.length > 0) {
+			if (preJul2015) {
+				query.append(") AS \"getTables\" WHERE \"TABLE_TYPE\" IN (");
+			} else {
+				query.append(" AND \"table_types\".\"table_type_name\" IN (");
+			}
+			for (int i = 0; i < types.length; i++) {
+				if (i > 0) {
+					query.append(", ");
+				}
+				query.append("'").append(types[i]).append("'");
+			}
+			query.append(")");
+		}
+
+		query.append(" ORDER BY \"TABLE_TYPE\", \"TABLE_SCHEM\", \"TABLE_NAME\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get the schema names available in this database.  The results
+	 * are ordered by schema name.
+	 *
+	 * <P>The schema column is:
+	 *	<OL>
+	 *	<LI><B>TABLE_SCHEM</B> String => schema name
+	 *	<LI><B>TABLE_CATALOG</B> String => catalog name (may be null)
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; must match the catalog name as it
+	 *        is stored in the database;"" retrieves those without a
+	 *        catalog; null means catalog name should not be used to
+	 *        narrow down the search.
+	 * @param schemaPattern a schema name; must match the schema name as
+	 *        it is stored in the database; null means schema name
+	 *        should not be used to narrow down the search.
+	 * @return ResultSet each row has a single String column that is a
+	 *         schema name
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getSchemas(String catalog, String schemaPattern)
+		throws SQLException
+	{
+		StringBuilder query = new StringBuilder(170);
+		query.append("SELECT \"name\" AS \"TABLE_SCHEM\", " +
+				"cast(null as char(1)) AS \"TABLE_CATALOG\" " +
+			"FROM \"sys\".\"schemas\"");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" WHERE 1 = 0");
+		} else {
+			if (schemaPattern != null) {
+				query.append(" WHERE \"name\" ").append(composeMatchPart(schemaPattern));
+			}
+		}
+		query.append(" ORDER BY \"TABLE_SCHEM\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get the catalog names available in this database.  The results
+	 * are ordered by catalog name.
+	 *
+	 * <P>The catalog column is:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => catalog name
+	 *	</OL>
+	 *
+	 *
+	 * @return ResultSet each row has a single String column that is a
+	 *         catalog name
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getCatalogs() throws SQLException {
+		// MonetDB does NOT support catalogs.
+		// Return a resultset with no rows
+		return executeMetaDataQuery("SELECT cast(null as char(1)) AS \"TABLE_CAT\" WHERE 1 = 0");
+	}
+
+	/**
+	 * Get the table types available in this database. The results
+	 * are ordered by table type.
+	 *
+	 * <P>The table type is:
+	 *	<OL>
+	 *	<LI><B>TABLE_TYPE</B> String => table type.  Typical types are "TABLE",
+	 *			"VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
+	 *			"LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+	 *	</OL>
+	 *
+	 * @return ResultSet each row has a single String column that is a
+	 *         table type
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getTableTypes() throws SQLException {
+		// as of Jul2015 release we have a new table: sys.table_types with more table types
+		String query = "SELECT \"table_type_name\" AS \"TABLE_TYPE\" FROM \"sys\".\"table_types\" ORDER BY 1";
+		// For old (pre jul2015) servers fall back to old behavior.
+		boolean preJul2015 = ("11.19.15".compareTo(getDatabaseProductVersion()) >= 0);
+		if (preJul2015) {
+			query = "SELECT 'SESSION TABLE' AS \"TABLE_TYPE\" UNION ALL " +
+				"SELECT 'SESSION VIEW' UNION ALL " +
+				"SELECT 'SYSTEM SESSION TABLE' UNION ALL " +
+				"SELECT 'SYSTEM SESSION VIEW' UNION ALL " +
+				"SELECT 'SYSTEM TABLE' UNION ALL " +
+				"SELECT 'SYSTEM VIEW' UNION ALL " +
+				"SELECT 'TABLE' UNION ALL " +
+				"SELECT 'VIEW' ORDER BY 1";
+		}
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Get a description of table columns available in a catalog.
+	 *
+	 * <P>Only column descriptions matching the catalog, schema, table
+	 * and column name criteria are returned.  They are ordered by
+	 * TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.
+	 *
+	 * <P>Each column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
+	 *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
+	 *	<LI><B>TABLE_NAME</B> String => table name
+	 *	<LI><B>COLUMN_NAME</B> String => column name
+	 *	<LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types
+	 *	<LI><B>TYPE_NAME</B> String => Data source dependent type name
+	 *	<LI><B>COLUMN_SIZE</B> int => column size.	For char or date
+	 *		types this is the maximum number of characters, for numeric or
+	 *		decimal types this is precision.
+	 *	<LI><B>BUFFER_LENGTH</B> is not used.
+	 *	<LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits
+	 *	<LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2)
+	 *	<LI><B>NULLABLE</B> int => is NULL allowed?
+	 *		<UL>
+	 *		<LI> columnNoNulls - might not allow NULL values
+	 *		<LI> columnNullable - definitely allows NULL values
+	 *		<LI> columnNullableUnknown - nullability unknown
+	 *		</UL>
+	 *	<LI><B>REMARKS</B> String => comment describing column (may be null)
+	 *	<LI><B>COLUMN_DEF</B> String => default value (may be null)
+	 *	<LI><B>SQL_DATA_TYPE</B> int => unused
+	 *	<LI><B>SQL_DATETIME_SUB</B> int => unused
+	 *	<LI><B>CHAR_OCTET_LENGTH</B> int => for char types the
+	 *		 maximum number of bytes in the column
+	 *	<LI><B>ORDINAL_POSITION</B> int => index of column in table
+	 *		(starting at 1)
+	 *	<LI><B>IS_NULLABLE</B> String => "NO" means column definitely
+	 *		does not allow NULL values; "YES" means the column might
+	 *		allow NULL values.	An empty string means nobody knows.
+	 *	<LI><B>SCOPE_CATALOG</B> String => catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF)
+	 *	<LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope of a reference attribute (null if the DATA_TYPE isn't REF)
+	 *	<LI><B>SCOPE_TABLE</B> String => table name that this the scope of a reference attribute (null if the DATA_TYPE isn't REF)
+	 *	<LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF)
+	 *	<LI><B>IS_AUTOINCREMENT</B> String => Indicates whether this column is auto incremented
+	 *		<UL>
+	 *		<LI> YES --- if the column is auto incremented
+	 *		<LI> NO --- if the column is not auto incremented
+    	 *		<LI> empty string --- if it cannot be determined whether the column is auto incremented
+	 *		</UL>
+	 *	<LI><B>IS_GENERATEDCOLUMN</B> String => Indicates whether this is a generated column
+	 *		<UL>
+	 *		<LI> YES --- if this a generated column
+	 *		<LI> NO --- if this not a generated column
+	 *		<LI> empty string --- if it cannot be determined whether this is a generated column
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param catalog - a catalog name; must match the catalog name as it is stored in the database;
+	 *	"" retrieves those without a catalog; null means that the
+	 *	catalog name should not be used to narrow the search
+	 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored
+	 *	in the database; "" retrieves those without a schema;
+	 *	null means that the schema name should not be used to narrow the search
+	 * @param tableNamePattern - a table name pattern; must match the table name as it is stored in the database
+	 *	For all tables this should be "%"
+	 * @param columnNamePattern - a column name pattern; must match the column name as it is stored in the database
+	 * @return ResultSet - each row is a column description
+	 * @throws SQLException if a database error occurs
+	 * @see #getSearchStringEscape
+	 */
+	@Override
+	public ResultSet getColumns(
+		String catalog,
+		String schemaPattern,
+		String tableNamePattern,
+		String columnNamePattern
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(2450);
+		query.append("SELECT cast(null as char(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", " +
+			"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
+			"cast(").append(MonetDriver.getSQLTypeMap("\"columns\".\"type\"")).append(" AS int) AS \"DATA_TYPE\", " +
+			"\"columns\".\"type\" AS \"TYPE_NAME\", " +
+			"\"columns\".\"type_digits\" AS \"COLUMN_SIZE\", " +
+			"0 AS \"BUFFER_LENGTH\", " +
+			"\"columns\".\"type_scale\" AS \"DECIMAL_DIGITS\", " +
+			"cast(CASE WHEN \"columns\".\"type\" IN ('decimal', 'numeric', 'sec_interval') THEN 10 " +
+				"WHEN \"columns\".\"type\" IN ('int', 'smallint', 'tinyint', 'bigint', 'hugeint', 'float', 'real', 'double', 'oid', 'wrd') THEN 2 " +
+				"ELSE 0 END AS int) AS \"NUM_PREC_RADIX\", " +
+			"cast(CASE \"null\" WHEN true THEN ").append(ResultSetMetaData.columnNullable)
+			.append(" WHEN false THEN ").append(ResultSetMetaData.columnNoNulls).append(" END AS int) AS \"NULLABLE\", " +
+			"cast(null AS varchar(1)) AS \"REMARKS\", " +
+			"\"columns\".\"default\" AS \"COLUMN_DEF\", " +
+			"cast(0 as int) AS \"SQL_DATA_TYPE\", " +
+			"cast(0 as int) AS \"SQL_DATETIME_SUB\", " +
+			"cast(CASE WHEN \"columns\".\"type\" IN ('char','varchar','clob') THEN \"columns\".\"type_digits\" ELSE NULL END as int) AS \"CHAR_OCTET_LENGTH\", " +
+			"cast(\"columns\".\"number\" + 1 as int) AS \"ORDINAL_POSITION\", " +
+			"cast(CASE \"null\" WHEN true THEN 'YES' WHEN false THEN 'NO' ELSE '' END AS varchar(3)) AS \"IS_NULLABLE\", " +
+			"cast(null AS varchar(1)) AS \"SCOPE_CATALOG\", " +
+			"cast(null AS varchar(1)) AS \"SCOPE_SCHEMA\", " +
+			"cast(null AS varchar(1)) AS \"SCOPE_TABLE\", " +
+			"cast(").append(MonetDriver.getJavaType("other")).append(" AS smallint) AS \"SOURCE_DATA_TYPE\", " +
+			"cast(CASE WHEN \"columns\".\"default\" IS NOT NULL AND \"columns\".\"default\" LIKE 'next value for %' THEN 'YES' ELSE 'NO' END AS varchar(3)) AS \"IS_AUTOINCREMENT\", " +
+			"cast('NO' AS varchar(3)) AS \"IS_GENERATEDCOLUMN\" " +
+		"FROM \"sys\".\"columns\", " +
+			"\"sys\".\"tables\", " +
+			"\"sys\".\"schemas\" " +
+		"WHERE \"columns\".\"table_id\" = \"tables\".\"id\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\"");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (tableNamePattern != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(tableNamePattern));
+		}
+		if (columnNamePattern != null) {
+			query.append(" AND \"columns\".\"name\" ").append(composeMatchPart(columnNamePattern));
+		}
+
+		query.append(" ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", \"ORDINAL_POSITION\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of the access rights for a table's columns.
+	 * MonetDB doesn't have this level of access rights.
+	 *
+	 * <P>Only privileges matching the column name criteria are
+	 * returned.  They are ordered by COLUMN_NAME and PRIVILEGE.
+	 *
+	 * <P>Each privilige description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
+	 *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
+	 *	<LI><B>TABLE_NAME</B> String => table name
+	 *	<LI><B>COLUMN_NAME</B> String => column name
+	 *	<LI><B>GRANTOR</B> => grantor of access (may be null)
+	 *	<LI><B>GRANTEE</B> String => grantee of access
+	 *	<LI><B>PRIVILEGE</B> String => name of access (SELECT,
+	 *		INSERT, UPDATE, REFRENCES, ...)
+	 *	<LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted
+	 *		to grant to others; "NO" if not; null if unknown
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schemaPattern a schema name; "" retrieves those without a schema
+	 * @param tableNamePattern a table name
+	 * @param columnNamePattern a column name pattern
+	 * @return ResultSet each row is a column privilege description
+	 * @see #getSearchStringEscape
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getColumnPrivileges(
+		String catalog,
+		String schemaPattern,
+		String tableNamePattern,
+		String columnNamePattern
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(1100);
+		query.append("SELECT cast(null as char(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", " +
+			"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
+			"\"grantors\".\"name\" AS \"GRANTOR\", " +
+			"\"grantees\".\"name\" AS \"GRANTEE\", " +
+			"CAST(CASE \"privileges\".\"privileges\" " +
+				"WHEN 1 THEN 'SELECT' " +
+				"WHEN 2 THEN 'UPDATE' " +
+				"WHEN 4 THEN 'INSERT' " +
+				"WHEN 8 THEN 'DELETE' " +
+				"WHEN 16 THEN 'EXECUTE' " +
+				"WHEN 32 THEN 'GRANT' " +
+				"ELSE NULL " +
+			"END AS varchar(7)) AS \"PRIVILEGE\", " +
+			"CAST(CASE \"privileges\".\"grantable\" " +
+				"WHEN 0 THEN 'NO' " +
+				"WHEN 1 THEN 'YES' " +
+				"ELSE NULL " +
+			"END AS varchar(3)) AS \"IS_GRANTABLE\" " +
+		"FROM \"sys\".\"privileges\", " +
+			"\"sys\".\"tables\", " +
+			"\"sys\".\"schemas\", " +
+			"\"sys\".\"columns\", " +
+			"\"sys\".\"auths\" AS \"grantors\", " +
+			"\"sys\".\"auths\" AS \"grantees\" " +
+		"WHERE \"privileges\".\"obj_id\" = \"columns\".\"id\" " +
+			"AND \"columns\".\"table_id\" = \"tables\".\"id\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\" " +
+			"AND \"privileges\".\"auth_id\" = \"grantees\".\"id\" " +
+			"AND \"privileges\".\"grantor\" = \"grantors\".\"id\"");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (tableNamePattern != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(tableNamePattern));
+		}
+		if (columnNamePattern != null) {
+			query.append(" AND \"columns\".\"name\" ").append(composeMatchPart(columnNamePattern));
+		}
+
+		query.append(" ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", \"COLUMN_NAME\", \"PRIVILEGE\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of the access rights for each table available
+	 * in a catalog.
+	 *
+	 * <P>Only privileges matching the schema and table name
+	 * criteria are returned.  They are ordered by TABLE_SCHEM,
+	 * TABLE_NAME, and PRIVILEGE.
+	 *
+	 * <P>Each privilege description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
+	 *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
+	 *	<LI><B>TABLE_NAME</B> String => table name
+	 *	<LI><B>GRANTOR</B> => grantor of access (may be null)
+	 *	<LI><B>GRANTEE</B> String => grantee of access
+	 *	<LI><B>PRIVILEGE</B> String => name of access (SELECT,
+	 *		INSERT, UPDATE, REFRENCES, ...)
+	 *	<LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted
+	 *		to grant to others; "NO" if not; null if unknown
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schemaPattern a schema name pattern; "" retrieves those without a schema
+	 * @param tableNamePattern a table name pattern
+	 * @return ResultSet each row is a table privilege description
+	 * @see #getSearchStringEscape
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getTablePrivileges(
+		String catalog,
+		String schemaPattern,
+		String tableNamePattern
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(1000);
+		query.append("SELECT cast(null as char(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", " +
+			"\"grantors\".\"name\" AS \"GRANTOR\", " +
+			"\"grantees\".\"name\" AS \"GRANTEE\", " +
+			"CAST(CASE \"privileges\".\"privileges\" " +
+				"WHEN 1 THEN 'SELECT' " +
+				"WHEN 2 THEN 'UPDATE' " +
+				"WHEN 4 THEN 'INSERT' " +
+				"WHEN 8 THEN 'DELETE' " +
+				"WHEN 16 THEN 'EXECUTE' " +
+				"WHEN 32 THEN 'GRANT' " +
+				"ELSE NULL " +
+			"END AS varchar(7)) AS \"PRIVILEGE\", " +
+			"CAST(CASE \"privileges\".\"grantable\" " +
+				"WHEN 0 THEN 'NO' " +
+				"WHEN 1 THEN 'YES' " +
+				"ELSE NULL " +
+			"END AS varchar(3)) AS \"IS_GRANTABLE\" " +
+		"FROM \"sys\".\"privileges\", " +
+			"\"sys\".\"tables\", " +
+			"\"sys\".\"schemas\", " +
+			"\"sys\".\"auths\" AS \"grantors\", " +
+			"\"sys\".\"auths\" AS \"grantees\" " +
+		"WHERE \"privileges\".\"obj_id\" = \"tables\".\"id\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\" " +
+			"AND \"privileges\".\"auth_id\" = \"grantees\".\"id\" " +
+			"AND \"privileges\".\"grantor\" = \"grantors\".\"id\"");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (tableNamePattern != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(tableNamePattern));
+		}
+
+		query.append(" ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", \"PRIVILEGE\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of a table's optimal set of columns that
+	 * uniquely identifies a row. They are ordered by SCOPE.
+	 *
+	 * <P>Each column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>SCOPE</B> short => actual scope of result
+	 *		<UL>
+	 *		<LI> bestRowTemporary - very temporary, while using row
+	 *		<LI> bestRowTransaction - valid for remainder of current transaction
+	 *		<LI> bestRowSession - valid for remainder of current session
+	 *		</UL>
+	 *	<LI><B>COLUMN_NAME</B> String => column name
+	 *	<LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types
+	 *	<LI><B>TYPE_NAME</B> String => Data source dependent type name
+	 *	<LI><B>COLUMN_SIZE</B> int => precision
+	 *	<LI><B>BUFFER_LENGTH</B> int => not used
+	 *	<LI><B>DECIMAL_DIGITS</B> short  => scale
+	 *	<LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column
+	 *		like an Oracle ROWID
+	 *		<UL>
+	 *		<LI> bestRowUnknown - may or may not be pseudo column
+	 *		<LI> bestRowNotPseudo - is NOT a pseudo column
+	 *		<LI> bestRowPseudo - is a pseudo column
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name; "" retrieves those without a schema
+	 * @param table a table name
+	 * @param scope the scope of interest; use same values as SCOPE
+	 * @param nullable include columns that are nullable?
+	 * @return ResultSet each row is a column description
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getBestRowIdentifier(
+		String catalog,
+		String schema,
+		String table,
+		int scope,
+		boolean nullable
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(1500);
+		query.append("SELECT CAST(").append(DatabaseMetaData.bestRowSession).append(" AS smallint) AS \"SCOPE\", " +
+			"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
+			"cast(").append(MonetDriver.getSQLTypeMap("\"columns\".\"type\"")).append(" AS int) AS \"DATA_TYPE\", " +
+			"\"columns\".\"type\" AS \"TYPE_NAME\", " +
+			"\"columns\".\"type_digits\" AS \"COLUMN_SIZE\", " +
+			"CAST(0 as int) AS \"BUFFER_LENGTH\", " +
+			"CAST(\"columns\".\"type_scale\" AS smallint) AS \"DECIMAL_DIGITS\", " +
+			"CAST(").append(DatabaseMetaData.bestRowNotPseudo).append(" AS smallint) AS \"PSEUDO_COLUMN\" " +
+		"FROM \"sys\".\"keys\", " +
+			"\"sys\".\"objects\", " +
+			"\"sys\".\"columns\", " +
+			"\"sys\".\"tables\", " +
+			"\"sys\".\"schemas\" " +
+		"WHERE \"keys\".\"id\" = \"objects\".\"id\" " +
+			"AND \"keys\".\"table_id\" = \"tables\".\"id\" " +
+			"AND \"keys\".\"table_id\" = \"columns\".\"table_id\" " +
+			"AND \"objects\".\"name\" = \"columns\".\"name\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\" " +
+			"AND \"keys\".\"type\" IN (0, 1)");	// only primary keys (type = 0) and unique keys (type = 1), not fkeys (type = 2)
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schema != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schema));
+		}
+		if (table != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(table));
+		}
+		if (scope != DatabaseMetaData.bestRowSession && scope != DatabaseMetaData.bestRowTransaction && scope != DatabaseMetaData.bestRowTemporary) {
+			query.append(" AND 1 = 0");
+		}
+		if (!nullable) {
+			query.append(" AND \"columns\".\"null\" = false");
+		}
+
+		query.append(" ORDER BY \"keys\".\"type\", \"columns\".\"name\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of a table's columns that are automatically
+	 * updated when any value in a row is updated. They are unordered.
+	 *
+	 * <P>Each column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>SCOPE</B> short => is not used
+	 *	<LI><B>COLUMN_NAME</B> String => column name
+	 *	<LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types
+	 *	<LI><B>TYPE_NAME</B> String => Data source dependent type name
+	 *	<LI><B>COLUMN_SIZE</B> int => precision
+	 *	<LI><B>BUFFER_LENGTH</B> int => length of column value in bytes
+	 *	<LI><B>DECIMAL_DIGITS</B> short => scale
+	 *	<LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column like an Oracle ROWID
+	 *		<UL>
+	 *		<LI> versionColumnUnknown - may or may not be pseudo column
+	 *		<LI> versionColumnNotPseudo - is NOT a pseudo column
+	 *		<LI> versionColumnPseudo - is a pseudo column
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name; "" retrieves those without a schema
+	 * @param table a table name
+	 * @return ResultSet each row is a column description
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getVersionColumns(
+		String catalog,
+		String schema,
+		String table
+	) throws SQLException
+	{
+		// MonetDB currently does not have columns which update themselves, so return an empty ResultSet
+		String query =
+		"SELECT CAST(0 as smallint) AS \"SCOPE\", " +
+			"CAST(null as varchar(1)) AS \"COLUMN_NAME\", " +
+			"CAST(0 as int) AS \"DATA_TYPE\", " +
+			"CAST(null as varchar(1)) AS \"TYPE_NAME\", " +
+			"CAST(0 as int) AS \"COLUMN_SIZE\", " +
+			"CAST(0 as int) AS \"BUFFER_LENGTH\", " +
+			"CAST(0 as smallint) AS \"DECIMAL_DIGITS\", " +
+			"CAST(0 as smallint) AS \"PSEUDO_COLUMN\" " +
+		"WHERE 1 = 0";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Get a description of a table's primary key columns.  They
+	 * are ordered by COLUMN_NAME.
+	 *
+	 * <P>Each column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
+	 *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
+	 *	<LI><B>TABLE_NAME</B> String => table name
+	 *	<LI><B>COLUMN_NAME</B> String => column name
+	 *	<LI><B>KEY_SEQ</B> short => sequence number within primary key
+	 *	<LI><B>PK_NAME</B> String => primary key name (may be null)
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name pattern; "" retrieves those
+	 * without a schema
+	 * @param table a table name
+	 * @return ResultSet each row is a primary key column description
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getPrimaryKeys(
+		String catalog,
+		String schema,
+		String table
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(600);
+		query.append("SELECT cast(null AS varchar(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", " +
+			"\"objects\".\"name\" AS \"COLUMN_NAME\", " +
+			"CAST(1 + \"objects\".\"nr\" AS smallint) AS \"KEY_SEQ\", " +
+			" \"keys\".\"name\" AS \"PK_NAME\" " +
+		"FROM \"sys\".\"keys\", " +
+			"\"sys\".\"objects\", " +
+			"\"sys\".\"tables\", " +
+			"\"sys\".\"schemas\" " +
+		"WHERE \"keys\".\"id\" = \"objects\".\"id\" " +
+			"AND \"keys\".\"table_id\" = \"tables\".\"id\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\" " +
+			"AND \"keys\".\"type\" = 0");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schema != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schema));
+		}
+		if (table != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(table));
+		}
+
+		query.append(" ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", \"COLUMN_NAME\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+
+	private final static String keyQuery =
+	"SELECT cast(null AS varchar(1)) AS \"PKTABLE_CAT\", " +
+		"\"pkschema\".\"name\" AS \"PKTABLE_SCHEM\", " +
+		"\"pktable\".\"name\" AS \"PKTABLE_NAME\", " +
+		"\"pkkeycol\".\"name\" AS \"PKCOLUMN_NAME\", " +
+		"cast(null AS varchar(1)) AS \"FKTABLE_CAT\", " +
+		"\"fkschema\".\"name\" AS \"FKTABLE_SCHEM\", " +
+		"\"fktable\".\"name\" AS \"FKTABLE_NAME\", " +
+		"\"fkkeycol\".\"name\" AS \"FKCOLUMN_NAME\", " +
+		"CAST(1 + \"pkkeycol\".\"nr\" AS smallint) AS \"KEY_SEQ\", " +
+		DatabaseMetaData.importedKeyNoAction + " AS \"UPDATE_RULE\", " +
+		DatabaseMetaData.importedKeyNoAction + " AS \"DELETE_RULE\", " +
+		"\"fkkey\".\"name\" AS \"FK_NAME\", " +
+		"\"pkkey\".\"name\" AS \"PK_NAME\", " +
+		DatabaseMetaData.importedKeyNotDeferrable + " AS \"DEFERRABILITY\" " +
+	"FROM \"sys\".\"keys\" AS \"fkkey\", " +
+		"\"sys\".\"keys\" AS \"pkkey\", " +
+		"\"sys\".\"objects\" AS \"fkkeycol\", " +
+		"\"sys\".\"objects\" AS \"pkkeycol\", " +
+		"\"sys\".\"tables\" AS \"fktable\", " +
+		"\"sys\".\"tables\" AS \"pktable\", " +
+		"\"sys\".\"schemas\" AS \"fkschema\", " +
+		"\"sys\".\"schemas\" AS \"pkschema\" " +
+	"WHERE \"fktable\".\"id\" = \"fkkey\".\"table_id\"" +
+	" AND \"pktable\".\"id\" = \"pkkey\".\"table_id\"" +
+	" AND \"fkkey\".\"id\" = \"fkkeycol\".\"id\"" +
+	" AND \"pkkey\".\"id\" = \"pkkeycol\".\"id\"" +
+	" AND \"fkschema\".\"id\" = \"fktable\".\"schema_id\"" +
+	" AND \"pkschema\".\"id\" = \"pktable\".\"schema_id\"" +
+	" AND \"fkkey\".\"rkey\" > -1" +
+	" AND \"fkkey\".\"rkey\" = \"pkkey\".\"id\"" +
+	" AND \"fkkeycol\".\"nr\" = \"pkkeycol\".\"nr\"";
+
+	/**
+	 * Get a description of the primary key columns that are
+	 * referenced by a table's foreign key columns (the primary keys
+	 * imported by a table). They are ordered by PKTABLE_CAT,
+	 * PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.
+	 *
+	 * <P>Each primary key column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>PKTABLE_CAT</B> String => primary key table catalog
+	 *		being imported (may be null)
+	 *	<LI><B>PKTABLE_SCHEM</B> String => primary key table schema
+	 *		being imported (may be null)
+	 *	<LI><B>PKTABLE_NAME</B> String => primary key table name
+	 *		being imported
+	 *	<LI><B>PKCOLUMN_NAME</B> String => primary key column name
+	 *		being imported
+	 *	<LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null)
+	 *	<LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null)
+	 *	<LI><B>FKTABLE_NAME</B> String => foreign key table name
+	 *	<LI><B>FKCOLUMN_NAME</B> String => foreign key column name
+	 *	<LI><B>KEY_SEQ</B> short => sequence number within foreign key
+	 *		(a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key).
+	 *	<LI><B>UPDATE_RULE</B> short => What happens to
+	 *		 foreign key when primary is updated:
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow update of primary key if it has been imported
+	 *		<LI> importedKeyCascade - change imported key to agree
+	 *				 with primary key update
+	 *		<LI> importedKeyRestrict - do not allow update of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been updated
+	 *		</UL>
+	 *	<LI><B>DELETE_RULE</B> short => What happens to
+	 *		the foreign key when primary is deleted.
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow delete of primary key if it has been imported
+	 *		<LI> importedKeyCascade - delete rows that import a deleted key
+	 *		<LI> importedKeyRestrict - do not allow delete of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been deleted
+	 *		</UL>
+	 *	<LI><B>FK_NAME</B> String => foreign key name (may be null)
+	 *	<LI><B>PK_NAME</B> String => primary key name (may be null)
+	 *	<LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit
+	 *		<UL>
+	 *		<LI> importedKeyInitiallyDeferred - see SQL92 for definition
+	 *		<LI> importedKeyInitiallyImmediate - see SQL92 for definition
+	 *		<LI> importedKeyNotDeferrable - see SQL92 for definition
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name pattern; "" retrieves those without a schema
+	 * @param table a table name
+	 * @return ResultSet each row is a primary key column description
+	 * @see #getExportedKeys
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getImportedKeys(String catalog, String schema, String table)
+		throws SQLException
+	{
+		StringBuilder query = new StringBuilder(keyQuery.length() + 250);
+		query.append(keyQuery);
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schema != null) {
+			query.append(" AND \"fkschema\".\"name\" ").append(composeMatchPart(schema));
+		}
+		if (table != null) {
+			query.append(" AND \"fktable\".\"name\" ").append(composeMatchPart(table));
+		}
+
+		query.append(" ORDER BY \"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\", \"KEY_SEQ\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of a foreign key columns that reference a
+	 * table's primary key columns (the foreign keys exported by a table).
+	 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.
+	 *
+	 * <P>Each foreign key column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null)
+	 *	<LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null)
+	 *	<LI><B>PKTABLE_NAME</B> String => primary key table name
+	 *	<LI><B>PKCOLUMN_NAME</B> String => primary key column name
+	 *	<LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null)
+	 *		being exported (may be null)
+	 *	<LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null)
+	 *		being exported (may be null)
+	 *	<LI><B>FKTABLE_NAME</B> String => foreign key table name
+	 *		being exported
+	 *	<LI><B>FKCOLUMN_NAME</B> String => foreign key column name
+	 *		being exported
+	 *	<LI><B>KEY_SEQ</B> short => sequence number within foreign key
+	 *		(a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key).
+	 *	<LI><B>UPDATE_RULE</B> short => What happens to
+	 *		 foreign key when primary is updated:
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow update of primary key if it has been imported
+	 *		<LI> importedKeyCascade - change imported key to agree
+	 *				 with primary key update
+	 *		<LI> importedKeyRestrict - do not allow update of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been updated
+	 *		</UL>
+	 *	<LI><B>DELETE_RULE</B> short => What happens to
+	 *		the foreign key when primary is deleted.
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow delete of primary key if it has been imported
+	 *		<LI> importedKeyCascade - delete rows that import a deleted key
+	 *		<LI> importedKeyRestrict - do not allow delete of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been deleted
+	 *		</UL>
+	 *	<LI><B>FK_NAME</B> String => foreign key identifier (may be null)
+	 *	<LI><B>PK_NAME</B> String => primary key identifier (may be null)
+	 *	<LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit
+	 *		<UL>
+	 *		<LI> importedKeyInitiallyDeferred - see SQL92 for definition
+	 *		<LI> importedKeyInitiallyImmediate - see SQL92 for definition
+	 *		<LI> importedKeyNotDeferrable - see SQL92 for definition
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name pattern; "" retrieves those without a schema
+	 * @param table a table name
+	 * @return ResultSet each row is a foreign key column description
+	 * @see #getImportedKeys
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getExportedKeys(String catalog, String schema, String table)
+		throws SQLException
+	{
+		StringBuilder query = new StringBuilder(keyQuery.length() + 250);
+		query.append(keyQuery);
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schema != null) {
+			query.append(" AND \"pkschema\".\"name\" ").append(composeMatchPart(schema));
+		}
+		if (table != null) {
+			query.append(" AND \"pktable\".\"name\" ").append(composeMatchPart(table));
+		}
+
+		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \"KEY_SEQ\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of the foreign key columns in the foreign key
+	 * table that reference the primary key columns of the primary key
+	 * table. (describe how one table imports another's key) This
+	 * should normally return a single foreign key/primary key pair
+	 * (most tables only import a foreign key from a table once.)
+	 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.
+	 *
+	 * <P>Each foreign key column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null)
+	 *	<LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null)
+	 *	<LI><B>PKTABLE_NAME</B> String => primary key table name
+	 *	<LI><B>PKCOLUMN_NAME</B> String => primary key column name
+	 *	<LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null)
+	 *		being exported (may be null)
+	 *	<LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null)
+	 *		being exported (may be null)
+	 *	<LI><B>FKTABLE_NAME</B> String => foreign key table name
+	 *		being exported
+	 *	<LI><B>FKCOLUMN_NAME</B> String => foreign key column name
+	 *		being exported
+	 *	<LI><B>KEY_SEQ</B> short => sequence number within foreign key
+	 *		(a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key).
+	 *	<LI><B>UPDATE_RULE</B> short => What happens to
+	 *		 foreign key when primary is updated:
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow update of primary key if it has been imported
+	 *		<LI> importedKeyCascade - change imported key to agree
+	 *				 with primary key update
+	 *		<LI> importedKeyRestrict - do not allow update of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been updated
+	 *		</UL>
+	 *	<LI><B>DELETE_RULE</B> short => What happens to
+	 *		the foreign key when primary is deleted.
+	 *		<UL>
+	 *		<LI> importedKeyNoAction - do not allow delete of primary key if it has been imported
+	 *		<LI> importedKeyCascade - delete rows that import a deleted key
+	 *		<LI> importedKeyRestrict - do not allow delete of primary
+	 *				 key if it has been imported
+	 *		<LI> importedKeySetNull - change imported key to NULL if
+	 *				 its primary key has been deleted
+	 *		</UL>
+	 *	<LI><B>FK_NAME</B> String => foreign key identifier (may be null)
+	 *	<LI><B>PK_NAME</B> String => primary key identifier (may be null)
+	 *	<LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit
+	 *		<UL>
+	 *		<LI> importedKeyInitiallyDeferred - see SQL92 for definition
+	 *		<LI> importedKeyInitiallyImmediate - see SQL92 for definition
+	 *		<LI> importedKeyNotDeferrable - see SQL92 for definition
+	 *		</UL>
+	 *	</OL>
+	 *
+	 * @param pcatalog primary key catalog name; "" retrieves those without a catalog
+	 * @param pschema primary key schema name pattern; "" retrieves those without a schema
+	 * @param ptable primary key table name
+	 * @param fcatalog foreign key catalog name; "" retrieves those without a catalog
+	 * @param fschema foreign key schema name pattern; "" retrieves those without a schema
+	 * @param ftable koreign key table name
+	 * @return ResultSet each row is a foreign key column description
+	 * @throws SQLException if a database error occurs
+	 * @see #getImportedKeys
+	 */
+	@Override
+	public ResultSet getCrossReference(
+		String pcatalog,
+		String pschema,
+		String ptable,
+		String fcatalog,
+		String fschema,
+		String ftable
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(keyQuery.length() + 350);
+		query.append(keyQuery);
+
+		if (pcatalog != null && pcatalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (pschema != null) {
+			query.append(" AND \"pkschema\".\"name\" ").append(composeMatchPart(pschema));
+		}
+		if (ptable != null) {
+			query.append(" AND \"pktable\".\"name\" ").append(composeMatchPart(ptable));
+		}
+
+		if (fcatalog != null && fcatalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (fschema != null) {
+			query.append(" AND \"fkschema\".\"name\" ").append(composeMatchPart(fschema));
+		}
+		if (ftable != null) {
+			query.append(" AND \"fktable\".\"name\" ").append(composeMatchPart(ftable));
+		}
+
+		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \"KEY_SEQ\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Get a description of all the SQL data types supported by
+	 * this database. They are ordered by DATA_TYPE and then by how
+	 * closely the data type maps to the corresponding JDBC SQL type.
+	 *
+	 * If the database supports SQL distinct types, then getTypeInfo() will
+	 * return a single row with a TYPE_NAME of DISTINCT and a DATA_TYPE of Types.DISTINCT.
+	 * If the database supports SQL structured types, then getTypeInfo() will
+	 * return a single row with a TYPE_NAME of STRUCT and a DATA_TYPE of Types.STRUCT.
+	 * If SQL distinct or structured types are supported, then information on
+	 * the individual types may be obtained from the getUDTs() method.
+	 *
+	 * <P>Each type description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TYPE_NAME</B> String => Type name
+	 *	<LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types
+	 *	<LI><B>PRECISION</B> int => maximum precision
+	 *	<LI><B>LITERAL_PREFIX</B> String => prefix used to quote a literal (may be null)
+	 *	<LI><B>LITERAL_SUFFIX</B> String => suffix used to quote a literal (may be null)
+	 *	<LI><B>CREATE_PARAMS</B> String => parameters used in creating
+	 *		the type (may be null)
+	 *	<LI><B>NULLABLE</B> short => can you use NULL for this type?
+	 *		<UL>
+	 *		<LI> typeNoNulls - does not allow NULL values
+	 *		<LI> typeNullable - allows NULL values
+	 *		<LI> typeNullableUnknown - nullability unknown
+	 *		</UL>
+	 *	<LI><B>CASE_SENSITIVE</B> boolean=> is it case sensitive?
+	 *	<LI><B>SEARCHABLE</B> short => can you use "WHERE" based on this type:
+	 *		<UL>
+	 *		<LI> typePredNone - No support
+	 *		<LI> typePredChar - Only supported with WHERE .. LIKE
+	 *		<LI> typePredBasic - Supported except for WHERE .. LIKE
+	 *		<LI> typeSearchable - Supported for all WHERE ..
+	 *		</UL>
+	 *	<LI><B>UNSIGNED_ATTRIBUTE</B> boolean => is it unsigned?
+	 *	<LI><B>FIXED_PREC_SCALE</B> boolean => can it be a money value?
+	 *	<LI><B>AUTO_INCREMENT</B> boolean => can it be used for an
+	 *		auto-increment value?
+	 *	<LI><B>LOCAL_TYPE_NAME</B> String => localized version of type name
+	 *		(may be null)
+	 *	<LI><B>MINIMUM_SCALE</B> short => minimum scale supported
+	 *	<LI><B>MAXIMUM_SCALE</B> short => maximum scale supported
+	 *	<LI><B>SQL_DATA_TYPE</B> int => unused
+	 *	<LI><B>SQL_DATETIME_SUB</B> int => unused
+	 *	<LI><B>NUM_PREC_RADIX</B> int => usually 2 or 10
+	 *	</OL>
+	 *
+	 * @return ResultSet each row is a SQL type description
+	 * @throws Exception if the developer made a Boo-Boo
+	 */
+	@Override
+	public ResultSet getTypeInfo() throws SQLException {
+		StringBuilder query = new StringBuilder(2300);
+		query.append("SELECT \"sqlname\" AS \"TYPE_NAME\", " +
+			"cast(").append(MonetDriver.getSQLTypeMap("\"sqlname\"")).append(" AS int) AS \"DATA_TYPE\", " +
+			"\"digits\" AS \"PRECISION\", " +	// note that when radix is 2 the precision shows the number of bits
+			"cast(CASE WHEN \"systemname\" IN ('str', 'inet', 'json', 'url', 'uuid') THEN ''''" +
+				" ELSE NULL END AS varchar(2)) AS \"LITERAL_PREFIX\", " +
+			"cast(CASE WHEN \"systemname\" IN ('str', 'inet', 'json', 'url', 'uuid') THEN ''''" +
+				" ELSE NULL END AS varchar(2)) AS \"LITERAL_SUFFIX\", " +
+			"CASE WHEN \"sqlname\" IN ('char', 'varchar') THEN 'max length'" +
+				" WHEN \"sqlname\" = 'decimal' THEN 'precision, scale'" +
+				" WHEN \"sqlname\" IN ('time', 'timetz', 'timestamp', 'timestamptz', 'sec_interval') THEN 'precision'" +
+				" ELSE NULL END AS \"CREATE_PARAMS\", " +
+			"cast(CASE WHEN \"systemname\" = 'oid' THEN ").append(DatabaseMetaData.typeNoNulls)
+				.append(" ELSE ").append(DatabaseMetaData.typeNullable).append(" END AS smallint) AS \"NULLABLE\", " +
+			"CASE WHEN \"systemname\" IN ('str', 'json', 'url') THEN true ELSE false END AS \"CASE_SENSITIVE\", " +
+			"cast(CASE \"systemname\" WHEN 'table' THEN ").append(DatabaseMetaData.typePredNone)
+				.append(" WHEN 'str' THEN ").append(DatabaseMetaData.typePredChar)
+				.append(" WHEN 'sqlblob' THEN ").append(DatabaseMetaData.typePredChar)
+				.append(" ELSE ").append(DatabaseMetaData.typePredBasic).append(" END AS smallint) AS \"SEARCHABLE\", " +
+			"CASE WHEN \"sqlname\" IN ('tinyint','smallint','int','bigint','hugeint','decimal','real','double','sec_interval','month_interval') THEN false ELSE true END AS \"UNSIGNED_ATTRIBUTE\", " +
+			"CASE \"sqlname\" WHEN 'decimal' THEN true ELSE false END AS \"FIXED_PREC_SCALE\", " +
+			"CASE WHEN \"sqlname\" IN ('tinyint','smallint','int','bigint','hugeint','decimal','oid','wrd') THEN true ELSE false END AS \"AUTO_INCREMENT\", " +
+			"\"systemname\" AS \"LOCAL_TYPE_NAME\", " +
+			"cast(0 AS smallint) AS \"MINIMUM_SCALE\", " +
+			"cast(CASE WHEN \"sqlname\" = 'decimal' THEN (CASE \"systemname\" WHEN 'lng' THEN 18 WHEN 'hge' THEN 38 WHEN 'int' THEN 9 WHEN 'sht' THEN 4 WHEN 'bte' THEN 2 ELSE 0 END)" +
+				" WHEN \"sqlname\" IN ('sec_interval', 'timestamp', 'timestamptz') THEN 9 ELSE 0 END AS smallint) AS \"MAXIMUM_SCALE\", " +
+			"cast(0 AS int) AS \"SQL_DATA_TYPE\", " +
+			"cast(0 AS int) AS \"SQL_DATETIME_SUB\", " +
+			"cast(\"radix\" as int) AS \"NUM_PREC_RADIX\" " +
+		"FROM \"sys\".\"types\" " +
+		"ORDER BY \"DATA_TYPE\", \"sqlname\", \"id\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Retrieves a description of the given table's indices and statistics.
+	 * They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
+	 *
+	 * <P>Each index column description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
+	 *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
+	 *	<LI><B>TABLE_NAME</B> String => table name
+	 *	<LI><B>NON_UNIQUE</B> boolean => Can index values be non-unique?
+	 *		false when TYPE is tableIndexStatistic
+	 *	<LI><B>INDEX_QUALIFIER</B> String => index catalog (may be null);
+	 *		null when TYPE is tableIndexStatistic
+	 *	<LI><B>INDEX_NAME</B> String => index name; null when TYPE is
+	 *		tableIndexStatistic
+	 *	<LI><B>TYPE</B> short => index type:
+	 *		<UL>
+	 *		<LI> tableIndexStatistic - this identifies table statistics that are
+	 *			 returned in conjuction with a table's index descriptions
+	 *		<LI> tableIndexClustered - this is a clustered index
+	 *		<LI> tableIndexHashed - this is a hashed index
+	 *		<LI> tableIndexOther - this is some other style of index
+	 *		</UL>
+	 *	<LI><B>ORDINAL_POSITION</B> short => column sequence number
+	 *		within index; zero when TYPE is tableIndexStatistic
+	 *	<LI><B>COLUMN_NAME</B> String => column name; null when TYPE is
+	 *		tableIndexStatistic
+	 *	<LI><B>ASC_OR_DESC</B> String => column sort sequence, "A" => ascending
+	 *		"D" => descending, may be null if sort sequence is not supported;
+	 *		null when TYPE is tableIndexStatistic
+	 *	<LI><B>CARDINALITY</B> int => When TYPE is tableIndexStatisic then
+	 *		this is the number of rows in the table; otherwise it is the
+	 *		number of unique values in the index.
+	 *	<LI><B>PAGES</B> int => When TYPE is  tableIndexStatisic then
+	 *		this is the number of pages used for the table, otherwise it
+	 *		is the number of pages used for the current index.
+	 *	<LI><B>FILTER_CONDITION</B> String => Filter condition, if any.
+	 *		(may be null)
+	 *	</OL>
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog
+	 * @param schema a schema name pattern; "" retrieves those without a schema
+	 * @param table a table name
+	 * @param unique when true, return only indices for unique values;
+	 *	   when false, return indices regardless of whether unique or not
+	 * @param approximate when true, result is allowed to reflect approximate
+	 *	   or out of data values; when false, results are requested to be
+	 *	   accurate
+	 * @return ResultSet each row is an index column description
+	 * @throws SQLException if a database occurs
+	 */
+	@Override
+	public ResultSet getIndexInfo(
+		String catalog,
+		String schema,
+		String table,
+		boolean unique,
+		boolean approximate
+	) throws SQLException
+	{
+		String table_row_count = "0";
+
+		if (!approximate && schema != null && table != null && schema.length() > 0 && table.length() > 0) {
+			// we need the exact cardinality for one specific fully qualified table
+			ResultSet count = null;
+			try {
+				count = executeMetaDataQuery("SELECT COUNT(*) FROM \"" + schema + "\".\"" + table + "\"");
+				if (count != null && count.next()) {
+					String count_value = count.getString(1);
+					if (count_value != null && count_value.length() > 0)
+						table_row_count = count_value;
+				}
+			} catch (SQLException e) {
+				// ignore
+			} finally {
+				if (count != null) {
+					try {
+						count.close();
+					} catch (SQLException e) { /* ignore */ }
+				}
+			}
+		}
+
+		StringBuilder query = new StringBuilder(1250);
+		query.append(
+		"SELECT CAST(null AS char(1)) AS \"TABLE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
+			"\"tables\".\"name\" AS \"TABLE_NAME\", " +
+			"CASE WHEN \"keys\".\"name\" IS NULL THEN true ELSE false END AS \"NON_UNIQUE\", " +
+			"CAST(null AS varchar(1)) AS \"INDEX_QUALIFIER\", " +
+			"\"idxs\".\"name\" AS \"INDEX_NAME\", " +
+			"CASE \"idxs\".\"type\" WHEN 0 THEN ").append(DatabaseMetaData.tableIndexHashed).append(" ELSE ").append(DatabaseMetaData.tableIndexOther).append(" END AS \"TYPE\", " +
+			"CAST(\"objects\".\"nr\" +1 AS smallint) AS \"ORDINAL_POSITION\", "+
+			"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
+			"CAST(null AS varchar(1)) AS \"ASC_OR_DESC\", " +	// sort sequence currently not supported in keys or indexes in MonetDB
+			"CAST(").append(table_row_count).append(" AS int) AS \"CARDINALITY\", " +
+			"CAST(0 AS int) AS \"PAGES\", " +
+			"CAST(null AS varchar(1)) AS \"FILTER_CONDITION\" " +
+		"FROM \"sys\".\"idxs\" LEFT JOIN \"sys\".\"keys\" ON \"idxs\".\"name\" = \"keys\".\"name\", " +
+			"\"sys\".\"schemas\", " +
+			"\"sys\".\"objects\", " +
+			"\"sys\".\"columns\", " +
+			"\"sys\".\"tables\" " +
+		"WHERE \"idxs\".\"table_id\" = \"tables\".\"id\" " +
+			"AND \"tables\".\"schema_id\" = \"schemas\".\"id\" " +
+			"AND \"idxs\".\"id\" = \"objects\".\"id\" " +
+			"AND \"tables\".\"id\" = \"columns\".\"table_id\" " +
+			"AND \"objects\".\"name\" = \"columns\".\"name\" " +
+			"AND (\"keys\".\"type\" IS NULL OR \"keys\".\"type\" = 1)");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schema != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schema));
+		}
+		if (table != null) {
+			query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(table));
+		}
+		if (unique) {
+			query.append(" AND \"keys\".\"name\" IS NOT NULL");
+		}
+		query.append(" ORDER BY \"NON_UNIQUE\", \"TYPE\", \"INDEX_NAME\", \"ORDINAL_POSITION\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	//== 1.2 methods (JDBC 2)
+
+	/**
+	 * Does the database support the given result set type?
+	 *
+	 * @param type - defined in java.sql.ResultSet
+	 * @return true if so; false otherwise
+	 * @throws SQLException - if a database access error occurs
+	 */
+	@Override
+	public boolean supportsResultSetType(int type) throws SQLException {
+		// The only type we don't support
+		return type != ResultSet.TYPE_SCROLL_SENSITIVE;
+	}
+
+
+	/**
+	 * Does the database support the concurrency type in combination
+	 * with the given result set type?
+	 *
+	 * @param type - defined in java.sql.ResultSet
+	 * @param concurrency - type defined in java.sql.ResultSet
+	 * @return true if so; false otherwise
+	 * @throws SQLException - if a database access error occurs
+	*/
+	@Override
+	public boolean supportsResultSetConcurrency(int type, int concurrency)
+		throws SQLException
+	{
+		// These combinations are not supported!
+		if (type == ResultSet.TYPE_SCROLL_SENSITIVE)
+			return false;
+
+		// We do only support Read Only ResultSets
+		if (concurrency != ResultSet.CONCUR_READ_ONLY)
+			return false;
+
+		// Everything else we do (well, what's left of it :) )
+		return true;
+	}
+
+
+	/* lots of unsupported stuff... (no updatable ResultSet!) */
+	@Override
+	public boolean ownUpdatesAreVisible(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean ownDeletesAreVisible(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean ownInsertsAreVisible(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean othersUpdatesAreVisible(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean othersDeletesAreVisible(int i) {
+		return false;
+	}
+
+	@Override
+	public boolean othersInsertsAreVisible(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean updatesAreDetected(int type) {
+		return false;
+	}
+
+	@Override
+	public boolean deletesAreDetected(int i) {
+		return false;
+	}
+
+	@Override
+	public boolean insertsAreDetected(int type) {
+		return false;
+	}
+
+	/**
+	 * Indicates whether the driver supports batch updates.
+	 */
+	@Override
+	public boolean supportsBatchUpdates() {
+		return true;
+	}
+
+	/**
+	 * Retrieves a description of the user-defined types (UDTs) defined in a particular schema.
+	 * Schema-specific UDTs may have type JAVA_OBJECT, STRUCT, or DISTINCT.
+	 * Only types matching the catalog, schema, type name and type criteria are returned.
+	 * They are ordered by DATA_TYPE, TYPE_CAT, TYPE_SCHEM and TYPE_NAME.
+	 * The type name parameter may be a fully-qualified name. In this case, the catalog and schemaPattern parameters are ignored.
+	 *
+	 * Each type description has the following columns:
+	 *
+	 * 1 TYPE_CAT String => the type's catalog (may be null)
+	 * 2 TYPE_SCHEM String => type's schema (may be null)
+	 * 3 TYPE_NAME String => type name
+	 * 4 CLASS_NAME String => Java class name
+	 * 5 DATA_TYPE int => type value defined in java.sql.Types. One of JAVA_OBJECT, STRUCT, or DISTINCT
+	 * 6 REMARKS String => explanatory comment on the type
+	 * 7 BASE_TYPE short => type code of the source type of a DISTINCT type or the type that implements the
+	 *   user-generated reference type of the SELF_REFERENCING_COLUMN of a structured type as defined
+	 *   in java.sql.Types (null if DATA_TYPE is not DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED)
+	 *
+	 * @throws SQLException
+	 */
+	@Override
+	public ResultSet getUDTs(
+		String catalog,
+		String schemaPattern,
+		String typeNamePattern,
+		int[] types
+	) throws SQLException
+	{
+		StringBuilder query = new StringBuilder(990);
+		if (types != null && types.length > 0) {
+			query.append("SELECT * FROM (");
+		}
+		query.append("SELECT cast(null as char(1)) AS \"TYPE_CAT\", " +
+			"\"schemas\".\"name\" AS \"TYPE_SCHEM\", " +
+			"\"types\".\"sqlname\" AS \"TYPE_NAME\", " +
+			"CASE \"types\".\"sqlname\"" +
+				// next 4 UDTs are known
+				" WHEN 'inet' THEN 'nl.cwi.monetdb.jdbc.types.INET'" +
+				" WHEN 'json' THEN 'java.lang.String'" +
+				" WHEN 'url'  THEN 'nl.cwi.monetdb.jdbc.types.URL'" +
+				" WHEN 'uuid' THEN 'java.lang.String'" +
+				" ELSE 'java.lang.Object' END AS \"CLASS_NAME\", " +
+			"CAST(CASE WHEN \"types\".\"sqlname\" IN ('inet', 'json', 'url', 'uuid') THEN ").append(Types.JAVA_OBJECT)
+				.append(" ELSE ").append(Types.STRUCT).append(" END AS int) AS \"DATA_TYPE\", " +
+			"\"types\".\"systemname\" AS \"REMARKS\", " +
+			"cast(null as smallint) AS \"BASE_TYPE\" " +
+			"FROM \"sys\".\"types\" JOIN \"sys\".\"schemas\" ON \"types\".\"schema_id\" = \"schemas\".\"id\" " +
+			// exclude the built-in types (I assume they always have id <= 99 and eclass < 15)
+			"WHERE \"types\".\"id\" > 99 AND \"types\".\"eclass\" >= 15");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (typeNamePattern != null) {
+			query.append(" AND \"types\".\"sqlname\" ").append(composeMatchPart(typeNamePattern));
+		}
+		if (types != null && types.length > 0) {
+			query.append(") AS getUDTs WHERE \"DATA_TYPE\" IN (");
+			for (int i = 0; i < types.length; i++) {
+				if (i > 0) {
+					query.append(", ");
+				}
+				query.append(types[i]);
+			}
+			query.append(")");
+		}
+		query.append(" ORDER BY \"DATA_TYPE\", \"TYPE_SCHEM\", \"TYPE_NAME\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+
+	/**
+	 * Retrieves the connection that produced this metadata object.
+	 *
+	 * @return the connection that produced this metadata object
+	 */
+	@Override
+	public Connection getConnection() {
+		return con;
+	}
+
+	/* I don't find these in the spec!?! */
+	public boolean rowChangesAreDetected(int type) {
+		return false;
+	}
+
+	public boolean rowChangesAreVisible(int type) {
+		return false;
+	}
+
+	//== 1.4 methods (JDBC 3)
+
+	/**
+	 * Retrieves whether this database supports savepoints.
+	 *
+	 * @return <code>true</code> if savepoints are supported;
+	 *		   <code>false</code> otherwise
+	 */
+	@Override
+	public boolean supportsSavepoints() {
+		return true;
+	}
+
+	/**
+	 * Retrieves whether this database supports named parameters to callable
+	 * statements.
+	 *
+	 * @return <code>true</code> if named parameters are supported;
+	 *		   <code>false</code> otherwise
+	 */
+	@Override
+	public boolean supportsNamedParameters() {
+		return false;
+	}
+
+	/**
+	 * Retrieves whether it is possible to have multiple <code>ResultSet</code> objects
+	 * returned from a <code>CallableStatement</code> object
+	 * simultaneously.
+	 *
+	 * @return <code>true</code> if a <code>CallableStatement</code> object
+	 *		   can return multiple <code>ResultSet</code> objects
+	 *		   simultaneously; <code>false</code> otherwise
+	 */
+	@Override
+	public boolean supportsMultipleOpenResults() {
+		return true;
+	}
+
+	/**
+	 * Retrieves whether auto-generated keys can be retrieved after
+	 * a statement has been executed.
+	 *
+	 * @return <code>true</code> if auto-generated keys can be retrieved
+	 *		   after a statement has executed; <code>false</code> otherwise
+	 */
+	@Override
+	public boolean supportsGetGeneratedKeys() {
+		return true;
+	}
+
+	/**
+	 * Retrieves a description of the user-defined type (UDT)
+	 * hierarchies defined in a particular schema in this database. Only
+	 * the immediate super type/ sub type relationship is modeled.
+	 * <P>
+	 * Only supertype information for UDTs matching the catalog,
+	 * schema, and type name is returned. The type name parameter
+	 * may be a fully-qualified name. When the UDT name supplied is a
+	 * fully-qualified name, the catalog and schemaPattern parameters are
+	 * ignored.
+	 * <P>
+	 * If a UDT does not have a direct super type, it is not listed here.
+	 * A row of the <code>ResultSet</code> object returned by this method
+	 * describes the designated UDT and a direct supertype. A row has the following
+	 * columns:
+	 *	<OL>
+	 *	<LI><B>TYPE_CAT</B> String => the UDT's catalog (may be <code>null</code>)
+	 *	<LI><B>TYPE_SCHEM</B> String => UDT's schema (may be <code>null</code>)
+	 *	<LI><B>TYPE_NAME</B> String => type name of the UDT
+	 *	<LI><B>SUPERTYPE_CAT</B> String => the direct super type's catalog
+	 *							 (may be <code>null</code>)
+	 *	<LI><B>SUPERTYPE_SCHEM</B> String => the direct super type's schema
+	 *							   (may be <code>null</code>)
+	 *	<LI><B>SUPERTYPE_NAME</B> String => the direct super type's name
+	 *	</OL>
+	 *
+	 * <P><B>Note:</B> If the driver does not support type hierarchies, an
+	 * empty result set is returned.
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog;
+	 *		  <code>null</code> means drop catalog name from the selection criteria
+	 * @param schemaPattern a schema name pattern; "" retrieves those
+	 *		  without a schema
+	 * @param typeNamePattern a UDT name pattern; may be a fully-qualified
+	 *		  name
+	 * @return a <code>ResultSet</code> object in which a row gives information
+	 *		   about the designated UDT
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getSuperTypes(
+		String catalog,
+		String schemaPattern,
+		String typeNamePattern
+	) throws SQLException
+	{
+		String query =
+		"SELECT cast(null as char(1)) AS \"TYPE_CAT\", '' AS \"TYPE_SCHEM\", '' AS \"TYPE_NAME\", " +
+			"cast(null as char(1)) AS \"SUPERTYPE_CAT\", '' AS \"SUPERTYPE_SCHEM\", '' AS \"SUPERTYPE_NAME\" " +
+		"WHERE 1 = 0";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Retrieves a description of the table hierarchies defined in a particular
+	 * schema in this database.
+	 *
+	 * <P>Only supertable information for tables matching the catalog, schema
+	 * and table name are returned. The table name parameter may be a fully-
+	 * qualified name, in which case, the catalog and schemaPattern parameters
+	 * are ignored. If a table does not have a super table, it is not listed here.
+	 * Supertables have to be defined in the same catalog and schema as the
+	 * sub tables. Therefore, the type description does not need to include
+	 * this information for the supertable.
+	 *
+	 * <P>Each type description has the following columns:
+	 *	<OL>
+	 *	<LI><B>TABLE_CAT</B> String => the type's catalog (may be <code>null</code>)
+	 *	<LI><B>TABLE_SCHEM</B> String => type's schema (may be <code>null</code>)
+	 *	<LI><B>TABLE_NAME</B> String => type name
+	 *	<LI><B>SUPERTABLE_NAME</B> String => the direct super type's name
+	 *	</OL>
+	 *
+	 * <P><B>Note:</B> If the driver does not support type hierarchies, an
+	 * empty result set is returned.
+	 *
+	 * @param catalog a catalog name; "" retrieves those without a catalog;
+	 *		  <code>null</code> means drop catalog name from the selection criteria
+	 * @param schemaPattern a schema name pattern; "" retrieves those
+	 *		  without a schema
+	 * @param tableNamePattern a table name pattern; may be a fully-qualified
+	 *		  name
+	 * @return a <code>ResultSet</code> object in which each row is a type description
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getSuperTables(
+		String catalog,
+		String schemaPattern,
+		String tableNamePattern
+	) throws SQLException
+	{
+		String query =
+		"SELECT cast(null as char(1)) AS \"TABLE_CAT\", " +
+			"'' AS \"TABLE_SCHEM\", '' AS \"TABLE_NAME\", '' AS \"SUPERTABLE_NAME\" " +
+		"WHERE 1 = 0";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Retrieves a description of the given attribute of the given type
+	 * for a user-defined type (UDT) that is available in the given schema
+	 * and catalog.
+	 * <P>
+	 * Descriptions are returned only for attributes of UDTs matching the
+	 * catalog, schema, type, and attribute name criteria. They are ordered by
+	 * TYPE_SCHEM, TYPE_NAME and ORDINAL_POSITION. This description
+	 * does not contain inherited attributes.
+	 * <P>
+	 * The <code>ResultSet</code> object that is returned has the following
+	 * columns:
+	 * <OL>
+	 *	<LI><B>TYPE_CAT</B> String => type catalog (may be <code>null</code>)
+	 *	<LI><B>TYPE_SCHEM</B> String => type schema (may be <code>null</code>)
+	 *	<LI><B>TYPE_NAME</B> String => type name
+	 *	<LI><B>ATTR_NAME</B> String => attribute name
+	 *	<LI><B>DATA_TYPE</B> int => attribute type SQL type from java.sql.Types
+	 *	<LI><B>ATTR_TYPE_NAME</B> String => Data source dependent type name.
+	 *	For a UDT, the type name is fully qualified. For a REF, the type name is
+	 *	fully qualified and represents the target type of the reference type.
+	 *	<LI><B>ATTR_SIZE</B> int => column size.  For char or date
+	 *		types this is the maximum number of characters; for numeric or
+	 *		decimal types this is precision.
+	 *	<LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits
+	 *	<LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2)
+	 *	<LI><B>NULLABLE</B> int => whether NULL is allowed
+	 *		<UL>
+	 *		<LI> attributeNoNulls - might not allow NULL values
+	 *		<LI> attributeNullable - definitely allows NULL values
+	 *		<LI> attributeNullableUnknown - nullability unknown
+	 *		</UL>
+	 *	<LI><B>REMARKS</B> String => comment describing column (may be <code>null</code>)
+	 *	<LI><B>ATTR_DEF</B> String => default value (may be <code>null</code>)
+	 *	<LI><B>SQL_DATA_TYPE</B> int => unused
+	 *	<LI><B>SQL_DATETIME_SUB</B> int => unused
+	 *	<LI><B>CHAR_OCTET_LENGTH</B> int => for char types the
+	 *		 maximum number of bytes in the column
+	 *	<LI><B>ORDINAL_POSITION</B> int => index of column in table
+	 *		(starting at 1)
+	 *	<LI><B>IS_NULLABLE</B> String => "NO" means column definitely
+	 *		does not allow NULL values; "YES" means the column might
+	 *		allow NULL values.	An empty string means unknown.
+	 *	<LI><B>SCOPE_CATALOG</B> String => catalog of table that is the
+	 *		scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF)
+	 *	<LI><B>SCOPE_SCHEMA</B> String => schema of table that is the
+	 *		scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF)
+	 *	<LI><B>SCOPE_TABLE</B> String => table name that is the scope of a
+	 *		reference attribute (<code>null</code> if the DATA_TYPE isn't REF)
+	 * 	<LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated
+	 *		Ref type,SQL type from java.sql.Types (<code>null</code> if DATA_TYPE
+	 *		isn't DISTINCT or user-generated REF)
+	 *	</OL>
+	 * @param catalog a catalog name; must match the catalog name as it
+	 *		  is stored in the database; "" retrieves those without a catalog;
+	 *		  <code>null</code> means that the catalog name should not be used to narrow
+	 *		  the search
+	 * @param schemaPattern a schema name pattern; must match the schema name
+	 *		  as it is stored in the database; "" retrieves those without a schema;
+	 *		  <code>null</code> means that the schema name should not be used to narrow
+	 *		  the search
+	 * @param typeNamePattern a type name pattern; must match the
+	 *		  type name as it is stored in the database
+	 * @param attributeNamePattern an attribute name pattern; must match the attribute
+	 *		  name as it is declared in the database
+	 * @return a <code>ResultSet</code> object in which each row is an
+	 *		   attribute description
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getAttributes(
+		String catalog,
+		String schemaPattern,
+		String typeNamePattern,
+		String attributeNamePattern
+	) throws SQLException
+	{
+		String query =
+		"SELECT cast(null as char(1)) AS \"TYPE_CAT\", '' AS \"TYPE_SCHEM\", '' AS \"TYPE_NAME\", " +
+			"'' AS \"ATTR_NAME\", CAST(0 as int) AS \"DATA_TYPE\", '' AS \"ATTR_TYPE_NAME\", CAST(0 as int) AS \"ATTR_SIZE\", " +
+			"CAST(0 as int) AS \"DECIMAL_DIGITS\", CAST(0 as int) AS \"NUM_PREC_RADIX\", CAST(0 as int) AS \"NULLABLE\", " +
+			"'' AS \"REMARKS\", '' AS \"ATTR_DEF\", CAST(0 as int) AS \"SQL_DATA_TYPE\", " +
+			"CAST(0 as int) AS \"SQL_DATETIME_SUB\", CAST(0 as int) AS \"CHAR_OCTET_LENGTH\", " +
+			"CAST(0 as int) AS \"ORDINAL_POSITION\", 'YES' AS \"IS_NULLABLE\", " +
+			"'' AS \"SCOPE_CATALOG\", '' AS \"SCOPE_SCHEMA\", '' AS \"SCOPE_TABLE\", " +
+			"CAST(0 as smallint) AS \"SOURCE_DATA_TYPE\" " +
+		"WHERE 1 = 0";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Retrieves whether this database supports the given result set holdability.
+	 *
+	 * @param holdability one of the following constants:
+	 *			<code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
+	 *			<code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
+	 * @return <code>true</code> if so; <code>false</code> otherwise
+	 * @see Connection
+	 */
+	@Override
+	public boolean supportsResultSetHoldability(int holdability) {
+		// we don't close ResultSets at commit; and we don't do updateable
+		// result sets, so comes closest to hold cursors over commit
+		return holdability == ResultSet.HOLD_CURSORS_OVER_COMMIT;
+	}
+
+	/**
+	 * Retrieves the default holdability of this <code>ResultSet</code>
+	 * object.
+	 *
+	 * @return the default holdability; either
+	 *		   <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
+	 *		   <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
+	 */
+	@Override
+	public int getResultSetHoldability() {
+		return ResultSet.HOLD_CURSORS_OVER_COMMIT;
+	}
+
+	/**
+	 * Retrieves the major version number of the underlying database.
+	 *
+	 * @return the underlying database's major version
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getDatabaseMajorVersion() throws SQLException {
+		if (env_monet_version == null)
+			getEnvValues();
+		int major = 0;
+		if (env_monet_version != null) {
+			try {
+				int start = env_monet_version.indexOf(".");
+				major = Integer.parseInt(env_monet_version.substring(0, start));
+			} catch (NumberFormatException e) {
+				// ignore
+			}
+		}
+ 		return major;
+	}
+
+	/**
+	 * Retrieves the minor version number of the underlying database.
+	 *
+	 * @return underlying database's minor version
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getDatabaseMinorVersion() throws SQLException {
+		if (env_monet_version == null)
+			getEnvValues();
+		int minor = 0;
+		if (env_monet_version != null) {
+			try {
+				int start = env_monet_version.indexOf(".");
+				int end = env_monet_version.indexOf(".", start + 1);
+				minor = Integer.parseInt(env_monet_version.substring(start + 1, end));
+			} catch (NumberFormatException e) {
+				// ignore
+			}
+		}
+ 		return minor;
+	}
+
+	/**
+	 * Retrieves the major JDBC version number for this driver.
+	 *
+	 * @return JDBC version major number
+	 */
+	@Override
+	public int getJDBCMajorVersion() {
+		return 4; // This class implements JDBC 4.1 (at least we try to)
+	}
+
+	/**
+	 * Retrieves the minor JDBC version number for this driver.
+	 *
+	 * @return JDBC version minor number
+	 */
+	@Override
+	public int getJDBCMinorVersion() {
+		return 1; // This class implements JDBC 4.1 (at least we try to)
+	}
+
+	/**
+	 * Indicates whether the SQLSTATEs returned by <code>SQLException.getSQLState</code>
+	 * is X/Open (now known as Open Group) SQL CLI or SQL:2003.
+	 * @return the type of SQLSTATEs, one of:
+	 *		  sqlStateXOpen or
+	 *		  sqlStateSQL
+	 */
+	@Override
+	public int getSQLStateType() {
+		// At least this driver conforms with SQLSTATE to the SQL:2003 standard
+		return DatabaseMetaData.sqlStateSQL;
+	}
+
+	/**
+	 * Indicates whether updates made to a LOB are made on a copy or directly
+	 * to the LOB.
+	 * @return <code>true</code> if updates are made to a copy of the LOB;
+	 *		   <code>false</code> if updates are made directly to the LOB
+	 */
+	@Override
+	public boolean locatorsUpdateCopy() {
+		// not that we have it, but in a transaction it will be copy-on-write
+		return true;
+	}
+
+	/**
+	 * Retrieves whether this database supports statement pooling.
+	 *
+	 * @return <code>true</code> is so;
+		<code>false</code> otherwise
+	 */
+	@Override
+	public boolean supportsStatementPooling() {
+		// For the moment, I don't think so
+		return false;
+	}
+
+	//== 1.6 methods (JDBC 4)
+
+	/**
+	 * Indicates whether or not this data source supports the SQL ROWID
+	 * type, and if so the lifetime for which a RowId object remains
+	 * valid.
+	 *
+	 * @return ROWID_UNSUPPORTED for now
+	 */
+	@Override
+	public RowIdLifetime getRowIdLifetime() {
+		// I believe we don't do rowids
+		return RowIdLifetime.ROWID_UNSUPPORTED;
+	}
+
+	/**
+	 * Get the schema names available in this database.  The results
+	 * are ordered by schema name.
+	 *
+	 * <P>The schema column is:
+	 *	<OL>
+	 *	<LI><B>TABLE_SCHEM</B> String => schema name
+	 *	<LI><B>TABLE_CATALOG</B> String => catalog name (may be null)
+	 *	</OL>
+	 *
+	 * @return ResultSet each row has a single String column that is a
+	 *         schema name
+	 * @throws SQLException if a database error occurs
+	 */
+	@Override
+	public ResultSet getSchemas() throws SQLException {
+		return getSchemas(null, null);
+	}
+
+	/**
+	 * Retrieves whether this database supports invoking user-defined or
+	 * vendor functions using the stored procedure escape syntax.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean supportsStoredFunctionsUsingCallSyntax() {
+		return false;
+	}
+
+	/**
+	 * Retrieves whether a SQLException while autoCommit is true
+	 * inidcates that all open ResultSets are closed, even ones that are
+	 * holdable. When a SQLException occurs while autocommit is true, it
+	 * is vendor specific whether the JDBC driver responds with a commit
+	 * operation, a rollback operation, or by doing neither a commit nor
+	 * a rollback. A potential result of this difference is in whether
+	 * or not holdable ResultSets are closed.
+	 *
+	 * @return true if so; false otherwise
+	 */
+	@Override
+	public boolean autoCommitFailureClosesAllResultSets() {
+		// The driver caches most of it, and as far as I knoww the
+		// server doesn't close outstanding result handles on commit
+		// failure either.
+		return false;
+	}
+
+	/**
+	 * Retrieves a list of the client info properties that the driver
+	 * supports. The result set contains the following columns
+	 *
+	 *    1. NAME String=> The name of the client info property
+	 *    2. MAX_LEN int=> The maximum length of the value for the
+	 *       property
+	 *    3. DEFAULT_VALUE String=> The default value of the
+	 *       property
+	 *    4. DESCRIPTION String=> A description of the
+	 *       property. This will typically contain information as
+	 *       to where this property is stored in the database.
+	 *
+	 * The ResultSet is sorted by the NAME column
+	 *
+	 * @return A ResultSet object; each row is a supported client info
+	 *         property, none in case of MonetDB's current JDBC driver
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getClientInfoProperties() throws SQLException {
+		// for a list of connection properties see also MonetConnection.java constructor MonetConnection(Properties props)
+		String query =
+		"SELECT 'host' AS \"NAME\", CAST(1024 as int) AS \"MAX_LEN\", 'localhost' AS \"DEFAULT_VALUE\", 'DSN or IP-address of machine running MonetDB' AS \"DESCRIPTION\" UNION ALL " +
+		"SELECT 'port', 5, '50000', 'communication port number of MonetDB server process' UNION ALL " +
+		"SELECT 'user', 128, '', 'user name to login to MonetDB server' UNION ALL " +
+		"SELECT 'password', 128, '', 'password for user name to login to MonetDB server' UNION ALL " +
+		"SELECT 'language', 16, 'sql', 'language (sql or mal) used to parse commands in MonetDB server' UNION ALL " +
+		"SELECT 'debug', 5, 'false', 'boolean flag true or false' UNION ALL " +
+		"SELECT 'hash', 128, '', 'hash string' UNION ALL " +
+		"SELECT 'treat_blob_as_binary', 5, 'false', 'boolean flag true or false' UNION ALL " +
+		"SELECT 'so_timeout', 10, '0', 'timeout of communication socket. 0 means no timeout is set' " +
+		"ORDER BY \"NAME\"";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Retrieves a description of the system and user functions
+	 * available in the given catalog.
+	 *
+	 * Only system and user function descriptions matching the schema
+	 * and function name criteria are returned. They are ordered by
+	 * FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME.
+	 *
+	 * Each function description has the the following columns:
+	 *
+	 *    1. FUNCTION_CAT String => function catalog (may be null)
+	 *    2. FUNCTION_SCHEM String => function schema (may be null)
+	 *    3. FUNCTION_NAME String => function name. This is the
+	 *       name used to invoke the function
+	 *    4. REMARKS String => explanatory comment on the function
+	 *    5. FUNCTION_TYPE short => kind of function:
+	 *        * functionResultUnknown - Cannot determine if a return
+	 *          value or table will be returned
+	 *        * functionNoTable- Does not return a table
+	 *        * functionReturnsTable - Returns a table
+	 *    6. SPECIFIC_NAME String => the name which uniquely identifies
+	 *       this function within its schema. This is a user specified,
+	 *       or DBMS generated, name that may be different then the
+	 *       FUNCTION_NAME for example with overload functions
+	 *
+	 * A user may not have permission to execute any of the functions
+	 * that are returned by getFunctions.
+	 *
+	 * @param catalog a catalog name; must match the catalog name as it
+	 *        is stored in the database; "" retrieves those without a
+	 *        catalog; null means that the catalog name should not be
+	 *        used to narrow the search
+	 * @param schemaPattern a schema name pattern; must match the schema
+	 *        name as it is stored in the database; "" retrieves those
+	 *        without a schema; null means that the schema name should
+	 *        not be used to narrow the search
+	 * @param functionNamePattern a function name pattern; must match
+	 *        the function name as it is stored in the database
+	 * @return ResultSet - each row is a function description
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getFunctions(
+			String catalog,
+			String schemaPattern,
+			String functionNamePattern)
+		throws SQLException
+	{
+		StringBuilder query = new StringBuilder(800);
+		query.append("SELECT cast(null as varchar(1)) AS \"FUNCTION_CAT\", " +
+			"\"schemas\".\"name\" AS \"FUNCTION_SCHEM\", " +
+			"\"functions\".\"name\" AS \"FUNCTION_NAME\", " +
+			"cast(\"functions\".\"func\" as varchar(9999)) AS \"REMARKS\", " +
+			"CASE \"functions\".\"type\"" +
+				" WHEN 1 THEN ").append(DatabaseMetaData.functionNoTable)
+			.append(" WHEN 2 THEN ").append(DatabaseMetaData.functionNoTable)
+			.append(" WHEN 3 THEN ").append(DatabaseMetaData.functionNoTable)
+			.append(" WHEN 4 THEN ").append(DatabaseMetaData.functionNoTable)
+			.append(" WHEN 5 THEN ").append(DatabaseMetaData.functionReturnsTable)
+			.append(" ELSE ").append(DatabaseMetaData.functionResultUnknown).append(" END AS \"FUNCTION_TYPE\", " +
+			// only the id value uniquely identifies a function. Include it to be able to differentiate between multiple overloaded functions with the same name
+			"cast(\"functions\".\"id\" as varchar(10)) AS \"SPECIFIC_NAME\" " +
+		"FROM \"sys\".\"functions\", \"sys\".\"schemas\" " +
+		"WHERE \"functions\".\"schema_id\" = \"schemas\".\"id\" " +
+		// exclude procedures (type = 2). Those need to be returned via getProcedures()
+		"AND \"functions\".\"type\" <> 2");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (functionNamePattern != null) {
+			query.append(" AND \"functions\".\"name\" ").append(composeMatchPart(functionNamePattern));
+		}
+
+		query.append(" ORDER BY \"FUNCTION_SCHEM\", \"FUNCTION_NAME\", \"SPECIFIC_NAME\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	/**
+	 * Retrieves a description of the given catalog's system or user
+	 * function parameters and return type.
+	 *
+	 * Only descriptions matching the schema, function and parameter name criteria are returned.
+	 * They are ordered by FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME.
+	 * Within this, the return value, if any, is first. Next are the parameter descriptions in call order.
+	 * The column descriptions follow in column number order.
+	 *
+	 * 1.  FUNCTION_CAT String => function catalog (may be null)
+	 * 2.  FUNCTION_SCHEM String => function schema (may be null)
+	 * 3.  FUNCTION_NAME String => function name. This is the name used to invoke the function
+	 * 4.   COLUMN_NAME String => column/parameter name
+	 * 5.   COLUMN_TYPE Short => kind of column/parameter:
+	 *         functionColumnUnknown - nobody knows
+	 *         functionColumnIn - IN parameter
+	 *         functionColumnInOut - INOUT parameter
+	 *         functionColumnOut - OUT parameter
+	 *         functionColumnReturn - function return value
+	 *         functionColumnResult - Indicates that the parameter or column is a column in the ResultSet
+	 * 6.   DATA_TYPE int => SQL type from java.sql.Types
+	 * 7.   TYPE_NAME String => SQL type name, for a UDT type the type name is fully qualified
+	 * 8.   PRECISION int => precision
+	 * 9.   LENGTH int => length in bytes of data
+	 * 10.  SCALE short => scale - null is returned for data types where SCALE is not applicable.
+	 * 11.  RADIX short => radix
+	 * 12.  NULLABLE short => can it contain NULL.
+	 *         functionNoNulls - does not allow NULL values
+	 *         functionNullable - allows NULL values
+	 *         functionNullableUnknown - nullability unknown
+	 * 13.  REMARKS String => comment describing column/parameter
+	 * 14.  CHAR_OCTET_LENGTH int => the maximum length of binary and character based parameters or columns. For any other datatype the returned value is a NULL
+	 * 15.  ORDINAL_POSITION int => the ordinal position, starting from 1, for the input and output parameters.
+	 * 	   A value of 0 is returned if this row describes the function's return value. For result set columns, it is the ordinal position of the column in the result set starting from 1.
+	 * 16.  IS_NULLABLE String => ISO rules are used to determine the nullability for a parameter or column.
+	 *         YES --- if the parameter or column can include NULLs
+	 *         NO --- if the parameter or column cannot include NULLs
+	 *         empty string --- if the nullability for the parameter or column is unknown
+	 * 17.  SPECIFIC_NAME String => the name which uniquely identifies this function within its schema.
+	 * 	  This is a user specified, or DBMS generated, name that may be different then the FUNCTION_NAME for example with overload functions
+	 *
+	 * @param catalog a catalog name; must match the catalog name as
+	 *        it is stored in the database; "" retrieves those without a
+	 *        catalog; null means that the catalog name should not be
+	 *        used to narrow the search
+	 * @param schemaPattern a schema name pattern; must match the schema
+	 *        name as it is stored in the database; "" retrieves those
+	 *        without a schema; null means that the schema name should
+	 *        not be used to narrow the search
+	 * @param functionNamePattern a procedure name pattern; must match the
+	 *        function name as it is stored in the database
+	 * @param columnNamePattern a parameter name pattern; must match the
+	 *        parameter or column name as it is stored in the database
+	 * @return ResultSet - each row describes a user function parameter,
+	 *         column or return type
+	 * @throws SQLException - if a database access error occurs
+	 */
+	@Override
+	public ResultSet getFunctionColumns(
+			String catalog,
+			String schemaPattern,
+			String functionNamePattern,
+			String columnNamePattern)
+		throws SQLException
+	{
+		StringBuilder query = new StringBuilder(2600);
+		query.append("SELECT DISTINCT CAST(null as char(1)) AS \"FUNCTION_CAT\", " +
+			"\"schemas\".\"name\" AS \"FUNCTION_SCHEM\", " +
+			"\"functions\".\"name\" AS \"FUNCTION_NAME\", " +
+			"\"args\".\"name\" AS \"COLUMN_NAME\", " +
+			"CAST(CASE \"args\".\"inout\"" +
+				" WHEN 0 THEN (CASE \"args\".\"number\" WHEN 0 THEN ")
+				.append(DatabaseMetaData.functionReturn).append(" ELSE ").append(DatabaseMetaData.functionColumnOut).append(" END)" +
+				" WHEN 1 THEN ").append(DatabaseMetaData.functionColumnIn)
+				.append(" ELSE ").append(DatabaseMetaData.functionColumnUnknown).append(" END AS smallint) AS \"COLUMN_TYPE\", " +
+			"CAST(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS int) AS \"DATA_TYPE\", " +
+			"\"args\".\"type\" AS \"TYPE_NAME\", " +
+			"CASE \"args\".\"type\" WHEN 'tinyint' THEN 3 WHEN 'smallint' THEN 5 WHEN 'int' THEN 10 WHEN 'bigint' THEN 19" +
+				" WHEN 'hugeint' THEN 38 WHEN 'oid' THEN 19 WHEN 'wrd' THEN 19 ELSE \"args\".\"type_digits\" END AS \"PRECISION\", " +
+			"CASE \"args\".\"type\" WHEN 'tinyint' THEN 1 WHEN 'smallint' THEN 2 WHEN 'int' THEN 4 WHEN 'bigint' THEN 8" +
+				" WHEN 'hugeint' THEN 16 WHEN 'oid' THEN 8 WHEN 'wrd' THEN 8 ELSE \"args\".\"type_digits\" END AS \"LENGTH\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric'," +
+				"'time','timetz','timestamp','timestamptz','sec_interval') THEN \"args\".\"type_scale\" ELSE NULL END AS smallint) AS \"SCALE\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric') THEN 10" +
+				" WHEN \"args\".\"type\" IN ('real','float','double') THEN 2 ELSE NULL END AS smallint) AS \"RADIX\", " +
+			"CAST(").append(DatabaseMetaData.functionNullableUnknown).append(" AS smallint) AS \"NULLABLE\", " +
+			"CAST(null as char(1)) AS \"REMARKS\", " +
+			"CAST(CASE WHEN \"args\".\"type\" IN ('char','varchar','clob') THEN \"args\".\"type_digits\" ELSE NULL END as int) AS \"CHAR_OCTET_LENGTH\", " +
+			"CAST(\"args\".\"number\" as int) AS \"ORDINAL_POSITION\", " +
+			"CAST('' as varchar(3)) AS \"IS_NULLABLE\", " +
+			// the specific name contains the function id, in order to be able to match the args to the correct overloaded function name
+			"cast(\"functions\".\"id\" as varchar(10)) AS \"SPECIFIC_NAME\" " +
+		"FROM \"sys\".\"args\", \"sys\".\"functions\", \"sys\".\"schemas\" " +
+		"WHERE \"args\".\"func_id\" = \"functions\".\"id\" " +
+		"AND \"functions\".\"schema_id\" = \"schemas\".\"id\" " +
+		// exclude procedures (type = 2). Those need to be returned via getProcedureColumns()
+		"AND \"functions\".\"type\" <> 2");
+
+		if (catalog != null && catalog.length() > 0) {
+			// none empty catalog selection.
+			// as we do not support catalogs this always results in no rows returned
+			query.append(" AND 1 = 0");
+		}
+		if (schemaPattern != null) {
+			query.append(" AND \"schemas\".\"name\" ").append(composeMatchPart(schemaPattern));
+		}
+		if (functionNamePattern != null) {
+			query.append(" AND \"functions\".\"name\" ").append(composeMatchPart(functionNamePattern));
+		}
+		if (columnNamePattern != null) {
+			query.append(" AND \"args\".\"name\" ").append(composeMatchPart(columnNamePattern));
+		}
+		query.append(" ORDER BY \"FUNCTION_SCHEM\", \"FUNCTION_NAME\", \"SPECIFIC_NAME\", \"ORDINAL_POSITION\"");
+
+		return executeMetaDataQuery(query.toString());
+	}
+
+	//== 1.7 methods (JDBC 4.1)
+	
+	/**
+	 * Retrieves a description of the pseudo or hidden columns available
+	 * in a given table within the specified catalog and schema.  Pseudo
+	 * or hidden columns may not always be stored within a table and are
+	 * not visible in a ResultSet unless they are specified in the
+	 * query's outermost SELECT list.  Pseudo or hidden columns may not
+	 * necessarily be able to be modified.
+	 * If there are no pseudo or hidden columns, an empty ResultSet is returned.
+	 *
+	 * Only column descriptions matching the catalog, schema, table and column name criteria are returned.
+	 * They are ordered by TABLE_CAT,TABLE_SCHEM, TABLE_NAME and COLUMN_NAME.
+	 *
+	 * Each column description has the following columns:
+	 *
+	 *  1. TABLE_CAT String => table catalog (may be null)
+	 *  2. TABLE_SCHEM String => table schema (may be null)
+	 *  3. TABLE_NAME String => table name
+	 *  4. COLUMN_NAME String => column name
+	 *  5. DATA_TYPE int => SQL type from java.sql.Types
+	 *  6. COLUMN_SIZE int => column size.
+	 *  7. DECIMAL_DIGITS int => the number of fractional digits. Null is returned for data types where DECIMAL_DIGITS is not applicable.
+	 *  8. NUM_PREC_RADIX int => Radix (typically either 10 or 2)
+	 *  9. COLUMN_USAGE String => The allowed usage for the column. The value returned will correspond to the enum name returned by PseudoColumnUsage.name()
+	 * 10. REMARKS String => comment describing column (may be null)
+	 * 11. CHAR_OCTET_LENGTH int => for char types the maximum number of bytes in the column
+	 * 12. IS_NULLABLE String => ISO rules are used to determine the nullability for a column.
+	 *         YES --- if the column can include NULLs
+	 *         NO --- if the column cannot include NULLs
+	 *         empty string --- if the nullability for the column is unknown
+	 *
+	 * @param catalog a catalog name
+	 * @param schemaPattern a schema name pattern
+	 * @param tableNamePattern a table name pattern
+	 * @param columnNamePattern a column name pattern
+	 * @return ResultSet where each row is a column description
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getPseudoColumns(
+			String catalog,
+			String schemaPattern,
+			String tableNamePattern,
+			String columnNamePattern)
+		throws SQLException
+	{
+		// MonetDB currently does not support pseudo or hidden columns, so return an empty ResultSet
+		String query =
+		"SELECT CAST(null as char(1)) AS \"TABLE_CAT\", " +
+			"CAST('' as varchar(1)) AS \"TABLE_SCHEM\", " +
+			"CAST('' as varchar(1)) AS \"TABLE_NAME\", " +
+			"CAST('' as varchar(1)) AS \"COLUMN_NAME\", " +
+			"CAST(0 as int) AS \"DATA_TYPE\", " +
+			"CAST(0 as int) AS \"COLUMN_SIZE\", " +
+			"CAST(0 as int) AS \"DECIMAL_DIGITS\", " +
+			"CAST(0 as int) AS \"NUM_PREC_RADIX\", " +
+			"CAST('' as varchar(1)) AS \"COLUMN_USAGE\", " +
+			"CAST(null as varchar(1)) AS \"REMARKS\", " +
+			"CAST(0 as int) AS \"CHAR_OCTET_LENGTH\", " +
+			"CAST('' as varchar(3)) AS \"IS_NULLABLE\" " +
+		"WHERE 1 = 0";
+
+		return executeMetaDataQuery(query);
+	}
+
+	/**
+	 * Retrieves whether a generated key will always be returned if the
+	 * column name(s) or index(es) specified for the auto generated key
+	 * column(s) are valid and the statement succeeds.  The key that is
+	 * returned may or may not be based on the column(s) for the auto
+	 * generated key.
+	 *
+	 * @return true if so, false otherwise
+	 * @throws SQLException - if a database access error occurs
+	 */
+	@Override
+	public boolean generatedKeyAlwaysReturned() throws SQLException {
+		return true;
+	}
+
+	//== end methods interface DatabaseMetaData
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
@@ -0,0 +1,403 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.DriverManager;
+import java.sql.DriverPropertyInfo;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.logging.Logger;
+
+/**
+ * A Driver suitable for the MonetDB database.
+ *
+ * This driver will be used by the DriverManager to determine if an URL
+ * is to be handled by this driver, and if it does, then this driver
+ * will supply a Connection suitable for MonetDB.
+ *
+ * This class has no explicit constructor, the default constructor
+ * generated by the Java compiler will be sufficient since nothing has
+ * to be set in order to use this driver.
+ *
+ * This Driver supports MonetDB database URLs. MonetDB URLs are defined
+ * as:
+ * <tt>jdbc:monetdb://&lt;host&gt;[:&lt;port&gt;]/&lt;database&gt;</tt>
+ * where [:&lt;port&gt;] denotes that a port is optional. If not
+ * given the default (@JDBC_DEF_PORT@) will be used.
+ *
+ * @author Fabian Groffen
+ * @version @JDBC_MAJOR@.@JDBC_MINOR@ (@JDBC_VER_SUFFIX@)
+ */
+final public class MonetDriver implements Driver {
+	// the url kind will be jdbc:monetdb://<host>[:<port>]/<database>
+	// Chapter 9.2.1 from Sun JDBC 3.0 specification
+	/** The prefix of a MonetDB url */
+	private static final String MONETURL = "jdbc:monetdb://";
+	/** Major version of this driver */
+	private static final int DRIVERMAJOR = @JDBC_MAJOR@;
+	/** Minor version of this driver */
+	private static final int DRIVERMINOR = @JDBC_MINOR@;
+	/** Version suffix string */
+	private static final String DRIVERVERSIONSUFFIX =
+		"@JDBC_VER_SUFFIX@ based on MCL v@MCL_MAJOR@.@MCL_MINOR@";
+	// We're not fully compliant, but what we support is compliant
+	/** Whether this driver is JDBC compliant or not */
+	private static final boolean MONETJDBCCOMPLIANT = false;
+
+	/** MonetDB default port to connect to */
+	private static final String PORT = "@JDBC_DEF_PORT@";
+
+
+	// initialize this class: register it at the DriverManager
+	// Chapter 9.2 from Sun JDBC 3.0 specification
+	static {
+		try {
+			DriverManager.registerDriver(new MonetDriver());
+ 		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+	}
+
+	//== methods of interface Driver
+
+	/**
+	 * Retrieves whether the driver thinks that it can open a connection to the
+	 * given URL. Typically drivers will return true if they understand the
+	 * subprotocol specified in the URL and false if they do not.
+	 *
+	 * @param url the URL of the database
+	 * @return true if this driver understands the given URL; false otherwise
+	 */
+	public boolean acceptsURL(String url) {
+		return url != null && url.startsWith(MONETURL);
+	}
+
+	/**
+	 * Attempts to make a database connection to the given URL. The driver
+	 * should return "null" if it realizes it is the wrong kind of driver to
+	 * connect to the given URL. This will be common, as when the JDBC driver
+	 * manager is asked to connect to a given URL it passes the URL to each
+	 * loaded driver in turn.
+	 *
+	 * The driver should throw an SQLException if it is the right driver to
+	 * connect to the given URL but has trouble connecting to the database.
+	 *
+	 * The java.util.Properties argument can be used to pass arbitrary string
+	 * tag/value pairs as connection arguments. Normally at least "user" and
+	 * "password" properties should be included in the Properties object.
+	 *
+	 * @param url the URL of the database to which to connect
+	 * @param info a list of arbitrary string tag/value pairs as connection
+	 *        arguments. Normally at least a "user" and "password" property
+	 *        should be included
+	 * @return a Connection object that represents a connection to the URL
+	 * @throws SQLException if a database access error occurs
+	 */
+	public Connection connect(String url, Properties info)
+		throws SQLException
+	{
+		int tmp;
+		Properties props = new Properties();
+		// set the optional properties and their defaults here
+		props.put("port", PORT);
+		props.put("debug", "false");
+		props.put("language", "sql");	// mal, sql, <future>
+		props.put("so_timeout", "0");
+
+		props.putAll(info);
+		info = props;
+
+		// url should be of style jdbc:monetdb://<host>/<database>
+		if (!acceptsURL(url))
+			throw new SQLException("Invalid URL: it does not start with: " + MONETURL, "08M26");
+
+		// remove leading "jdbc:" so the rest is a valid hierarchical URI
+		URI uri;
+		try {
+			uri = new URI(url.substring(5));
+		} catch (URISyntaxException e) {
+			throw new SQLException(e.toString(), "08M26");
+		}
+
+		String uri_host = uri.getHost();
+		if (uri_host == null)
+			throw new SQLException("Invalid URL: no hostname given or unparsable in '" + url + "'", "08M26");
+		info.put("host", uri_host);
+
+		int uri_port = uri.getPort();
+		if (uri_port > 0)
+			info.put("port", "" + uri_port);
+
+		// check the database
+		String uri_path = uri.getPath();
+		if (uri_path != null && uri_path.length() != 0) {
+			uri_path = uri_path.substring(1);
+			if (!uri_path.trim().equals(""))
+				info.put("database", uri_path);
+		}
+
+		String uri_query = uri.getQuery();
+		if (uri_query != null) {
+			// handle additional arguments
+			String args[] = uri_query.split("&");
+			for (int i = 0; i < args.length; i++) {
+				tmp = args[i].indexOf("=");
+				if (tmp > 0)
+					info.put(args[i].substring(0, tmp), args[i].substring(tmp + 1));
+			}
+		}
+
+		// finally return the Connection as requested
+		return new MonetConnection(info);
+	}
+
+	/**
+	 * Retrieves the driver's major version number. Initially this should be 1.
+	 *
+	 * @return this driver's major version number
+	 */
+	public int getMajorVersion() {
+		return DRIVERMAJOR;
+	}
+
+	/**
+	 * Gets the driver's minor version number. Initially this should be 0.
+	 *
+	 * @return this driver's minor version number
+	 */
+	public int getMinorVersion() {
+		return DRIVERMINOR;
+	}
+
+	/**
+	 * Gets information about the possible properties for this driver.
+	 *
+	 * The getPropertyInfo method is intended to allow a generic GUI tool to
+	 * discover what properties it should prompt a human for in order to get
+	 * enough information to connect to a database. Note that depending on the
+	 * values the human has supplied so far, additional values may become
+	 * necessary, so it may be necessary to iterate though several calls to the
+	 * getPropertyInfo method.
+	 *
+	 * @param url the URL of the database to which to connect
+	 * @param info a proposed list of tag/value pairs that will be sent on
+	 *        connect open
+	 * @return an array of DriverPropertyInfo objects describing possible
+	 *         properties. This array may be an empty array if no properties
+	 *         are required.
+	 */
+	public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) {
+		if (!acceptsURL(url))
+			return null;
+
+		List<DriverPropertyInfo> props = new ArrayList<DriverPropertyInfo>();
+
+		DriverPropertyInfo prop = new DriverPropertyInfo("user", info.getProperty("user"));
+		prop.required = true;
+		prop.description = "The user loginname to use when authenticating on the database server";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("password", info.getProperty("password"));
+		prop.required = true;
+		prop.description = "The password to use when authenticating on the database server";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("debug", "false");
+		prop.required = false;
+		prop.description = "Whether or not to create a log file for debugging purposes";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("logfile", "");
+		prop.required = false;
+		prop.description = "The filename to write the debug log to. Only takes effect if debug is set to true. If the file exists, an incrementing number is added, till the filename is unique.";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("language", "sql");
+		prop.required = false;
+		prop.description = "What language to use for MonetDB conversations (experts only)";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("hash", "");
+		prop.required = false;
+		prop.description = "Force the use of the given hash algorithm during challenge response (one of SHA1, MD5, plain)";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("follow_redirects", "true");
+		prop.required = false;
+		prop.description = "Whether redirects issued by the server should be followed";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("treat_blob_as_binary", "false");
+		prop.required = false;
+		prop.description = "Whether BLOBs on the server should be treated as BINARY types, thus mapped to byte[]";
+		props.add(prop);
+
+		prop = new DriverPropertyInfo("so_timeout", "0");
+		prop.required = false;
+		prop.description = "Defines the maximum time to wait in milliseconds on a blocking read socket call"; // this corresponds to the Connection.setNetworkTimeout() method introduced in JDBC 4.1
+		props.add(prop);
+
+		DriverPropertyInfo[] dpi = new DriverPropertyInfo[props.size()];
+		return props.toArray(dpi);
+	}
+
+	/**
+	 * Reports whether this driver is a genuine JDBC Compliant&tm; driver. A
+	 * driver may only report true here if it passes the JDBC compliance tests;
+	 * otherwise it is required to return false.
+	 *
+	 * JDBC compliance requires full support for the JDBC API and full support
+	 * for SQL 92 Entry Level. It is expected that JDBC compliant drivers will
+	 * be available for all the major commercial databases.
+	 *
+	 * This method is not intended to encourage the development of non-JDBC
+	 * compliant drivers, but is a recognition of the fact that some vendors are
+	 * interested in using the JDBC API and framework for lightweight databases
+	 * that do not support full database functionality, or for special databases
+	 * such as document information retrieval where a SQL implementation may not
+	 * be feasible.
+	 *
+	 * @return true if this driver is JDBC Compliant; false otherwise
+	 */
+	public boolean jdbcCompliant() {
+		return MONETJDBCCOMPLIANT;
+	}
+
+	//== end methods of interface driver
+
+
+	/** A static Map containing the mapping between MonetDB types and Java SQL types */
+	/* use SELECT sqlname, * FROM sys.types order by 1, id; to view all MonetDB types */
+	/* see http://docs.oracle.com/javase/7/docs/api/java/sql/Types.html to view all supported java SQL types */
+	private static java.util.Map<String, Integer> typeMap = new java.util.HashMap<String, Integer>();
+	static {
+		// fill the typeMap once
+		// typeMap.put("any", Integer.valueOf(Types.???));
+		typeMap.put("bigint", Integer.valueOf(Types.BIGINT));
+		typeMap.put("blob", Integer.valueOf(Types.BLOB));
+		typeMap.put("boolean", Integer.valueOf(Types.BOOLEAN));
+		typeMap.put("char", Integer.valueOf(Types.CHAR));
+		typeMap.put("clob", Integer.valueOf(Types.CLOB));
+		typeMap.put("date", Integer.valueOf(Types.DATE));
+		typeMap.put("decimal", Integer.valueOf(Types.DECIMAL));
+		typeMap.put("double", Integer.valueOf(Types.DOUBLE));
+		// typeMap.put("geometry", Integer.valueOf(Types.???));
+		// typeMap.put("geometrya", Integer.valueOf(Types.???));
+		typeMap.put("hugeint", Integer.valueOf(Types.NUMERIC));
+		typeMap.put("inet", Integer.valueOf(Types.VARCHAR));
+		typeMap.put("int", Integer.valueOf(Types.INTEGER));
+		typeMap.put("json", Integer.valueOf(Types.VARCHAR));
+		// typeMap.put("mbr", Integer.valueOf(Types.???));
+		typeMap.put("month_interval", Integer.valueOf(Types.INTEGER));
+		typeMap.put("oid", Integer.valueOf(Types.BIGINT));
+		// typeMap.put("ptr", Integer.valueOf(Types.???));
+		typeMap.put("real", Integer.valueOf(Types.REAL));
+		typeMap.put("sec_interval", Integer.valueOf(Types.DECIMAL));
+		typeMap.put("smallint", Integer.valueOf(Types.SMALLINT));
+		// typeMap.put("table", Integer.valueOf(Types.???));
+		typeMap.put("time", Integer.valueOf(Types.TIME));
+		typeMap.put("timestamp", Integer.valueOf(Types.TIMESTAMP));
+		typeMap.put("timestamptz", Integer.valueOf(Types.TIMESTAMP));
+// new in Java 8: Types.TIMESTAMP_WITH_TIMEZONE (value 2014). Can't use it yet as we compile for java 7
+		typeMap.put("timetz", Integer.valueOf(Types.TIME));
+// new in Java 8: Types.TIME_WITH_TIMEZONE (value 2013). Can't use it yet as we compile for java 7
+		typeMap.put("tinyint", Integer.valueOf(Types.TINYINT));
+		typeMap.put("url", Integer.valueOf(Types.VARCHAR));
+		typeMap.put("uuid", Integer.valueOf(Types.VARCHAR));
+		typeMap.put("varchar", Integer.valueOf(Types.VARCHAR));
+		typeMap.put("wrd", Integer.valueOf(Types.BIGINT));
+	}
+
+	/**
+	 * Returns the java.sql.Types equivalent of the given MonetDB type.
+	 *
+	 * @param type the type as used by MonetDB
+	 * @return the mathing java.sql.Types constant or java.sql.Types.OTHER if
+	 *         nothing matched on the given string
+	 */
+	static int getJavaType(String type) {
+		// match the column type on a java.sql.Types constant
+		Integer tp = typeMap.get(type);
+		if (tp != null) {
+			return tp.intValue();
+		} else {
+			// this should not be able to happen
+			// do not assert, since maybe future versions introduce
+			// new types
+			return Types.OTHER;
+		}
+	}
+
+	/**
+	 * Returns a String usable in an SQL statement to map the server types
+	 * to values of java.sql.Types using the global static type map.
+	 * The returned string will be a SQL CASE x statement where the x is
+	 * replaced with the given column name (or expression) string.
+	 *
+	 * @param column a String representing the value that should be evaluated
+	 *               in the SQL CASE statement
+	 * @return a SQL CASE statement
+	 */
+	private static String TypeMapppingSQL = null;	// cache to optimise getSQLTypeMap()
+	static String getSQLTypeMap(String column) {
+		if (TypeMapppingSQL == null) {
+			// first time, compose TypeMappping SQL string
+			StringBuilder val = new StringBuilder((typeMap.size() * (7 + 7 + 7 + 4)) + 14);
+	 		for (Entry<String, Integer> entry : typeMap.entrySet()) {
+				val.append(" WHEN '").append(entry.getKey()).append("' THEN ").append(entry.getValue().toString());
+	 		}
+			val.append(" ELSE ").append(Types.OTHER).append(" END");
+			// as the typeMap is static, cache this SQL part for all next calls
+			TypeMapppingSQL = val.toString();
+		}
+		return "CASE " + column + TypeMapppingSQL;
+	}
+
+	/**
+	 * Returns a touched up identifying version string of this driver.
+	 *
+	 * @return the version string
+	 */
+	public static String getDriverVersion() {
+		return "" + DRIVERMAJOR + "." + DRIVERMINOR + " (" + DRIVERVERSIONSUFFIX + ")";
+	}
+
+	public static int getDriverMajorVersion() {
+		return DRIVERMAJOR;
+	}
+
+	public static int getDriverMinorVersion() {
+		return DRIVERMINOR;
+	}
+
+	/**
+	 * Return the parent Logger of all the Loggers used by this data
+	 * source.  This should be the Logger farthest from the root Logger
+	 * that is still an ancestor of all of the Loggers used by this data
+	 * source.  Configuring this Logger will affect all of the log
+	 * messages generated by the data source. In the worst case, this
+	 * may be the root Logger.
+	 *
+	 * @return the parent Logger for this data source
+	 * @throws SQLFeatureNotSupportedException if the data source does
+	 *         not use java.util.logging
+	 */
+	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+		throw new SQLFeatureNotSupportedException("java.util.logging not in use", "0A000");
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
@@ -0,0 +1,2503 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import java.util.*;
+import java.net.URL;
+import java.io.*;
+import java.nio.*;
+import java.math.*;	// BigDecimal, etc.
+import java.text.SimpleDateFormat;
+
+/**
+ * A {@link PreparedStatement} suitable for the MonetDB database.
+ * 
+ * This implementation of the PreparedStatement interface uses the
+ * capabilities of the MonetDB/SQL backend to prepare and execute
+ * queries.  The backend takes care of finding the '?'s in the input and
+ * returns the types it expects for them.
+ * 
+ * An example of a server response on a prepare query is:
+ * <pre>
+ * % prepare select name from tables where id &gt; ? and id &lt; ?;
+ * &amp;5 0 2 3 2
+ * # prepare,      prepare,        prepare # table_name
+ * # type, digits, scale # name
+ * # varchar,      int,    int # type
+ * # 0,    0,      0 # length
+ * [ "int",        9,      0       ]
+ * [ "int",        9,      0       ]
+ * </pre>
+ *
+ * @author Fabian Groffen
+ * @version 0.3
+ */
+public class MonetPreparedStatement
+	extends MonetStatement
+	implements PreparedStatement
+{
+	private final String[] monetdbType;
+	private final int[] javaType;
+	private final int[] digits;
+	private final int[] scale;
+	private final String[] schema;
+	private final String[] table;
+	private final String[] column;
+	private final int id;
+	private final int size;
+	private final int rscolcnt;
+
+	private final String[] values;
+	
+	private final MonetConnection connection;
+
+	/* only parse the date patterns once, use multiple times */
+	/** Format of a timestamp with RFC822 time zone */
+	final SimpleDateFormat mTimestampZ =
+		new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
+	/** Format of a timestamp */
+	final SimpleDateFormat mTimestamp =
+		new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+	/** Format of a time with RFC822 time zone */
+	final SimpleDateFormat mTimeZ =
+		new SimpleDateFormat("HH:mm:ss.SSSZ");
+	/** Format of a time */
+	final SimpleDateFormat mTime =
+		new SimpleDateFormat("HH:mm:ss.SSS");
+	/** Format of a date used by mserver */
+	final SimpleDateFormat mDate =
+		new SimpleDateFormat("yyyy-MM-dd");
+
+	/**
+	 * MonetPreparedStatement constructor which checks the arguments for
+	 * validity.  A MonetPreparedStatement is backed by a
+	 * {@link MonetStatement}, which deals with most of the required stuff of
+	 * this class.
+	 *
+	 * @param connection the connection that created this Statement
+	 * @param resultSetType type of {@link ResultSet} to produce
+	 * @param resultSetConcurrency concurrency of ResultSet to produce
+	 * @param prepareQuery the query string to prepare
+	 * @throws SQLException if an error occurs during login
+	 * @throws IllegalArgumentException is one of the arguments is null or empty
+	 */
+	MonetPreparedStatement(
+			MonetConnection connection,
+			int resultSetType,
+			int resultSetConcurrency,
+			int resultSetHoldability,
+			String prepareQuery)
+		throws SQLException, IllegalArgumentException
+	{
+		super(
+			connection,
+			resultSetType,
+			resultSetConcurrency,
+			resultSetHoldability
+		);
+
+		if (!super.execute("PREPARE " + prepareQuery))
+			throw new SQLException("Unexpected server response", "M0M10");
+
+		// cheat a bit to get the ID and the number of columns
+		id = ((MonetConnection.ResultSetResponse)header).id;
+		size = ((MonetConnection.ResultSetResponse)header).tuplecount;
+		rscolcnt = ((MonetConnection.ResultSetResponse)header).columncount;
+
+		// initialise blank finals
+		monetdbType = new String[size];
+		javaType = new int[size];
+		digits = new int[size];
+		scale = new int[size];
+		schema = new String[size];
+		table = new String[size];
+		column = new String[size];
+		values = new String[size];
+
+		this.connection = connection;
+
+		// fill the arrays
+		ResultSet rs = super.getResultSet();
+		for (int i = 0; rs.next(); i++) {
+			monetdbType[i] = rs.getString("type");
+			javaType[i] = MonetDriver.getJavaType(monetdbType[i]);
+			digits[i] = rs.getInt("digits");
+			scale[i] = rs.getInt("scale");
+			if (rscolcnt == 3)
+				continue;
+			schema[i] = rs.getString("schema");
+			table[i] = rs.getString("table");
+			column[i] = rs.getString("column");
+		}
+		rs.close();
+
+		// PreparedStatements are by default poolable
+		poolable = true;
+	}
+
+	/**
+	 * Constructs an empty MonetPreparedStatement.  This constructor is
+	 * in particular useful for extensions of this class.
+	 *
+	 * @param connection the connection that created this Statement
+	 * @param resultSetType type of ResultSet to produce
+	 * @param resultSetConcurrency concurrency of ResultSet to produce
+	 * @throws SQLException if an error occurs during login
+	 */
+	/* Disabled this constructor code as it is not part of the JDBC interface
+	   It may be enabled again when a subclass is constructed which needs it.
+	MonetPreparedStatement(
+			MonetConnection connection,
+			int resultSetType,
+			int resultSetConcurrency,
+			int resultSetHoldability)
+		throws SQLException
+	{
+		super(
+			connection,
+			resultSetType,
+			resultSetConcurrency,
+			resultSetHoldability
+		);
+		// initialise blank finals
+		monetdbType = null;
+		javaType = null;
+		digits = null;
+		scale = null;
+		schema = null;
+		table = null;
+		column = null;
+		values = null;
+		id = -1;
+		size = -1;
+		rscolcnt = -1;
+
+		this.connection = connection;
+	}
+	*/
+
+	//== methods interface PreparedStatement
+
+	/**
+	 * Adds a set of parameters to this PreparedStatement object's batch
+	 * of commands.
+	 *
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void addBatch() throws SQLException {
+		super.addBatch(transform());
+	}
+
+	/** override the addBatch from the Statement to throw an SQLException */
+	@Override
+	public void addBatch(String q) throws SQLException {
+		throw new SQLException("This method is not available in a PreparedStatement!", "M1M05");
+	}
+
+	/**
+	 * Clears the current parameter values immediately.
+	 * 
+	 * In general, parameter values remain in force for repeated use of a
+	 * statement. Setting a parameter value automatically clears its previous
+	 * value. However, in some cases it is useful to immediately release the
+	 * resources used by the current parameter values; this can be done by
+	 * calling the method clearParameters.
+	 */
+	@Override
+	public void clearParameters() {
+		for (int i = 0; i < values.length; i++) {
+			values[i] = null;
+		}
+	}
+
+	/**
+	 * Executes the SQL statement in this PreparedStatement object,
+	 * which may be any kind of SQL statement.  Some prepared statements
+	 * return multiple results; the execute method handles these complex
+	 * statements as well as the simpler form of statements handled by
+	 * the methods executeQuery and executeUpdate.
+	 * 
+	 * The execute method returns a boolean to indicate the form of the
+	 * first result.  You must call either the method getResultSet or
+	 * getUpdateCount to retrieve the result; you must call
+	 * getMoreResults to move to any subsequent result(s).
+	 *
+	 * @return true if the first result is a ResultSet object; false if the
+	 *              first result is an update count or there is no result
+	 * @throws SQLException if a database access error occurs or an argument
+	 *                      is supplied to this method
+	 */
+	@Override
+	public boolean execute() throws SQLException {
+		return super.execute(transform());
+	}
+
+	/** override the execute from the Statement to throw an SQLException */
+	@Override
+	public boolean execute(String q) throws SQLException {
+		throw new SQLException("This method is not available in a PreparedStatement!", "M1M05");
+	}
+
+	/**
+	 * Executes the SQL query in this PreparedStatement object and returns the
+	 * ResultSet object generated by the query.
+	 *
+	 * @return a ResultSet object that contains the data produced by the query;
+	 *         never null
+	 * @throws SQLException if a database access error occurs or the SQL
+	 *                      statement does not return a ResultSet object
+	 */
+	@Override
+	public ResultSet executeQuery() throws SQLException{
+		if (execute() != true)
+			throw new SQLException("Query did not produce a result set", "M1M19");
+
+		return getResultSet();
+	}
+
+	/** override the executeQuery from the Statement to throw an SQLException*/
+	@Override
+	public ResultSet executeQuery(String q) throws SQLException {
+		throw new SQLException("This method is not available in a PreparedStatement!", "M1M05");
+	}
+
+	/**
+	 * Executes the SQL statement in this PreparedStatement object, which must
+	 * be an SQL INSERT, UPDATE or DELETE statement; or an SQL statement that
+	 * returns nothing, such as a DDL statement.
+	 *
+	 * @return either (1) the row count for INSERT, UPDATE, or DELETE
+	 *         statements or (2) 0 for SQL statements that return nothing
+	 * @throws SQLException if a database access error occurs or the SQL
+	 *                     statement returns a ResultSet object
+	 */
+	@Override
+	public int executeUpdate() throws SQLException {
+		if (execute() != false)
+			throw new SQLException("Query produced a result set", "M1M17");
+
+		return getUpdateCount();
+	}
+
+	/** override the executeUpdate from the Statement to throw an SQLException*/
+	@Override
+	public int executeUpdate(String q) throws SQLException {
+		throw new SQLException("This method is not available in a PreparedStatement!", "M1M05");
+	}
+
+	/**
+	 * Returns the index (0..size-1) in the backing arrays for the given
+	 * resultset column number or an SQLException when not found
+	 */
+	private int getColumnIdx(int colnr) throws SQLException {
+		int curcol = 0;
+		for (int i = 0; i < size; i++) {
+			if (column[i] == null)
+				continue;
+			curcol++;
+			if (curcol == colnr)
+				return i;
+		}
+		throw new SQLException("No such column with index: " + colnr, "M1M05");
+	}
+	/**
+	 * Returns the index (0..size-1) in the backing arrays for the given
+	 * parameter number or an SQLException when not found
+	 */
+	private int getParamIdx(int paramnr) throws SQLException {
+		int curparam = 0;
+		for (int i = 0; i < size; i++) {
+			if (column[i] != null)
+				continue;
+			curparam++;
+			if (curparam == paramnr)
+				return i;
+		}
+		throw new SQLException("No such parameter with index: " + paramnr, "M1M05");
+	}
+
+
+	/* helper for the anonymous class inside getMetaData */
+	private abstract class rsmdw extends MonetWrapper implements ResultSetMetaData {}
+	/**
+	 * Retrieves a ResultSetMetaData object that contains information
+	 * about the columns of the ResultSet object that will be returned
+	 * when this PreparedStatement object is executed.
+	 * 
+	 * Because a PreparedStatement object is precompiled, it is possible
+	 * to know about the ResultSet object that it will return without
+	 * having to execute it.  Consequently, it is possible to invoke the
+	 * method getMetaData on a PreparedStatement object rather than
+	 * waiting to execute it and then invoking the ResultSet.getMetaData
+	 * method on the ResultSet object that is returned.
+	 *
+	 * @return the description of a ResultSet object's columns or null if the
+	 *         driver cannot return a ResultSetMetaData object
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSetMetaData getMetaData() {
+		if (rscolcnt == 3)
+			return null; // not sufficient data with pre-Dec2011 PREPARE
+
+		// return inner class which implements the ResultSetMetaData interface
+		return new rsmdw() {
+			/**
+			 * Returns the number of columns in this ResultSet object.
+			 *
+			 * @returns the number of columns
+			 */
+			@Override
+			public int getColumnCount() {
+				int cnt = 0;
+
+				for (int i = 0; i < size; i++) {
+					if (column[i] != null)
+						cnt++;
+				}
+				return cnt;
+			}
+
+			/**
+			 * Indicates whether the designated column is automatically numbered.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public boolean isAutoIncrement(int column) throws SQLException {
+				/* TODO: in MonetDB only numeric (int, decimal) columns could be autoincrement/serial
+				 * This however requires an expensive dbmd.getColumns(null, schema, table, column)
+				 * query call to pull the IS_AUTOINCREMENT value for this column.
+				 * See also ResultSetMetaData.isAutoIncrement()
+				 */
+				// For now we simply allways return false.
+				return false;
+			}
+
+			/**
+			 * Indicates whether a column's case matters.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns false
+			 */
+			@Override
+			public boolean isCaseSensitive(int column) throws SQLException {
+				switch (javaType[getColumnIdx(column)]) {
+					case Types.CHAR:
+					case Types.VARCHAR:
+					case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness
+					case Types.CLOB:
+						return true;
+				}
+
+				return false;
+			}
+
+			/**
+			 * Indicates whether the designated column can be used in a
+			 * where clause.
+			 *
+			 * Returning true for all here, even for CLOB, BLOB.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns true
+			 */
+			@Override
+			public boolean isSearchable(int column) {
+				return true;
+			}
+
+			/**
+			 * Indicates whether the designated column is a cash value.
+			 * From the MonetDB database perspective it is by definition
+			 * unknown whether the value is a currency, because there are
+			 * no currency datatypes such as MONEY.  With this knowledge
+			 * we can always return false here.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns false
+			 */
+			@Override
+			public boolean isCurrency(int column) {
+				return false;
+			}
+			
+			/**
+			 * Indicates whether values in the designated column are signed
+			 * numbers.
+			 * Within MonetDB all numeric types (except oid and ptr) are signed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isSigned(int column) throws SQLException {
+				String monettype = getColumnTypeName(column);
+				if (monettype != null) {
+					if ("oid".equals(monettype)
+					 || "ptr".equals(monettype))
+						return false;
+				}
+				// we can hardcode this, based on the colum type
+				switch (javaType[getColumnIdx(column)]) {
+					case Types.NUMERIC:
+					case Types.DECIMAL:
+					case Types.TINYINT:
+					case Types.SMALLINT:
+					case Types.INTEGER:
+					case Types.BIGINT:
+					case Types.REAL:
+					case Types.FLOAT:
+					case Types.DOUBLE:
+						return true;
+					case Types.BIT: // we don't use type BIT, it's here for completeness
+					case Types.BOOLEAN:
+					case Types.DATE:
+					case Types.TIME:
+					case Types.TIMESTAMP:
+					default:
+						return false;
+				}
+			}
+
+			/**
+			 * Indicates the designated column's normal maximum width in
+			 * characters.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the normal maximum number of characters allowed as the
+			 *         width of the designated column
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public int getColumnDisplaySize(int column) throws SQLException {
+				return digits[getColumnIdx(column)];
+			}
+
+			/**
+			 * Get the designated column's table's schema.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return schema name or "" if not applicable
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public String getSchemaName(int column) throws SQLException {
+				return schema[getColumnIdx(column)];
+			}
+
+			/**
+			 * Gets the designated column's table name.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return table name or "" if not applicable
+			 */
+			@Override
+			public String getTableName(int col) throws SQLException {
+				return table[getColumnIdx(col)];
+			}
+
+			/**
+			 * Get the designated column's number of decimal digits.
+			 * This method is currently very expensive as it needs to
+			 * retrieve the information from the database using an SQL
+			 * query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return precision
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getPrecision(int column) throws SQLException {
+				return digits[getColumnIdx(column)];
+			}
+
+			/**
+			 * Gets the designated column's number of digits to right of
+			 * the decimal point.  This method is currently very
+			 * expensive as it needs to retrieve the information from
+			 * the database using an SQL query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return scale
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getScale(int column) throws SQLException {
+				return scale[getColumnIdx(column)];
+			}
+
+			/**
+			 * Indicates the nullability of values in the designated
+			 * column.  This method is currently very expensive as it
+			 * needs to retrieve the information from the database using
+			 * an SQL query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return nullability
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int isNullable(int column) throws SQLException {
+				return columnNullableUnknown;
+			}
+
+			/**
+			 * Gets the designated column's table's catalog name.
+			 * MonetDB does not support the catalog naming concept as in: catalog.schema.table naming scheme
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the name of the catalog for the table in which the given
+			 *         column appears or "" if not applicable
+			 */
+			@Override
+			public String getCatalogName(int column) throws SQLException {
+				return null;	// MonetDB does NOT support catalogs
+			}
+
+			/**
+			 * Indicates whether the designated column is definitely not
+			 * writable.  MonetDB does not support cursor updates, so
+			 * nothing is writable.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isReadOnly(int column) {
+				return true;
+			}
+
+			/**
+			 * Indicates whether it is possible for a write on the
+			 * designated column to succeed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isWritable(int column) {
+				return false;
+			}
+
+			/**
+			 * Indicates whether a write on the designated column will
+			 * definitely succeed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isDefinitelyWritable(int column) {
+				return false;
+			}
+
+			/**
+			 * Returns the fully-qualified name of the Java class whose
+			 * instances are manufactured if the method
+			 * ResultSet.getObject is called to retrieve a value from
+			 * the column.  ResultSet.getObject may return a subclass of
+			 * the class returned by this method.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the fully-qualified name of the class in the Java
+			 *         programming language that would be used by the method
+			 *         ResultSet.getObject to retrieve the value in the
+			 *         specified column. This is the class name used for custom
+			 *         mapping.
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnClassName(int column) throws SQLException {
+				return MonetResultSet.getClassForType(javaType[getColumnIdx(column)]).getName();
+			}
+
+			/**
+			 * Gets the designated column's suggested title for use in
+			 * printouts and displays. This is currently equal to
+			 * getColumnName().
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the suggested column title
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnLabel(int column) throws SQLException {
+				return getColumnName(column);
+			}
+
+			/**
+			 * Gets the designated column's name
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the column name
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnName(int col) throws SQLException {
+				return column[getColumnIdx(col)];
+			}
+
+			/**
+			 * Retrieves the designated column's SQL type.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return SQL type from java.sql.Types
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public int getColumnType(int column) throws SQLException {
+				return javaType[getColumnIdx(column)];
+			}
+
+			/**
+			 * Retrieves the designated column's database-specific type name.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return type name used by the database. If the column type is a
+			 *         user-defined type, then a fully-qualified type name is
+			 *         returned.
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnTypeName(int column) throws SQLException {
+				return monetdbType[getColumnIdx(column)];
+			}
+		};
+	}
+
+	/* helper class for the anonymous class in getParameterMetaData */
+	private abstract class pmdw extends MonetWrapper implements ParameterMetaData {}
+	/**
+	 * Retrieves the number, types and properties of this
+	 * PreparedStatement object's parameters.
+	 *
+	 * @return a ParameterMetaData object that contains information
+	 *         about the number, types and properties of this
+	 *         PreparedStatement object's parameters
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ParameterMetaData getParameterMetaData() throws SQLException {
+		return new pmdw() {
+			/**
+			 * Retrieves the number of parameters in the
+			 * PreparedStatement object for which this ParameterMetaData
+			 * object contains information.
+			 *
+			 * @return the number of parameters
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getParameterCount() throws SQLException {
+				int cnt = 0;
+
+				for (int i = 0; i < size; i++) {
+					if (column[i] == null)
+						cnt++;
+				}
+				
+				return cnt;
+			}
+
+			/**
+			 * Retrieves whether null values are allowed in the
+			 * designated parameter.
+			 * 
+			 * This is currently always unknown for MonetDB/SQL.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return the nullability status of the given parameter;
+			 *         one of ParameterMetaData.parameterNoNulls,
+			 *         ParameterMetaData.parameterNullable, or
+			 *         ParameterMetaData.parameterNullableUnknown 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int isNullable(int param) throws SQLException {
+				return ParameterMetaData.parameterNullableUnknown;
+			}
+
+			/**
+			 * Retrieves whether values for the designated parameter can
+			 * be signed numbers.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return true if so; false otherwise 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public boolean isSigned(int param) throws SQLException {
+				// we can hardcode this, based on the colum type
+				// (from ResultSetMetaData.isSigned)
+				switch (javaType[getParamIdx(param)]) {
+					case Types.NUMERIC:
+					case Types.DECIMAL:
+					case Types.TINYINT:
+					case Types.SMALLINT:
+					case Types.INTEGER:
+					case Types.BIGINT:
+					case Types.REAL:
+					case Types.FLOAT:
+					case Types.DOUBLE:
+						return true;
+					case Types.BIT: // we don't use type BIT, it's here for completeness
+					case Types.BOOLEAN:
+					case Types.DATE:
+					case Types.TIME:
+					case Types.TIMESTAMP:
+					default:
+						return false;
+				}
+			}
+
+			/**
+			 * Retrieves the designated parameter's number of decimal
+			 * digits.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return precision
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getPrecision(int param) throws SQLException {
+				return digits[getParamIdx(param)];
+			}
+
+			/**
+			 * Retrieves the designated parameter's number of digits to
+			 * right of the decimal point.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return scale 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getScale(int param) throws SQLException {
+				return scale[getParamIdx(param)];
+			}
+
+			/**
+			 * Retrieves the designated parameter's SQL type.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return SQL type from java.sql.Types 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getParameterType(int param) throws SQLException {
+				return javaType[getParamIdx(param)];
+			}
+
+			/**
+			 * Retrieves the designated parameter's database-specific
+			 * type name.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return type the name used by the database.  If the
+			 *         parameter type is a user-defined type, then a
+			 *         fully-qualified type name is returned. 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public String getParameterTypeName(int param) throws SQLException {
+				return monetdbType[getParamIdx(param)];
+			}
+
+			/**
+			 * Retrieves the fully-qualified name of the Java class
+			 * whose instances should be passed to the method
+			 * PreparedStatement.setObject.
+			 *
+			 * @param param the first parameter is 1, the second is 2, ... 
+			 * @return the fully-qualified name of the class in the Java
+			 *         programming language that would be used by the
+			 *         method PreparedStatement.setObject to set the
+			 *         value in the specified parameter. This is the
+			 *         class name used for custom mapping. 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public String getParameterClassName(int param) throws SQLException {
+				Map<String,Class<?>> map = getConnection().getTypeMap();
+				Class<?> c;
+				if (map.containsKey(monetdbType[getParamIdx(param)])) {
+					c = (Class)map.get(monetdbType[getParamIdx(param)]);
+				} else {
+					c = MonetResultSet.getClassForType(
+							javaType[getParamIdx(param)]
+					);
+				}
+				return c.getName();
+			}
+
+			/**
+			 * Retrieves the designated parameter's mode.
+			 * For MonetDB/SQL this is currently always unknown.
+			 *
+			 * @param param - the first parameter is 1, the second is 2, ... 
+			 * @return mode of the parameter; one of
+			 *         ParameterMetaData.parameterModeIn,
+			 *         ParameterMetaData.parameterModeOut, or
+			 *         ParameterMetaData.parameterModeInOut
+			 *         ParameterMetaData.parameterModeUnknown. 
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getParameterMode(int param) throws SQLException {
+				return ParameterMetaData.parameterModeUnknown;
+			}
+		};
+	}
+
+	/**
+	 * Sets the designated parameter to the given Array object.  The
+	 * driver converts this to an SQL ARRAY value when it sends it to
+	 * the database.
+     *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x an Array object that maps an SQL ARRAY value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setArray(int i, Array x) throws SQLException {
+		throw new SQLException("Operation setArray(int i, Array x) currently not supported!", "0A000");
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. When a very large ASCII value is input to
+	 * a LONGVARCHAR parameter, it may be more practical to send it via a
+	 * java.io.InputStream. Data will be read from the stream as needed until
+	 * end-of-file is reached. The JDBC driver will do any necessary conversion
+	 * from ASCII to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the Java input stream that contains the ASCII parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setAsciiStream(int parameterIndex, InputStream x)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setAsciiStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. When a very large ASCII value is input to
+	 * a LONGVARCHAR parameter, it may be more practical to send it via a
+	 * java.io.InputStream. Data will be read from the stream as needed until
+	 * end-of-file is reached. The JDBC driver will do any necessary conversion
+	 * from ASCII to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the Java input stream that contains the ASCII parameter value
+	 * @param length the number of bytes in the stream
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setAsciiStream(int parameterIndex, InputStream x, int length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setAsciiStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which
+	 * will have the specified number of bytes. When a very large ASCII
+	 * value is input to a LONGVARCHAR parameter, it may be more
+	 * practical to send it via a java.io.InputStream. Data will be read
+	 * from the stream as needed until end-of-file is reached. The JDBC
+	 * driver will do any necessary conversion from ASCII to the
+	 * database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the Java input stream that contains the ASCII parameter value
+	 * @param length the number of bytes in the stream
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setAsciiStream(int parameterIndex, InputStream x, long length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setAsciiStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.math.BigDecimal value.
+	 * The driver converts this to an SQL NUMERIC value when it sends it to the
+	 * database.
+	 *
+	 * @param idx the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setBigDecimal(int idx, BigDecimal x)
+	    throws SQLException
+	{
+	  // get array position
+	  int i = getParamIdx(idx);
+
+	  // round to the scale of the DB:
+	  x = x.setScale(scale[i], RoundingMode.HALF_UP);
+
+	  // if precision is now greater than that of the db, throw an error:
+	  if (x.precision() > digits[i]) {
+	    throw new SQLDataException("DECIMAL value exceeds allowed digits/scale: " + x.toPlainString() + " (" + digits[i] + "/" + scale[i] + ")", "22003");
+	  }
+
+	  // MonetDB doesn't like leading 0's, since it counts them as part of
+	  // the precision, so let's strip them off. (But be careful not to do
+	  // this to the exact number "0".)  Also strip off trailing
+	  // numbers that are inherent to the double representation.
+	  String xStr = x.toPlainString();
+	  int dot = xStr.indexOf(".");
+	  if (dot >= 0)
+	    xStr = xStr.substring(0, Math.min(xStr.length(), dot + 1 + scale[i]));
+	  while (xStr.startsWith("0") && xStr.length() > 1)
+	    xStr = xStr.substring(1);
+	  setValue(idx, xStr);
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. When a very large binary value is input
+	 * to a LONGVARBINARY parameter, it may be more practical to send it via a
+	 * java.io.InputStream object. The data will be read from the stream as
+	 * needed until end-of-file is reached.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the java input stream which contains the binary parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBinaryStream(int parameterIndex, InputStream x)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setBinaryStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. When a very large binary value is input
+	 * to a LONGVARBINARY parameter, it may be more practical to send it via a
+	 * java.io.InputStream object. The data will be read from the stream as
+	 * needed until end-of-file is reached.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the java input stream which contains the binary parameter value
+	 * @param length the number of bytes in the stream
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBinaryStream(int parameterIndex, InputStream x, int length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setBinaryStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. When a very large binary value is input
+	 * to a LONGVARBINARY parameter, it may be more practical to send it via a
+	 * java.io.InputStream object. The data will be read from the stream as
+	 * needed until end-of-file is reached.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the java input stream which contains the binary parameter value
+	 * @param length the number of bytes in the stream
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBinaryStream(int parameterIndex, InputStream x, long length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setBinaryStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given Blob object. The driver
+	 * converts this to an SQL BLOB value when it sends it to the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x a Blob object that maps an SQL BLOB value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBlob(int i, InputStream x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setBlob");
+	}
+
+	/**
+	 * Sets the designated parameter to the given Blob object. The driver
+	 * converts this to an SQL BLOB value when it sends it to the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x a Blob object that maps an SQL BLOB value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBlob(int i, Blob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setBlob");
+	}
+
+	/**
+	 * Sets the designated parameter to a InputStream object. The
+	 * inputstream must contain the number of characters specified by
+	 * length otherwise a SQLException will be generated when the
+	 * PreparedStatement is executed. This method differs from the
+	 * setBinaryStream (int, InputStream, int) method because it informs
+	 * the driver that the parameter value should be sent to the server
+	 * as a BLOB. When the setBinaryStream method is used, the driver
+	 * may have to do extra work to determine whether the parameter data
+	 * should be sent to the server as a LONGVARBINARY or a BLOB.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param is an object that contains the data to set the parameter
+	 *           value to
+	 * @param length the number of bytes in the parameter data
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setBlob(int i, InputStream is, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setBlob");
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java boolean value. The
+	 * driver converts this to an SQL BIT value when it sends it to the
+	 * database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setBoolean(int parameterIndex, boolean x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java byte value. The driver
+	 * converts this to an SQL TINYINT value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setByte(int parameterIndex, byte x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	static final String HEXES = "0123456789ABCDEF";
+	/**
+	 * Sets the designated parameter to the given Java array of bytes. The
+	 * driver converts this to an SQL VARBINARY or LONGVARBINARY (depending
+	 * on the argument's size relative to the driver's limits on VARBINARY
+	 * values) when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setBytes(int parameterIndex, byte[] x) throws SQLException {
+		if (x == null) {
+			setNull(parameterIndex, -1);
+			return;
+		}
+
+		StringBuilder hex = new StringBuilder(x.length * 2);
+		byte b;
+		for (int i = 0; i < x.length; i++) {
+			b = x[i];
+			hex.append(HEXES.charAt((b & 0xF0) >> 4))
+				.append(HEXES.charAt((b & 0x0F)));
+		}
+		setValue(parameterIndex, "blob '" + hex.toString() + "'");
+	}
+
+	/**
+	 * Sets the designated parameter to the given Reader object, which is the
+	 * given number of characters long. When a very large UNICODE value is
+	 * input to a LONGVARCHAR parameter, it may be more practical to send it
+	 * via a java.io.Reader object. The data will be read from the stream as
+	 * needed until end-of-file is reached. The JDBC driver will do any
+	 * necessary conversion from UNICODE to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 * 
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param reader the java.io.Reader object that contains the Unicode data
+	 * @param length the number of characters in the stream
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setCharacterStream(
+		int parameterIndex,
+		Reader reader,
+		int length)
+		throws SQLException
+	{
+		if (reader == null) {
+			setNull(parameterIndex, -1);
+			return;
+		}
+
+		CharBuffer tmp = CharBuffer.allocate(length);
+		try {
+			reader.read(tmp);
+		} catch (IOException e) {
+			throw new SQLException(e.getMessage(), "M1M25");
+		}
+		setString(parameterIndex, tmp.toString());
+	}
+
+	/**
+	 * Sets the designated parameter to the given Reader object, which is the
+	 * given number of characters long. When a very large UNICODE value is
+	 * input to a LONGVARCHAR parameter, it may be more practical to send it
+	 * via a java.io.Reader object. The data will be read from the stream as
+	 * needed until end-of-file is reached. The JDBC driver will do any
+	 * necessary conversion from UNICODE to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 * 
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param reader the java.io.Reader object that contains the Unicode data
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setCharacterStream(int parameterIndex, Reader reader)
+		throws SQLException
+	{
+		setCharacterStream(parameterIndex, reader, 0);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Reader object, which is the
+	 * given number of characters long. When a very large UNICODE value is
+	 * input to a LONGVARCHAR parameter, it may be more practical to send it
+	 * via a java.io.Reader object. The data will be read from the stream as
+	 * needed until end-of-file is reached. The JDBC driver will do any
+	 * necessary conversion from UNICODE to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 * 
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param reader the java.io.Reader object that contains the Unicode data
+	 * @param length the number of characters in the stream
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setCharacterStream(
+		int parameterIndex,
+		Reader reader,
+		long length)
+		throws SQLException
+	{
+		// given the implementation of the int-version, downcast is ok
+		setCharacterStream(parameterIndex, reader, (int)length);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Clob object. The driver
+	 * converts this to an SQL CLOB value when it sends it to the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x a Clob object that maps an SQL CLOB value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setClob(int i, Clob x) throws SQLException {
+		if (x == null) {
+			setNull(i, -1);
+			return;
+		}
+
+		// simply serialise the CLOB into a variable for now... far from
+		// efficient, but might work for a few cases...
+		// be on your marks: we have to cast the length down!
+		setString(i, x.getSubString(1L, (int)(x.length())));
+	}
+
+	/**
+	 * Sets the designated parameter to the given Clob object. The driver
+	 * converts this to an SQL CLOB value when it sends it to the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param reader an object that contains the data to set the parameter
+	 *          value to
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setClob(int i, Reader reader) throws SQLException {
+		if (reader == null) {
+			setNull(i, -1);
+			return;
+		}
+		// Some buffer. Size of 8192 is default for BufferedReader, so...
+		char[] arr = new char[8192];
+		StringBuilder buf = new StringBuilder(8192 * 8);
+		int numChars;
+		try {
+			while ((numChars = reader.read(arr, 0, arr.length)) > 0) {
+				buf.append(arr, 0, numChars);
+			}
+			setString(i, buf.toString());
+		} catch (IOException e) {
+			throw new SQLException(e);
+		}
+	}
+
+	/**
+	 * Sets the designated parameter to a Reader object. The reader must
+	 * contain the number of characters specified by length otherwise a
+	 * SQLException will be generated when the PreparedStatement is
+	 * executed. This method differs from the setCharacterStream (int,
+	 * Reader, int) method because it informs the driver that the
+	 * parameter value should be sent to the server as a CLOB. When the
+	 * setCharacterStream method is used, the driver may have to do
+	 * extra work to determine whether the parameter data should be sent
+	 * to the server as a LONGVARCHAR or a CLOB.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param reader An object that contains the data to set the
+	 *        parameter value to.
+	 * @param length the number of characters in the parameter data.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setClob(int i, Reader reader, long length) throws SQLException {
+		if (reader == null || length < 0) {
+			setNull(i, -1);
+			return;
+		}
+		// simply serialise the CLOB into a variable for now... far from
+		// efficient, but might work for a few cases...
+		CharBuffer buf = CharBuffer.allocate((int)length); // have to down cast :(
+		try {
+			reader.read(buf);
+		} catch (IOException e) {
+			throw new SQLException("failed to read from stream: " +
+					e.getMessage(), "M1M25");
+		}
+		// We have to rewind the buffer, because otherwise toString() returns "".
+		buf.rewind();
+		setString(i, buf.toString());
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Date value. The
+	 * driver converts this to an SQL DATE value when it sends it to the
+	 * database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setDate(int parameterIndex, java.sql.Date x)
+		throws SQLException
+	{
+		setDate(parameterIndex, x, null);
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Date value, using
+	 * the given Calendar object. The driver uses the Calendar object to
+	 * construct an SQL DATE value, which the driver then sends to the
+	 * database. With a Calendar object, the driver can calculate the date
+	 * taking into account a custom timezone. If no Calendar object is
+	 * specified, the driver uses the default timezone, which is that of the
+	 * virtual machine running the application.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @param cal the Calendar object the driver will use to construct the date
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setDate(int parameterIndex, java.sql.Date x, Calendar cal)
+		throws SQLException
+	{
+		if (x == null) {
+			setNull(parameterIndex, -1);
+			return;
+		}
+
+		if (cal == null) {
+			setValue(parameterIndex, "date '" + x.toString() + "'");
+		} else {
+			mDate.setTimeZone(cal.getTimeZone());
+			setValue(parameterIndex, "date '" + mDate.format(x) + "'");
+		}
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java double value. The driver
+	 * converts this to an SQL DOUBLE value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setDouble(int parameterIndex, double x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java float value. The driver
+	 * converts this to an SQL FLOAT value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setFloat(int parameterIndex, float x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java int value. The driver
+	 * converts this to an SQL INTEGER value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setInt(int parameterIndex, int x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java long value. The driver
+	 * converts this to an SQL BIGINT value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setLong(int parameterIndex, long x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to a Reader object. The Reader
+	 * reads the data till end-of-file is reached. The driver does the
+	 * necessary conversion from Java character format to the national
+	 * character set in the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param value the parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNCharacterStream(int i, Reader value) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setNCharacterStream");
+	}
+
+	/**
+	 * Sets the designated parameter to a Reader object. The Reader
+	 * reads the data till end-of-file is reached. The driver does the
+	 * necessary conversion from Java character format to the national
+	 * character set in the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param value the parameter value
+	 * @param length the number of characters in the parameter data.
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNCharacterStream(int i, Reader value, long length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setNCharacterStream");
+	}
+
+	/**
+	 * Sets the designated parameter to a java.sql.NClob object. The
+	 * driver converts this to a SQL NCLOB value when it sends it to the
+	 * database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param value the parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNClob(int i, Reader value) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setNClob");
+	}
+
+	/**
+	 * Sets the designated parameter to a java.sql.NClob object. The
+	 * driver converts this to a SQL NCLOB value when it sends it to the
+	 * database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param value the parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNClob(int i, NClob value) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setNClob");
+	}
+
+	/**
+	 * Sets the designated parameter to a Reader object. The reader must
+	 * contain the number of characters specified by length otherwise a
+	 * SQLException will be generated when the PreparedStatement is
+	 * executed. This method differs from the setCharacterStream (int,
+	 * Reader, int) method because it informs the driver that the
+	 * parameter value should be sent to the server as a NCLOB. When the
+	 * setCharacterStream method is used, the driver may have to do
+	 * extra work to determine whether the parameter data should be sent
+	 * to the server as a LONGNVARCHAR or a NCLOB.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param r An object that contains the data to set the parameter
+	 *          value to
+	 * @param length the number of characters in the parameter data
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNClob(int i, Reader r, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setNClob");
+	}
+
+	/**
+	 * Sets the designated paramter to the given String object. The
+	 * driver converts this to a SQL NCHAR or NVARCHAR or LONGNVARCHAR
+	 * value (depending on the argument's size relative to the driver's
+	 * limits on NVARCHAR values) when it sends it to the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param value the parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setNString(int i, String value) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setNString");
+	}
+
+	/**
+	 * Sets the designated parameter to SQL NULL.
+	 * 
+	 * Note: You must specify the parameter's SQL type.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param sqlType the SQL type code defined in java.sql.Types
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setNull(int parameterIndex, int sqlType) throws SQLException {
+		// we discard the given type here, the backend converts the
+		// value NULL to whatever it needs for the column
+		setValue(parameterIndex, "NULL");
+	}
+
+	/**
+	 * Sets the designated parameter to SQL NULL. This version of the method
+	 * setNull should be used for user-defined types and REF type parameters.
+	 * Examples of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT,
+	 * and named array types.
+	 * 
+	 * Note: To be portable, applications must give the SQL type code and the
+	 * fully-qualified SQL type name when specifying a NULL user-defined or REF
+	 * parameter. In the case of a user-defined type the name is the type name
+	 * of the parameter itself. For a REF parameter, the name is the type name
+	 * of the referenced type. If a JDBC driver does not need the type code or
+	 * type name information, it may ignore it. Although it is intended for
+	 * user-defined and Ref parameters, this method may be used to set a null
+	 * parameter of any JDBC type. If the parameter does not have a
+	 * user-defined or REF type, the given typeName is ignored.
+	 *
+	 * @param paramIndex the first parameter is 1, the second is 2, ...
+	 * @param sqlType a value from java.sql.Types
+	 * @param typeName the fully-qualified name of an SQL user-defined type;
+	 *                 ignored if the parameter is not a user-defined type or
+	 *                 REF
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setNull(int paramIndex, int sqlType, String typeName)
+		throws SQLException
+	{
+		// MonetDB/SQL's NULL needs no type
+		setNull(paramIndex, sqlType);
+	}
+
+	/**
+	 * Sets the value of the designated parameter using the given
+	 * object.  The second parameter must be of type Object; therefore,
+	 * the java.lang equivalent objects should be used for built-in
+	 * types.
+	 * 
+	 * The JDBC specification specifies a standard mapping from Java
+	 * Object types to SQL types. The given argument will be converted
+	 * to the corresponding SQL type before being sent to the database.
+	 * 
+	 * Note that this method may be used to pass datatabase-specific
+	 * abstract data types, by using a driver-specific Java type. If the
+	 * object is of a class implementing the interface SQLData, the JDBC
+	 * driver should call the method SQLData.writeSQL to write it to the
+	 * SQL data stream. If, on the other hand, the object is of a class
+	 * implementing Ref, Blob, Clob, Struct, or Array, the driver should
+	 * pass it to the database as a value of the corresponding SQL type.
+	 * 
+	 * This method throws an exception if there is an ambiguity, for
+	 * example, if the object is of a class implementing more than one
+	 * of the interfaces named above.
+	 *
+	 * @param index the first parameter is 1, the second is 2, ...
+	 * @param x the object containing the input parameter value
+	 * @throws SQLException if a database access error occurs or the type of
+	 *                      the given object is ambiguous
+	 */
+	@Override
+	public void setObject(int index, Object x) throws SQLException {
+		setObject(index, x, javaType[getParamIdx(index)]);
+	}
+
+	/**
+	 * Sets the value of the designated parameter with the given object. This
+	 * method is like the method setObject below, except that it assumes a scale
+	 * of zero.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the object containing the input parameter value
+	 * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
+	 *                      sent to the database
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setObject(int parameterIndex, Object x, int targetSqlType)
+		throws SQLException
+	{
+		setObject(parameterIndex, x, targetSqlType, 0);
+	}
+
+	/**
+	 * Sets the value of the designated parameter with the given object. The
+	 * second argument must be an object type; for integral values, the
+	 * java.lang equivalent objects should be used.
+	 * 
+	 * The given Java object will be converted to the given targetSqlType
+	 * before being sent to the database. If the object has a custom mapping
+	 * (is of a class implementing the interface SQLData), the JDBC driver
+	 * should call the method SQLData.writeSQL to write it to the SQL data
+	 * stream. If, on the other hand, the object is of a class implementing
+	 * Ref, Blob, Clob, Struct, or Array, the driver should pass it to the
+	 * database as a value of the corresponding SQL type.
+	 * 
+	 * Note that this method may be used to pass database-specific abstract
+	 * data types.
+	 * 
+	 * To meet the requirements of this interface, the Java object is
+	 * converted in the driver, instead of using a SQL CAST construct.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the object containing the input parameter value
+	 * @param targetSqlType the SQL type (as defined in java.sql.Types) to
+	 *                      be sent to the database. The scale argument may
+	 *                      further qualify this type.
+	 * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
+	 *              this is the number of digits after the decimal
+	 *              point. For Java Object types InputStream and Reader,
+	 *              this is the length of the data in the stream or
+	 *              reader.  For all other types, this value will be
+	 *              ignored.
+	 * @throws SQLException if a database access error occurs
+	 * @see Types
+	 */
+	@Override
+	public void setObject(
+		int parameterIndex,
+		Object x,
+		int targetSqlType,
+		int scale)
+		throws SQLException
+	{
+		// this is according to table B-5
+		if (x instanceof String) {
+			switch (targetSqlType) {
+				case Types.TINYINT:
+				case Types.SMALLINT:
+				case Types.INTEGER:
+				{
+					int val;
+					try {
+						val = Integer.parseInt((String)x);
+					} catch (NumberFormatException e) {
+						val = 0;
+					}
+					setInt(parameterIndex, val);
+				} break;
+				case Types.BIGINT:
+				{
+					long val;
+					try {
+						val = Long.parseLong((String)x);
+					} catch (NumberFormatException e) {
+						val = 0;
+					}
+					setLong(parameterIndex, val);
+				} break;
+				case Types.REAL:
+				{
+					float val;
+					try {
+						val = Float.parseFloat((String)x);
+					} catch (NumberFormatException e) {
+						val = 0;
+					}
+					setFloat(parameterIndex, val);
+				} break;
+				case Types.FLOAT:
+				case Types.DOUBLE:
+				{
+					double val;
+					try {
+						val = Double.parseDouble((String)x);
+					} catch (NumberFormatException e) {
+						val = 0;
+					}
+					setDouble(parameterIndex, val);
+				} break;
+				case Types.DECIMAL:
+				case Types.NUMERIC:
+				{
+					BigDecimal val;
+					try {
+						val = new BigDecimal((String)x);
+					} catch (NumberFormatException e) {
+						try {
+							val = new BigDecimal(0.0);
+						} catch (NumberFormatException ex) {
+							throw new SQLException("Internal error: unable to create template BigDecimal: " + ex.getMessage(), "M0M03");
+						}
+					}
+					val = val.setScale(scale, BigDecimal.ROUND_HALF_UP);
+					setBigDecimal(parameterIndex, val);
+				} break;
+				case Types.BIT:
+				case Types.BOOLEAN:
+					setBoolean(parameterIndex, (Boolean.valueOf((String)x)).booleanValue());
+				break;
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+					setString(parameterIndex, (String)x);
+				break;
+				case Types.BINARY:
+				case Types.VARBINARY:
+				case Types.LONGVARBINARY:
+					setBytes(parameterIndex, ((String)x).getBytes());
+				break;
+				case Types.DATE:
+				{
+					java.sql.Date val;
+					try {
+						val = java.sql.Date.valueOf((String)x);
+					} catch (IllegalArgumentException e) {
+						val = new java.sql.Date(0L);
+					}
+					setDate(parameterIndex, val);
+				} break;
+				case Types.TIME:
+				{
+					Time val;
+					try {
+						val = Time.valueOf((String)x);
+					} catch (IllegalArgumentException e) {
+						val = new Time(0L);
+					}
+					setTime(parameterIndex, val);
+				} break;
+				case Types.TIMESTAMP:
+				{
+					Timestamp val;
+					try {
+						val = Timestamp.valueOf((String)x);
+					} catch (IllegalArgumentException e) {
+						val = new Timestamp(0L);
+					}
+					setTimestamp(parameterIndex, val);
+				} break;
+				case Types.NCHAR:
+				case Types.NVARCHAR:
+				case Types.LONGNVARCHAR:
+					throw newSQLFeatureNotSupportedException("setObject() with targetType N[VAR]CHAR");
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof BigDecimal ||
+				x instanceof Byte ||
+				x instanceof Short ||
+				x instanceof Integer ||
+				x instanceof Long ||
+				x instanceof Float ||
+				x instanceof Double)
+		{
+			Number num = (Number)x;
+			switch (targetSqlType) {
+				case Types.TINYINT:
+					setByte(parameterIndex, num.byteValue());
+				break;
+				case Types.SMALLINT:
+					setShort(parameterIndex, num.shortValue());
+				break;
+				case Types.INTEGER:
+					setInt(parameterIndex, num.intValue());
+				break;
+				case Types.BIGINT:
+					if (x instanceof BigDecimal) {
+						BigDecimal bd = (BigDecimal)x;
+						setLong(parameterIndex, bd.setScale(scale, BigDecimal.ROUND_HALF_UP).longValue());
+					} else {
+						setLong(parameterIndex, num.longValue());
+					}
+				break;
+				case Types.REAL:
+					setFloat(parameterIndex, num.floatValue());
+				break;
+				case Types.FLOAT:
+				case Types.DOUBLE:
+					setDouble(parameterIndex, num.doubleValue());
+				break;
+				case Types.DECIMAL:
+				case Types.NUMERIC:
+					if (x instanceof BigDecimal) {
+						setBigDecimal(parameterIndex, (BigDecimal)x);
+					} else {
+						setBigDecimal(parameterIndex,
+							new BigDecimal(num.doubleValue()));
+					}
+				break;
+				case Types.BIT:
+				case Types.BOOLEAN:
+					if (num.doubleValue() != 0.0) {
+						setBoolean(parameterIndex, true);
+					} else {
+						setBoolean(parameterIndex, false);
+					}
+				break;
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+					setString(parameterIndex, x.toString());
+				break;
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof Boolean) {
+			boolean val = ((Boolean)x).booleanValue();
+			switch (targetSqlType) {
+				case Types.TINYINT:
+					setByte(parameterIndex, (byte)(val ? 1 : 0));
+				break;
+				case Types.SMALLINT:
+					setShort(parameterIndex, (short)(val ? 1 : 0));
+				break;
+				case Types.INTEGER:
+					setInt(parameterIndex, (val ? 1 : 0));  // do not cast to (int) as it generates a compiler warning
+				break;
+				case Types.BIGINT:
+					setLong(parameterIndex, (long)(val ? 1 : 0));
+				break;
+				case Types.REAL:
+					setFloat(parameterIndex, (float)(val ? 1.0 : 0.0));
+				break;
+				case Types.FLOAT:
+				case Types.DOUBLE:
+					setDouble(parameterIndex, (val ? 1.0 : 0.0));  // do no cast to (double) as it generates a compiler warning
+				break;
+				case Types.DECIMAL:
+				case Types.NUMERIC:
+				{
+					BigDecimal dec;
+					try {
+						dec = new BigDecimal(val ? 1.0 : 0.0);
+					} catch (NumberFormatException e) {
+						throw new SQLException("Internal error: unable to create template BigDecimal: " + e.getMessage(), "M0M03");
+					}
+					setBigDecimal(parameterIndex, dec);
+				} break;
+				case Types.BIT:
+				case Types.BOOLEAN:
+					setBoolean(parameterIndex, val);
+				break;
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+					setString(parameterIndex, "" + val);
+				break;
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof BigInteger) {
+			BigInteger num = (BigInteger)x;
+			switch (targetSqlType) {
+				case Types.BIGINT:
+					setLong(parameterIndex, num.longValue());
+				break;
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+					setString(parameterIndex, x.toString());
+				break;
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof byte[]) {
+			switch (targetSqlType) {
+				case Types.BINARY:
+				case Types.VARBINARY:
+				case Types.LONGVARBINARY:
+					setBytes(parameterIndex, (byte[])x);
+				break;
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof java.sql.Date ||
+				x instanceof Timestamp ||
+				x instanceof Time ||
+				x instanceof Calendar ||
+				x instanceof java.util.Date)
+		{
+			switch (targetSqlType) {
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+					setString(parameterIndex, x.toString());
+				break;
+				case Types.DATE:
+					if (x instanceof Time) {
+						throw new SQLException("Conversion not allowed", "M1M05");
+					} else if (x instanceof java.sql.Date) {
+						setDate(parameterIndex, (java.sql.Date)x);
+					} else if (x instanceof Timestamp) {
+						setDate(parameterIndex, new java.sql.Date(((Timestamp)x).getTime()));
+					} else if (x instanceof java.util.Date) {
+						setDate(parameterIndex, new java.sql.Date(
+									((java.util.Date)x).getTime()));
+					} else if (x instanceof Calendar) {
+						setDate(parameterIndex, new java.sql.Date(
+									((Calendar)x).getTimeInMillis()));
+					}
+				break;
+				case Types.TIME:
+					if (x instanceof Time) {
+						setTime(parameterIndex, (Time)x);
+					} else if (x instanceof java.sql.Date) {
+						throw new SQLException("Conversion not allowed", "M1M05");
+					} else if (x instanceof Timestamp) {
+						setTime(parameterIndex, new Time(((Timestamp)x).getTime()));
+					} else if (x instanceof java.util.Date) {
+						setTime(parameterIndex, new java.sql.Time(
+									((java.util.Date)x).getTime()));
+					} else if (x instanceof Calendar) {
+						setTime(parameterIndex, new java.sql.Time(
+									((Calendar)x).getTimeInMillis()));
+					}
+				break;
+				case Types.TIMESTAMP:
+					if (x instanceof Time) {
+						throw new SQLException("Conversion not allowed", "M1M05");
+					} else if (x instanceof java.sql.Date) {
+						setTimestamp(parameterIndex, new Timestamp(((java.sql.Date)x).getTime()));
+					} else if (x instanceof Timestamp) {
+						setTimestamp(parameterIndex, (Timestamp)x);
+					} else if (x instanceof java.util.Date) {
+						setTimestamp(parameterIndex, new java.sql.Timestamp(
+									((java.util.Date)x).getTime()));
+					} else if (x instanceof Calendar) {
+						setTimestamp(parameterIndex, new java.sql.Timestamp(
+									((Calendar)x).getTimeInMillis()));
+					}
+				break;
+				default:
+					throw new SQLException("Conversion not allowed", "M1M05");
+			}
+		} else if (x instanceof Array) {
+			setArray(parameterIndex, (Array)x);
+		} else if (x instanceof Blob) {
+			setBlob(parameterIndex, (Blob)x);
+		} else if (x instanceof Clob) {
+			setClob(parameterIndex, (Clob)x);
+		} else if (x instanceof Struct) {
+			// I have no idea how to do this...
+			throw newSQLFeatureNotSupportedException("setObject() with object of type Struct");
+		} else if (x instanceof Ref) {
+			setRef(parameterIndex, (Ref)x);
+		} else if (x instanceof java.net.URL) {
+			setURL(parameterIndex, (java.net.URL)x);
+		} else if (x instanceof RowId) {
+			setRowId(parameterIndex, (RowId)x);
+		} else if (x instanceof NClob) {
+			throw newSQLFeatureNotSupportedException("setObject() with object of type NClob");
+		} else if (x instanceof SQLXML) {
+			throw newSQLFeatureNotSupportedException("setObject() with object of type SQLXML");
+		} else if (x instanceof SQLData) { // not in JDBC4.1???
+			SQLData sx = (SQLData)x;
+			final int paramnr = parameterIndex;
+			final String sqltype = sx.getSQLTypeName();
+			SQLOutput out = new SQLOutput() {
+				@Override
+				public void writeString(String x) throws SQLException {
+					// special situation, this is when a string
+					// representation is given, but we need to prefix it
+					// with the actual sqltype the server expects, or we
+					// will get an error back
+					setValue(
+						paramnr,
+						sqltype + " '" + x.replaceAll("\\\\", "\\\\\\\\").replaceAll("'", "\\\\'") + "'"
+					);
+				}
+
+				@Override
+				public void writeBoolean(boolean x) throws SQLException {
+					setBoolean(paramnr, x);
+				}
+
+				@Override
+				public void writeByte(byte x) throws SQLException {
+					setByte(paramnr, x);
+				}
+
+				@Override
+				public void writeShort(short x) throws SQLException {
+					setShort(paramnr, x);
+				}
+
+				@Override
+				public void writeInt(int x) throws SQLException {
+					setInt(paramnr, x);
+				}
+
+				@Override
+				public void writeLong(long x) throws SQLException {
+					setLong(paramnr, x);
+				}
+				
+				@Override
+				public void writeFloat(float x) throws SQLException {
+					setFloat(paramnr, x);
+				}
+
+				@Override
+				public void writeDouble(double x) throws SQLException {
+					setDouble(paramnr, x);
+				}
+
+				@Override
+				public void writeBigDecimal(BigDecimal x) throws SQLException {
+					setBigDecimal(paramnr, x);
+				}
+
+				@Override
+				public void writeBytes(byte[] x) throws SQLException {
+					setBytes(paramnr, x);
+				}
+
+				@Override
+				public void writeDate(java.sql.Date x) throws SQLException {
+					setDate(paramnr, x);
+				}
+
+				@Override
+				public void writeTime(java.sql.Time x) throws SQLException {
+					setTime(paramnr, x);
+				}
+
+				@Override
+				public void writeTimestamp(Timestamp x) throws SQLException {
+					setTimestamp(paramnr, x);
+				}
+
+				@Override
+				public void writeCharacterStream(Reader x) throws SQLException {
+					setCharacterStream(paramnr, x);
+				}
+
+				@Override
+				public void writeAsciiStream(InputStream x) throws SQLException {
+					setAsciiStream(paramnr, x);
+				}
+
+				@Override
+				public void writeBinaryStream(InputStream x) throws SQLException {
+					setBinaryStream(paramnr, x);
+				}
+
+				@Override
+				public void writeObject(SQLData x) throws SQLException {
+					setObject(paramnr, x);
+				}
+
+				@Override
+				public void writeRef(Ref x) throws SQLException {
+					setRef(paramnr, x);
+				}
+
+				@Override
+				public void writeBlob(Blob x) throws SQLException {
+					setBlob(paramnr, x);
+				}
+
+				@Override
+				public void writeClob(Clob x) throws SQLException {
+					setClob(paramnr, x);
+				}
+
+				@Override
+				public void writeStruct(Struct x) throws SQLException {
+					setObject(paramnr, x);
+				}
+
+				@Override
+				public void writeArray(Array x) throws SQLException {
+					setArray(paramnr, x);
+				}
+
+				@Override
+				public void writeURL(URL x) throws SQLException {
+					setURL(paramnr, x);
+				}
+
+				@Override
+				public void writeNString(String x) throws SQLException {
+					setNString(paramnr, x);
+				}
+
+				@Override
+				public void writeNClob(NClob x) throws SQLException {
+					setNClob(paramnr, x);
+				}
+
+				@Override
+				public void writeRowId(RowId x) throws SQLException {
+					setRowId(paramnr, x);
+				}
+
+				@Override
+				public void writeSQLXML(SQLXML x) throws SQLException {
+					setSQLXML(paramnr, x);
+				}
+			};
+			sx.writeSQL(out);
+		} else {	// java Class
+			throw newSQLFeatureNotSupportedException("setObject() with object of type Class");
+		}
+	}
+
+	/**
+	 * Sets the designated parameter to the given REF(<structured-type>) value.
+	 * The driver converts this to an SQL REF value when it sends it to the
+	 * database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x an SQL REF value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setRef(int i, Ref x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setRef");
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.RowId object.
+	 * The driver converts this to a SQL ROWID value when it sends it to
+	 * the database.
+	 *
+	 * @param i the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setRowId(int i, RowId x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setRowId");
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java short value. The driver
+	 * converts this to an SQL SMALLINT value when it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setShort(int parameterIndex, short x) throws SQLException {
+		setValue(parameterIndex, "" + x);
+	}
+
+	/**
+	 * Sets the designated parameter to the given Java String value. The driver
+	 * converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the
+	 * argument's size relative to the driver's limits on VARCHAR values) when
+	 * it sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setString(int parameterIndex, String x) throws SQLException {
+		if (x == null) {
+			setNull(parameterIndex, -1);
+			return;
+		}
+
+		setValue(
+			parameterIndex,
+			"'" + x.replaceAll("\\\\", "\\\\\\\\").replaceAll("'", "\\\\'") + "'"
+		);
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.SQLXML
+	 * object. The driver converts this to an SQL XML value when it
+	 * sends it to the database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x a SQLXML object that maps an SQL XML value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public void setSQLXML(int parameterIndex, SQLXML x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setSQLXML");
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Time value.
+	 * The driver converts this to an SQL TIME value when it sends it to
+	 * the database.
+	 *
+	 * @param index the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setTime(int index, Time x) throws SQLException {
+		setTime(index, x, null);
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Time value,
+	 * using the given Calendar object.  The driver uses the Calendar
+	 * object to construct an SQL TIME value, which the driver then
+	 * sends to the database.  With a Calendar object, the driver can
+	 * calculate the time taking into account a custom timezone.  If no
+	 * Calendar object is specified, the driver uses the default
+	 * timezone, which is that of the virtual machine running the
+	 * application.
+	 *
+	 * @param index the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @param cal the Calendar object the driver will use to construct the time
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setTime(int index, Time x, Calendar cal)
+		throws SQLException
+	{
+		if (x == null) {
+			setNull(index, -1);
+			return;
+		}
+
+		boolean hasTimeZone = monetdbType[getParamIdx(index)].endsWith("tz");
+		if (hasTimeZone) {
+			// timezone shouldn't matter, since the server is timezone
+			// aware in this case
+			String RFC822 = mTimeZ.format(x);
+			setValue(index, "timetz '" +
+					RFC822.substring(0, 15) + ":" + RFC822.substring(15) + "'");
+		} else {
+			// server is not timezone aware for this field, and no
+			// calendar given, since we told the server our timezone at
+			// connection creation, we can just write a plain timestamp
+			// here
+			if (cal == null) {
+				setValue(index, "time '" + x.toString() + "'");
+			} else {
+				mTime.setTimeZone(cal.getTimeZone());
+				setValue(index, "time '" + mTime.format(x) + "'");
+			}
+		}
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Timestamp
+	 * value.  The driver converts this to an SQL TIMESTAMP value when
+	 * it sends it to the database.
+	 *
+	 * @param index the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setTimestamp(int index, Timestamp x)
+		throws SQLException
+	{
+		setTimestamp(index, x, null);
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.sql.Timestamp
+	 * value, using the given Calendar object.  The driver uses the
+	 * Calendar object to construct an SQL TIMESTAMP value, which the
+	 * driver then sends to the database.  With a Calendar object, the
+	 * driver can calculate the timestamp taking into account a custom
+	 * timezone.  If no Calendar object is specified, the driver uses the
+	 * default timezone, which is that of the virtual machine running
+	 * the application.
+	 *
+	 * @param index the first parameter is 1, the second is 2, ...
+	 * @param x the parameter value
+	 * @param cal the Calendar object the driver will use to construct the
+	 *            timestamp
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setTimestamp(int index, Timestamp x, Calendar cal)
+		throws SQLException
+	{
+		if (x == null) {
+			setNull(index, -1);
+			return;
+		}
+
+		boolean hasTimeZone = monetdbType[getParamIdx(index)].endsWith("tz");
+		if (hasTimeZone) {
+			// timezone shouldn't matter, since the server is timezone
+			// aware in this case
+			String RFC822 = mTimestampZ.format(x);
+			setValue(index, "timestamptz '" +
+					RFC822.substring(0, 26) + ":" + RFC822.substring(26) + "'");
+		} else {
+			// server is not timezone aware for this field, and no
+			// calendar given, since we told the server our timezone at
+			// connection creation, we can just write a plain timestamp
+			// here
+			if (cal == null) {
+				setValue(index, "timestamp '" + x.toString() + "'");
+			} else {
+				mTimestamp.setTimeZone(cal.getTimeZone());
+				setValue(index, "timestamp '" + mTimestamp.format(x) + "'");
+			}
+		}
+	}
+
+	/**
+	 * Sets the designated parameter to the given input stream, which will have
+	 * the specified number of bytes. A Unicode character has two bytes, with
+	 * the first byte being the high byte, and the second being the low byte.
+	 * When a very large Unicode value is input to a LONGVARCHAR parameter, it
+	 * may be more practical to send it via a java.io.InputStream object. The
+	 * data will be read from the stream as needed until end-of-file is
+	 * reached. The JDBC driver will do any necessary conversion from Unicode
+	 * to the database char format.
+	 * 
+	 * Note: This stream object can either be a standard Java stream object or
+	 * your own subclass that implements the standard interface.
+	 *
+	 * @deprecated
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x a java.io.InputStream object that contains the Unicode
+	 *          parameter value as two-byte Unicode characters
+	 * @param length the number of bytes in the stream
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	@Deprecated
+	public void setUnicodeStream(int parameterIndex, InputStream x, int length)
+		throws SQLException
+	{
+		throw newSQLFeatureNotSupportedException("setUnicodeStream");
+	}
+
+	/**
+	 * Sets the designated parameter to the given java.net.URL value. The
+	 * driver converts this to an SQL DATALINK value when it sends it to the
+	 * database.
+	 *
+	 * @param parameterIndex the first parameter is 1, the second is 2, ...
+	 * @param x the java.net.URL object to be set
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setURL(int parameterIndex, URL x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("setURL");
+	}
+
+	/**
+	 * Releases this PreparedStatement object's database and JDBC
+	 * resources immediately instead of waiting for this to happen when
+	 * it is automatically closed.  It is generally good practice to
+	 * release resources as soon as you are finished with them to avoid
+	 * tying up database resources.
+	 * 
+	 * Calling the method close on a PreparedStatement object that is
+	 * already closed has no effect.
+	 * 
+	 * <b>Note:</b> A PreparedStatement object is automatically closed
+	 * when it is garbage collected. When a Statement object is closed,
+	 * its current ResultSet object, if one exists, is also closed. 
+	 */
+	@Override
+	public void close() {
+		try {
+			if (!closed && id != -1)
+				connection.sendControlCommand("release " + id);
+		} catch (SQLException e) {
+			// probably server closed connection
+		}
+		super.close();
+	}
+
+	/**
+	 * Call close to release the server-sided handle for this
+	 * PreparedStatement.
+	 */
+	@Override
+	protected void finalize() {
+		close();
+	}
+
+	//== end methods interface PreparedStatement
+
+	/**
+	 * Sets the given index with the supplied value. If the given index is
+	 * out of bounds, and SQLException is thrown.  The given value should
+	 * never be null.
+	 *
+	 * @param index the parameter index
+	 * @param val the exact String representation to set
+	 * @throws SQLException if the given index is out of bounds
+	 */
+	void setValue(int index, String val) throws SQLException {
+		values[getParamIdx(index)] = val;
+	}
+
+	/**
+	 * Transforms the prepare query into a simple SQL query by replacing
+	 * the ?'s with the given column contents.
+	 * Mind that the JDBC specs allow `reuse' of a value for a column over
+	 * multiple executes.
+	 *
+	 * @return the simple SQL string for the prepare query
+	 * @throws SQLException if not all columns are set
+	 */
+	private String transform() throws SQLException {
+		StringBuilder buf = new StringBuilder(8 + 12 * size);
+		buf.append("exec ");
+		buf.append(id);
+		buf.append('(');
+		// check if all columns are set and do a replace
+		int col = 0;
+		for (int i = 0; i < size; i++) {
+			if (column[i] != null)
+				continue;
+			col++;
+			if (col > 1)
+				buf.append(',');
+			if (values[i] == null) throw
+				new SQLException("Cannot execute, parameter " + col + " is missing.", "M1M05");
+
+			buf.append(values[i]);
+		}
+		buf.append(')');
+
+		return buf.toString();
+	}
+
+	/**
+	 * Small helper method that formats the "Method ... not implemented" message
+	 * and creates a new SQLFeatureNotSupportedException object
+	 * whose SQLState is set to "0A000".
+	 *
+	 * @param name the method name
+	 * @return a new created SQLFeatureNotSupportedException object with SQLState 0A000
+	 */
+	private final static SQLFeatureNotSupportedException newSQLFeatureNotSupportedException(String name) {
+		return new SQLFeatureNotSupportedException("Method " + name + " not implemented", "0A000");
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
@@ -0,0 +1,3746 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.StringReader;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigDecimal;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.Ref;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.RowId;
+import java.sql.SQLData;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLInput;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Statement;
+import java.sql.Time;
+import java.sql.Timestamp;
+import java.sql.Types;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
+import nl.cwi.monetdb.mcl.parser.MCLParseException;
+import nl.cwi.monetdb.mcl.parser.TupleLineParser;
+
+/**
+ * A ResultSet suitable for the MonetDB database.
+ *
+ * A table of data representing a database result set, which is usually
+ * generated by executing a statement that queries the database.
+ *
+ * A ResultSet object maintains a cursor pointing to its current row of data.
+ * Initially the cursor is positioned before the first row. The next method
+ * moves the cursor to the next row, and because it returns false when there
+ * are no more rows in the ResultSet object, it can be used in a while loop to
+ * iterate through the result set.
+ *
+ * The current state of this ResultSet is that it supports positioning in the
+ * result set, absolute and relative. A slight performance difference between
+ * FORWARD_ONLY or result sets scrollable in both directions can be noticed as
+ * for FORWARD_ONLY result sets the memory usage will be likely lower for large
+ * result sets.
+ *
+ * @author Fabian Groffen, Martin van Dinther
+ * @version 0.8
+ */
+public class MonetResultSet extends MonetWrapper implements ResultSet {
+	// the following have default access modifier for the MonetVirtualResultSet subclass
+	/** The current line of the buffer split in columns */
+	final TupleLineParser tlp;
+	/** The current position of the cursor for this ResultSet object */
+	int curRow = 0;
+
+	// a blank final is immutable once assigned in the constructor
+	/** A Header to retrieve lines from */
+	private final MonetConnection.ResultSetResponse header;
+	/** The names of the columns in this ResultSet */
+	private final String[] columns;
+	/** The MonetDB types of the columns in this ResultSet */
+	private final String[] types;
+	/** The JDBC SQL types of the columns in this ResultSet. The content will be derived from the MonetDB types[] */
+	private final int[] JdbcSQLTypes;
+	/** The number of rows in this ResultSet */
+	final int tupleCount;	// default for the MonetVirtualResultSet
+
+	/** The parental Statement object */
+	private final Statement statement;
+
+	/** The type of this ResultSet (forward or scrollable) */
+	private int type = TYPE_FORWARD_ONLY;
+	/** The concurrency of this ResultSet (currently only read-only) */
+	private int concurrency = CONCUR_READ_ONLY;
+	/** The warnings for this ResultSet object */
+	private SQLWarning warnings;
+	/** whether the last read field (via some getXyz() method) was NULL */
+	private boolean lastReadWasNull = true;
+	/** Just a dummy variable to keep store the fetchsize set. */
+	private int fetchSize;
+
+	/**
+	 * Main constructor backed by the given Header.
+	 *
+	 * @param statement the statement which created this ResultSet
+	 * @param header a header containing the query, resultset type, etc.
+	 * @throws SQLException is a protocol error occurs
+	 */
+	MonetResultSet(
+		Statement statement,
+		MonetConnection.ResultSetResponse header)
+		throws SQLException
+	{
+		if (statement == null) {
+			throw new IllegalArgumentException("Statement may not be null!");
+		}
+		if (header == null) {
+			throw new IllegalArgumentException("ResultSetResponse may not be null!");
+		}
+		this.statement = statement;
+		this.header = header;
+		this.type = header.getRSType();
+		this.concurrency = header.getRSConcur();
+		/* if we have a header object, the fetchSize used for this result set
+		   is the header's cacheSize */
+		this.fetchSize = header.getCacheSize();
+		// well there is only one supported concurrency, so we don't have to
+		// bother about that
+
+		// throws SQLException on getters of Header, so we find out immediately
+		// if an error occurred for this query
+		columns = header.getNames();
+		types = header.getTypes();
+		tupleCount = header.tuplecount;
+
+		// create result array
+		tlp = new TupleLineParser(columns.length);
+
+		JdbcSQLTypes = new int[types.length];
+		populateJdbcSQLtypesArray();
+	}
+
+	/**
+	 * Constructor used by MonetVirtualResultSet.
+	 * DO NOT USE THIS CONSTRUCTOR IF YOU ARE NOT EXTENDING THIS OBJECT!
+	 *
+	 * @param statement the statement which created this ResultSet
+	 * @param columns the column names
+	 * @param types the column types
+	 * @param results the number of rows in the ResultSet
+	 * @throws IOException if communicating with monet failed
+	 * @throws SQLException is a protocol error occurs
+	 */
+	MonetResultSet(
+		Statement statement,
+		String[] columns,
+		String[] types,
+		int results
+	) throws IllegalArgumentException
+	{
+		if (statement == null) {
+			throw new IllegalArgumentException("Statement may not be null!");
+		}
+		if (columns == null || types == null) {
+			throw new IllegalArgumentException("One of the given arguments is null!");
+		}
+		if (columns.length != types.length) {
+			throw new IllegalArgumentException("Given arguments are not the same size!");
+		}
+		if (results < 0) {
+			throw new IllegalArgumentException("Negative rowcount not allowed!");
+		}
+
+		this.statement = statement;
+		this.header = null;
+		this.fetchSize = 0;
+
+		this.columns = columns;
+		this.types = types;
+		this.tupleCount = results;
+
+		this.tlp = new TupleLineParser(columns.length);
+
+		JdbcSQLTypes = new int[types.length];
+		populateJdbcSQLtypesArray();
+	}
+
+	/**
+	 * Internal utility method to fill the JdbcSQLTypes array with derivable values.
+	 * By doing it once (in the constructor) we can avoid doing this in many getXyz() methods again and again
+	 * thereby improving getXyz() method performance.
+	 */
+	private void populateJdbcSQLtypesArray() {
+		for (int i = 0; i < types.length; i++) {
+			int javaSQLtype = MonetDriver.getJavaType(types[i]);
+			JdbcSQLTypes[i] = javaSQLtype;
+			if (javaSQLtype == Types.BLOB) {
+				try {
+					if (((MonetConnection)statement.getConnection()).getBlobAsBinary())
+						JdbcSQLTypes[i] = Types.BINARY;
+				} catch (SQLException se) { /* ignore it */ }
+			}
+		}
+	}
+
+
+	//== methods of interface ResultSet
+
+	// Chapter 14.2.2 Sun JDBC 3.0 Specification
+	/**
+	 * Moves the cursor to the given row number in this ResultSet object.
+	 *
+	 * If the row number is positive, the cursor moves to the given row number
+	 * with respect to the beginning of the result set. The first row is row 1,
+	 * the second is row 2, and so on.
+	 *
+	 * If the given row number is negative, the cursor moves to an absolute row
+	 * position with respect to the end of the result set. For example, calling
+	 * the method absolute(-1) positions the cursor on the last row; calling the
+	 * method absolute(-2) moves the cursor to the next-to-last row, and so on.
+	 *
+	 * An attempt to position the cursor beyond the first/last row in the result
+	 * set leaves the cursor before the first row or after the last row.
+	 * Note: calling absolute(1) is the same as calling first(). Calling
+	 *       absolute(-1) is the same as calling last().
+	 *
+	 * @param row the number of the row to which the cursor should move. A
+	 *        positive number indicates the row number counting from the
+	 *        beginning of the result set; a negative number indicates the row
+	 *        number counting from the end of the result set
+	 * @return true if the cursor is on the result set; false otherwise
+	 * @throws SQLException if a database access error occurs, or the result set
+	 *         type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public boolean absolute(int row) throws SQLException {
+		if (row != curRow + 1 && type == TYPE_FORWARD_ONLY) throw
+			new SQLException("(Absolute) positioning not allowed on forward " +
+				" only result sets!", "M1M05");
+
+		if (header.isClosed())
+			throw new SQLException("ResultSet is closed!", "M1M20");
+
+		// first calculate what the JDBC row is
+		if (row < 0) {
+			// calculate the negatives...
+			row = tupleCount + row + 1;
+		}
+		// now place the row not farther than just before or after the result
+		if (row < 0) row = 0;	// before first
+		else if (row > tupleCount + 1) row = tupleCount + 1;	// after last
+
+		String tmpLine = header.getLine(row - 1);
+
+		// store it
+		curRow = row;
+
+		if (tmpLine == null) return false;
+		try {
+			tlp.parse(tmpLine);
+		} catch (MCLParseException e) {
+			throw new SQLException(e.getMessage(), "M0M10");
+		}
+
+		return true;
+	}
+
+	/**
+	 * Moves the cursor to the end of this ResultSet object, just after the last
+	 * row. This method has no effect if the result set contains no rows.
+	 *
+	 * @throws SQLException if a database access error occurs or the result set
+	 *         type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public void afterLast() throws SQLException {
+		absolute(tupleCount + 1);
+	}
+
+	/**
+	 * Moves the cursor to the front of this ResultSet object, just before the
+	 * first row. This method has no effect if the result set contains no rows.
+	 *
+	 * @throws SQLException if a database access error occurs or the result set
+	 *         type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public void beforeFirst() throws SQLException {
+		absolute(0);
+	}
+
+	/**
+	 * Clears all warnings reported for this ResultSet object. After a call to
+	 * this method, the method getWarnings returns null until a new warning is
+	 * reported for this ResultSet object.
+	 */
+	@Override
+	public void clearWarnings() {
+		warnings = null;
+	}
+
+	/**
+	 * Releases this ResultSet object's database (and JDBC) resources
+	 * immediately instead of waiting for this to happen when it is
+	 * automatically closed.
+	 */
+	@Override
+	public void close() {
+		if (header != null && !header.isClosed()) {
+			header.close();
+		}
+		if (statement instanceof MonetStatement)
+			((MonetStatement)statement).closeIfCompletion();
+	}
+
+	// Chapter 14.2.3 from Sun JDBC 3.0 specification
+	/**
+	 * Maps the given ResultSet column name to its ResultSet column index.
+	 * Column names supplied to getter methods are case insensitive. If a select
+	 * list contains the same column more than once, the first instance of the
+	 * column will be returned.
+	 *
+	 * @param columnName the name of the column
+	 * @return the column index of the given column name
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public int findColumn(String columnName) throws SQLException {
+		if (columnName != null && columns != null) {
+			for (int i = 0; i < columns.length; i++) {
+				if (columnName.equals(columns[i]))
+					return i + 1;
+			}
+			/* if an exact match did not succeed try a case insensitive match */
+			for (int i = 0; i < columns.length; i++) {
+				if (columnName.equalsIgnoreCase(columns[i]))
+					return i + 1;
+			}
+		}
+		throw new SQLException("No such column name: " + columnName, "M1M05");
+	}
+
+	/**
+	 * Moves the cursor to the first row in this ResultSet object.
+	 *
+	 * @return true if the cursor is on a valid row; false if there are no rows
+	 *         in the result set
+	 * @throws SQLException - if a database access error occurs or the result
+	 *         set type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public boolean first() throws SQLException {
+		return absolute(1);
+	}
+
+	@Override
+	public Array getArray(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getArray");
+	}
+	@Override
+	public Array getArray(String colName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getArray");
+	}
+
+	/* Mapi doesn't allow something for streams at the moment, thus all not implemented for now */
+	@Override
+	public InputStream getAsciiStream(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getAsciiStream");
+	}
+	@Override
+	public InputStream getAsciiStream(String columnName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getAsciiStream");
+	}
+
+	@Override
+	@Deprecated
+	public InputStream getUnicodeStream(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getUnicodeStream");
+	}
+	@Override
+	@Deprecated
+	public InputStream getUnicodeStream(String columnName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getUnicodeStream");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a stream of uninterpreted bytes. The
+	 * value can then be read in chunks from the stream. This method is
+	 * particularly suitable for retrieving large LONGVARBINARY values.
+	 * <br/><br/>
+	 * Note: All the data in the returned stream must be read prior to
+	 * getting the value of any other column. The next call to a getter
+	 * method implicitly closes the stream. Also, a stream may return 0
+	 * when the method InputStream.available  is called whether there is
+	 * data available or not.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return a Java input stream that delivers the database column
+	 * value as a stream of uninterpreted bytes; if the value is SQL
+	 * NULL, the value returned is null
+	 * @throws SQLException if the columnIndex is not valid; if a
+	 * database access error occurs or this method is called on a closed
+	 * result set
+	 */
+	@Override
+	public InputStream getBinaryStream(int columnIndex) throws SQLException {
+		try {
+			switch (JdbcSQLTypes[columnIndex - 1]) {
+				case Types.BLOB:
+					Blob blob = getBlob(columnIndex);
+					if (blob == null)
+						return null;
+					return blob.getBinaryStream();
+				case Types.BINARY:
+				case Types.VARBINARY:
+				case Types.LONGVARBINARY:
+					byte[] bte = getBytes(columnIndex);
+					if (bte == null)
+						return null;
+					return new ByteArrayInputStream(bte);
+			}
+			throw new SQLException("Cannot operate on " + types[columnIndex - 1] + " type", "M1M05");
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+	
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a stream of uninterpreted bytes. The
+	 * value can then be read in chunks from the stream. This method is
+	 * particularly suitable for retrieving large LONGVARBINARY  values.
+	 * <br/><br/>
+	 * Note: All the data in the returned stream must be read prior to
+	 * getting the value of any other column. The next call to a getter
+	 * method implicitly closes the stream. Also, a stream may return 0
+	 * when the method available  is called whether there is data
+	 * available or not.
+	 *
+	 * @param columnName the label for the column specified with
+	 * the SQL AS clause. If the SQL AS clause was not specified, then
+	 * the label is the name of the column
+	 * @return a Java input stream that delivers the database column
+	 * value as a stream of uninterpreted bytes; if the value is SQL
+	 * NULL, the result is null
+	 * @throws SQLException if the columnLabel is not valid; if a
+	 * database access error occurs or this method is called on a closed
+	 * result set
+	 */
+	@Override
+	public InputStream getBinaryStream(String columnName) throws SQLException {
+		return getBinaryStream(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.io.Reader object.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return a java.io.Reader object that contains the column value;
+	 *         if the value is SQL NULL, the value returned is null in
+	 *         the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Reader getCharacterStream(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			return new StringReader(val);
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.io.Reader object.
+	 *
+	 * @param columnName the name of the column
+	 * @return a java.io.Reader object that contains the column value;
+	 *         if the value is SQL NULL, the value returned is null in
+	 *         the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Reader getCharacterStream(String columnName) throws SQLException {
+		return getCharacterStream(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.io.Reader object. It is
+	 * intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR
+	 * columns.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return a java.io.Reader object that contains the column value;
+	 *         if the value is SQL NULL, the value returned is null in
+	 *         the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public Reader getNCharacterStream(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getNCharacterStream");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.io.Reader object. It is
+	 * intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR
+	 * columns.
+	 *
+	 * @param columnName the name of the column
+	 * @return a java.io.Reader object that contains the column value;
+	 *         if the value is SQL NULL, the value returned is null in
+	 *         the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public Reader getNCharacterStream(String columnName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getNCharacterStream");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a Blob object in the Java programming
+	 * language.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @return a Blob object representing the SQL BLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Blob getBlob(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			return MonetBlob.create(val);
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a Blob object in the Java programming
+	 * language.
+	 *
+	 * @param colName the name of the column from which to retrieve
+	 *        the value
+	 * @return a Blob object representing the SQL BLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Blob getBlob(String colName) throws SQLException {
+		return getBlob(findColumn(colName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a Clob object in the
+	 * Java programming language.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @return a Clob object representing the SQL CLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Clob getClob(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			return new MonetClob(val);
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a Clob object in the
+	 * Java programming language.
+	 *
+	 * @param colName the name of the column from which to retrieve
+	 *        the value
+	 * @return a Clob object representing the SQL CLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Clob getClob(String colName) throws SQLException {
+		return getClob(findColumn(colName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a NClob object in the
+	 * Java programming language.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @return a NClob object representing the SQL NCLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public NClob getNClob(int i) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getNClob");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a NClob object in the
+	 * Java programming language.
+	 *
+	 * @param colName the name of the column from which to retrieve
+	 *        the value
+	 * @return a NClob object representing the SQL NCLOB value in the
+	 *         specified column
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public NClob getNClob(String colName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getNClob");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.math.BigDecimal with full precision.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value (full precision); if the value is SQL NULL,
+	 *         the value returned is null in the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			try {
+				return new BigDecimal(val);
+			} catch (NumberFormatException e) {
+				return BigDecimal.ZERO;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.math.BigDecimal with full precision.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @param scale the number of digits to the right of the decimal point
+	 * @return the column value (full precision); if the value is SQL NULL,
+	 *         the value returned is null in the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	@Deprecated
+	public BigDecimal getBigDecimal(int columnIndex, int scale)
+		throws SQLException
+	{
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			try {
+				BigDecimal bd = new BigDecimal(val);
+				bd.setScale(scale);
+				return bd;
+			} catch (NumberFormatException e) {
+				return BigDecimal.ZERO;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.math.BigDecimal with full precision.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value (full precision); if the value is SQL NULL,
+	 *         the value returned is null in the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public BigDecimal getBigDecimal(String columnName) throws SQLException {
+		return getBigDecimal(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.math.BigDecimal with full precision.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @param scale the number of digits to the right of the decimal point
+	 * @return the column value (full precision); if the value is SQL NULL,
+	 *         the value returned is null in the Java programming language.
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	@Deprecated
+	public BigDecimal getBigDecimal(String columnName, int scale)
+		throws SQLException
+	{
+		return getBigDecimal(findColumn(columnName), scale);
+	}
+
+	// See Sun JDBC Specification 3.0 Table B-6
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a boolean in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is false
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public boolean getBoolean(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return false;	// if the value is SQL NULL, the value returned is false
+			}
+			lastReadWasNull = false;
+
+			// match common cases first
+			if ("false".equalsIgnoreCase(val) || "0".equals(val))
+				return false;
+			if ("true".equalsIgnoreCase(val) || "1".equals(val))
+				return true;
+
+			// match type specific values
+			switch (JdbcSQLTypes[columnIndex - 1]) {
+				case Types.BOOLEAN:
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness
+				case Types.CLOB:
+					// check if string value equals "true" (case insensitive) or not
+					return Boolean.parseBoolean(val);
+				case Types.BIT: // MonetDB doesn't use type BinaryDigit, it's here for completeness
+				case Types.TINYINT:
+				case Types.SMALLINT:
+				case Types.INTEGER:
+					if (getInt(columnIndex) == 0) {
+						return false;
+					}
+					return true;
+				case Types.BIGINT:
+					if (getLong(columnIndex) == 0L) {
+						return false;
+					}
+					return true;
+				case Types.DOUBLE:
+				case Types.FLOAT:
+				case Types.REAL:
+					if (getDouble(columnIndex) == 0.0) {
+						return false;
+					}
+					return true;
+				case Types.DECIMAL:
+				case Types.NUMERIC:
+					if (getBigDecimal(columnIndex).compareTo(BigDecimal.ZERO) == 0) {
+						return false;
+					}
+					return true;
+				default:
+					throw new SQLException("Conversion from " + types[columnIndex - 1] + " to boolean type not supported", "M1M05");
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a boolean in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is false
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public boolean getBoolean(String columnName) throws SQLException {
+		return getBoolean(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a byte in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public byte getByte(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return (byte) 0;
+			}
+			lastReadWasNull = false;
+			try {
+				return Byte.parseByte(val);
+			} catch (NumberFormatException e) {
+				// ignore parse error, return the default: 0
+				return (byte) 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a byte in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public byte getByte(String columnName) throws SQLException {
+		return getByte(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a byte array in the Java programming language. The
+	 * bytes represent the raw values returned by the driver.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public byte[] getBytes(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+
+			// According to Table B-6, getBytes() only operates on BINARY types
+			switch (JdbcSQLTypes[columnIndex - 1]) {
+				case Types.BLOB:
+				case Types.BINARY:
+				case Types.VARBINARY:
+				case Types.LONGVARBINARY:
+					// unpack the HEX (BLOB) notation to real bytes
+					int len = val.length() / 2;
+					byte[] buf = new byte[len];
+					int offset;
+					for (int j = 0; j < len; j++) {
+						offset = j * 2;
+						buf[j] = (byte)Integer.parseInt(val.substring(offset, offset + 2), 16);
+					}
+					return buf;
+				default:
+					throw new SQLException("Cannot operate on " + types[columnIndex - 1] + " type", "M1M05");
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a byte array in the Java programming language. The
+	 * bytes represent the raw values returned by the driver.
+	 *
+	 * NOTE: Since the mapi protocol is ASCII-based, this method only returns
+	 *       Java byte representations of Strings, which is nothing more than
+	 *       an encoding into a sequence of bytes using the platform's default
+	 *       charset.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public byte[] getBytes(String columnName) throws SQLException {
+		return getBytes(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the concurrency mode of this ResultSet object. The concurrency
+	 * used is determined by the Statement object that created the result set.
+	 *
+	 * NOTE: MonetDB only supports read-only result sets, and will always return
+	 *       ResultSet.CONCUR_READ_ONLY
+	 *
+	 * @return the concurrency type, either ResultSet.CONCUR_READ_ONLY or
+	 *         ResultSet.CONCUR_UPDATABLE
+	 */
+	@Override
+	public int getConcurrency() {
+		return concurrency;
+	}
+
+	/**
+	 * Retrieves the name of the SQL cursor used by this ResultSet object.
+	 * In SQL, a result table is retrieved through a cursor that is named.
+	 * For MonetDB this is the header.id returned in a resultset header. The
+	 * current row of a result set can be updated or deleted using a positioned
+	 * update/delete statement that references the cursor name. To insure that
+	 * the cursor has the proper isolation level to support update, the
+	 * cursor's SELECT statement should be of the form SELECT FOR UPDATE. If
+	 * FOR UPDATE is omitted, the positioned updates may fail.
+	 *
+	 * The JDBC API supports this SQL feature by providing the name of the SQL
+	 * cursor used by a ResultSet object. The current row of a ResultSet object
+	 * is also the current row of this SQL cursor.
+	 *
+	 * Note: If positioned update is not supported, a SQLException is thrown.
+	 *       MonetDB currently doesn't support updates, so the SQLException is
+	 *       thrown for now.
+	 *
+	 * @return the SQL name for this ResultSet object's cursor
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public String getCursorName() throws SQLException {
+		throw new SQLException("Positioned updates not supported for this " +
+				   "cursor (" + (header != null ? header.id : "") + ")", "0AM21");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a double in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public double getDouble(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return 0;
+			}
+			lastReadWasNull = false;
+			try {
+				return Double.parseDouble(val);
+			} catch (NumberFormatException e) {
+				// ignore conversion error, return the default: 0
+				return 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a double in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public double getDouble(String columnName) throws SQLException {
+		return getDouble(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the holdability of this ResultSet object.
+	 *
+	 * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or
+	 *         ResultSet.CLOSE_CURSORS_AT_COMMIT
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getHoldability() throws SQLException {
+		return getStatement().getConnection().getHoldability();
+	}
+
+	/**
+	 * Retrieves the fetch direction for this ResultSet object.
+	 * <b>currently not implemented</b>
+	 *
+	 * @return the current fetch direction for this ResultSet object
+	 */
+	@Override
+	public int getFetchDirection() {
+		return ResultSet.FETCH_FORWARD;
+	}
+
+	/**
+	 * Gives a hint as to the direction in which the rows in this ResultSet
+	 * object will be processed. The initial value is determined by the
+	 * Statement object that produced this ResultSet object.
+	 * The fetch direction may be changed at any time.
+	 * <b>currently not implemented</b>
+	 *
+	 * @param direction - an int specifying the suggested fetch direction;
+	 * one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN
+	 */
+	@Override
+	public void setFetchDirection(int direction) throws SQLException {
+		switch (direction) {
+		case ResultSet.FETCH_FORWARD:
+			break;
+		case ResultSet.FETCH_REVERSE:
+		case ResultSet.FETCH_UNKNOWN:
+			throw new SQLException("Not supported direction " + direction, "0A000");
+		default:
+			throw new SQLException("Illegal direction: " + direction, "M1M05");
+		}
+	}
+
+	/**
+	 * Retrieves the fetch size for this ResultSet object.
+	 *
+	 * @return the current fetch size for this ResultSet object
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getFetchSize() throws SQLException {
+		return fetchSize;
+	}
+
+	/**
+	 * Gives the JDBC driver a hint as to the number of rows that should be
+	 * fetched from the database when more rows are needed.  In MonetDB, this is
+	 * actually a no-op, because even before a MonetResultSet object is
+	 * created, the fetch size is already determined in the
+	 * MonetConnection.ResultSetResponse passed to its constructor.  Since all
+	 * data blocks for this whole result set are already allocated in
+	 * MonetConnection.ResultSetResponse, it is too complicated and error-prone
+	 * to still change the fetchSize here.  If one really needs to overwrite
+	 * the default fetchSize, please use MonetStatement.setFetchSize() instead.
+	 *
+	 * @param rows the number of rows to fetch
+	 * @throws SQLException if the condition 0 &lt;= rows is not satisfied
+	 */
+	@Override
+	public void setFetchSize(int rows) throws SQLException {
+		if (rows >= 0) {
+			fetchSize = rows;
+		} else {
+			throw new SQLException("Illegal fetch size value: " + rows, "M1M05");
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a float in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public float getFloat(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return 0;
+			}
+			lastReadWasNull = false;
+			try {
+				return Float.parseFloat(val);
+			} catch (NumberFormatException e) {
+				// ignore conversion error, return the default: 0
+				return 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a float in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public float getFloat(String columnName) throws SQLException {
+		return getFloat(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as an int in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public int getInt(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return 0;
+			}
+			lastReadWasNull = false;
+			try {
+				return Integer.parseInt(val);
+			} catch (NumberFormatException e) {
+				// ignore conversion error, return the default: 0
+				return 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as an int in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public int getInt(String columnName) throws SQLException {
+		return getInt(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a long in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public long getLong(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return 0;
+			}
+			lastReadWasNull = false;
+
+			// The oid datatype values (as string) have a  @0  suffix in the string value.
+			// To allow succesful parsing and conversion to long, we need to remove it first
+			if ("oid".equals(types[columnIndex - 1])) {
+				int len = val.length();
+				if (len > 2 && val.endsWith("@0"))
+					val = val.substring(0, len-2);
+			}
+			try {
+				return Long.parseLong(val);
+			} catch (NumberFormatException e) {
+				// ignore conversion error, return the default: 0
+				return 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a long in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public long getLong(String columnName) throws SQLException {
+		return getLong(findColumn(columnName));
+	}
+
+	/* helper for the anonymous class inside getMetaData */
+	private abstract class rsmdw extends MonetWrapper implements ResultSetMetaData {}
+	/**
+	 * Retrieves the number, types and properties of this ResultSet object's
+	 * columns.
+	 *
+	 * @return the description of this ResultSet object's columns
+	 */
+	@Override
+	public ResultSetMetaData getMetaData() {
+		// return inner class which implements the ResultSetMetaData interface
+		return new rsmdw() {
+			// for the more expensive methods (getPrecision(), getScale(), isNullable()), we provide a simple cache
+			// caches to store precision, scale and isNullable values from getColumns()
+			private boolean[] _is_fetched	= new boolean[columns.length +1];
+			private int[] _precision	= new int[columns.length +1];
+			private int[] _scale		= new int[columns.length +1];
+			private int[] _isNullable	= new int[columns.length +1];
+			private boolean[] _isAutoincrement = new boolean[columns.length +1];
+			private Connection conn = null;
+			private DatabaseMetaData dbmd = null;
+
+			/**
+			 * A private method to fetch the precision, scale, isNullable and isAutoincrement value for a fully qualified column.
+			 * As md.getColumns() is an expensive method we call it only once per column
+			 * and cache the precision, scale, isNullable and isAutoincrement values in the above array chaches.
+			 * Also we only call md.getColumns() when we have a non empty schema name and table name and column name.
+			 */
+			private void fetchColumnInfo(int column) throws SQLException
+			{
+				if (column <= 0 || column > columns.length)
+					throw newSQLInvalidColumnIndexException(column);
+
+				_is_fetched[column] = true;
+				_precision[column] = 0;
+				_scale[column] = 0;
+				_isNullable[column] = columnNullableUnknown;
+				_isAutoincrement[column] = false;
+
+				// we can only call dbmd.getColumns() when we have a specific schema name and table name and column name
+				String schName = getSchemaName(column);
+				if (schName != null && !"".equals(schName)) {
+					String tblName = getTableName(column);
+					if (tblName != null && !"".equals(tblName)) {
+						String colName = getColumnName(column);
+						if (colName != null && !"".equals(colName)) {
+							if (conn == null) {
+								// first time, get a Connection object and cache it for all next columns
+								conn = getStatement().getConnection();
+							}
+							if (conn != null && dbmd == null) {
+								// first time, get a MetaData object and cache it for all next columns
+								dbmd = conn.getMetaData();
+							}
+							if (dbmd != null) {
+								// for precision, scale, isNullable and isAutoincrement we query the information from data dictionary
+								ResultSet colInfo = dbmd.getColumns(null, schName, tblName, colName);
+								if (colInfo != null) {
+									// we expect exactly one row in the resultset
+									if (colInfo.next()) {
+										_precision[column] = colInfo.getInt(7);  // col 7 is "COLUMN_SIZE"
+										_scale[column] = colInfo.getInt(9);  // col 9 is "DECIMAL_DIGITS"
+										_isNullable[column] = colInfo.getInt(11);  // col 11 is "NULLABLE"
+										String strVal = colInfo.getString(23);  // col 23 is "IS_AUTOINCREMENT"
+										if (strVal != null && "YES".equals(strVal))
+											_isAutoincrement[column] = true;
+									}
+									colInfo.close();  // close the resultset to release resources
+								}
+							}
+						}
+					}
+				}
+			}
+
+			/**
+			 * Returns the number of columns in this ResultSet object.
+			 *
+			 * @returns the number of columns
+			 */
+			@Override
+			public int getColumnCount() {
+				return columns.length;
+			}
+
+			/**
+			 * Indicates whether the designated column is automatically numbered.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public boolean isAutoIncrement(int column) throws SQLException {
+				if (_is_fetched[column] != true) {
+					fetchColumnInfo(column);
+				}
+				return _isAutoincrement[column];
+			}
+
+			/**
+			 * Indicates whether a column's case matters.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns true for all character string columns else false
+			 */
+			@Override
+			public boolean isCaseSensitive(int column) throws SQLException {
+				switch (getColumnType(column)) {
+					case Types.CHAR:
+					case Types.VARCHAR:
+					case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness
+					case Types.CLOB:
+						return true;
+				}
+
+				return false;
+			}
+
+			/**
+			 * Indicates whether the designated column can be used in a
+			 * where clause.
+			 * It is unknown to me what kind ot columns they regard to,
+			 * as I think all columns are useable in a where clause.
+			 * Returning true for all here, for the time being.
+			 * Possible thought; maybe they want to know here if it's a
+			 * real column existing in a table or not...
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns true
+			 */
+			@Override
+			public boolean isSearchable(int column) {
+				return true;
+			}
+
+			/**
+			 * Indicates whether the designated column is a cash value.
+			 * From the MonetDB database perspective it is by definition
+			 * unknown whether the value is a currency, because there are
+			 * no currency datatypes such as MONEY.  With this knowledge
+			 * we can always return false here.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @returns false
+			 */
+			@Override
+			public boolean isCurrency(int column) {
+				return false;
+			}
+			
+			/**
+			 * Indicates whether values in the designated column are signed
+			 * numbers.
+			 * Within MonetDB all numeric types (except oid and ptr) are signed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isSigned(int column) throws SQLException {
+				String monettype = getColumnTypeName(column);
+				if (monettype != null) {
+					if ("oid".equals(monettype)
+					 || "ptr".equals(monettype))
+						return false;
+				}
+				// we can hardcode this, based on the colum type
+				switch (getColumnType(column)) {
+					case Types.NUMERIC:
+					case Types.DECIMAL:
+					case Types.TINYINT:
+					case Types.SMALLINT:
+					case Types.INTEGER:
+					case Types.BIGINT:
+					case Types.REAL:
+					case Types.FLOAT:
+					case Types.DOUBLE:
+						return true;
+					case Types.BIT: // we don't use type BIT, it's here for completeness
+					case Types.BOOLEAN:
+					case Types.DATE:
+					case Types.TIME:
+					case Types.TIMESTAMP:
+					default:
+						return false;
+				}
+			}
+
+			/**
+			 * Indicates the designated column's normal maximum width in
+			 * characters.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the normal maximum number of characters allowed as the
+			 *         width of the designated column
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public int getColumnDisplaySize(int column) throws SQLException {
+				int ret = 1;
+
+				if (header == null)
+					return ret;
+
+				try {
+					ret = header.getColumnLengths()[column - 1];
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+
+				return ret;
+			}
+
+			/**
+			 * Get the designated column's schema name.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return schema name or "" if not applicable
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public String getSchemaName(int column) throws SQLException {
+				String schema = "";
+
+				if (header == null)
+					return schema;
+
+				// figure the name out
+				try {
+					schema = header.getTableNames()[column - 1];
+					if (schema != null) {
+						int dot = schema.indexOf(".");
+						return (dot >= 0) ? schema.substring(0, dot) : "";
+					}
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+
+				return "";
+			}
+
+			/**
+			 * Gets the designated column's table name.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return table name or "" if not applicable
+			 */
+			@Override
+			public String getTableName(int column) throws SQLException {
+				String table = "";
+
+				if (header == null)
+					return table;
+
+				// figure the name out
+				try {
+					table = header.getTableNames()[column - 1];
+					if (table != null) {
+						int dot = table.indexOf(".");
+						return (dot >= 0) ? table.substring(dot + 1) : table;
+					}
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+
+				return "";
+			}
+
+			/**
+			 * Get the designated column's number of decimal digits.
+			 * This method is currently very expensive as it needs to
+			 * retrieve the information from the database using an SQL
+			 * query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return precision
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getPrecision(int column) throws SQLException {
+				if (_is_fetched[column] != true) {
+					fetchColumnInfo(column);
+				}
+				if (_precision[column] == 0) {
+					// apparently no precision could be fetched
+					// use columnDisplaySize() value for variable length data types
+					switch (getColumnType(column)) {
+						case Types.CHAR:
+						case Types.VARCHAR:
+						case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness
+						case Types.CLOB:
+						case Types.BLOB:
+						case Types.NUMERIC:
+						case Types.DECIMAL:
+							_precision[column] = getColumnDisplaySize(column);
+							break;
+						case Types.TINYINT:
+							_precision[column] = 3;
+							break;
+						case Types.SMALLINT:
+							_precision[column] = 5;
+							break;
+						case Types.INTEGER:
+							_precision[column] = 10;
+							break;
+						case Types.BIGINT:
+							_precision[column] = 19;
+							break;
+						case Types.REAL:
+							_precision[column] = 7;
+							break;
+						case Types.FLOAT:
+						case Types.DOUBLE:
+							_precision[column] = 15;
+							break;
+						case Types.BIT: // MonetDB doesn't use type BIT, it's here for completeness
+							_precision[column] = 1;
+							break;
+						case Types.BOOLEAN:
+							_precision[column] = 5;
+							break;
+						case Types.DATE:
+							_precision[column] = 10;
+							break;
+						case Types.TIME:
+							_precision[column] = 8;
+							break;
+						case Types.TIMESTAMP:
+							_precision[column] = 19;
+							break;
+						default:
+							_precision[column] = 30;
+							break;
+					}
+				}
+				return _precision[column];
+			}
+
+			/**
+			 * Gets the designated column's number of digits to right of
+			 * the decimal point.  This method is currently very
+			 * expensive as it needs to retrieve the information from
+			 * the database using an SQL query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return scale
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int getScale(int column) throws SQLException {
+				if (_is_fetched[column] != true) {
+					fetchColumnInfo(column);
+				}
+				return _scale[column];
+			}
+
+			/**
+			 * Indicates the nullability of values in the designated
+			 * column.  This method is currently very expensive as it
+			 * needs to retrieve the information from the database using
+			 * an SQL query.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the nullability status of the given column; one of columnNoNulls, columnNullable or columnNullableUnknown
+			 * @throws SQLException if a database access error occurs
+			 */
+			@Override
+			public int isNullable(int column) throws SQLException {
+				if (_is_fetched[column] != true) {
+					fetchColumnInfo(column);
+				}
+				return _isNullable[column];
+			}
+
+			/**
+			 * Gets the designated column's table's catalog name.
+			 * MonetDB does not support the catalog naming concept as in: catalog.schema.table naming scheme
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the name of the catalog for the table in which the given
+			 *         column appears or "" if not applicable
+			 */
+			@Override
+			public String getCatalogName(int column) throws SQLException {
+				return null;	// MonetDB does NOT support catalogs
+
+			}
+
+			/**
+			 * Indicates whether the designated column is definitely not
+			 * writable.  MonetDB does not support cursor updates, so
+			 * nothing is writable.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isReadOnly(int column) {
+				return true;
+			}
+
+			/**
+			 * Indicates whether it is possible for a write on the
+			 * designated column to succeed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isWritable(int column) {
+				return false;
+			}
+
+			/**
+			 * Indicates whether a write on the designated column will
+			 * definitely succeed.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return true if so; false otherwise
+			 */
+			@Override
+			public boolean isDefinitelyWritable(int column) {
+				return false;
+			}
+
+			/**
+			 * Returns the fully-qualified name of the Java class whose
+			 * instances are manufactured if the method
+			 * ResultSet.getObject is called to retrieve a value from
+			 * the column.  ResultSet.getObject may return a subclass of
+			 * the class returned by this method.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the fully-qualified name of the class in the Java
+			 *         programming language that would be used by the method
+			 *         ResultSet.getObject to retrieve the value in the
+			 *         specified column. This is the class name used for custom
+			 *         mapping.
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnClassName(int column) throws SQLException {
+				if (conn == null) {
+					// first time, get a Connection object and cache it for all next columns
+					conn = getStatement().getConnection();
+				}
+				try {
+					Class<?> type = null;
+					if (conn != null) {
+						Map<String,Class<?>> map = conn.getTypeMap();
+						if (map != null && map.containsKey(types[column - 1])) {
+							type = (Class)map.get(types[column - 1]);
+						}
+					}
+					if (type == null) {
+						// fallback to the standard SQL type Class mappings
+						type = getClassForType(JdbcSQLTypes[column - 1]);
+					}
+					if (type != null) {
+						return type.getName();
+					}
+					throw new SQLException("column type mapping null: " + types[column - 1], "M0M03");
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+			}
+
+			/**
+			 * Gets the designated column's suggested title for use in
+			 * printouts and displays. This is currently equal to
+			 * getColumnName().
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the suggested column title
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnLabel(int column) throws SQLException {
+				return getColumnName(column);
+			}
+
+			/**
+			 * Gets the designated column's name
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return the column name
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnName(int column) throws SQLException {
+				try {
+					return columns[column - 1];
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+			}
+
+			/**
+			 * Retrieves the designated column's SQL type.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return SQL type from java.sql.Types
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public int getColumnType(int column) throws SQLException {
+				try {
+					return JdbcSQLTypes[column - 1];
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+			}
+
+			/**
+			 * Retrieves the designated column's database-specific type name.
+			 *
+			 * @param column the first column is 1, the second is 2, ...
+			 * @return type name used by the database. If the column type is a
+			 *         user-defined type, then a fully-qualified type name is
+			 *         returned.
+			 * @throws SQLException if there is no such column
+			 */
+			@Override
+			public String getColumnTypeName(int column) throws SQLException {
+				try {
+					return types[column - 1];
+				} catch (IndexOutOfBoundsException e) {
+					throw newSQLInvalidColumnIndexException(column);
+				}
+			}
+
+		};	// end of new rsmdw()
+	}	// end of getMetaData()
+
+	/**
+	 * Gets the value of the designated column in the current row of this
+	 * ResultSet object as an Object in the Java programming language.
+	 *
+	 * This method will return the value of the given column as a Java object.
+	 * The type of the Java object will be the default Java object type
+	 * corresponding to the column's SQL type, following the mapping for
+	 * built-in types specified in the JDBC specification. If the value is
+	 * an SQL NULL, the driver returns a Java null.
+	 *
+	 * This method may also be used to read database-specific abstract data
+	 * types. In the JDBC 2.0 API, the behavior of method getObject is extended
+	 * to materialize data of SQL user-defined types. When a column contains a
+	 * structured or distinct value, the behavior of this method is as if it
+	 * were a call to: getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return a java.lang.Object holding the column value or null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Object getObject(int columnIndex) throws SQLException {
+		// Many generic JDBC programs use getObject(colnr) to retrieve value objects from a resultset
+		// For speed the implementation should be as fast as possible, so avoid method calls (by inlining code) where possible
+		final String MonetDBType;
+		final int JdbcType;
+		final String val;
+		try {
+			val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			MonetDBType = types[columnIndex - 1];
+			JdbcType = JdbcSQLTypes[columnIndex - 1];
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+
+		switch(JdbcType) {
+			case Types.BIT: // MonetDB doesn't use type BInary digiT, it's here for completeness
+			case Types.TINYINT:
+			case Types.SMALLINT:
+				try {
+					return Short.valueOf(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.INTEGER:
+				try {
+					return Integer.valueOf(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.BIGINT:
+				try {
+					return Long.valueOf(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.DOUBLE:
+			case Types.FLOAT:
+				try {
+					return Double.valueOf(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.REAL:
+				try {
+					return Float.valueOf(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.DECIMAL:
+			case Types.NUMERIC:
+				try {
+					return new BigDecimal(val);
+				} catch (NumberFormatException e) {
+					return val;
+				}
+			case Types.BOOLEAN:
+				return Boolean.valueOf(val);
+			case Types.VARCHAR:
+			{
+				// The MonetDB types: inet, json, url and uuid are all mapped to Types.VARCHAR in MonetDriver.typeMap
+				// For these MonetDB types (except json, see comments below) we try to create objects of the corresponding class.
+				// As in most cases when we get here the MonetDBtype will be "varchar". For efficiency we compare
+				// the MonetDBtype first letter to see if we can skip the three .equals(MonetDBType) method calls.
+				char firstletter = MonetDBType.charAt(0);
+				if (firstletter == 'i') {
+					if ("inet".equals(MonetDBType)) {
+						try {
+							nl.cwi.monetdb.jdbc.types.INET inet_obj = new nl.cwi.monetdb.jdbc.types.INET();
+							inet_obj.fromString(val);
+							return inet_obj;
+						} catch (Exception exc) {
+							// ignore exception and just return the val String object
+							return val;
+						}
+					}
+				}
+				else if (firstletter == 'u') {
+					if ("url".equals(MonetDBType)) {
+						try {
+							nl.cwi.monetdb.jdbc.types.URL url_obj = new nl.cwi.monetdb.jdbc.types.URL();
+							url_obj.fromString(val);
+							return url_obj;
+						} catch (MalformedURLException exc) {
+							// ignore exception and just return the val String object
+							return val;
+						} catch (Exception exc) {
+							// ignore exception and just return the val String object
+							return val;
+						}
+					}
+					if ("uuid".equals(MonetDBType)) {
+						try {
+							return java.util.UUID.fromString(val);
+						} catch (IllegalArgumentException exc) {
+							// ignore exception and just return the val String object
+							return val;
+						}
+					}
+				}
+//				else if (firstletter == 'j') {
+//					if ("json".equals(MonetDBType)) {
+						// There is no support for JSON in standard java class libraries.
+						// Possibly we could use org.json.simple.JSONObject or other/faster libs
+						// javax.json.Json is not released yet (see https://json-processing-spec.java.net/)
+						// see also https://github.com/fabienrenaud/java-json-benchmark
+						// Note that it would make our JDBC driver dependent of an external jar
+						// and we don't want that so simply return it as String object
+//						return val;
+//					}
+//				}
+				return val;
+			}
+			case Types.CHAR:
+			case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness
+				return val;
+			case Types.CLOB:
+				return new MonetClob(val);
+			case Types.BLOB:
+				return MonetBlob.create(val);
+			case Types.DATE:
+				return getDate(columnIndex);
+			case Types.TIME:
+				return getTime(columnIndex);
+			case Types.TIMESTAMP:
+				return getTimestamp(columnIndex);
+			case Types.BINARY:
+			case Types.VARBINARY:
+			case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY, it's here for completeness
+				return getBytes(columnIndex);
+			case Types.OTHER:
+			default:
+				// When we get here the column type is a non-standard JDBC SQL type, possibly a User Defined Type.
+				// Just call getObject(int, Map) for those rare cases.
+				return getObject(columnIndex, this.getStatement().getConnection().getTypeMap());
+		}
+	}
+
+	private boolean classImplementsSQLData(Class<?> cl) {
+		Class<?>[] cls = cl.getInterfaces();
+		for (int i = 0; i < cls.length; i++) {
+			if (cls[i] == SQLData.class)
+				return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Gets the value of the designated column in the current row of this
+	 * ResultSet object as an Object in the Java programming language.
+	 *
+	 * This method will return the value of the given column as a Java object.
+	 * The type of the Java object will be the default Java object type corresponding
+	 * to the column's SQL type, following the mapping for built-in types specified
+	 * in the JDBC specification.
+	 * If the value is an SQL NULL, the driver returns a Java null.
+	 *
+	 * This method may also be used to read database-specific abstract data types.
+	 * In the JDBC 2.0 API, the behavior of method getObject is extended to
+	 * materialize data of SQL user-defined types.
+	 *
+	 * If Connection.getTypeMap does not throw a SQLFeatureNotSupportedException, then
+	 * when a column contains a structured or distinct value, the behavior of this
+	 * method is as if it were a call to: getObject(columnIndex,
+	 * this.getStatement().getConnection().getTypeMap()).
+	 * If Connection.getTypeMap does throw a SQLFeatureNotSupportedException, then
+	 * structured values are not supported, and distinct values are mapped to the
+	 * default Java class as determined by the underlying SQL type of the DISTINCT type.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @param map a java.util.Map object that contains the mapping from SQL
+	 *        type names to classes in the Java programming language
+	 * @return an Object in the Java programming language representing the SQL
+	 *         value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object getObject(int columnIndex, Map<String,Class<?>> map)
+		throws SQLException
+	{
+		final String val;
+		final String MonetDBtype;
+		try {
+			val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			MonetDBtype = types[columnIndex - 1];
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+
+		Class<?> type = null;
+		if (map != null && map.containsKey(MonetDBtype)) {
+			type = map.get(MonetDBtype);
+		}
+		if (type == null) {
+			// fallback to the standard Class mappings
+			type = getClassForType(JdbcSQLTypes[columnIndex - 1]);
+		}
+
+		if (type == null || type == String.class) {
+			return val;
+		} else if (type == BigDecimal.class) {
+			return getBigDecimal(columnIndex);
+		} else if (type == Boolean.class) {
+			return Boolean.valueOf(getBoolean(columnIndex));
+		} else if (type == Short.class) {
+			return Short.valueOf(getShort(columnIndex));
+		} else if (type == Integer.class) {
+			return Integer.valueOf(getInt(columnIndex));
+		} else if (type == Long.class) {
+			return Long.valueOf(getLong(columnIndex));
+		} else if (type == Float.class) {
+			return Float.valueOf(getFloat(columnIndex));
+		} else if (type == Double.class) {
+			return Double.valueOf(getDouble(columnIndex));
+		} else if (type == byte[].class) {
+			return getBytes(columnIndex);
+		} else if (type == java.sql.Date.class) {
+			return getDate(columnIndex);
+		} else if (type == Time.class) {
+			return getTime(columnIndex);
+		} else if (type == Timestamp.class) {
+			return getTimestamp(columnIndex);
+		} else if (type == Clob.class) {
+			return getClob(columnIndex);
+		} else if (type == Blob.class) {
+			return getBlob(columnIndex);
+		} else if (classImplementsSQLData(type)) {
+			SQLData x;
+			try {
+				Constructor<? extends SQLData> ctor =
+					((Class)type).getConstructor();
+				x = ctor.newInstance();
+			} catch (NoSuchMethodException nsme) {
+				throw new SQLException(nsme.getMessage(), "M0M27");
+			} catch (InstantiationException ie) {
+				throw new SQLException(ie.getMessage(), "M0M27");
+			} catch (IllegalAccessException iae) {
+				throw new SQLException(iae.getMessage(), "M0M27");
+			} catch (InvocationTargetException ite) {
+				throw new SQLException(ite.getMessage(), "M0M27");
+			} catch (SecurityException se) {
+				throw new SQLException(se.getMessage(), "M0M27");
+			}
+			final int colnum = columnIndex;
+			final boolean valwasnull = wasNull();
+			SQLInput input = new SQLInput() {
+				@Override
+				public String readString() throws SQLException {
+					return getString(colnum);
+				}
+
+				@Override
+				public boolean readBoolean() throws SQLException {
+					return getBoolean(colnum);
+				}
+
+				@Override
+				public byte readByte() throws SQLException {
+					return getByte(colnum);
+				}
+
+				@Override
+				public short readShort() throws SQLException {
+					return getShort(colnum);
+				}
+
+				@Override
+				public int readInt() throws SQLException {
+					return getInt(colnum);
+				}
+
+				@Override
+				public long readLong() throws SQLException {
+					return getLong(colnum);
+				}
+
+				@Override
+				public float readFloat() throws SQLException {
+					return getFloat(colnum);
+				}
+
+				@Override
+				public double readDouble() throws SQLException {
+					return getDouble(colnum);
+				}
+
+				@Override
+				public BigDecimal readBigDecimal() throws SQLException {
+					return getBigDecimal(colnum);
+				}
+
+				@Override
+				public byte[] readBytes() throws SQLException {
+					return getBytes(colnum);
+				}
+
+				@Override
+				public java.sql.Date readDate() throws SQLException {
+					return getDate(colnum);
+				}
+
+				@Override
+				public java.sql.Time readTime() throws SQLException {
+					return getTime(colnum);
+				}
+
+				@Override
+				public Timestamp readTimestamp() throws SQLException {
+					return getTimestamp(colnum);
+				}
+
+				@Override
+				public Reader readCharacterStream() throws SQLException {
+					return getCharacterStream(colnum);
+				}
+
+				@Override
+				public InputStream readAsciiStream() throws SQLException {
+					return getAsciiStream(colnum);
+				}
+
+				@Override
+				public InputStream readBinaryStream() throws SQLException {
+					return getBinaryStream(colnum);
+				}
+
+				@Override
+				public Object readObject() throws SQLException {
+					return getObject(colnum);
+				}
+
+				@Override
+				public Ref readRef() throws SQLException {
+					return getRef(colnum);
+				}
+
+				@Override
+				public Blob readBlob() throws SQLException {
+					return getBlob(colnum);
+				}
+
+				@Override
+				public Clob readClob() throws SQLException {
+					return getClob(colnum);
+				}
+
+				@Override
+				public Array readArray() throws SQLException {
+					return getArray(colnum);
+				}
+
+				@Override
+				public boolean wasNull() throws SQLException {
+					return valwasnull;
+				}
+
+				@Override
+				public URL readURL() throws SQLException {
+					return getURL(colnum);
+				}
+
+				@Override
+				public NClob readNClob() throws SQLException {
+					return getNClob(colnum);
+				}
+
+				@Override
+				public String readNString() throws SQLException {
+					return getNString(colnum);
+				}
+
+				@Override
+				public SQLXML readSQLXML() throws SQLException {
+					return getSQLXML(colnum);
+				}
+
+				@Override
+				public RowId readRowId() throws SQLException {
+					return getRowId(colnum);
+				}
+			};
+			x.readSQL(input, MonetDBtype);
+			return x;
+		} else {
+			return val;
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object and will convert from the SQL type of
+	 * the column to the requested Java data type, if the conversion is
+	 * supported.  If the conversion is not supported or null is
+	 * specified for the type, a SQLException is thrown.
+	 *
+	 * At a minimum, an implementation must support the conversions defined
+	 * in Appendix B, Table B-3 and conversion of appropriate user defined
+	 * SQL types to a Java type which implements SQLData, or Struct.
+	 * Additional conversions may be supported and are vendor defined.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @param type Class representing the Java data type to convert the
+	 *        designated column to
+	 * @return an instance of type holding the column value
+	 * @throws SQLException if conversion is not supported, type is
+	 *         null or another error occurs. The getCause() method of
+	 *         the exception may provide a more detailed exception, for
+	 *         example, if a conversion error occurs
+	 */
+	@Override
+	public <T> T getObject(int i, Class<T> type) throws SQLException {
+		if (type == null)
+			throw new SQLException("type is null", "M1M05");
+
+		throw new SQLFeatureNotSupportedException("cannot return a Java generic type based on static types from getXXX methods", "0AM34");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object and will convert from the SQL type of
+	 * the column to the requested Java data type, if the conversion is
+	 * supported.  If the conversion is not supported or null is
+	 * specified for the type, a SQLException is thrown.
+	 *
+	 * @param columnLabel the label for the column specified with the
+	 *        SQL AS clause. If the SQL AS clause was not specified,
+	 *        then the label is the name of the column
+	 * @param type Class representing the Java data type to convert the
+	 *        designated column to
+	 * @return an instance of type holding the column value
+	 * @throws SQLException if conversion is not supported, type is
+	 *         null or another error occurs. The getCause() method of
+	 *         the exception may provide a more detailed exception, for
+	 *         example, if a conversion error occurs
+	 */
+	@Override
+	public <T> T getObject(String columnLabel, Class<T> type)
+		throws SQLException
+	{
+		return getObject(findColumn(columnLabel), type);
+	}
+
+	/**
+	 * Helper method to support the getObject and
+	 * ResultsetMetaData.getColumnClassName JDBC methods.
+	 *
+	 * @param type a value from java.sql.Types
+	 * @return a Class object from which an instance would be returned
+	 */
+	static Class<?> getClassForType(int type) {
+		/**
+		 * This switch returns the types as objects according to table B-3 from
+		 * Oracle's JDBC specification 4.1
+		 */
+		// keep this switch regarding the returned classes aligned with getObject(int, Map) !
+		switch(type) {
+			case Types.CHAR:
+			case Types.VARCHAR:
+			case Types.LONGVARCHAR:
+				return String.class;
+			case Types.NUMERIC:
+			case Types.DECIMAL:
+				return BigDecimal.class;
+			case Types.BOOLEAN:
+				return Boolean.class;
+			case Types.BIT: // MonetDB doesn't support type BIT, it's here for completeness
+			case Types.TINYINT:
+			case Types.SMALLINT:
+				return Short.class;
+			case Types.INTEGER:
+				return Integer.class;
+			case Types.BIGINT:
+				return Long.class;
+			case Types.REAL:
+				return Float.class;
+			case Types.FLOAT:
+			case Types.DOUBLE:
+				return Double.class;
+			case Types.BINARY:      // MonetDB currently does not support these
+			case Types.VARBINARY:   // see treat_blob_as_binary property
+			case Types.LONGVARBINARY:
+				return byte[].class;
+			case Types.DATE:
+				return java.sql.Date.class;
+			case Types.TIME:
+				return Time.class;
+			case Types.TIMESTAMP:
+				return Timestamp.class;
+			case Types.CLOB:
+				return Clob.class;
+			case Types.BLOB:
+				return Blob.class;
+
+			// all the rest are currently not implemented and used
+			default:
+				return String.class;
+		}
+	}
+
+	/**
+	 * Gets the value of the designated column in the current row of this
+	 * ResultSet object as an Object in the Java programming language.
+	 *
+	 * This method will return the value of the given column as a Java object.
+	 * The type of the Java object will be the default Java object type
+	 * corresponding to the column's SQL type, following the mapping for
+	 * built-in types specified in the JDBC specification. If the value is an
+	 * SQL NULL, the driver returns a Java null.
+	 *
+	 * This method may also be used to read database-specific abstract data
+	 * types.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return a java.lang.Object holding the column value
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Object getObject(String columnName) throws SQLException {
+		return getObject(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as an Object  in the Java programming language. If the
+	 * value is an SQL NULL, the driver returns a Java null. This method uses
+	 * the specified Map object for custom mapping if appropriate.
+	 *
+	 * @param colName the name of the column from which to retrieve the value
+	 * @param map a java.util.Map object that contains the mapping from SQL
+	 *        type names to classes in the Java programming language
+	 * @return an Object representing the SQL value in the specified column
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Object getObject(String colName, Map<String,Class<?>> map) throws SQLException {
+		return getObject(findColumn(colName), map);
+	}
+
+	@Override
+	public Ref getRef(int i) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getRef");
+	}
+
+	@Override
+	public Ref getRef(String colName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getRef");
+	}
+
+	/**
+	 * Retrieves the current row number. The first row is number 1, the second
+	 * number 2, and so on.
+	 *
+	 * @return the current row number; 0 if there is no current row
+	 */
+	@Override
+	public int getRow() {
+		return curRow;
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.sql.RowId object in the Java
+	 * programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if there is no such column
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public RowId getRowId(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getRowId");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.sql.RowId object in the Java
+	 * programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public RowId getRowId(String columnName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getRowId");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a short in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public short getShort(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return 0;
+			}
+			lastReadWasNull = false;
+			try {
+				return Short.parseShort(val);
+			} catch (NumberFormatException e) {
+				// ignore conversion error, return the default: 0
+				return 0;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a short in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is 0
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public short getShort(String columnName) throws SQLException {
+		return getShort(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the Statement object that produced this ResultSet object. If
+	 * the result set was generated some other way, such as by a
+	 * DatabaseMetaData method, this method returns null.
+	 *
+	 * @return the Statement object that produced this ResultSet object or null
+	 *         if the result set was produced some other way
+	 */
+	@Override
+	public Statement getStatement() {
+		return statement;
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a String in the Java programming language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if there is no such column
+	 */
+	@Override
+	public String getString(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			return val;
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a String in the Java programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 */
+	@Override
+	public String getString(String columnName) throws SQLException {
+		return getString(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a String in the Java programming
+	 * language. It is intended for use when accessing NCHAR,NVARCHAR
+	 * and LONGNVARCHAR columns.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if there is no such column
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public String getNString(int columnIndex) throws SQLException {
+		return getString(columnIndex);
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a String in the Java programming
+	 * language. It is intended for use when accessing NCHAR,NVARCHAR
+	 * and LONGNVARCHAR columns.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if the ResultSet object does not contain columnName
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public String getNString(String columnName) throws SQLException {
+		return getNString(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet as a java.sql.SQLXML object in the Java
+	 * programming language.
+	 *
+	 * @param i the first column is 1, the second is 2, ...
+	 * @return a SQLXML object that maps an SQL XML value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public SQLXML getSQLXML(int i) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getSQLXML");
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet as a java.sql.SQLXML object in the Java
+	 * programming language.
+	 *
+	 * @param colName the label for the column specified with the SQL AS
+	 *        clause. If the SQL AS clause was not specified, then the
+	 *        label is the name of the column
+	 * @return a SQLXML object that maps an SQL XML value
+	 * @throws SQLException if a database access error occurs
+	 * @throws SQLFeatureNotSupportedException the JDBC driver does
+	 *         not support this method
+	 */
+	@Override
+	public SQLXML getSQLXML(String colName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("getSQLXML");
+	}
+
+	// This behaviour is according table B-6 of Sun JDBC Specification 3.0
+	private SimpleDateFormat ts =
+		new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	private SimpleDateFormat t =
+		new SimpleDateFormat("HH:mm:ss");
+	private SimpleDateFormat d =
+		new SimpleDateFormat("yyyy-MM-dd");
+	/**
+	 * Helper method which parses the date/time value for columns of type
+	 * TIME, DATE and TIMESTAMP.  For the types CHAR, VARCHAR and
+	 * LONGVARCHAR an attempt is made to parse the date according to the
+	 * given type.  The given Calender object is filled with the parsed
+	 * data.  Optional fractional seconds (nanos) are returned by this
+	 * method.  If the underlying type of the column is none of the
+	 * mentioned six, January 1st 1970 0:00:00 GMT is returned.<br />
+	 * The dates are parsed with the given Calendar.
+	 *
+	 * @param cal the Calendar to use/fill when parsing the date/time
+	 * @param col the column to parse
+	 * @param type the corresponding java.sql.Types type of the calling
+	 *        function
+	 * @return the fractional seconds (nanos) or -1 if the value is NULL
+	 * @throws SQLException if a database error occurs
+	 */
+	private int getJavaDate(Calendar cal, int columnIndex, int type)
+		throws SQLException
+	{
+		if (cal == null) throw
+			new IllegalArgumentException("No Calendar object given!");
+
+		final String monetDate;
+		final String MonetDBType;
+		int JdbcType;
+		try {
+			monetDate = tlp.values[columnIndex - 1];
+			if (monetDate == null) {
+				lastReadWasNull = true;
+				return -1;
+			}
+			lastReadWasNull = false;
+			MonetDBType = types[columnIndex - 1];
+			JdbcType = JdbcSQLTypes[columnIndex - 1];
+			// If we got a string type, set the JdbcType to the given type
+			// so we attempt to parse it as the caller thinks it is.
+			if (JdbcType == Types.CHAR ||
+			    JdbcType == Types.VARCHAR ||
+			    JdbcType == Types.LONGVARCHAR ||
+			    JdbcType == Types.CLOB)
+			{
+				JdbcType = type;
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+
+		// we know whether we have a time with or without
+		// time zone if the monet type ends with "tz"
+		boolean hasTimeZone = (MonetDBType != null) ? MonetDBType.endsWith("tz") : false;
+		TimeZone ptz = cal.getTimeZone();
+
+		// it is important to parse the time in the given timezone in
+		// order to get a correct (UTC) time value, hence we need to
+		// parse it first
+		if (hasTimeZone) {
+			// MonetDB/SQL99:  Sign TwoDigitHours : Minutes
+			ptz = TimeZone.getTimeZone("GMT" +
+					monetDate.substring(
+						monetDate.length() - 6,
+						monetDate.length()));
+		}
+
+		java.util.Date pdate = null;
+		ParsePosition ppos = new ParsePosition(0);
+		switch(JdbcType) {
+			case Types.DATE:
+				d.setTimeZone(ptz);
+				pdate = d.parse(monetDate, ppos);
+				break;
+			case Types.TIME:
+				t.setTimeZone(ptz);
+				pdate = t.parse(monetDate, ppos);
+				break;
+			case Types.TIMESTAMP:
+				ts.setTimeZone(ptz);
+				pdate = ts.parse(monetDate, ppos);
+				break;
+			default:
+				addWarning("unsupported data type", "01M03");
+				cal.clear();
+				return 0;
+		}
+		if (pdate == null) {
+			// parsing failed
+			int epos = ppos.getErrorIndex();
+			if (epos == -1) {
+				addWarning("parsing '" + monetDate + "' failed", "01M10");
+			} else if (epos < monetDate.length()) {
+				addWarning("parsing failed," +
+						 " found: '" + monetDate.charAt(epos) + "'" +
+						 " in: \"" + monetDate + "\"" +
+						 " at pos: " + ppos.getErrorIndex(), "01M10");
+			} else {
+				addWarning("parsing failed, expected more data after '" +
+						monetDate + "'", "01M10");
+			}
+			// default value
+			cal.clear();
+			return 0;
+		}
+		cal.setTime(pdate);
+
+		int nanos = 0;
+		if (JdbcType == Types.TIME || JdbcType == Types.TIMESTAMP) {
+			// parse additional nanos (if any)
+			int pos = ppos.getIndex();
+			char[] monDate = monetDate.toCharArray();
+			if (pos < monDate.length && monDate[pos] == '.') {
+				pos++;
+				int ctr;
+				try {
+					nanos = getIntrinsicValue(monDate[pos], pos++);
+					for (ctr = 1;
+							pos < monDate.length &&
+							monDate[pos] >= '0' &&
+							monDate[pos] <= '9';
+							ctr++)
+					{
+						if (ctr < 9) {
+							nanos *= 10;
+							nanos += (getIntrinsicValue(monDate[pos], pos));
+						}
+						if (ctr == 2)	// we have three at this point
+							cal.set(Calendar.MILLISECOND, nanos);
+						pos++;
+					}
+					while (ctr++ < 9)
+						nanos *= 10;
+				} catch(MCLParseException e) {
+					addWarning(e.getMessage() +
+							" found: '" + monDate[e.getErrorOffset()] + "'" +
+							" in: \"" + monetDate + "\"" +
+							" at pos: " + e.getErrorOffset(), "01M10");
+					// default value
+					cal.clear();
+					nanos = 0;
+				}
+			}
+		}
+		return nanos;
+	}
+
+	/**
+	 * Small helper method that returns the intrinsic value of a char if
+	 * it represents a digit.  If a non-digit character is encountered
+	 * an MCLParseException is thrown.
+	 *
+	 * @param c the char
+	 * @param pos the position
+	 * @return the intrinsic value of the char
+	 * @throws MCLParseException if c is not a digit
+	 */
+	private final static int getIntrinsicValue(char c, int pos)
+		throws MCLParseException
+	{
+		// note: don't use Character.isDigit() here, because
+		// we only want ISO-LATIN-1 digits
+		if (c >= '0' && c <= '9') {
+			return (int)c - (int)'0';
+		} else {
+			throw new MCLParseException("Expected a digit", pos);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Date object in the Java programming
+	 * language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 * @see #getDate(int col, Calendar cal)
+	 */
+	@Override
+	public java.sql.Date getDate(int columnIndex) throws SQLException {
+		return getDate(columnIndex, Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Date object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the date if the underlying database does not store
+	 * timezone information.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @param cal the java.util.Calendar object to use in constructing the date
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public java.sql.Date getDate(int columnIndex, Calendar cal)
+		throws SQLException
+	{
+		int ret = getJavaDate(cal, columnIndex, Types.DATE);
+		return ret == -1 ? null : new java.sql.Date(cal.getTimeInMillis());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Date object in the Java programming
+	 * language.
+	 *
+	 * @param columnName the SQL name of the column from which to retrieve the
+	 *        value
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public java.sql.Date getDate(String columnName) throws SQLException {
+		return getDate(findColumn(columnName), Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Date object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the date if the underlying database does not store
+	 * timezone information.
+	 *
+	 * @param columnName the SQL name of the column from which to retrieve the
+	 *        value
+	 * @param cal the java.util.Calendar object to use in constructing the date
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public java.sql.Date getDate(String columnName, Calendar cal)
+		throws SQLException
+	{
+		return getDate(findColumn(columnName), cal);
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Time object in the Java programming
+	 * language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Time getTime(int columnIndex) throws SQLException {
+		return getTime(columnIndex, Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of
+	 * this ResultSet object as a java.sql.Time object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the time if the underlying database does not store
+	 * timezone information.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @param cal the java.util.Calendar object to use in constructing the
+	 *        timestamp
+	 * @return the column value as a java.sql.Timestamp object; if the value is
+	 *         SQL NULL, the value returned is null in the Java programming
+	 *         language
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Time getTime(int columnIndex, Calendar cal)
+		throws SQLException
+	{
+		int ret = getJavaDate(cal, columnIndex, Types.TIME);
+		return ret == -1 ? null : new Time(cal.getTimeInMillis());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Time object in the Java programming
+	 * language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Time getTime(String columnName) throws SQLException {
+		return getTime(findColumn(columnName), Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of
+	 * this ResultSet object as a java.sql.Time object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the time if the underlying database does not store
+	 * timezone information.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @param cal the java.util.Calendar object to use in constructing the
+	 *        timestamp
+	 * @return the column value as a java.sql.Timestamp object; if the value is
+	 *         SQL NULL, the value returned is null in the Java programming
+	 *         language
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Time getTime(String columnName, Calendar cal)
+		throws SQLException
+	{
+		return getTime(findColumn(columnName), cal);
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Timestamp object in the Java programming
+	 * language.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Timestamp getTimestamp(int columnIndex) throws SQLException {
+		return getTimestamp(columnIndex, Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Timestamp object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the timestamp if the underlying database does not
+	 * store timezone information.
+	 *
+	 * @param columnIndex the first column is 1, the second is 2, ...
+	 * @param cal the java.util.Calendar object to use in constructing the
+	 *        timestamp
+	 * @return the column value as a java.sql.Timestamp object; if the value is
+	 *         SQL NULL, the value returned is null in the Java programming
+	 *         language
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Timestamp getTimestamp(int columnIndex, Calendar cal)
+		throws SQLException
+	{
+		int nanos = getJavaDate(cal, columnIndex, Types.TIMESTAMP);
+		if (nanos == -1)
+			return null;
+
+		Timestamp ts = new Timestamp(cal.getTimeInMillis());
+		ts.setNanos(nanos);
+		return ts;
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Timestamp object in the Java programming
+	 * language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value; if the value is SQL NULL, the value returned
+	 *         is null
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Timestamp getTimestamp(String columnName) throws SQLException {
+		return getTimestamp(findColumn(columnName), Calendar.getInstance());
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row of this
+	 * ResultSet object as a java.sql.Timestamp object in the Java programming
+	 * language. This method uses the given calendar to construct an appropriate
+	 * millisecond value for the timestamp if the underlying database does not
+	 * store timezone information.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @param cal the java.util.Calendar object to use in constructing the
+	 *        timestamp
+	 * @return the column value as a java.sql.Timestamp object; if the value is
+	 *         SQL NULL, the value returned is null in the Java programming
+	 *         language
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public Timestamp getTimestamp(String columnName, Calendar cal)
+		throws SQLException
+	{
+		return getTimestamp(findColumn(columnName), cal);
+	}
+
+	/**
+	 * Retrieves the type of this ResultSet object. The type is determined by
+	 * the Statement object that created the result set.
+	 *
+	 * @return ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
+	 *         or ResultSet.TYPE_SCROLL_SENSITIVE
+	 */
+	@Override
+	public int getType() {
+		return type;
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.net.URL object in the Java
+	 * programming language.
+	 *
+	 * @param columnIndex the index of the column 1 is the first,
+	 *                    2 is the second,...
+	 * @return the column value as a java.net.URL object; if the value
+	 *         is SQL NULL, the value returned is null in the Java
+	 *         programming language
+	 * @throws SQLException if a database access error occurs, or if a
+	 *         URL is malformed
+	 */
+	@Override
+	public URL getURL(int columnIndex) throws SQLException {
+		try {
+			String val = tlp.values[columnIndex - 1];
+			if (val == null) {
+				lastReadWasNull = true;
+				return null;
+			}
+			lastReadWasNull = false;
+			try {
+				return new URL(val);
+			} catch (MalformedURLException e) {
+				throw new SQLException(e.getMessage(), "M1M05");
+			}
+		} catch (IndexOutOfBoundsException e) {
+			throw newSQLInvalidColumnIndexException(columnIndex);
+		}
+	}
+
+	/**
+	 * Retrieves the value of the designated column in the current row
+	 * of this ResultSet object as a java.net.URL object in the Java
+	 * programming language.
+	 *
+	 * @param columnName the SQL name of the column
+	 * @return the column value as a java.net.URL object; if the value
+	 *         is SQL NULL, the value returned is null in the Java
+	 *         programming language
+	 * @throws SQLException if a database access error occurs, or if a
+	 *         URL is malformed
+	 */
+	@Override
+	public URL getURL(String columnName) throws SQLException {
+		return getURL(findColumn(columnName));
+	}
+
+	/**
+	 * Retrieves the first warning reported by calls on this ResultSet object.
+	 * If there is more than one warning, subsequent warnings will be chained to
+	 * the first one and can be retrieved by calling the method
+	 * SQLWarning.getNextWarning on the warning that was retrieved previously.
+	 *
+	 * This method may not be called on a closed result set; doing so will cause
+	 * an SQLException to be thrown.
+	 *
+	 * Note: Subsequent warnings will be chained to this SQLWarning.
+	 *
+	 * @return the first SQLWarning object or null if there are none
+	 * @throws SQLException if a database access error occurs or this method is
+	 *         called on a closed connection
+	 */
+	@Override
+	public SQLWarning getWarnings() throws SQLException {
+		if (header != null && header.isClosed())
+			throw new SQLException("Cannot call on closed ResultSet", "M1M20");
+
+		// if there are no warnings, this will be null, which fits with the
+		// specification.
+		return warnings;
+	}
+
+	/**
+	 * Retrieves whether the cursor is after the last row in this ResultSet
+	 * object.
+	 *
+	 * @return true if the cursor is after the last row; false if the cursor is
+	 *         at any other position or the result set contains no rows
+	 */
+	@Override
+	public boolean isAfterLast() {
+		return curRow == tupleCount + 1;
+	}
+
+	/**
+	 * Retrieves whether the cursor is before the first row in this ResultSet
+	 * object.
+	 *
+	 * @return true if the cursor is before the first row; false if the cursor
+	 *         is at any other position or the result set contains no rows
+	 */
+	@Override
+	public boolean isBeforeFirst() {
+		return curRow == 0;
+	}
+
+	/**
+	 * Retrieves whether this ResultSet object has been closed. A
+	 * ResultSet is closed if the method close has been called on it, or
+	 * if it is automatically closed.
+	 *
+	 * @return true if this ResultSet object is closed; false if it is
+	 *         still open
+	 */
+	@Override
+	public boolean isClosed() {
+		return header != null && header.isClosed();
+	}
+
+	/**
+	 * Retrieves whether the cursor is on the first row of this ResultSet
+	 * object.
+	 *
+	 * @return true if the cursor is on the first row; false otherwise
+	 */
+	@Override
+	public boolean isFirst() {
+		return curRow == 1;
+	}
+
+	/**
+	 * Retrieves whether the cursor is on the last row of this ResultSet object.
+	 *
+	 * @return true if the cursor is on the last row; false otherwise
+	 */
+	@Override
+	public boolean isLast() {
+		return curRow == tupleCount;
+	}
+
+	/**
+	 * Moves the cursor to the last row in this ResultSet object.
+	 *
+	 * @return true if the cursor is on a valid row; false if there are no rows
+	 *         in the result set
+	 * @throws SQLException if a database access error occurs or the result set
+	 *         type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public boolean last() throws SQLException {
+		return absolute(-1);
+	}
+
+	/**
+	 * Moves the cursor down one row from its current position. A ResultSet
+	 * cursor is initially positioned before the first row; the first call to
+	 * the method next makes the first row the current row; the second call
+	 * makes the second row the current row, and so on.
+	 *
+	 * If an input stream is open for the current row, a call to the method
+	 * next will implicitly close it. A ResultSet object's warning chain is
+	 * cleared when a new row is read.
+	 *
+	 * @return true if the new current row is valid; false if there are no
+	 *         more rows
+	 * @throws SQLException if a database access error occurs or ResultSet is
+	 *         closed
+	 */
+	@Override
+	public boolean next() throws SQLException {
+		return relative(1);
+	}
+
+	/**
+	 * Moves the cursor to the previous row in this ResultSet object.
+	 *
+	 * @return true if the cursor is on a valid row; false if it is off
+	 *         the result set
+	 * @throws SQLException if a database access error occurs or ResultSet is
+	 *         closed or the result set type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public boolean previous() throws SQLException {
+		return relative(-1);
+	}
+
+	/**
+	 * Moves the cursor a relative number of rows, either positive or negative.
+	 * Attempting to move beyond the first/last row in the result set positions
+	 * the cursor before/after the the first/last row. Calling relative(0) is
+	 * valid, but does not change the cursor position.
+	 *
+	 * Note: Calling the method relative(1) is identical to calling the method
+	 * next() and calling the method relative(-1) is identical to calling the
+	 * method previous().
+	 *
+	 * @param rows an int specifying the number of rows to move from the current
+	 *        row; a positive number moves the cursor forward; a negative number
+	 *        moves the cursor backward
+	 * @return true if the cursor is on a row; false otherwise
+	 * @throws SQLException if a database access error occurs, there is no current
+	 *         row, or the result set type is TYPE_FORWARD_ONLY
+	 */
+	@Override
+	public boolean relative(int rows) throws SQLException {
+		return absolute(curRow + rows);
+	}
+
+	/**
+	 * Retrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set.
+	 * This method can be used to detect holes in a result set.
+	 * The value returned depends on whether or not this ResultSet object can detect deletions.
+	 *
+	 * Note: Support for the rowDeleted method is optional with a result set concurrency of CONCUR_READ_ONLY
+	 *
+	 * Returns: true if the current row is detected to have been deleted by the owner or another; false otherwise
+	 *
+	 * Throws:
+	 *     SQLException - if a database access error occurs or this method is called on a closed result set
+	 *     SQLFeatureNotSupportedException - if the JDBC driver does not support this method
+	 * Since: 1.2
+	 * See Also: DatabaseMetaData.deletesAreDetected(int)
+	 */
+	@Override
+	public boolean rowDeleted() throws SQLException {
+		return false;
+	}
+
+	/**
+	 * Retrieves whether the current row has had an insertion.
+	 * The value returned depends on whether or not this ResultSet object can detect visible inserts.
+	 *
+	 * Note: Support for the rowInserted method is optional with a result set concurrency of CONCUR_READ_ONLY
+	 *
+	 * Returns: true if the current row is detected to have been inserted; false otherwise
+	 *
+	 * Throws:
+	 *     SQLException - if a database access error occurs or this method is called on a closed result set
+	 *     SQLFeatureNotSupportedException - if the JDBC driver does not support this method
+	 * Since: 1.2
+	 * See Also: DatabaseMetaData.insertsAreDetected(int)
+	 */
+	@Override
+	public boolean rowInserted() throws SQLException {
+		return false;
+	}
+
+	/**
+	 * Retrieves whether the current row has been updated.
+	 * The value returned depends on whether or not the result set can detect updates.
+	 *
+	 * Note: Support for the rowUpdated method is optional with a result set concurrency of CONCUR_READ_ONLY
+	 *
+	 * Returns: true if the current row is detected to have been visibly updated by the owner or another; false otherwise
+	 *
+	 * Throws:
+	 *     SQLException - if a database access error occurs or this method is called on a closed result set
+	 *     SQLFeatureNotSupportedException - if the JDBC driver does not support this method
+	 * Since: 1.2
+	 * See Also: DatabaseMetaData.updatesAreDetected(int)
+	 */
+	@Override
+	public boolean rowUpdated() throws SQLException {
+		return false;
+	}
+
+	/* the next methods are all related to updateable result sets, which we
+	   currently do not support */
+	@Override
+	public void cancelRowUpdates() throws SQLException {
+		throw newSQLFeatureNotSupportedException("cancelRowUpdates");
+	}
+
+	@Override
+	public void deleteRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("deleteRow");
+	}
+
+	@Override
+	public void insertRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("insertRow");
+	}
+
+	@Override
+	public void moveToCurrentRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("moveToCurrentRow");
+	}
+
+	@Override
+	public void moveToInsertRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("moveToInsertRow");
+	}
+
+	@Override
+	public void refreshRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("refreshRow");
+	}
+
+
+	@Override
+	public void updateArray(int columnIndex, Array x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateArray");
+	}
+
+	@Override
+	public void updateArray(String columnName, Array x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateArray");
+	}
+
+	@Override
+	public void updateAsciiStream(int columnIndex, InputStream xh) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateAsciiStream(String columnName, InputStream x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateAsciiStream(String columnName, InputStream x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateAsciiStream");
+	}
+
+	@Override
+	public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBigDecimal");
+	}
+
+	@Override
+	public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBigDecimal");
+	}
+
+	@Override
+	public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBinaryStream(String columnName, InputStream x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBinaryStream(String columnName, InputStream x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBinaryStream");
+	}
+
+	@Override
+	public void updateBlob(int columnIndex, Blob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBlob(int columnIndex, InputStream s) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBlob(int columnIndex, InputStream s, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBlob(String columnName, Blob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBlob(String columnName, InputStream s) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBlob(String columnName, InputStream s, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBlob");
+	}
+
+	@Override
+	public void updateBoolean(int columnIndex, boolean x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBoolean");
+	}
+
+	@Override
+	public void updateBoolean(String columnName, boolean x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBoolean");
+	}
+
+	@Override
+	public void updateByte(int columnIndex, byte x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateByte");
+	}
+
+	@Override
+	public void updateByte(String columnName, byte x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateByte");
+	}
+
+	@Override
+	public void updateBytes(int columnIndex, byte[] x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBytes");
+	}
+
+	@Override
+	public void updateBytes(String columnName, byte[] x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateBytes");
+	}
+
+	@Override
+	public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateCharacterStream(String columnName, Reader reader) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateCharacterStream(String columnName, Reader reader, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateCharacterStream");
+	}
+
+	@Override
+	public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	public void updateNCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	@Override
+	public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	@Override
+	public void updateNCharacterStream(String columnName, Reader reader) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	public void updateNCharacterStream(String columnName, Reader reader, int length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	@Override
+	public void updateNCharacterStream(String columnName, Reader reader, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNCharacterStream");
+	}
+
+	@Override
+	public void updateClob(int columnIndex, Clob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateClob(int columnIndex, Reader r) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateClob(int columnIndex, Reader r, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateClob(String columnName, Clob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateClob(String columnName, Reader r) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateClob(String columnName, Reader r, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateClob");
+	}
+
+	@Override
+	public void updateNClob(int columnIndex, NClob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateNClob(int columnIndex, Reader r) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateNClob(int columnIndex, Reader r, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateNClob(String columnName, NClob x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateNClob(String columnName, Reader r) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateNClob(String columnName, Reader r, long length) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNClob");
+	}
+
+	@Override
+	public void updateDate(int columnIndex, java.sql.Date x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateDate");
+	}
+
+	@Override
+	public void updateDate(String columnName, java.sql.Date x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateDate");
+	}
+
+	@Override
+	public void updateDouble(int columnIndex, double x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateDouble");
+	}
+
+	@Override
+	public void updateDouble(String columnName, double x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateDouble");
+	}
+
+	@Override
+	public void updateFloat(int columnIndex, float x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateFloat");
+	}
+
+	@Override
+	public void updateFloat(String columnName, float x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateFloat");
+	}
+
+	@Override
+	public void updateInt(int columnIndex, int x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateInt");
+	}
+
+	@Override
+	public void updateInt(String columnName, int x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateInt");
+	}
+
+	@Override
+	public void updateLong(int columnIndex, long x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateLong");
+	}
+
+	@Override
+	public void updateLong(String columnName, long x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateLong");
+	}
+
+	@Override
+	public void updateNull(int columnIndex) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNull");
+	}
+
+	@Override
+	public void updateNull(String columnName) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNull");
+	}
+
+	@Override
+	public void updateObject(int columnIndex, Object x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateObject");
+	}
+
+	@Override
+	public void updateObject(int columnIndex, Object x, int scale) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateObject");
+	}
+
+	@Override
+	public void updateObject(String columnName, Object x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateObject");
+	}
+
+	@Override
+	public void updateObject(String columnName, Object x, int scale) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateObject");
+	}
+
+	@Override
+	public void updateRef(int columnIndex, Ref x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateRef");
+	}
+
+	@Override
+	public void updateRef(String columnName, Ref x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateRef");
+	}
+
+	@Override
+	public void updateRow() throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateRow");
+	}
+
+	@Override
+	public void updateRowId(int columnIndex, RowId x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateRowId");
+	}
+
+	@Override
+	public void updateRowId(String columnLabel, RowId x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateRowId");
+	}
+
+	@Override
+	public void updateShort(int columnIndex, short x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateShort");
+	}
+
+	@Override
+	public void updateShort(String columnName, short x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateShort");
+	}
+
+	@Override
+	public void updateString(int columnIndex, String x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateString");
+	}
+
+	@Override
+	public void updateString(String columnName, String x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateString");
+	}
+
+	@Override
+	public void updateNString(int columnIndex, String x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNString");
+	}
+
+	@Override
+	public void updateNString(String columnName, String x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateNString");
+	}
+
+	@Override
+	public void updateSQLXML(String columnName, SQLXML x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateSQLXML");
+	}
+
+	@Override
+	public void updateSQLXML(int columnIndex, SQLXML x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateSQLXML");
+	}
+
+	@Override
+	public void updateTime(int columnIndex, Time x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateTime");
+	}
+
+	@Override
+	public void updateTime(String columnName, Time x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateTime");
+	}
+
+	@Override
+	public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateTimestamp");
+	}
+
+	@Override
+	public void updateTimestamp(String columnName, Timestamp x) throws SQLException {
+		throw newSQLFeatureNotSupportedException("updateTimestamp");
+	}
+
+	// Chapter 14.2.3.3 Sun JDBC 3.0 Specification
+	/**
+	 * Reports whether the last column read had a value of SQL NULL. Note that
+	 * you must first call one of the getter methods on a column to try to read
+	 * its value and then call the method wasNull to see if the value read was
+	 * SQL NULL.
+	 *
+	 * @return true if the last column value read was SQL NULL and false
+	 *          otherwise
+	 */
+	@Override
+	public boolean wasNull() {
+		return lastReadWasNull;
+	}
+
+	//== end methods of interface ResultSet
+
+	/**
+	 * Adds a warning to the pile of warnings this ResultSet object has. If
+	 * there were no warnings (or clearWarnings was called) this warning will
+	 * be the first, otherwise this warning will get appended to the current
+	 * warning.
+	 *
+	 * @param reason the warning message
+	 */
+	private void addWarning(String reason, String sqlstate) {
+		if (warnings == null) {
+			warnings = new SQLWarning(reason, sqlstate);
+		} else {
+			warnings.setNextWarning(new SQLWarning(reason, sqlstate));
+		}
+	}
+
+	/**
+	 * Small helper method that formats the "Invalid Column Index number ..." message
+	 * and creates a new SQLException object whose SQLState is set to "M1M05".
+	 *
+	 * @param name the method name
+	 * @return a new created SQLException object with SQLState M1M05
+	 */
+	private final static SQLException newSQLInvalidColumnIndexException(int colIdx) {
+		return new SQLException("Invalid Column Index number: " + colIdx, "M1M05");
+	}
+
+	/**
+	 * Small helper method that formats the "Method ... not implemented" message
+	 * and creates a new SQLFeatureNotSupportedException object
+	 * whose SQLState is set to "0A000".
+	 *
+	 * @param name the method name
+	 * @return a new created SQLFeatureNotSupportedException object with SQLState 0A000
+	 */
+	private final static SQLFeatureNotSupportedException newSQLFeatureNotSupportedException(String name) {
+		return new SQLFeatureNotSupportedException("Method " + name + " not implemented", "0A000");
+	}
+}
+
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetSavepoint.java
@@ -0,0 +1,135 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * The representation of a savepoint, which is a point within the current
+ * transaction that can be referenced from the Connection.rollback method.
+ * When a transaction is rolled back to a savepoint all changes made after
+ * that savepoint are undone.
+ * Savepoints can be either named or unnamed. Unnamed savepoints are
+ * identified by an ID generated by the underlying data source.
+ *
+ * This little class is nothing more than a container for a name and/or
+ * an id. Each instance of this class always has an id, which is used for
+ * internal representation of the save point.
+ *
+ * Because the IDs which get generated are a logical sequence, application
+ * wide, two concurrent transactions are guaranteed to not to have the same
+ * save point identifiers. In this implementation the validaty of save points
+ * is determined by the server, which makes this a light implementation.
+ *
+ * @author Fabian Groffen
+ * @version 1.0
+ */
+public class MonetSavepoint implements Savepoint {
+	/** The id of the last created Savepoint */
+	private static AtomicInteger highestId = new AtomicInteger(0);
+
+	/** The name of this Savepoint */
+	private final String name;
+	/** The id of this Savepoint */
+	private final int id;
+
+	public MonetSavepoint(String name) throws IllegalArgumentException {
+		if (name == null) throw new IllegalArgumentException("null not allowed");
+
+		this.id = getNextId();
+		this.name = name;
+	}
+
+	public MonetSavepoint() {
+		this.id = getNextId();
+		this.name = null;
+	}
+
+
+	/**
+	 * Retrieves the generated ID for the savepoint that this Savepoint object
+	 * represents.
+	 *
+	 * @return the numeric ID of this savepoint
+	 * @throws SQLException if this is a named savepoint
+	 */
+	@Override
+	public int getSavepointId() throws SQLException {
+		if (name != null) throw
+			new SQLException("Cannot getID for named savepoint", "3B000");
+
+		return getId();
+	}
+
+	/**
+	 * Retrieves the name of the savepoint that this Savepoint object
+	 * represents.
+	 *
+	 * @return the name of this savepoint
+	 * @throws SQLException if this is an un-named savepoint
+	 */
+	@Override
+	public String getSavepointName() throws SQLException {
+		if (name == null) throw
+			new SQLException("Unable to retrieve name of unnamed savepoint", "3B000");
+
+		return name;
+	}
+
+	//== end of methods from Savepoint interface
+
+	/**
+	 * Retrieves the savepoint id, like the getSavepointId method with the only
+	 * difference that this method will always return the id, regardless of
+	 * whether it is named or not.
+	 *
+	 * @return the numeric ID of this savepoint
+	 */
+	int getId() {
+		return id;
+	}
+
+	/**
+	 * Returns the name to use when referencing this save point to the MonetDB
+	 * database. The returned value is guaranteed to be unique and consists of
+	 * a prefix string and a sequence number.
+	 *
+	 * @return the unique savepoint name
+	 */
+	String getName() {
+		return "MonetDBSP" + id;
+	}
+
+
+	/**
+	 * Returns the next id, which is larger than the last returned id. This
+	 * method is synchronized to prevent race conditions. Since this is static
+	 * code, this method is shared by requests from multiple Connection objects.
+	 * Therefore two successive calls to this method need not to have a
+	 * difference of 1.
+	 *
+	 * @return the next int which is guaranteed to be higher than the one
+	 *         at the last call to this method.
+	 */
+	private static int getNextId() {
+		return highestId.incrementAndGet();
+	}
+
+	/**
+	 * Returns the highest id returned by getNextId(). This method is also
+	 * synchronized to prevent race conditions and thus guaranteed to be
+	 * thread-safe.
+	 *
+	 * @return the highest id returned by a call to getNextId()
+	 */
+	private static int getHighestId() {
+		return highestId.get();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
@@ -0,0 +1,1286 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+import java.util.*;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import nl.cwi.monetdb.mcl.net.*;
+
+/**
+ * A Statement suitable for the MonetDB database.
+ * 
+ * The object used for executing a static SQL statement and returning
+ * the results it produces.<br />
+ * 
+ * By default, only one {@link ResultSet} object per Statement object can be
+ * open at the same time. Therefore, if the reading of one ResultSet
+ * object is interleaved with the reading of another, each must have
+ * been generated by different {@link Statement} objects. All execution methods
+ * in the Statement interface implicitly close a Statement's current
+ * ResultSet object if an open one exists.
+ * 
+ * The current state of this Statement is that it only implements the
+ * executeQuery() which returns a ResultSet where from results can be
+ * read and executeUpdate() which doesn't return the affected rows.
+ * Commit and rollback are implemented, as is the autoCommit mechanism
+ * which relies on server side auto commit.<br />
+ * Multi-result queries are supported using the getMoreResults() method.
+ *
+ * @author Fabian Groffen
+ * @version 0.7
+ */
+public class MonetStatement extends MonetWrapper implements Statement {
+	/** the default value of maxRows, 0 indicates unlimited */
+	static final int DEF_MAXROWS = 0;
+
+	/** The parental Connection object */
+	private MonetConnection connection;
+	/** The last ResponseList object this Statement produced */
+	private MonetConnection.ResponseList lastResponseList;
+	/** The last Response that this object uses */
+	MonetConnection.Response header;
+	/** The warnings this Statement object generated */
+	private SQLWarning warnings;
+	/** Whether this Statement object is closed or not */
+	protected boolean closed;
+	/** Whether the application wants this Statement object to be pooled */
+	protected boolean poolable;
+	/** Whether this Statement should be closed if the last ResultSet
+	 * closes */
+	private boolean closeOnCompletion = false;
+	/** The size of the blocks of results to ask for at the server */
+	private int fetchSize = 0;
+	/** The maximum number of rows to return in a ResultSet */
+	private int maxRows = DEF_MAXROWS;
+	/** The suggested direction of fetching data (implemented but not used) */
+	private int fetchDirection = ResultSet.FETCH_FORWARD;
+	/** The type of ResultSet to produce; i.e. forward only, random access */
+	private int resultSetType = ResultSet.TYPE_FORWARD_ONLY;
+	/** The concurrency of the ResultSet to produce */
+	private int resultSetConcurrency = ResultSet.CONCUR_READ_ONLY;
+
+	/** A List to hold all queries of a batch */
+	private List<String> batch = new ArrayList<String>();
+
+
+	/**
+	 * MonetStatement constructor which checks the arguments for validity, tries
+	 * to set up a socket to MonetDB and attempts to login.
+	 * This constructor is only accessible to classes from the jdbc package.
+	 *
+	 * @param connection the connection that created this Statement
+	 * @param resultSetType type of ResultSet to produce
+	 * @param resultSetConcurrency concurrency of ResultSet to produce
+	 * @throws SQLException if an error occurs during login
+	 * @throws IllegalArgumentException is one of the arguments is null or empty
+	 */
+	MonetStatement(
+		MonetConnection connection,
+		int resultSetType,
+		int resultSetConcurrency,
+		int resultSetHoldability)
+		throws SQLException, IllegalArgumentException
+	{
+		if (connection == null) throw
+			new IllegalArgumentException("No Connection given!");
+
+		this.connection = connection;
+		this.resultSetType = resultSetType;
+		this.resultSetConcurrency = resultSetConcurrency;
+
+		// check our limits, and generate warnings as appropriate
+		if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY) {
+			addWarning("No concurrency mode other then read only is supported, continuing with concurrency level READ_ONLY", "01M13");
+			resultSetConcurrency = ResultSet.CONCUR_READ_ONLY;
+		}
+
+		// check type for supported mode
+		if (resultSetType == ResultSet.TYPE_SCROLL_SENSITIVE) {
+			addWarning("Change sensitive scrolling ResultSet objects are not supported, continuing with a change non-sensitive scrollable cursor.", "01M14");
+			resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE;
+		}
+
+		// check type for supported holdability
+		if (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT) {
+			addWarning("Close cursors at commit not supported, continuing with holdability to hold open cursors over commit.", "01M15");
+		}
+
+		closed = false;
+		poolable = false;
+	}
+
+	//== methods of interface Statement
+
+	/**
+	 * Adds the given SQL command to the current list of commmands for this
+	 * Statement object.  The commands in this list can be executed as a
+	 * batch by calling the method executeBatch.
+	 *
+	 * @param sql typically this is a static SQL INSERT or UPDATE statement
+	 * @throws SQLException so the PreparedStatement can throw this exception
+	 */
+	@Override
+	public void addBatch(String sql) throws SQLException {
+		batch.add(sql);
+	}
+
+	/**
+	 * Empties this Statement object's current list of SQL commands.
+	 */
+	@Override
+	public void clearBatch() {
+		batch.clear();
+	}
+
+	Lock batchLock = new ReentrantLock();
+	
+	/**
+	 * Submits a batch of commands to the database for execution and if
+	 * all commands execute successfully, returns an array of update
+	 * counts.  The int elements of the array that is returned are
+	 * ordered to correspond to the commands in the batch, which are
+	 * ordered according to the order in which they were added to the
+	 * batch.  The elements in the array returned by the method
+	 * executeBatch may be one of the following:
+	 * <br />
+	 * <ol>
+	 * <li>A number greater than or equal to zero -- indicates that the
+	 * command was processed successfully and is an update count giving
+	 * the number of rows in the database that were affected by the
+	 * command's execution</li>
+	 * <li>A value of SUCCESS_NO_INFO -- indicates that the command was
+	 * processed successfully but that the number of rows affected is
+	 * unknown</li>
+	 * </ol>
+	 * If one of the commands in a batch update fails to execute
+	 * properly, this method throws a BatchUpdateException, and a JDBC
+	 * driver may or may not continue to process the remaining commands
+	 * in the batch.  However, the driver's behavior must be consistent
+	 * with a particular DBMS, either always continuing to process
+	 * commands or never continuing to process commands.
+	 * 
+	 * MonetDB does continues after an error has occurred in the batch.
+	 * If one of the commands attempts to return a result set, an
+	 * SQLException is added to the SQLException list and thrown
+	 * afterwards execution.  Failing queries result in SQLExceptions
+	 * too and may cause subparts of the batch to fail as well.<br />
+	 *
+	 * @return an array of update counts containing one element for each
+	 *         command in the batch.  The elements of the array are ordered
+	 *         according to the order in which commands were added to the
+	 *         batch.
+	 * @throws SQLException if a database access error occurs.  Throws
+	 *         BatchUpdateException (a subclass of SQLException) if one of the
+	 *         commands sent to the database fails to execute properly
+	 */
+	@Override
+	public int[] executeBatch() throws SQLException {
+		// this method is synchronized to make sure noone gets inbetween the
+		// operations we execute below
+
+		batchLock.lock();
+		try {
+			// don't think long if there isn't much to do
+			if (batch.isEmpty()) 
+				return new int[0];
+
+			int[] counts = new int[batch.size()];
+			int offset = 0;
+			boolean first = true;
+			boolean error = false;
+
+			BatchUpdateException e = new BatchUpdateException("Error(s) occurred while executing the batch, see next SQLExceptions for details", "22000", counts);
+			StringBuilder tmpBatch = new StringBuilder(MapiSocket.BLOCK);
+			String sep = connection.queryTempl[2];
+			for (int i = 0; i < batch.size(); i++) {
+				String tmp = batch.get(i);
+				if (sep.length() + tmp.length() > MapiSocket.BLOCK) {
+					// The thing is too big.  Way too big.  Since it won't
+					// be optimal anyway, just add it to whatever we have
+					// and continue.
+					if (!first)
+						tmpBatch.append(sep);
+					tmpBatch.append(tmp);
+					// send and receive
+					error |= internalBatch(tmpBatch.toString(), counts, offset, i + 1, e);
+					offset = i;
+					tmpBatch.delete(0, tmpBatch.length());
+					first = true;
+					continue;
+				}
+				if (tmpBatch.length() + sep.length() + tmp.length() >= MapiSocket.BLOCK) {
+					// send and receive
+					error |= internalBatch(tmpBatch.toString(), counts, offset, i + 1, e);
+					offset = i;
+					tmpBatch.delete(0, tmpBatch.length());
+					first = true;
+				}
+				if (!first) tmpBatch.append(sep);
+				first = false;
+				tmpBatch.append(tmp);
+			}
+			// send and receive
+			error |= internalBatch(tmpBatch.toString(), counts, offset, counts.length, e);
+
+			// throw BatchUpdateException if it contains something
+			if (error)
+				throw e;
+			// otherwise just return the counts
+			return counts;
+		} finally {
+			batchLock.unlock();
+		}
+	}
+
+	private boolean internalBatch(
+			String batch,
+			int[] counts,
+			int offset,
+			int max,
+			BatchUpdateException e)
+		throws BatchUpdateException
+	{
+		try {
+			boolean type = internalExecute(batch);
+			int count = -1;
+			if (!type) count = getUpdateCount();
+			do {
+				if (offset >= max) throw
+					new SQLException("Overflow: don't use multi statements when batching (" + max + ")", "M1M16");
+				if (type) {
+					e.setNextException(
+						new SQLException("Batch query produced a ResultSet! " +
+							"Ignoring and setting update count to " +
+							"value " + EXECUTE_FAILED, "M1M17"));
+					counts[offset] = EXECUTE_FAILED;
+				} else if (count >= 0) {
+					counts[offset] = count;
+				}
+				offset++;
+			} while ((type = getMoreResults()) ||
+					(count = getUpdateCount()) != -1);
+		} catch (SQLException ex) {
+			e.setNextException(ex);
+			for (; offset < max; offset++) {
+				counts[offset] = EXECUTE_FAILED;
+			}
+			return true;
+		}
+		return false;
+	}
+
+	/**
+     * Cancels this Statement object if both the DBMS and driver support
+	 * aborting an SQL statement.  This method can be used by one thread to
+	 * cancel a statement that is being executed by another thread.
+	 *
+	 * @throws SQLException if a database access error occurs or the cancel
+	 *                      operation is not supported
+	 */
+	@Override
+	public void cancel() throws SQLException {
+		throw new SQLException("Query cancelling is currently not supported by the DBMS.", "0A000");
+	}
+
+	/**
+	 * Clears all warnings reported for this Statement object. After a call to
+	 * this method, the method getWarnings returns null until a new warning is
+	 * reported for this Statement object.
+	 */
+	@Override
+	public void clearWarnings() {
+		warnings = null;
+	}
+
+	/**
+	 * Releases this Statement object's database and JDBC resources immediately
+	 * instead of waiting for this to happen when it is automatically closed. It
+	 * is generally good practice to release resources as soon as you are
+	 * finished with them to avoid tying up database resources.
+	 * 
+	 * Calling the method close on a Statement object that is already closed has
+	 * no effect.
+	 * 
+	 * A Statement object is automatically closed when it is garbage collected.
+	 * When a Statement object is closed, its current ResultSet object, if one
+	 * exists, is also closed.
+	 */
+	@Override
+	public void close() {
+		// close previous ResultSet, if not closed already
+		if (lastResponseList != null) lastResponseList.close();
+		closed = true;
+	}
+
+	// Chapter 13.1.2.3 of Sun's JDBC 3.0 Specification
+	/**
+	 * Executes the given SQL statement, which may return multiple results. In
+	 * some (uncommon) situations, a single SQL statement may return multiple
+	 * result sets and/or update counts. Normally you can ignore this unless
+	 * you are (1) executing a stored procedure that you know may return
+	 * multiple results or (2) you are dynamically executing an unknown SQL
+	 * string.
+	 * 
+	 * The execute method executes an SQL statement and indicates the form of
+	 * the first result. You must then use the methods getResultSet or
+	 * getUpdateCount to retrieve the result, and getMoreResults to move to any
+	 * subsequent result(s).
+	 *
+	 * @param sql any SQL statement
+	 * @return true if the first result is a ResultSet object; false if it is an
+	 *         update count or there are no results
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public boolean execute(String sql) throws SQLException {
+		return internalExecute(sql);
+	}
+	
+	/**
+	 * Executes the given SQL statement, which may return multiple
+	 * results, and signals the driver that any auto-generated keys
+	 * should be made available for retrieval.  The driver will ignore
+	 * this signal if the SQL statement is not an INSERT statement.
+	 * 
+	 * In some (uncommon) situations, a single SQL statement may return
+	 * multiple result sets and/or update counts. Normally you can
+	 * ignore this unless you are (1) executing a stored procedure that
+	 * you know may return multiple results or (2) you are dynamically
+	 * executing an unknown SQL string.
+	 * 
+	 * The execute method executes an SQL statement and indicates the
+	 * form of the first result. You must then use the methods
+	 * getResultSet or getUpdateCount to retrieve the result, and
+	 * getMoreResults to move to any subsequent result(s). 
+	 *
+	 * @param sql any SQL statement
+	 * @param autoGeneratedKeys a constant indicating whether
+	 *        auto-generated keys should be made available for retrieval
+	 *        using the method getGeneratedKeys; one of the following
+	 *        constants: Statement.RETURN_GENERATED_KEYS or
+	 *        Statement.NO_GENERATED_KEYS
+	 * @return true if the first result is a ResultSet  object; false if
+	 *         it is an update count or there are no results
+	 * @throws SQLException - if a database access error occurs or the
+	 *         second parameter supplied to this method is not
+	 *         Statement.RETURN_GENERATED_KEYS or
+	 *         Statement.NO_GENERATED_KEYS.
+	 */
+	@Override
+	public boolean execute(String sql, int autoGeneratedKeys)
+		throws SQLException
+	{
+		if (autoGeneratedKeys != Statement.RETURN_GENERATED_KEYS &&
+				autoGeneratedKeys != Statement.NO_GENERATED_KEYS)
+			throw new SQLException("Invalid argument, expected RETURN_GENERATED_KEYS or NO_GENERATED_KEYS", "M1M05");
+		
+		/* MonetDB has no way to disable this, so just do the normal
+		 * thing ;) */
+		return internalExecute(sql);
+	}
+
+	/**
+	 * Executes the given SQL statement, which may return multiple
+	 * results, and signals the driver that the auto-generated keys
+	 * indicated in the given array should be made available for
+	 * retrieval. This array contains the indexes of the columns in the
+	 * target table that contain the auto-generated keys that should be
+	 * made available. The driver will ignore the array if the given SQL
+	 * statement is not an INSERT statement.
+	 * 
+	 * Under some (uncommon) situations, a single SQL statement may
+	 * return multiple result sets and/or update counts. Normally you
+	 * can ignore this unless you are (1) executing a stored procedure
+	 * that you know may return multiple results or (2) you are
+	 * dynamically executing an unknown SQL string.
+	 * 
+	 * The execute method executes an SQL statement and indicates the
+	 * form of the first result. You must then use the methods
+	 * getResultSet or getUpdateCount  to retrieve the result, and
+	 * getMoreResults to move to any subsequent result(s).
+	 * 
+	 * MonetDB only supports returing the generated key for one column,
+	 * which will be the first column that has a serial.  Hence, this
+	 * method cannot work as required and the driver will fall back to
+	 * executing with request to the database to return the generated
+	 * key, if any.
+	 * 
+	 * @param sql any SQL statement
+	 * @param columnIndexes an array of the indexes of the columns in
+	 *        the inserted row that should be made available for
+	 *        retrieval by a call to the method getGeneratedKeys
+	 * @return true if the first result is a ResultSet object; false if
+	 *         it is an update count or there are no results
+	 * @throws SQLException if a database access error occurs or the
+	 *         elements in the int array passed to this method are not
+	 *         valid column indexes
+	 */
+	@Override
+	public boolean execute(String sql, int[] columnIndexes)
+		throws SQLException
+	{
+		addWarning("execute: generated keys for fixed set of columns not supported", "01M18");
+		return execute(sql, Statement.RETURN_GENERATED_KEYS);
+	}
+
+	/**
+	 * Executes the given SQL statement, which may return multiple
+	 * results, and signals the driver that the auto-generated keys
+	 * indicated in the given array should be made available for
+	 * retrieval. This array contains the names of the columns in the
+	 * target table that contain the auto-generated keys that should be
+	 * made available. The driver will ignore the array if the given SQL
+	 * statement is not an INSERT statement.
+	 * 
+	 * In some (uncommon) situations, a single SQL statement may return
+	 * multiple result sets and/or update counts. Normally you can
+	 * ignore this unless you are (1) executing a stored procedure that
+	 * you know may return multiple results or (2) you are dynamically
+	 * executing an unknown SQL string.
+	 * 
+	 * The execute method executes an SQL statement and indicates the
+	 * form of the first result. You must then use the methods
+	 * getResultSet or getUpdateCount  to retrieve the result, and
+	 * getMoreResults to move to any subsequent result(s).
+	 * 
+	 * MonetDB only supports returing the generated key for one column,
+	 * which will be the first column that has a serial.  Hence, this
+	 * method cannot work as required and the driver will fall back to
+	 * executing with request to the database to return the generated
+	 * key, if any.
+	 *
+	 * @param sql any SQL statement
+	 * @param columnNames an array of the names of the columns in the
+	 *        inserted row that should be made available for retrieval
+	 *        by a call to the method getGeneratedKeys
+	 * @return true if the next result is a ResultSet object; false if
+	 *         it is an update count or there are no more results
+	 * @throws SQLException if a database access error occurs or the
+	 *         elements of the String array passed to this method are
+	 *         not valid column names
+	 */
+	@Override
+	public boolean execute(String sql, String[] columnNames)
+		throws SQLException
+	{
+		addWarning("execute: generated keys for fixed set of columns not supported", "01M18");
+		return execute(sql, Statement.RETURN_GENERATED_KEYS);
+	}
+
+	/**
+	 * Performs the steps to execute a given SQL statement.  This method
+	 * exists to allow the functionality of this function to be called
+	 * from within this class only.  The PreparedStatement for example
+	 * overrides the execute() method to throw an SQLException, but it
+	 * needs its functionality when the executeBatch method (which is
+	 * inherited) is called.
+	 *
+	 * @param sql any SQL statement
+	 * @return true if the first result is a ResultSet object; false if
+	 *         it is an update count or there are no results
+	 * @throws SQLException if a database access error occurs
+	 */
+	private boolean internalExecute(String sql) throws SQLException {
+		// close previous query, if not closed already
+		if (lastResponseList != null) {
+			lastResponseList.close();
+			lastResponseList = null;
+		}
+
+		// create a container for the result
+		lastResponseList = connection.new ResponseList(
+			fetchSize,
+			maxRows,
+			resultSetType,
+			resultSetConcurrency
+		);
+		// fill the header list by processing the query
+		lastResponseList.processQuery(sql);
+
+		return getMoreResults();
+	}
+
+	/**
+	 * Executes the given SQL statement, which returns a single ResultSet
+	 * object.
+	 *
+	 * @param sql an SQL statement to be sent to the database, typically a
+	 *        static SQL SELECT statement
+	 * @return a ResultSet object that contains the data produced by the given
+	 *         query; never null
+	 * @throws SQLException if a database access error occurs or the given SQL
+	 *         statement produces anything other than a single ResultSet object
+	 */
+	@Override
+	public ResultSet executeQuery(String sql) throws SQLException {
+		if (execute(sql) != true)
+			throw new SQLException("Query did not produce a result set", "M1M19");
+
+		return getResultSet();
+	}
+
+	/**
+	 * Executes the given SQL statement, which may be an INSERT, UPDATE, or
+	 * DELETE statement or an SQL statement that returns nothing, such as an
+	 * SQL DDL statement.
+	 *
+	 * @param sql an SQL INSERT, UPDATE or DELETE statement or an SQL statement
+	 *        that returns nothing
+	 * @return either the row count for INSERT, UPDATE  or DELETE statements, or
+	 *         0 for SQL statements that return nothing<br />
+	 * @throws SQLException if a database access error occurs or the given SQL
+	 *         statement produces a ResultSet object
+	 */
+	@Override
+	public int executeUpdate(String sql) throws SQLException {
+		if (execute(sql) != false)
+			throw new SQLException("Query produced a result set", "M1M17");
+
+		return getUpdateCount();
+	}
+
+	/**
+	 * Executes the given SQL statement and signals the driver with the
+	 * given flag about whether the auto-generated keys produced by this
+	 * Statement object should be made available for retrieval.
+	 *
+	 * @param sql must be an SQL INSERT, UPDATE or DELETE statement or
+	 *        an SQL statement that returns nothing
+	 * @param autoGeneratedKeys - a flag indicating whether
+	 *        auto-generated keys should be made available for
+	 *        retrieval; one of the following constants:
+	 *        Statement.RETURN_GENERATED_KEYS
+	 *        Statement.NO_GENERATED_KEYS
+	 * @return either the row count for INSERT, UPDATE  or DELETE
+	 *         statements, or 0 for SQL statements that return nothing
+	 * @throws SQLException if a database access error occurs, the
+	 *         given SQL statement returns a ResultSet object, or the
+	 *         given constant is not one of those allowed
+	 */
+	@Override
+	public int executeUpdate(String sql, int autoGeneratedKeys)
+		throws SQLException
+	{
+		if (autoGeneratedKeys != Statement.RETURN_GENERATED_KEYS &&
+				autoGeneratedKeys != Statement.NO_GENERATED_KEYS)
+			throw new SQLException("Invalid argument, expected RETURN_GENERATED_KEYS or NO_GENERATED_KEYS", "M1M05");
+		
+		/* MonetDB has no way to disable this, so just do the normal
+		 * thing ;) */
+		if (execute(sql) != false)
+			throw new SQLException("Query produced a result set", "M1M17");
+
+		return getUpdateCount();
+	}
+
+	/**
+	 * Executes the given SQL statement and signals the driver that the
+	 * auto-generated keys indicated in the given array should be made
+	 * available for retrieval. The driver will ignore the array if the
+	 * SQL statement is not an INSERT statement.
+	 * 
+	 * MonetDB only supports returing the generated key for one column,
+	 * which will be the first column that has a serial.  Hence, this
+	 * method cannot work as required and the driver will fall back to
+	 * executing with request to the database to return the generated
+	 * key, if any.
+	 *
+	 * @param sql an SQL INSERT, UPDATE or DELETE statement or an SQL
+	 *        statement that returns nothing, such as an SQL DDL statement
+	 * @param columnIndexes an array of column indexes indicating the
+	 *        columns that should be returned from the inserted row
+	 * @return either the row count for INSERT, UPDATE, or DELETE
+	 *         statements, or 0 for SQL statements that return nothing
+	 * @throws SQLException if a database access error occurs, the SQL
+	 *         statement returns a ResultSet object, or the second
+	 *         argument supplied to this method is not an int array
+	 *         whose elements are valid column indexes
+	 */
+	@Override
+	public int executeUpdate(String sql, int[] columnIndexes)
+		throws SQLException
+	{
+		addWarning("executeUpdate: generated keys for fixed set of columns not supported", "01M18");
+		return executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
+	}
+
+	/**
+	 * Executes the given SQL statement and signals the driver that the
+	 * auto-generated keys indicated in the given array should be made
+	 * available for retrieval. The driver will ignore the array if the
+	 * SQL statement is not an INSERT statement.
+	 * 
+	 * MonetDB only supports returing the generated key for one column,
+	 * which will be the first column that has a serial.  Hence, this
+	 * method cannot work as required and the driver will fall back to
+	 * executing with request to the database to return the generated
+	 * key, if any.
+	 *
+	 * @param sql an SQL INSERT, UPDATE or DELETE statement or an SQL
+	 *        statement that returns nothing, such as an SQL DDL statement
+	 * @param columnNames an array of the names of the columns that
+	 *        should be returned from the inserted row
+	 * @return either the row count for INSERT, UPDATE, or DELETE
+	 *         statements, or 0 for SQL statements that return nothing
+	 * @throws SQLException if a database access error occurs, the SQL
+	 *         statement returns a ResultSet object, or the second
+	 *         argument supplied to this method is not a String array
+	 *         whose elements are valid column names
+	 */
+	@Override
+	public int executeUpdate(String sql, String[] columnNames)
+		throws SQLException
+	{
+		addWarning("executeUpdate: generated keys for fixed set of columns not supported", "01M18");
+		return executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
+	}
+
+	/**
+	 * Retrieves the Connection object that produced this Statement object.
+	 *
+	 * @return the connection that produced this statement
+	 */
+	@Override
+	public Connection getConnection() {
+		return connection;
+	}
+
+	/**
+	 * Retrieves the direction for fetching rows from database tables that is
+	 * the default for result sets generated from this Statement object. If
+	 * this Statement object has not set a fetch direction by calling the
+	 * method setFetchDirection, the return value is ResultSet.FETCH_FORWARD.
+	 *
+	 * @return the default fetch direction for result sets generated from this
+	 *         Statement object
+	 */
+	@Override
+	public int getFetchDirection() {
+		return fetchDirection;
+	}
+
+	/**
+	 * Retrieves the number of result set rows that is the default fetch size
+	 * for ResultSet objects generated from this Statement object. If this
+	 * Statement object has not set a fetch size by calling the method
+	 * setFetchSize, or the method setFetchSize was called as such to let
+	 * the driver ignore the hint, 0 is returned.
+	 *
+	 * @return the default fetch size for result sets generated from this
+	 *         Statement object
+	 */
+	@Override
+	public int getFetchSize() {
+		return fetchSize;
+	}
+
+	/**
+	 * Retrieves any auto-generated keys created as a result of
+	 * executing this Statement object.  If this Statement object did not
+	 * generate any keys, an empty ResultSet object is returned.
+	 *
+	 * @return a ResultSet object containing the auto-generated key(s)
+	 *         generated by the execution of this Statement object
+	 * @throws SQLException - if a database access error occurs
+	 */
+	@Override
+	public ResultSet getGeneratedKeys() throws SQLException {
+		String[] columns, types;
+		String[][] results;
+
+		columns = new String[1];
+		types = new String[1];
+
+		columns[0] = "GENERATED_KEY";
+		/* the generated key should be an integer, because (wait for it) other 
+		 * frameworks such as spring expect this. */
+		types[0] = "BIGINT";
+
+		if (header instanceof MonetConnection.UpdateResponse) {
+			String lastid = ((MonetConnection.UpdateResponse)header).lastid;
+			if (lastid.equals("-1")) {
+				results = new String[0][1];
+			} else {
+				results = new String[1][1];
+				results[0][0] = lastid;
+			}
+		} else {
+			results = new String[0][1];
+		}
+
+		try {
+			return new MonetVirtualResultSet(this, columns, types, results);
+		} catch (IllegalArgumentException e) {
+			throw new SQLException("Internal driver error: " + e.getMessage(), "M0M03");
+		}
+	}
+
+	/**
+	 * Retrieves the maximum number of bytes that can be returned for
+	 * character and binary column values in a ResultSet object produced
+	 * by this Statement object. This limit applies only to BINARY,
+	 * VARBINARY, LONGVARBINARY, CHAR, VARCHAR, and LONGVARCHAR
+	 * columns. If the limit is exceeded, the excess data is silently
+	 * discarded.
+	 * 
+	 * The MonetDB JDBC driver currently doesn't support limiting
+	 * fieldsizes, and hence always return 0 (unlimited).
+	 *
+	 * @return the current column size limit for columns storing
+	 *         character and binary values; zero means there is no limit
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getMaxFieldSize()
+		throws SQLException
+	{
+		return 0;
+	}
+
+	/**
+	 * Retrieves the maximum number of rows that a ResultSet object produced by
+	 * this Statement object can contain. If this limit is exceeded, the excess
+	 * rows are silently dropped.
+	 *
+	 * @return the current maximum number of rows for a ResultSet object
+	 *         produced by this Statement object; zero means there is no limit
+	 */
+	@Override
+	public int getMaxRows() {
+		return maxRows;
+	}
+
+	/**
+	 * Moves to this Statement object's next result, returns true if it is a
+	 * ResultSet object, and implicitly closes any current ResultSet object(s)
+	 * obtained with the method getResultSet.
+	 * 
+	 * There are no more results when the following is true:<br />
+	 * (!getMoreResults() &amp;&amp; (getUpdateCount() == -1)
+	 *
+	 * @return true if the next result is a ResultSet object; false if it is
+	 *              an update count or there are no more results
+	 * @throws SQLException if a database access error occurs
+	 * @see #getMoreResults(int current)
+	 */
+	@Override
+	public boolean getMoreResults() throws SQLException {
+		return getMoreResults(CLOSE_ALL_RESULTS);
+	}
+
+	/**
+	 * Moves to this Statement object's next result, deals with any current
+	 * ResultSet object(s) according to the instructions specified by the given
+	 * flag, and returns true if the next result is a ResultSet object.
+	 * 
+	 * There are no more results when the following is true:<br />
+	 * (!getMoreResults() &amp;&amp; (getUpdateCount() == -1)
+	 *
+	 * @param current one of the following Statement constants indicating what
+	 *                should happen to current ResultSet objects obtained using
+	 *                the method getResultSet: CLOSE_CURRENT_RESULT,
+	 *                KEEP_CURRENT_RESULT, or CLOSE_ALL_RESULTS
+	 * @return true if the next result is a ResultSet object; false if it is
+	 *              an update count or there are no more results
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public boolean getMoreResults(int current) throws SQLException {
+		// protect against people calling this on an unitialised state
+		if (lastResponseList == null) {
+			header = null;
+			return false;
+		}
+
+		if (current == CLOSE_CURRENT_RESULT) {
+			lastResponseList.closeCurrentResponse();
+		} else if (current == CLOSE_ALL_RESULTS) {
+			lastResponseList.closeCurOldResponses();
+		}
+		// we default to keep current result, which requires no action
+		header = lastResponseList.getNextResponse();
+
+		if (header instanceof MonetConnection.ResultSetResponse) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * Retrieves the number of seconds the driver will wait for a
+	 * Statement object to execute.  If the limit is exceeded, a
+	 * SQLException is thrown.
+	 * 
+	 * For MonetDB this method always returns zero, as no query
+	 * cancelling is possible.
+	 *
+	 * @return the current query timeout limit in seconds; zero means
+	 *         there is no limit 
+	 * @throws SQLException if a database access error occurs
+	 * @see #setQueryTimeout(int)
+	 */
+	@Override
+	public int getQueryTimeout() throws SQLException {
+		return 0;
+	}
+
+	/**
+	 * Retrieves the current result as a ResultSet object.  This method
+	 * should be called only once per result.
+	 *
+	 * @return the current result as a ResultSet object or null if the result
+	 *         is an update count or there are no more results
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public ResultSet getResultSet() throws SQLException{
+		return (header instanceof MonetConnection.ResultSetResponse) 
+			? new MonetResultSet(this,
+					(MonetConnection.ResultSetResponse)header)
+			: null;
+	}
+
+	/**
+	 * Retrieves the result set concurrency for ResultSet objects generated
+	 * by this Statement object.
+	 *
+	 * @return either ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
+	 */
+	@Override
+	public int getResultSetConcurrency() {
+		return resultSetConcurrency;
+	}
+
+	/**
+	 * Retrieves the result set holdability for ResultSet objects
+	 * generated by this Statement object.
+	 *
+	 * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or
+	 *         ResultSet.CLOSE_CURSORS_AT_COMMIT
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getResultSetHoldability() throws SQLException {
+		return ResultSet.HOLD_CURSORS_OVER_COMMIT;
+	}
+
+	/**
+	 * Retrieves the result set type for ResultSet objects generated by this
+	 * Statement object.
+	 *
+	 * @return one of ResultSet.TYPE_FORWARD_ONLY,
+	 *         ResultSet.TYPE_SCROLL_INSENSITIVE, or
+	 *         ResultSet.TYPE_SCROLL_SENSITIVE
+	 */
+	@Override
+	public int getResultSetType() {
+		return resultSetType;
+	}
+
+	/**
+	 * Retrieves the current result as an update count; if the result is a
+	 * ResultSet object or there are no more results, -1 is returned.  This
+	 * method should be called only once per result.
+	 *
+	 * @return the current result as an update count; -1 if the current result
+	 *         is a ResultSet object or there are no more results
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public int getUpdateCount() throws SQLException {
+		int ret = -1;
+		if (header instanceof MonetConnection.UpdateResponse) {
+			ret = ((MonetConnection.UpdateResponse)header).count;
+		} else if (header instanceof MonetConnection.SchemaResponse) {
+			ret = ((MonetConnection.SchemaResponse)header).state;
+		}
+
+		return ret;
+	}
+
+	/**
+	 * Retrieves the first warning reported by calls on this Statement object.
+	 * If there is more than one warning, subsequent warnings will be chained to
+	 * the first one and can be retrieved by calling the method
+	 * SQLWarning.getNextWarning on the warning that was retrieved previously.
+	 * 
+	 * This method may not be called on a closed statement; doing so will cause
+	 * an SQLException to be thrown.
+	 * 
+	 * Note: Subsequent warnings will be chained to this SQLWarning.
+	 *
+	 * @return the first SQLWarning object or null if there are none
+	 * @throws SQLException if a database access error occurs or this method is
+	 *         called on a closed connection
+	 */
+	@Override
+	public SQLWarning getWarnings() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Statement", "M1M20");
+
+		// if there are no warnings, this will be null, which fits with the
+		// specification.
+		return warnings;
+	}
+
+	/**
+	 * Sets the SQL cursor name to the given String, which will be used
+	 * by subsequent Statement object execute methods. This name can
+	 * then be used in SQL positioned update or delete statements to
+	 * identify the current row in the ResultSet object generated by
+	 * this statement. If the database does not support positioned
+	 * update/delete, this method is a noop. To insure that a cursor has
+	 * the proper isolation level to support updates, the cursor's
+	 * SELECT statement should have the form SELECT FOR UPDATE. If FOR
+	 * UPDATE is not present, positioned updates may fail.
+	 * 
+	 * <b>Note:</b> By definition, the execution of positioned updates
+	 * and deletes must be done by a different Statement object than the
+	 * one that generated the ResultSet object being used for
+	 * positioning.  Also, cursor names must be unique within a
+	 * connection. 
+	 * 
+	 * Since MonetDB does not support positioned update/delete, this
+	 * method is a noop.
+	 *
+	 * @param name the new cursor name, which must be unique within a
+	 *        connection
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setCursorName(String name) throws SQLException {
+		addWarning("setCursorName: positioned updates/deletes not supported", "01M21");
+	}
+
+	/**
+	 * Sets escape processing on or off. If escape scanning is on (the
+	 * default), the driver will do escape substitution before sending
+	 * the SQL statement to the database. Note: Since prepared
+	 * statements have usually been parsed prior to making this call,
+	 * disabling escape processing for PreparedStatements objects will
+	 * have no effect.
+	 * 
+	 * The MonetDB JDBC driver implements no escape processing at all in
+	 * its current implementation because it is too expensive, and in
+	 * general should not be necessary given SQL standards compliance.
+	 * In this sense, this driver will ignore any call to this function.
+	 *
+	 * @param enable true to enable escape processing; false to disable
+	 *        it
+	 * @throws SQLException if a database access error occurs
+	 */
+	@Override
+	public void setEscapeProcessing(boolean enable) throws SQLException {
+		if (enable)
+			addWarning("setEscapeProcessing: JDBC escape syntax is not supported by this driver", "01M22");
+	}
+
+	/**
+	 * Gives the driver a hint as to the direction in which rows will be
+	 * processed in ResultSet objects created using this Statement object.
+	 * The default value is ResultSet.FETCH_FORWARD.
+	 * 
+	 * Note that this method sets the default fetch direction for result sets
+	 * generated by this Statement object. Each result set has its own methods
+	 * for getting and setting its own fetch direction.
+	 *
+	 * @param direction the initial direction for processing rows
+	 * @throws SQLException if a database access error occurs or the given
+	 *         direction is not one of ResultSet.FETCH_FORWARD,
+	 *         ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN
+	 */
+	@Override
+	public void setFetchDirection(int direction) throws SQLException {
+		if (direction == ResultSet.FETCH_FORWARD ||
+		    direction == ResultSet.FETCH_REVERSE ||
+			direction == ResultSet.FETCH_UNKNOWN)
+		{
+			fetchDirection = direction;
+		} else {
+			throw new SQLException("Illegal direction: " + direction, "M1M05");
+		}
+	}
+
+	/**
+	 * Gives the JDBC driver a hint as to the number of rows that should be
+	 * fetched from the database when more rows are needed. The number of rows
+	 * specified affects only result sets created using this statement. If the
+	 * value specified is zero, then the hint is ignored.
+	 *
+	 * @param rows the number of rows to fetch
+	 * @throws SQLException if the condition 0 &lt;= rows &lt;= this.getMaxRows()
+	 *         is not satisfied.
+	 */
+	@Override
+	public void setFetchSize(int rows) throws SQLException {
+		if (rows >= 0 && !(getMaxRows() != 0 && rows > getMaxRows())) {
+			fetchSize = rows;
+		} else {
+			throw new SQLException("Illegal fetch size value: " + rows, "M1M05");
+		}
+	}
+
+	/**
+	 * Sets the limit for the maximum number of bytes in a ResultSet
+	 * column storing character or binary values to the given number of
+	 * bytes. This limit applies only to BINARY, VARBINARY,
+	 * LONGVARBINARY, CHAR, VARCHAR, and LONGVARCHAR fields. If the
+	 * limit is exceeded, the excess data is silently discarded. For
+	 * maximum portability, use values greater than 256.
+	 * 
+	 * MonetDB does not support any fieldsize limiting, and hence the
+	 * driver does not emulate it either, since it doesn't really lead
+	 * to memory reduction.
+	 *
+	 * @param max the new column size limit in bytes; zero means there
+	 *        is no limit
+	 * @throws SQLException if a database access error occurs or the
+	 *         condition max &gt;= 0 is not satisfied
+	 */
+	@Override
+	public void setMaxFieldSize(int max) throws SQLException {
+		if (max < 0)
+			throw new SQLException("Illegal max value: " + max, "M1M05");
+		if (max > 0)
+			addWarning("setMaxFieldSize: field size limitation not supported", "01M23");
+	}
+
+	/**
+	 * Sets the limit for the maximum number of rows that any ResultSet object
+	 * can contain to the given number. If the limit is exceeded, the excess
+	 * rows are silently dropped.
+	 *
+	 * @param max the new max rows limit; zero means there is no limit
+	 * @throws SQLException if the condition max >= 0 is not satisfied
+	 */
+	@Override
+	public void setMaxRows(int max) throws SQLException {
+		if (max < 0)
+			throw new SQLException("Illegal max value: " + max, "M1M05");
+		maxRows = max;
+	}
+
+	/**
+	 * Sets the number of seconds the driver will wait for a Statement
+	 * object to execute to the given number of seconds. If the limit is
+	 * exceeded, an SQLException is thrown.
+	 * 
+	 * MonetDB does not support cancelling running queries, hence this
+	 * method does not do anything.
+	 *
+	 * @param seconds the new query timeout limit in seconds; zero means
+	 *        there is no limit
+	 * @throws SQLException if a database access error occurs or the
+	 *         condition seconds &gt;= 0 is not satisfied
+	 */
+	@Override
+	public void setQueryTimeout(int seconds) throws SQLException {
+		if (seconds < 0)
+			throw new SQLException("Illegal timeout value: " + seconds, "M1M05");
+		if (seconds > 0)
+			addWarning("setQueryTimeout: query time outs not supported", "01M24");
+	}
+
+	//== 1.6 methods (JDBC 4.0)
+
+	/**
+	 * Retrieves whether this Statement object has been closed. A
+	 * Statement is closed if the method close has been called on it, or
+	 * if it is automatically closed.
+	 *
+	 * @return true if this Statement object is closed; false if it is
+	 *         still open
+	 */
+	@Override
+	public boolean isClosed() {
+		return closed;
+	}
+
+	/**
+	 * Requests that a Statement be pooled or not pooled. The value
+	 * specified is a hint to the statement pool implementation
+	 * indicating whether the applicaiton wants the statement to be
+	 * pooled. It is up to the statement pool manager as to whether the
+	 * hint is used. 
+	 * 
+	 * The poolable value of a statement is applicable to both internal
+	 * statement caches implemented by the driver and external statement
+	 * caches implemented by application servers and other applications.
+	 * 
+	 * By default, a Statement is not poolable when created, and a
+	 * PreparedStatement and CallableStatement are poolable when
+	 * created.
+	 *
+	 * @param poolable requests that the statement be pooled if true
+	 *        and that the statement not be pooled if false
+	 */
+	@Override
+	public void setPoolable(boolean poolable) {
+		this.poolable = poolable;
+	}
+
+	/**
+	 * Returns a value indicating whether the Statement is poolable or
+	 * not.
+	 *
+	 * @return true if the Statement is poolable; false otherwise
+	 */
+	@Override
+	public boolean isPoolable() {
+		return poolable;
+	}
+
+	//== 1.7 methods (JDBC 4.1)
+	
+	/**
+	 * Specifies that this Statement will be closed when all its
+	 * dependent result sets are closed.  If execution of the Statement
+	 * does not produce any result sets, this method has no effect.
+	 *
+	 * @throws SQLException if this method is called on a closed Statement
+	 */
+	@Override
+	public void closeOnCompletion() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Statement", "M1M20");
+		closeOnCompletion = true;
+	}
+
+	/**
+	 * Returns a value indicating whether this Statement will be closed
+	 * when all its dependent result sets are closed.
+	 *
+	 * @return true if the Statement will be closed when all of its
+	 *         dependent result sets are closed; false otherwise
+	 * @throws SQLException if this method is called on a closed Statement
+	 */
+	@Override
+	public boolean isCloseOnCompletion() throws SQLException {
+		if (closed)
+			throw new SQLException("Cannot call on closed Statement", "M1M20");
+		return closeOnCompletion;
+	}
+
+	//== end methods of interface Statement
+
+	/**
+	 * Adds a warning to the pile of warnings this Statement object has. If
+	 * there were no warnings (or clearWarnings was called) this warning will
+	 * be the first, otherwise this warning will get appended to the current
+	 * warning.
+	 *
+	 * @param reason the warning message
+	 */
+	private void addWarning(String reason, String sqlstate) {
+		if (warnings == null) {
+			warnings = new SQLWarning(reason, sqlstate);
+		} else {
+			warnings.setNextWarning(new SQLWarning(reason, sqlstate));
+		}
+	}
+
+	/**
+	 * Closes this Statement if there are no more open ResultSets
+	 * (Responses).  Called by MonetResultSet.close().
+	 */
+	void closeIfCompletion() {
+		if (!closeOnCompletion || lastResponseList == null)
+			return;
+		if (!lastResponseList.hasUnclosedResponses())
+			close();
+	}
+}
+
+/**
+ * This internal subclass is not intended for normal use. Therefore it is restricted to
+ * classes from the very same package only.
+ *
+ * Known issues with this class: some methods of the ResultSetMetaData object (obtained via getMetaData())
+ * require that its statement argument (accessed via getStatement()) has a valid Statement object set.
+ * Instances of this subclass do not have a valid Statement (see special constructor), so
+ * those metadata methods do not return the correct values.
+ * Special checks are programmed to prevent NullPointerExceptions, see above.
+ *
+ * As of Jun2016 this class is only used by MonetStatement.getGeneratedKeys()
+ * Note: to resolve a javac -Xlint warning, this class definition is moved to this file.
+ *
+ * TODO: try to eliminate the need for this class completely.
+ */
+class MonetVirtualResultSet extends MonetResultSet {
+	private String results[][];
+	private boolean closed;
+
+	MonetVirtualResultSet(
+		Statement statement,
+		String[] columns,
+		String[] types,
+		String[][] results
+	) throws IllegalArgumentException {
+		super(statement, columns, types, results.length);
+
+		this.results = results;
+		closed = false;
+	}
+
+	/**
+	 * This method is overridden in order to let it use the results array
+	 * instead of the cache in the Statement object that created it.
+	 *
+	 * @param row the number of the row to which the cursor should move. A
+	 *        positive number indicates the row number counting from the
+	 *        beginning of the result set; a negative number indicates the row
+	 *        number counting from the end of the result set
+	 * @return true if the cursor is on the result set; false otherwise
+	 * @throws SQLException if a database error occurs
+	 */
+ 	@Override
+	public boolean absolute(int row) throws SQLException {
+		if (closed)
+			throw new SQLException("ResultSet is closed!", "M1M20");
+
+		// first calculate what the JDBC row is
+		if (row < 0) {
+			// calculate the negatives...
+			row = tupleCount + row + 1;
+		}
+		// now place the row not farther than just before or after the result
+		if (row < 0) row = 0;	// before first
+		else if (row > tupleCount + 1) row = tupleCount + 1;	// after last
+
+		// store it
+		curRow = row;
+
+		// see if we have the row
+		if (row < 1 || row > tupleCount) return false;
+
+		for (int i = 0; i < results[row - 1].length; i++) {
+			tlp.values[i] = results[row - 1][i];
+		}
+
+		return true;
+	}
+
+	/**
+	 * Mainly here to prevent errors when the close method is called. There
+	 * is no real need for this object to close it. We simply remove our
+	 * resultset data.
+	 */
+	@Override
+	public void close() {
+		if (!closed) {
+			closed = true;
+			results = null;
+			// types and columns are MonetResultSets private parts
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetWrapper.java
@@ -0,0 +1,73 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc;
+
+import java.sql.*;
+
+/**
+ * A Wrapper class that implements nothing.
+ * 
+ * This Class is used to simply provide JDBC4 Wrapper functions, for as
+ * long as we don't really understand that they are for and what they
+ * are supposed to do.  Hence the implementations are very stupid and
+ * non-useful, ignoring any argument and claiming stuff doesn't work, or
+ * won't work out.
+ *
+ * @author Fabian Groffen
+ * @version 1.0
+ */
+public class MonetWrapper implements Wrapper {
+	/**
+	 * Returns true if this either implements the interface argument or
+	 * is directly or indirectly a wrapper for an object that does.
+	 * Returns false otherwise. If this implements the interface then
+	 * return true, else if this is a wrapper then return the result of
+	 * recursively calling isWrapperFor on the wrapped object. If this
+	 * does not implement the interface and is not a wrapper, return
+	 * false. This method should be implemented as a low-cost operation
+	 * compared to unwrap so that callers can use this method to avoid
+	 * expensive unwrap calls that may fail. If this method returns true
+	 * then calling unwrap with the same argument should succeed.
+	 *
+	 * @param iface a Class defining an interface.
+	 * @return true if this implements the interface or directly or
+	 *         indirectly wraps an object that does.
+	 * @throws SQLException if an error occurs while determining
+	 *         whether this is a wrapper for an object with the given
+	 *         interface.
+	 */
+	@Override
+	public boolean isWrapperFor(Class<?> iface) throws SQLException {
+		return false;
+	}
+
+	/**
+	 * Returns an object that implements the given interface to allow
+	 * access to non-standard methods, or standard methods not exposed
+	 * by the proxy. If the receiver implements the interface then the
+	 * result is the receiver or a proxy for the receiver. If the
+	 * receiver is a wrapper and the wrapped object implements the
+	 * interface then the result is the wrapped object or a proxy for
+	 * the wrapped object. Otherwise return the the result of calling
+	 * unwrap recursively on the wrapped object or a proxy for that
+	 * result. If the receiver is not a wrapper and does not implement
+	 * the interface, then an SQLException is thrown.
+	 *
+	 * @param iface A Class defining an interface that the result must
+	 *        implement.
+	 * @return an object that implements the interface. May be a proxy
+	 *         for the actual implementing object.
+	 * @throws SQLException If no object found that implements the
+	 *         interface
+	 */
+	@Override
+	public <T> T unwrap(Class<T> iface) throws SQLException {
+		throw new SQLException("No object found (not implemented)", "0A000");
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/types/INET.java
@@ -0,0 +1,162 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc.types;
+
+import java.sql.*;
+import java.net.*;
+
+/**
+ * The INET class represents the INET datatype in MonetDB.  It
+ * represents a IPv4 address with a certain mask applied.  Currently,
+ * IPv6 is not supported.
+ * <br />
+ * The input format for INET is x.x.x.x/y where x.x.x.x is an IP address
+ * and y is the number of bits in the netmask. If the /y part is left
+ * off, then the netmask is 32, and the value represents just a single
+ * host. On display, the /y portion is suppressed if the netmask is 32.
+ * <br />
+ * This class allows to retrieve the value of this INET as InetAddress.
+ * This is probably meaningful only and only if the netmask is 32.  The
+ * getNetmaskBits() method can be used to retrieve the subnet bits.
+ */
+public class INET implements SQLData {
+	private String inet;
+
+	@Override
+	public String getSQLTypeName() {
+		return "inet";
+	}
+
+	@Override
+	public void readSQL(SQLInput stream, String typeName) throws SQLException {
+		if (typeName.compareTo("inet") != 0)
+			throw new SQLException("can only use this class with 'inet' type",
+					"M1M05");
+		inet = stream.readString();
+	}
+
+	@Override
+	public void writeSQL(SQLOutput stream) throws SQLException {
+		stream.writeString(inet);
+	}
+
+	@Override
+	public String toString() {
+		return inet;
+	}
+
+	public void fromString(String newinet) throws Exception {
+		if (newinet == null) {
+			inet = newinet;
+			return;
+		}
+		int slash = newinet.indexOf('/');
+		String tinet = newinet;
+		if (slash != -1) {
+			int netmask;
+			// ok, see if it is a valid netmask
+			try {
+				netmask = Integer.parseInt(newinet.substring(slash + 1));
+			} catch (NumberFormatException nfe) {
+				throw new Exception("cannot parse netmask bits: " +
+						newinet.substring(slash + 1));
+			}
+			if (netmask <= 0 || netmask > 32)
+				throw new Exception("netmask must be >0 and <32");
+			tinet = newinet.substring(0, slash);
+		}
+		// check dotted quad
+		String quads[] = tinet.split("\\.");
+		if (quads.length != 4)
+			throw new Exception("expected dotted quad (xxx.xxx.xxx.xxx)");
+		for (int i = 0; i < 4; i++) {
+			int quadv;
+			try {
+				quadv = Integer.parseInt(quads[i]);
+			} catch (NumberFormatException nfe) {
+				throw new Exception("cannot parse number: " + quads[i]);
+			}
+			if (quadv < 0 || quadv > 255)
+				throw new Exception("value must be between 0 and 255: " +
+						quads[i]);
+		}
+		// everything is fine
+		inet = newinet;
+	}
+
+	public String getAddress() {
+		if (inet == null)
+			return null;
+
+		// inet optionally has a /y part, if y < 32, chop it off
+		int slash = inet.indexOf('/');
+		if (slash != -1)
+			return inet.substring(0, slash);
+		return inet;
+	}
+
+	public void setAddress(String newinet) throws Exception {
+		if (newinet == null) {
+			inet = newinet;
+			return;
+		}
+		if (newinet.indexOf('/') != -1)
+			throw new Exception("IPv4 address cannot contain '/' " +
+					"(use fromString() instead)");
+		fromString(newinet);
+	}
+
+	public int getNetmaskBits() throws SQLException {
+		if (inet == null)
+			return 0;
+
+		// if netmask is 32, it is omitted in the output
+		int slash = inet.indexOf('/');
+		if (slash == -1)
+			return 32;
+		try {
+			return Integer.parseInt(inet.substring(slash + 1));
+		} catch (NumberFormatException nfe) {
+			throw new SQLException("cannot parse netmask bits: " +
+					inet.substring(slash + 1), "M0M27");
+		}
+	}
+
+	public void setNetmaskBits(int bits) throws Exception {
+		String newinet = inet;
+		if (newinet == null) {
+			newinet = "0.0.0.0/" + bits;
+		} else {
+			int slash = newinet.indexOf('/');
+			if (slash != -1) {
+				newinet = newinet.substring(0, slash + 1) + bits;
+			} else {
+				newinet = newinet + "/" + bits;
+			}
+		}
+		fromString(newinet);
+	}
+
+	public InetAddress getInetAddress() throws SQLException {
+		if (inet == null)
+			return null;
+
+		try {
+			return InetAddress.getByName(getAddress());
+		} catch (UnknownHostException uhe) {
+			throw new SQLException("could not resolve IP address", "M0M27");
+		}
+	}
+
+	public void setInetAddress(InetAddress iaddr) throws Exception {
+		if (!(iaddr instanceof Inet4Address))
+			throw new Exception("only IPv4 are supported currently");
+		fromString(iaddr.getHostAddress());
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/jdbc/types/URL.java
@@ -0,0 +1,69 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.jdbc.types;
+
+import java.sql.*;
+import java.net.*;
+
+/**
+ * The URL class represents the URL datatype in MonetDB.  It
+ * represents an URL, that is, a well-formed string conforming to
+ * RFC2396.
+ */
+public class URL implements SQLData {
+	private String url;
+
+	@Override
+	public String getSQLTypeName() {
+		return "url";
+	}
+
+	@Override
+	public void readSQL(SQLInput stream, String typeName) throws SQLException {
+		if (typeName.compareTo("url") != 0)
+			throw new SQLException("can only use this class with 'url' type",
+					"M1M05");
+		url = stream.readString();
+	}
+
+	@Override
+	public void writeSQL(SQLOutput stream) throws SQLException {
+		stream.writeString(url);
+	}
+
+	@Override
+	public String toString() {
+		return url;
+	}
+
+	public void fromString(String newurl) throws Exception {
+		if (newurl == null) {
+			url = newurl;
+			return;
+		}
+		new java.net.URL(newurl);
+		// if above doesn't fail (throws an Exception), it is fine
+		url = newurl;
+	}
+
+	public java.net.URL getURL() throws SQLException {
+		if (url == null)
+			return null;
+
+		try {
+			return new java.net.URL(url);
+		} catch (MalformedURLException mue) {
+			throw new SQLException("data is not a valid URL", "M0M27");
+		}
+	}
+
+	public void setURL(java.net.URL nurl) throws Exception {
+		url = nurl.toString();	
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/MCLException.java
@@ -0,0 +1,24 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl;
+
+/**
+ * A general purpose Exception class for MCL related problems.  This
+ * class should be used if no more precise Exception class exists.
+ */
+public class MCLException extends Exception {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	public MCLException(String e) {
+		super(e);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java
@@ -0,0 +1,195 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.io;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Read text from a character-input stream, buffering characters so as
+ * to provide a means for efficient reading of characters, arrays and
+ * lines.  This class is based on the BufferedReader class, and provides
+ * extra functionality useful for MCL.
+ * 
+ * The BufferedMCLReader is typically used as layer inbetween an
+ * InputStream and a specific interpreter of the data.
+ * <pre>
+ *                         / Response
+ * BufferedMCLReader ---o &lt;- Tuple
+ *                         \ DataBlock
+ * </pre>
+ * Because the BufferedMCLReader provides an efficient way to access the
+ * data from the stream in a linewise fashion, whereby each line is
+ * identified as a certain type, consumers can easily decide how to
+ * parse each retrieved line.  The line parsers from
+ * nl.cwi.monetdb.mcl.parser are well suited to work with the lines
+ * outputted by the BufferedMCLReader.
+ * This class is client-oriented, as it doesn't take into account the
+ * messages as the server receives them.
+ *
+ * @author Fabian Groffen <Fabian.Groffen>
+ * @see nl.cwi.monetdb.mcl.net.MapiSocket
+ * @see nl.cwi.monetdb.mcl.io.BufferedMCLWriter
+ */
+public class BufferedMCLReader extends BufferedReader {
+	/** The type of the last line read */
+	private int lineType;
+
+	/** "there is currently no line", or the the type is unknown is
+	    represented by UNKNOWN */
+	public final static int UNKNOWN   = 0;
+	/** a line starting with ! indicates ERROR */
+	public final static int ERROR     = '!';
+	/** a line starting with % indicates HEADER */
+	public final static int HEADER    = '%';
+	/** a line starting with [ indicates RESULT */
+	public final static int RESULT    = '[';
+	/** a line which matches the pattern of prompt1 is a PROMPT */
+	public final static int PROMPT    = '.';
+	/** a line which matches the pattern of prompt2 is a MORE */
+	public final static int MORE      = ',';
+	/** a line starting with &amp; indicates the start of a header block */
+	public final static int SOHEADER  = '&';
+	/** a line starting with ^ indicates REDIRECT */
+	public final static int REDIRECT  = '^';
+	/** a line starting with # indicates INFO */
+	public final static int INFO      = '#';
+
+	/**
+	 * Create a buffering character-input stream that uses a
+	 * default-sized input buffer.
+	 *
+	 * @param in A Reader
+	 */
+	public BufferedMCLReader(Reader in) {
+		super(in);
+	}
+
+	/**
+	 * Create a buffering character-input stream that uses a
+	 * default-sized input buffer, from an InputStream.
+	 *
+	 * @param in An InputStream
+	 * @param enc Encoding
+	 */
+	public BufferedMCLReader(InputStream in, String enc)
+		throws UnsupportedEncodingException
+	{
+		super(new InputStreamReader(in, enc));
+	}
+
+	/**
+	 * Read a line of text.  A line is considered to be terminated by
+	 * any one of a line feed ('\n'), a carriage return ('\r'), or a
+	 * carriage return followed immediately by a linefeed.  Before this
+	 * method returns, it sets the linetype to any of the in MCL
+	 * recognised line types.
+	 * 
+	 * Warning: until the server properly prefixes all of its error
+	 * messages with SQLSTATE codes, this method prefixes all errors it
+	 * sees without sqlstate with the generic data exception code
+	 * (22000).
+	 *
+	 * @return A String containing the contents of the line, not
+	 *         including any line-termination characters, or null if the
+	 *         end of the stream has been reached
+	 * @throws IOException If an I/O error occurs
+	 */
+	@Override
+	public String readLine() throws IOException {
+		String r = super.readLine();
+		setLineType(r);
+		if (lineType == ERROR && !r.matches("^![0-9A-Z]{5}!.+"))
+			r = "!22000!" + r.substring(1);
+		return r;
+	}
+	
+	/**
+	 * Sets the linetype to the type of the string given.  If the string
+	 * is null, lineType is set to UNKNOWN.
+	 *
+	 * @param line the string to examine
+	 */
+	void setLineType(String line) {
+		lineType = UNKNOWN;
+		if (line == null || line.length() == 0)
+			return;
+		switch (line.charAt(0)) {
+			case '!':
+				lineType = ERROR;
+			break;
+			case '&':
+				lineType = SOHEADER;
+			break;
+			case '%':
+				lineType = HEADER;
+			break;
+			case '[':
+				lineType = RESULT;
+			break;
+			case '=':
+				lineType = RESULT;
+			break;
+			case '^':
+				lineType = REDIRECT;
+			break;
+			case '#':
+				lineType = INFO;
+			break;
+			case '.':
+				lineType = PROMPT;
+			break;
+			case ',':
+				lineType = MORE;
+			break;
+		}
+	}
+
+	/**
+	 * getLineType returns the type of the last line read.
+	 *
+	 * @return an integer representing the kind of line this is, one of the
+	 *         following constants: UNKNOWN, HEADER, ERROR, PROMPT,
+	 *         RESULT, REDIRECT, INFO
+	 */
+	public int getLineType() {
+		return lineType;
+	}
+
+	/**
+	 * Reads up till the MonetDB prompt, indicating the server is ready
+	 * for a new command.  All read data is discarded.  If the last line
+	 * read by readLine() was a prompt, this method will immediately
+	 * return.
+	 * 
+	 * If there are errors present in the lines that are read, then they
+	 * are put in one string and returned <b>after</b> the prompt has
+	 * been found. If no errors are present, null will be returned.
+	 *
+	 * @return a string containing error messages, or null if there aren't any
+	 * @throws IOException if an IO exception occurs while talking to the server
+	 * 
+	 * TODO(Wouter): should probably not have to be synchronized. + StringBuilder...
+	 */
+	final public synchronized String waitForPrompt() throws IOException {
+		String ret = "", tmp;
+		while (lineType != PROMPT) {
+			if ((tmp = readLine()) == null)
+				throw new IOException("Connection to server lost!");
+			if (lineType == ERROR)
+				ret += "\n" + tmp.substring(1);
+		}
+		return ret == "" ? null : ret.trim();
+	}
+
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java
@@ -0,0 +1,96 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.io;
+
+import java.io.*;
+
+/**
+ * Write text to a character-output stream, buffering characters so as
+ * to provide a means for efficient writing of single characters,
+ * arrays, and strings.
+ *
+ * In contrast to the BufferedWriter class, this class' newLine()
+ * method always writes the newline character '\n', regardless the
+ * platform's own notion of line separator.  Apart from that there are
+ * no differences in the behaviour of this class, compared to its parent
+ * class, the BufferedWriter.  A small convenience is built into this
+ * class for cooperation with the BufferedMCLReader, via the
+ * registerReader() method.  It causes the reader to be reset upon each
+ * write performed though this class.  This effectuates the MCL protocol
+ * flow where a write invalidates the state of the read buffers, since
+ * each write must be answered by the server.  That also makes this
+ * class client-oriented when a reader is registered.
+ *
+ * @author Fabian Groffen <Fabian.Groffen>
+ * @see nl.cwi.monetdb.mcl.net.MapiSocket
+ * @see nl.cwi.monetdb.mcl.io.BufferedMCLWriter
+ */
+public class BufferedMCLWriter extends BufferedWriter {
+	private BufferedMCLReader reader;
+
+	/**
+	 * Create a buffered character-output stream that uses a
+	 * default-sized output buffer.
+	 *
+	 * @param in A Writer
+	 */
+	public BufferedMCLWriter(Writer in) {
+		super(in);
+	}
+
+	/**
+	 * Create a buffered character-output stream that uses a
+	 * default-sized output buffer, from an OutputStream.
+	 *
+	 * @param in An OutputStream
+	 * @param enc Encoding
+	 */
+	public BufferedMCLWriter(OutputStream in, String enc)
+		throws UnsupportedEncodingException
+	{
+		super(new OutputStreamWriter(in, enc));
+	}
+
+	/**
+	 * Registers the given reader in this writer.  A registered reader
+	 * receives a linetype reset when a line is written from this
+	 * writer.
+	 *
+	 * @param r an BufferedMCLReader
+	 */
+	public void registerReader(BufferedMCLReader r) {
+		reader = r;
+	}
+
+	/**
+	 * Write a line separator.  The line separator string is in this
+	 * class always the single newline character '\n'.
+	 *
+	 * @throws IOException If an I/O error occurs
+	 */
+	@Override
+	public void newLine() throws IOException {
+		write('\n');
+	}
+
+	/**
+	 * Write a single line, terminated with a line separator, and flush
+	 * the stream.  This is a shorthand method for a call to write()
+	 * and flush().
+	 *
+	 * @param line The line to write
+	 * @throws IOException If an I/O error occurs
+	 */
+	public void writeLine(String line) throws IOException {
+		write(line);
+		flush();
+		// reset reader state, last line isn't valid any more now
+		if (reader != null) reader.setLineType(null);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/net/MapiSocket.java
@@ -0,0 +1,1103 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.net;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.EOFException;
+import java.io.FileWriter;
+import java.io.FilterInputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.net.Socket;
+import java.net.SocketException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import nl.cwi.monetdb.mcl.MCLException;
+import nl.cwi.monetdb.mcl.io.BufferedMCLReader;
+import nl.cwi.monetdb.mcl.io.BufferedMCLWriter;
+import nl.cwi.monetdb.mcl.parser.MCLParseException;
+
+/**
+ * A Socket for communicating with the MonetDB database in MAPI block
+ * mode.
+ * 
+ * The MapiSocket implements the protocol specifics of the MAPI block
+ * mode protocol, and interfaces it as a socket that delivers a
+ * BufferedReader and a BufferedWriter.  Because logging in is an
+ * integral part of the MAPI protocol, the MapiSocket performs the login
+ * procedure.  Like the Socket class, various options can be set before
+ * calling the connect() method to influence the login process.  Only
+ * after a successful call to connect() the BufferedReader and
+ * BufferedWriter can be retrieved.
+ * <br />
+ * For each line read, it is determined what type of line it is
+ * according to the MonetDB MAPI protocol.  This results in a line to be
+ * PROMPT, HEADER, RESULT, ERROR or UNKNOWN.  Use the getLineType()
+ * method on the BufferedMCLReader to retrieve the type of the last
+ * line read.
+ * 
+ * For debugging purposes a socket level debugging is implemented where
+ * each and every interaction to and from the MonetDB server is logged
+ * to a file on disk.<br />
+ * Incoming messages are prefixed by "RX" (received by the driver),
+ * outgoing messages by "TX" (transmitted by the driver).  Special
+ * decoded non-human readable messages are prefixed with "RD" and "TD"
+ * instead.  Following this two char prefix, a timestamp follows as the
+ * number of milliseconds since the UNIX epoch.  The rest of the line is
+ * a String representation of the data sent or received.
+ * 
+ * The general use of this Socket must be seen only in the full context
+ * of a MAPI connection to a server.  It has the same ingredients as a
+ * normal Socket, allowing for seamless plugging.
+ * <pre>
+ *    Socket   \     /  InputStream  ----&gt; (BufferedMCL)Reader
+ *              &gt; o &lt;
+ *  MapiSocket /     \ OutputStream  ----&gt; (BufferedMCL)Writer
+ * </pre>
+ * The MapiSocket allows to retrieve Streams for communicating.  They
+ * are interfaced, so they can be chained in any way.  While the Socket
+ * transparently deals with how data is sent over the wire, the actual
+ * data read needs to be interpreted, for which a Reader/Writer
+ * interface is most sufficient.  In particular the BufferedMCL*
+ * implementations of those interfaces supply some extra functionality
+ * geared towards the format of the data.
+ *
+ * @author Fabian Groffen
+ * @version 4.1
+ * @see nl.cwi.monetdb.mcl.io.BufferedMCLReader
+ * @see nl.cwi.monetdb.mcl.io.BufferedMCLWriter
+ */
+public final class MapiSocket {
+	/** The TCP Socket to mserver */
+	private Socket con;
+	/** Stream from the Socket for reading */
+	private InputStream fromMonet;
+	/** Stream from the Socket for writing */
+	private OutputStream toMonet;
+	/** MCLReader on the InputStream */
+	private BufferedMCLReader reader;
+	/** MCLWriter on the OutputStream */
+	private BufferedMCLWriter writer;
+	/** protocol version of the connection */
+	private int version;
+
+	/** The database to connect to */
+	private String database = null;
+	/** The language to connect with */
+	private String language = "sql";
+	/** The hash methods to use (null = default) */
+	private String hash = null;
+	/** Whether we should follow redirects */
+	private boolean followRedirects = true;
+	/** How many redirections do we follow until we're fed up with it? */
+	private int ttl = 10;
+	/** Whether we are debugging or not */
+	private boolean debug = false;
+	/** The Writer for the debug log-file */
+	private Writer log;
+
+	/** The blocksize (hardcoded in compliance with stream.mx) */
+	public final static int BLOCK = 8 * 1024 - 2;
+
+	/** A short in two bytes for holding the block size in bytes */
+	private byte[] blklen = new byte[2];
+
+	/**
+	 * Constructs a new MapiSocket.
+	 */
+	public MapiSocket() {
+		con = null;
+	}
+
+	/**
+	 * Sets the database to connect to.  If database is null, a
+	 * connection is made to the default database of the server.  This
+	 * is also the default.
+	 *
+	 * @param db the database
+	 */
+	public void setDatabase(String db) {
+		this.database = db;
+	}
+
+	/**
+	 * Sets the language to use for this connection.
+	 *
+	 * @param lang the language
+	 */
+	public void setLanguage(String lang) {
+		this.language = lang;
+	}
+
+	/**
+	 * Sets the hash method to use.  Note that this method is intended
+	 * for debugging purposes.  Setting a hash method can yield in
+	 * connection failures.  Multiple hash methods can be given by
+	 * separating the hashes by commas.
+	 * DON'T USE THIS METHOD if you don't know what you're doing.
+	 *
+	 * @param hash the hash method to use
+	 */
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
+
+	/**
+	 * Sets whether MCL redirections should be followed or not.  If set
+	 * to false, an MCLException will be thrown when a redirect is
+	 * encountered during connect.  The default bahaviour is to
+	 * automatically follow redirects.
+	 *
+	 * @param r whether to follow redirects (true) or not (false)
+	 */
+	public void setFollowRedirects(boolean r) {
+		this.followRedirects = r;
+	}
+
+	/**
+	 * Sets the number of redirects that are followed when
+	 * followRedirects is true.  In order to avoid going into an endless
+	 * loop due to some evil server, or another error, a maximum number
+	 * of redirects that may be followed can be set here.  Note that to
+	 * disable the following of redirects you should use
+	 * setFollowRedirects.
+	 *
+	 * @see #setFollowRedirects(boolean r)
+	 * @param t the number of redirects before an exception is thrown
+	 */
+	public void setTTL(int t) {
+		this.ttl = t;
+	}
+
+	/**
+	 * Set the SO_TIMEOUT on the underlying Socket.  When for some
+	 * reason the connection to the database hangs, this setting can be
+	 * useful to break out of this indefinite wait.
+	 * This option must be enabled prior to entering the blocking
+	 * operation to have effect.
+	 *
+	 * @param s The specified timeout, in milliseconds.  A timeout
+	 *        of zero is interpreted as an infinite timeout.
+	 * @throws SocketException Issue with the socket
+	 */
+	public void setSoTimeout(int s) throws SocketException {
+		// limit time to wait on blocking operations (0 = indefinite)
+		con.setSoTimeout(s);
+	}
+
+	/**
+	 * Gets the SO_TIMEOUT from the underlying Socket.
+	 *
+	 * @return the currently in use timeout in milliseconds
+	 * @throws SocketException Issue with the socket
+	 */
+	public int getSoTimeout() throws SocketException {
+		return con.getSoTimeout();
+	}
+	
+	/**
+	 * Enables/disables debug
+	 *
+	 * @param debug Value to set
+	 */
+	public void setDebug(boolean debug) {
+		this.debug = debug;
+	}
+
+	/**
+	 * Connects to the given host and port, logging in as the given
+	 * user.  If followRedirect is false, a RedirectionException is
+	 * thrown when a redirect is encountered.
+	 *
+	 * @param host the hostname, or null for the loopback address
+	 * @param port the port number
+	 * @param user the username
+	 * @param pass the password
+	 * @return A List with informational (warning) messages. If this 
+	 * 		list is empty; then there are no warnings.
+	 * @throws IOException if an I/O error occurs when creating the
+	 *         socket
+	 * @throws MCLParseException if bogus data is received
+	 * @throws MCLException if an MCL related error occurs
+	 */
+	public List<String> connect(String host, int port, String user, String pass)
+		throws IOException, MCLParseException, MCLException {
+		// Wrap around the internal connect that needs to know if it
+		// should really make a TCP connection or not.
+		return connect(host, port, user, pass, true);
+	}
+
+	private List<String> connect(String host, int port, String user, String pass,
+			boolean makeConnection)
+		throws IOException, MCLParseException, MCLException {
+		if (ttl-- <= 0)
+			throw new MCLException("Maximum number of redirects reached, aborting connection attempt.  Sorry.");
+
+		if (makeConnection) {
+			con = new Socket(host, port);
+			// set nodelay, as it greatly speeds up small messages (like we
+			// often do)
+			con.setTcpNoDelay(true);
+
+			fromMonet = new BlockInputStream(con.getInputStream());
+			toMonet = new BlockOutputStream(con.getOutputStream());
+			try {
+				reader = new BufferedMCLReader(fromMonet, "UTF-8");
+				writer = new BufferedMCLWriter(toMonet, "UTF-8");
+			} catch (UnsupportedEncodingException e) {
+				throw new AssertionError(e.toString());
+			}
+			writer.registerReader(reader);
+		}
+
+		String c = reader.readLine();
+		reader.waitForPrompt();
+		writer.writeLine(
+				getChallengeResponse(
+					c,
+					user,
+					pass,
+					language,
+					database,
+					hash
+					)
+				);
+
+		// read monet response till prompt
+		List<String> redirects = new ArrayList<String>();
+		List<String> warns = new ArrayList<String>();
+		String err = "", tmp;
+		int lineType;
+		do {
+			if ((tmp = reader.readLine()) == null)
+				throw new IOException("Read from " +
+						con.getInetAddress().getHostName() + ":" +
+						con.getPort() + ": End of stream reached");
+			if ((lineType = reader.getLineType()) == BufferedMCLReader.ERROR) {
+				err += "\n" + tmp.substring(7);
+			} else if (lineType == BufferedMCLReader.INFO) {
+				warns.add(tmp.substring(1));
+			} else if (lineType == BufferedMCLReader.REDIRECT) {
+				redirects.add(tmp.substring(1));
+			}
+		} while (lineType != BufferedMCLReader.PROMPT);
+		if (err != "") {
+			close();
+			throw new MCLException(err.trim());
+		}
+		if (!redirects.isEmpty()) {
+			if (followRedirects) {
+				// Ok, server wants us to go somewhere else.  The list
+				// might have multiple clues on where to go.  For now we
+				// don't support anything intelligent but trying the
+				// first one.  URI should be in form of:
+				// "mapi:monetdb://host:port/database?arg=value&..."
+				// or
+				// "mapi:merovingian://proxy?arg=value&..."
+				// note that the extra arguments must be obeyed in both
+				// cases
+				String suri = redirects.get(0).toString();
+				if (!suri.startsWith("mapi:"))
+					throw new MCLException("unsupported redirect: " + suri);
+
+				URI u;
+				try {
+					u = new URI(suri.substring(5));
+				} catch (URISyntaxException e) {
+					throw new MCLParseException(e.toString());
+				}
+
+				tmp = u.getQuery();
+				if (tmp != null) {
+					String args[] = tmp.split("&");
+					for (int i = 0; i < args.length; i++) {
+						int pos = args[i].indexOf("=");
+						if (pos > 0) {
+							tmp = args[i].substring(0, pos);
+							if (tmp.equals("database")) {
+								tmp = args[i].substring(pos + 1);
+								if (!tmp.equals(database)) {
+									warns.add("redirect points to different " +
+											"database: " + tmp);
+									setDatabase(tmp);
+								}
+							} else if (tmp.equals("language")) {
+								tmp = args[i].substring(pos + 1);
+								warns.add("redirect specifies use of different language: " + tmp);
+								setLanguage(tmp);
+							} else if (tmp.equals("user")) {
+								tmp = args[i].substring(pos + 1);
+								if (!tmp.equals(user))
+									warns.add("ignoring different username '" + tmp + "' set by " +
+											"redirect, what are the security implications?");
+							} else if (tmp.equals("password")) {
+								warns.add("ignoring different password set by redirect, " +
+										"what are the security implications?");
+							} else {
+								warns.add("ignoring unknown argument '" + tmp + "' from redirect");
+							}
+						} else {
+							warns.add("ignoring illegal argument from redirect: " +
+									args[i]);
+						}
+					}
+				}
+
+				if (u.getScheme().equals("monetdb")) {
+					// this is a redirect to another (monetdb) server,
+					// which means a full reconnect
+					// avoid the debug log being closed
+					if (debug) {
+						debug = false;
+						close();
+						debug = true;
+					} else {
+						close();
+					}
+					tmp = u.getPath();
+					if (tmp != null && tmp.length() != 0) {
+						tmp = tmp.substring(1).trim();
+						if (!tmp.isEmpty() && !tmp.equals(database)) {
+							warns.add("redirect points to different " +
+								"database: " + tmp);
+							setDatabase(tmp);
+						}
+					}
+					int p = u.getPort();
+					warns.addAll(connect(u.getHost(), p == -1 ? port : p,
+							user, pass, true));
+					warns.add("Redirect by " + host + ":" + port + " to " + suri);
+				} else if (u.getScheme().equals("merovingian")) {
+					// reuse this connection to inline connect to the
+					// right database that Merovingian proxies for us
+					warns.addAll(connect(host, port, user, pass, false));
+				} else {
+					throw new MCLException("unsupported scheme in redirect: " + suri);
+				}
+			} else {
+				StringBuilder msg = new StringBuilder("The server sent a redirect for this connection:");
+				for (String it : redirects) {
+					msg.append(" [" + it + "]");
+				}
+				throw new MCLException(msg.toString());
+			}
+		}
+		return warns;
+	}
+
+	/**
+	 * A little helper function that processes a challenge string, and
+	 * returns a response string for the server.  If the challenge
+	 * string is null, a challengeless response is returned.
+	 *
+	 * @param chalstr the challenge string
+	 * @param username the username to use
+	 * @param password the password to use
+	 * @param language the language to use
+	 * @param database the database to connect to
+	 * @param hash the hash method(s) to use, or NULL for all supported
+	 *             hashes
+	 */
+	private String getChallengeResponse(
+			String chalstr,
+			String username,
+			String password,
+			String language,
+			String database,
+			String hash
+	) throws MCLParseException, MCLException, IOException {
+		String response;
+		String algo;
+
+		// parse the challenge string, split it on ':'
+		String[] chaltok = chalstr.split(":");
+		if (chaltok.length <= 4) throw
+			new MCLParseException("Server challenge string unusable!  Challenge contains too few tokens: " + chalstr);
+
+		// challenge string to use as salt/key
+		String challenge = chaltok[0];
+		String servert = chaltok[1];
+		try {
+			version = Integer.parseInt(chaltok[2].trim());	// protocol version
+		} catch (NumberFormatException e) {
+			throw new MCLParseException("Protocol version unparseable: " + chaltok[3]);
+		}
+
+		// handle the challenge according to the version it is
+		switch (version) {
+			default:
+				throw new MCLException("Unsupported protocol version: " + version);
+			case 9:
+				// proto 9 is like 8, but uses a hash instead of the
+				// plain password, the server tells us which hash in the
+				// challenge after the byte-order
+
+				/* NOTE: Java doesn't support RIPEMD160 :( */
+				if (chaltok[5].equals("SHA512")) {
+					algo = "SHA-512";
+				} else if (chaltok[5].equals("SHA384")) {
+					algo = "SHA-384";
+				} else if (chaltok[5].equals("SHA256")) {
+					algo = "SHA-256";
+				/* NOTE: Java doesn't support SHA-224 */
+				} else if (chaltok[5].equals("SHA1")) {
+					algo = "SHA-1";
+				} else if (chaltok[5].equals("MD5")) {
+					algo = "MD5";
+				} else {
+					throw new MCLException("Unsupported password hash: " +
+							chaltok[5]);
+				}
+
+				try {
+					MessageDigest md = MessageDigest.getInstance(algo);
+					md.update(password.getBytes("UTF-8"));
+					byte[] digest = md.digest();
+					password = toHex(digest);
+				} catch (NoSuchAlgorithmException e) {
+					throw new AssertionError("internal error: " + e.toString());
+				} catch (UnsupportedEncodingException e) {
+					throw new AssertionError("internal error: " + e.toString());
+				}
+
+				// proto 7 (finally) used the challenge and works with a
+				// password hash.  The supported implementations come
+				// from the server challenge.  We chose the best hash
+				// we can find, in the order SHA1, MD5, plain.  Also,
+				// the byte-order is reported in the challenge string,
+				// which makes sense, since only blockmode is supported.
+				// proto 8 made this obsolete, but retained the
+				// byte-order report for future "binary" transports.  In
+				// proto 8, the byte-order of the blocks is always little
+				// endian because most machines today are.
+				String hashes = (hash == null ? chaltok[3] : hash);
+				Set<String> hashesSet = new HashSet<String>(Arrays.asList(hashes.toUpperCase().split("[, ]")));
+
+				// if we deal with merovingian, mask our credentials
+				if (servert.equals("merovingian") && !language.equals("control")) {
+					username = "merovingian";
+					password = "merovingian";
+				}
+				String pwhash;
+				algo = null;
+				
+				if (hashesSet.contains("SHA512")) {
+					algo = "SHA-512";
+					pwhash = "{SHA512}";
+				} else if (hashesSet.contains("SHA384")) {
+					algo = "SHA-384";
+					pwhash = "{SHA384}";
+				} else if (hashesSet.contains("SHA256")) {
+					algo = "SHA-256";
+					pwhash = "{SHA256}";
+				} else if (hashesSet.contains("SHA1")) {
+					algo = "SHA-1";
+					pwhash = "{SHA1}";
+				} else if (hashesSet.contains("MD5")) {
+					algo = "MD5";
+					pwhash = "{MD5}";
+				} else {
+					throw new MCLException("no supported password hashes in " + hashes);
+				}
+				if (algo != null) {
+					try {
+						MessageDigest md = MessageDigest.getInstance(algo);
+						md.update(password.getBytes("UTF-8"));
+						md.update(challenge.getBytes("UTF-8"));
+						byte[] digest = md.digest();
+						pwhash += toHex(digest);
+					} catch (NoSuchAlgorithmException e) {
+						throw new AssertionError("internal error: " + e.toString());
+					} catch (UnsupportedEncodingException e) {
+						throw new AssertionError("internal error: " + e.toString());
+					}
+				}
+				// TODO: some day when we need this, we should store
+				// this
+				if (chaltok[4].equals("BIG")) {
+					// byte-order of server is big-endian
+				} else if (chaltok[4].equals("LIT")) {
+					// byte-order of server is little-endian
+				} else {
+					throw new MCLParseException("Invalid byte-order: " + chaltok[5]);
+				}
+
+				// generate response
+				response = "BIG:";	// JVM byte-order is big-endian
+				response += username + ":" + pwhash + ":" + language;
+				response += ":" + (database == null ? "" : database) + ":";
+				
+				return response;
+		}
+	}
+	
+	private static char hexChar(int n) {
+		return (n > 9) 
+				? (char) ('a' + (n - 10))
+				: (char) ('0' + n);
+	}
+
+	/**
+	 * Small helper method to convert a byte string to a hexadecimal
+	 * string representation.
+	 *
+	 * @param digest the byte array to convert
+	 * @return the byte array as hexadecimal string
+	 */
+	private static String toHex(byte[] digest) {
+		char[] result = new char[digest.length * 2];
+		int pos = 0;
+		for (int i = 0; i < digest.length; i++) {
+			result[pos++] = hexChar((digest[i] & 0xf0) >> 4);
+			result[pos++] = hexChar(digest[i] & 0x0f);
+		}
+		return new String(result);
+	}
+
+	/**
+	 * Returns an InputStream that reads from this open connection on
+	 * the MapiSocket.
+	 *
+	 * @return an input stream that reads from this open connection
+	 */
+	public InputStream getInputStream() {
+		return fromMonet;
+	}
+
+	/**
+	 * Returns an output stream for this MapiSocket.
+	 *
+	 * @return an output stream for writing bytes to this MapiSocket
+	 */
+	public OutputStream getOutputStream() {
+		return toMonet;
+	}
+
+	/**
+	 * Returns a Reader for this MapiSocket.  The Reader is a
+	 * BufferedMCLReader which does protocol interpretation of the
+	 * BlockInputStream produced by this MapiSocket.
+	 *
+	 * @return a BufferedMCLReader connected to this MapiSocket
+	 */
+	public BufferedMCLReader getReader() {
+		return reader;
+	}
+
+	/**
+	 * Returns a Writer for this MapiSocket.  The Writer is a
+	 * BufferedMCLWriter which produces protocol compatible data blocks
+	 * that the BlockOutputStream can properly translate into blocks.
+	 *
+	 * @return a BufferedMCLWriter connected to this MapiSocket
+	 */
+	public BufferedMCLWriter getWriter() {
+		return writer;
+	}
+
+	/**
+	 * Returns the mapi protocol version used by this socket.  The
+	 * protocol version depends on the server being used.  Users of the
+	 * MapiSocket should check this version to act appropriately.
+	 *
+	 * @return the mapi protocol version
+	 */
+	public int getProtocolVersion() {
+		return version;
+	}
+
+	/**
+	 * Enables logging to a file what is read and written from and to
+	 * the server.  Logging can be enabled at any time.  However, it is
+	 * encouraged to start debugging before actually connecting the
+	 * socket.
+	 *
+	 * @param filename the name of the file to write to
+	 * @throws IOException if the file could not be opened for writing
+	 */
+	public void debug(String filename) throws IOException {
+		debug(new FileWriter(filename));
+	}
+	
+	/**
+	 * Enables logging to a stream what is read and written from and to
+	 * the server.  Logging can be enabled at any time.  However, it is
+	 * encouraged to start debugging before actually connecting the
+	 * socket.
+	 *
+	 * @param out to write the log to
+	 * @throws IOException if the file could not be opened for writing
+	 */
+	public void debug(PrintStream out) throws IOException {
+		debug(new PrintWriter(out));
+	}
+	
+	/**
+	 * Enables logging to a stream what is read and written from and to
+	 * the server.  Logging can be enabled at any time.  However, it is
+	 * encouraged to start debugging before actually connecting the
+	 * socket.
+	 *
+	 * @param out to write the log to
+	 * @throws IOException if the file could not be opened for writing
+	 */
+	public void debug(Writer out) throws IOException {
+		log = out;
+		debug = true;
+	}
+
+	/**
+	 * Inner class that is used to write data on a normal stream as a
+	 * blocked stream.  A call to the flush() method will write a
+	 * "final" block to the underlying stream.  Non-final blocks are
+	 * written as soon as one or more bytes would not fit in the
+	 * current block any more.  This allows to write to a block to it's
+	 * full size, and then flush it explicitly to have a final block
+	 * being written to the stream.
+	 */
+	class BlockOutputStream extends FilterOutputStream {
+		private int writePos = 0;
+		private byte[] block = new byte[BLOCK];
+		private int blocksize = 0;
+
+		/**
+		 * Constructs this BlockOutputStream, backed by the given
+		 * OutputStream.  A BufferedOutputStream is internally used.
+		 */
+		public BlockOutputStream(OutputStream out) {
+			// always use a buffered stream, even though we know how
+			// much bytes to write/read, since this is just faster for
+			// some reason
+			super(new BufferedOutputStream(out));
+		}
+
+		@Override
+		public void flush() throws IOException {
+			// write the block (as final) then flush.
+			writeBlock(true);
+			out.flush();
+
+			// it's a bit nasty if an exception is thrown from the log,
+			// but ignoring it can be nasty as well, so it is decided to
+			// let it go so there is feedback about something going wrong
+			// it's a bit nasty if an exception is thrown from the log,
+			// but ignoring it can be nasty as well, so it is decided to
+			// let it go so there is feedback about something going wrong
+			if (debug) {
+				log.flush();
+			}
+		}
+
+		/**
+		 * writeBlock puts the data in the block on the stream.  The
+		 * boolean last controls whether the block is sent with an
+		 * indicator to note it is the last block of a sequence or not.
+		 *
+		 * @param last whether this is the last block
+		 * @throws IOException if writing to the stream failed
+		 */
+		public void writeBlock(boolean last) throws IOException {
+			if (last) {
+				// always fits, because of BLOCK's size
+				blocksize = (short)writePos;
+				// this is the last block, so encode least
+				// significant bit in the first byte (little-endian)
+				blklen[0] = (byte)(blocksize << 1 & 0xFF | 1);
+				blklen[1] = (byte)(blocksize >> 7);
+			} else {
+				// always fits, because of BLOCK's size
+				blocksize = (short)BLOCK;
+				// another block will follow, encode least
+				// significant bit in the first byte (little-endian)
+				blklen[0] = (byte)(blocksize << 1 & 0xFF);
+				blklen[1] = (byte)(blocksize >> 7);
+			}
+
+			out.write(blklen);
+
+			// write the actual block
+			out.write(block, 0, writePos);
+
+			if (debug) {
+				if (last) {
+					logTd("write final block: " + writePos + " bytes");
+				} else {
+					logTd("write block: " + writePos + " bytes");
+				}
+				logTx(new String(block, 0, writePos, "UTF-8"));
+			}
+
+			writePos = 0;
+		}
+
+		@Override
+		public void write(int b) throws IOException {
+			if (writePos == BLOCK) {
+				writeBlock(false);
+			}
+			block[writePos++] = (byte)b;
+		}
+
+		@Override
+		public void write(byte[] b) throws IOException {
+			write(b, 0, b.length);
+		}
+
+		@Override
+		public void write(byte[] b, int off, int len) throws IOException {
+			int t = 0;
+			while (len > 0) {
+				t = BLOCK - writePos;
+				if (len > t) {
+					System.arraycopy(b, off, block, writePos, t);
+					off += t;
+					len -= t;
+					writePos += t;
+					writeBlock(false);
+				} else {
+					System.arraycopy(b, off, block, writePos, len);
+					writePos += len;
+					break;
+				}
+			}
+		}
+
+		@Override
+		public void close() throws IOException {
+			// we don't want the flush() method to be called (default of
+			// the FilterOutputStream), so we close manually here
+			out.close();
+		}
+	}
+
+
+	/**
+	 * Inner class that is used to make the data on the blocked stream
+	 * available as a normal stream.
+	 */
+	class BlockInputStream extends FilterInputStream {
+		private int readPos = 0;
+		private int blockLen = 0;
+		private byte[] block = new byte[BLOCK + 3]; // \n.\n
+
+		/**
+		 * Constructs this BlockInputStream, backed by the given
+		 * InputStream.  A BufferedInputStream is internally used.
+		 */
+		public BlockInputStream(InputStream in) {
+			// always use a buffered stream, even though we know how
+			// much bytes to write/read, since this is just faster for
+			// some reason
+			super(new BufferedInputStream(in));
+		}
+
+		@Override
+		public int available() {
+			return blockLen - readPos;
+		}
+
+		@Override
+		public boolean markSupported() {
+			return false;
+		}
+
+		@Override
+		public void mark(int readlimit) {
+			throw new AssertionError("Not implemented!");
+		}
+
+		@Override
+		public void reset() {
+			throw new AssertionError("Not implemented!");
+		}
+
+		/**
+		 * Small wrapper to get a blocking variant of the read() method
+		 * on the BufferedInputStream.  We want to benefit from the
+		 * Buffered pre-fetching, but not dealing with half blocks.
+		 * Changing this class to be able to use the partially received
+		 * data will greatly complicate matters, while a performance
+		 * improvement is debatable given the relatively small size of
+		 * our blocks.  Maybe it does speed up on slower links, then
+		 * consider this method a quick bug fix/workaround.
+		 *
+		 * @return false if reading the block failed due to EOF
+		 */
+		private boolean _read(byte[] b, int len) throws IOException {
+			int s;
+			int off = 0;
+
+			while (len > 0) {
+				s = in.read(b, off, len);
+				if (s == -1) {
+					// if we have read something before, we should have been
+					// able to read the whole, so make this fatal
+					if (off > 0) {
+						if (debug) {
+							logRd("the following incomplete block was received:");
+							logRx(new String(b, 0, off, "UTF-8"));
+						}
+						throw new IOException("Read from " +
+								con.getInetAddress().getHostName() + ":" +
+								con.getPort() + ": Incomplete block read from stream");
+					}
+					if (debug)
+						logRd("server closed the connection (EOF)");
+					return false;
+				}
+				len -= s;
+				off += s;
+			}
+
+			return true;
+		}
+
+		/**
+		 * Reads the next block on the stream into the internal buffer,
+		 * or writes the prompt in the buffer.
+		 *
+		 * The blocked stream protocol consists of first a two byte
+		 * integer indicating the length of the block, then the
+		 * block, followed by another length + block.  The end of
+		 * such sequence is put in the last bit of the length, and
+		 * hence this length should be shifted to the right to
+		 * obtain the real length value first.  We simply fetch
+		 * blocks here as soon as they are needed for the stream's
+		 * read methods.
+		 *
+		 * The user-flush, which is an implicit effect of the end of
+		 * a block sequence, is communicated beyond the stream by
+		 * inserting a prompt sequence on the stream after the last
+		 * block.  This method makes sure that a final block ends with a
+		 * newline, if it doesn't already, in order to facilitate a
+		 * Reader that is possibly chained to this InputStream.
+		 *
+		 * If the stream is not positioned correctly, hell will break
+		 * loose.
+		 */
+		private int readBlock() throws IOException {
+			// read next two bytes (short)
+			if (!_read(blklen, 2))
+				return(-1);
+
+			// Get the short-value and store its value in blockLen.
+			blockLen = (short)(
+					(blklen[0] & 0xFF) >> 1 |
+					(blklen[1] & 0xFF) << 7
+					);
+			readPos = 0;
+
+			if (debug) {
+				if ((blklen[0] & 0x1) == 1) {
+					logRd("read final block: " + blockLen + " bytes");
+				} else {
+					logRd("read new block: " + blockLen + " bytes");
+				}
+			}
+
+			// sanity check to avoid bad servers make us do an ugly
+			// stack trace
+			if (blockLen > block.length)
+				throw new AssertionError("Server sent a block " +
+						"larger than BLOCKsize: " +
+						blockLen + " > " + block.length);
+			if (!_read(block, blockLen))
+				return(-1);
+
+			if (debug)
+				logRx(new String(block, 0, blockLen, "UTF-8"));
+
+			// if this is the last block, make it end with a newline and
+			// prompt
+			if ((blklen[0] & 0x1) == 1) {
+				if (blockLen > 0 && block[blockLen - 1] != '\n') {
+					// to terminate the block in a Reader
+					block[blockLen++] = '\n';
+				}
+				// insert 'fake' flush
+				block[blockLen++] = BufferedMCLReader.PROMPT;
+				block[blockLen++] = '\n';
+				if (debug)
+					logRd("inserting prompt");
+			}
+
+			return(blockLen);
+		}
+
+		@Override
+		public int read() throws IOException {
+			if (available() == 0) {
+				if (readBlock() == -1)
+					return(-1);
+			}
+				
+			if (debug)
+				logRx(new String(block, readPos, 1, "UTF-8"));
+			return (int)block[readPos++];
+		}
+
+		@Override
+		public int read(byte[] b) throws IOException {
+			return read(b, 0, b.length);
+		}
+
+		@Override
+		public int read(byte[] b, int off, int len) throws IOException {
+			int t;
+			int size = 0;
+			while (size < len) {
+				t = available();
+				if (t == 0) {
+					if (size != 0)
+						break;
+					if (readBlock() == -1) {
+						if (size == 0)
+							size = -1;
+						break;
+					}
+					t = available();
+				}
+				if (len > t) {
+					System.arraycopy(block, readPos, b, off, t);
+					off += t;
+					len -= t;
+					readPos += t;
+					size += t;
+				} else {
+					System.arraycopy(block, readPos, b, off, len);
+					readPos += len;
+					size += len;
+					break;
+				}
+			}
+			return size;
+		}
+
+		@Override
+		public long skip(long n) throws IOException {
+			long skip = n;
+			int t = 0;
+			while (skip > 0) {
+				t = available();
+				if (skip > t) {
+					skip -= t;
+					readPos += t;
+					readBlock();
+				} else {
+					readPos += skip;
+					break;
+				}
+			}
+			return n;
+		}
+	}
+
+	/**
+	 * Closes the streams and socket connected to the server if
+	 * possible.  If an error occurs during disconnecting it is ignored.
+	 */
+	public synchronized void close() {
+		try {
+			if (reader != null) reader.close();
+			if (writer != null) writer.close();
+			if (fromMonet != null) fromMonet.close();
+			if (toMonet != null) toMonet.close();
+			if (con != null) con.close();
+			if (debug && log instanceof FileWriter) log.close();
+		} catch (IOException e) {
+			// ignore it
+		}
+	}
+
+	/**
+	 * Destructor called by garbage collector before destroying this
+	 * object tries to disconnect the MonetDB connection if it has not
+	 * been disconnected already.
+	 */
+	@Override
+	protected void finalize() throws Throwable {
+		close();
+		super.finalize();
+	}
+
+
+	/**
+	 * Writes a logline tagged with a timestamp using the given string.
+	 * Used for debugging purposes only and represents a message that is
+	 * connected to writing to the socket.  A logline might look like:
+	 * TX 152545124: Hello MonetDB!
+	 *
+	 * @param message the message to log
+	 * @throws IOException if an IO error occurs while writing to the logfile
+	 */
+	private void logTx(String message) throws IOException {
+		log.write("TX " + System.currentTimeMillis() +
+			": " + message + "\n");
+	}
+
+	/**
+	 * Writes a logline tagged with a timestamp using the given string.
+	 * Lines written using this log method are tagged as "added
+	 * metadata" which is not strictly part of the data sent.
+	 *
+	 * @param message the message to log
+	 * @throws IOException if an IO error occurs while writing to the logfile
+	 */
+	private void logTd(String message) throws IOException {
+		log.write("TD " + System.currentTimeMillis() +
+			": " + message + "\n");
+	}
+
+	/**
+	 * Writes a logline tagged with a timestamp using the given string,
+	 * and flushes afterwards.  Used for debugging purposes only and
+	 * represents a message that is connected to reading from the
+	 * socket.  The log is flushed after writing the line.  A logline
+	 * might look like:
+	 * RX 152545124: Hi JDBC!
+	 *
+	 * @param message the message to log
+	 * @throws IOException if an IO error occurs while writing to the logfile
+	 */
+	private void logRx(String message) throws IOException {
+		log.write("RX " + System.currentTimeMillis() +
+			": " + message + "\n");
+		log.flush();
+	}
+
+	/**
+	 * Writes a logline tagged with a timestamp using the given string,
+	 * and flushes afterwards.  Lines written using this log method are
+	 * tagged as "added metadata" which is not strictly part of the data
+	 * received.
+	 *
+	 * @param message the message to log
+	 * @throws IOException if an IO error occurs while writing to the logfile
+	 */
+	private void logRd(String message) throws IOException {
+		log.write("RD " + System.currentTimeMillis() +
+			": " + message + "\n");
+		log.flush();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java
@@ -0,0 +1,182 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.parser;
+
+
+/**
+ * The HeaderLineParser is a generic MCLParser that extracts values from
+ * a metadata header in the MCL protocol either as string or integer
+ * values.
+ *
+ * @author Fabian Groffen <Fabian.Groffen>
+ */
+public class HeaderLineParser extends MCLParser {
+	private int type;
+
+	public final static int NAME       = 1;
+	public final static int LENGTH     = 2;
+	public final static int TABLE      = 3;
+	public final static int TYPE       = 4;
+
+	/**
+	 * Constructs a HeaderLineParser which expects columncount columns.
+	 *
+	 * @param columncount the number of columns in the to be parsed string
+	 */
+	public HeaderLineParser(int columncount) {
+		super(columncount);
+	}
+
+	/**
+	 * Parses the given String source as header line.  If source cannot
+	 * be parsed, an MCLParseException is thrown.  The columncount argument
+	 * given during construction is used for allocation of the backing
+	 * array.  Parsing a header line with has more fields will therefore
+	 * result in a crash.  While this seems illogical, the caller should
+	 * know this size, since the StartOfHeader contains this
+	 * information.
+	 *
+	 * @param source a String which should be parsed
+	 * @return the type of then parsed header line
+	 * @throws MCLParseException if an error occurs during parsing
+	 */
+	@Override
+	public int parse(String source) throws MCLParseException {
+		char[] chrLine = source.toCharArray();
+		int len = chrLine.length;
+		int pos = 0;
+		boolean foundChar = false;
+		boolean nameFound = false;
+		// find header name
+		for (int i = len - 1; i >= 0; i--) {
+			switch (chrLine[i]) {
+				case ' ':
+				case '\n':
+				case '\t':
+				case '\r':
+					if (!foundChar) {
+						len = i - 1;
+					} else {
+						pos = i + 1;
+					}
+					break;
+				case '#':
+					// found!
+					nameFound = true;
+					if (pos == 0) pos = i + 1;
+					i = 0;	// force the loop to terminate
+					break;
+				default:
+					foundChar = true;
+					pos = 0;
+					break;
+			}
+		}
+		if (!nameFound)
+			throw new MCLParseException("invalid header, no header name found", pos);
+
+		// depending on the name of the header, we continue
+		switch (chrLine[pos]) {
+			case 'n':
+				if (len - pos == 4 &&
+						source.regionMatches(pos + 1, "name", 1, 3))
+				{
+					getValues(chrLine, 2, pos - 3);
+					type = NAME;
+				}
+				break;
+			case 'l':
+				if (len - pos == 6 &&
+						source.regionMatches(pos + 1, "length", 1, 5))
+				{
+					getIntValues(chrLine, 2, pos - 3);
+					type = LENGTH;
+				}
+				break;
+			case 't':
+				if (len - pos == 4 &&
+						source.regionMatches(pos + 1, "type", 1, 3))
+				{
+					getValues(chrLine, 2, pos - 3);
+					type = TYPE;
+				} else if (len - pos == 10 &&
+						source.regionMatches(pos + 1, "table_name", 1, 9))
+				{
+					getValues(chrLine, 2, pos - 3);
+					type = TABLE;
+				}
+				break;
+			default:
+				throw new MCLParseException("unknown header: " +
+						(new String(chrLine, pos, len - pos)));
+		}
+
+		// adjust colno
+		reset();
+
+		return type;
+	}
+
+	/**
+	 * Returns an array of Strings containing the values between
+	 * ',\t' separators.  Note that no quoting/dequoting is done in this
+	 * method.
+	 *
+	 * @param chrLine a character array holding the input data
+	 * @param start where the relevant data starts
+	 * @param stop where the relevant data stops
+	 */
+	final private void getValues(char[] chrLine, int start, int stop) {
+		int elem = 0;
+
+		for (int i = start + 1; i < stop; i++) {
+			if (chrLine[i] == '\t' && chrLine[i - 1] == ',') {
+				values[elem++] =
+					new String(chrLine, start, i - 1 - start);
+				start = i + 1;
+			}
+		}
+		// add the left over part
+		values[elem++] = new String(chrLine, start, stop - start);
+	}
+
+	/**
+	 * Returns an array of ints containing the values between
+	 * ',\t' separators.
+	 *
+	 * @param chrLine a character array holding the input data
+	 * @param start where the relevant data starts
+	 * @param stop where the relevant data stops
+	 */
+	final private void getIntValues(char[] chrLine, int start, int stop)
+		throws MCLParseException
+	{
+		int elem = 0;
+		int tmp = 0;
+
+		for (int i = start; i < stop; i++) {
+			if (chrLine[i] == ',' && chrLine[i + 1] == '\t') {
+				intValues[elem++] = tmp;
+				tmp = 0;
+				start = i++;
+			} else {
+				tmp *= 10;
+				// note: don't use Character.isDigit() here, because
+				// we only want ISO-LATIN-1 digits
+				if (chrLine[i] >= '0' && chrLine[i] <= '9') {
+					tmp += (int)chrLine[i] - (int)'0';
+				} else {
+					throw new MCLParseException("expected a digit in " + new String(chrLine) + " at " + i);
+				}
+			}
+		}
+		// add the left over part
+		intValues[elem++] = tmp;
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/MCLParseException.java
@@ -0,0 +1,35 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.parser;
+
+import java.text.ParseException;
+
+/**
+ * When an MCLParseException is thrown, the MCL protocol is violated by
+ * the sender.  In general a stream reader throws an
+ * MCLParseException as soon as something that is read cannot be
+ * understood or does not conform to the specifications (e.g. a
+ * missing field).  The instance that throws the exception will try to
+ * give an error offset whenever possible.  Alternatively it makes sure
+ * that the error message includes the offending data read.
+ */
+public class MCLParseException extends ParseException {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	public MCLParseException(String e) {
+		super(e, -1);
+	}
+
+	public MCLParseException(String e, int offset) {
+		super(e, offset);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/MCLParser.java
@@ -0,0 +1,105 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.parser;
+
+
+/**
+ * Interface for parsers in MCL.  The parser family in MCL is set up as
+ * a reusable object.  This allows the same parser to be used again for
+ * the same type of work.  While this is a very unnatural solution in
+ * the Java language, it prevents many object creations on a low level
+ * of the protocol.  This favours performance.
+ * 
+ * A typical parser has a method parse() which takes a String, and the
+ * methods hasNext() and next() to retrieve the values that were
+ * extracted by the parser.  Parser specific methods may be available to
+ * perform common tasks.
+ *
+ * @author Fabian Groffen
+ */
+public abstract class MCLParser {
+	/** The String values found while parsing.  Public, you may touch it. */
+	public final String values[];
+	/** The int values found while parsing.  Public, you may touch it. */
+	public final int intValues[];
+	private int colnr;
+
+	/**
+	 * Creates an MCLParser targetted at a given number of field values.
+	 * The lines parsed by an instance of this MCLParser should have
+	 * exactly capacity field values.
+	 *
+	 * @param capacity the number of field values to expect
+	 */
+	protected MCLParser(int capacity) {
+		values = new String[capacity];
+		intValues = new int[capacity];
+	}
+
+	/**
+	 * Parse the given string, and populate the internal field array
+	 * to allow for next() and hasNext() calls.
+	 *
+	 * @param source the String containing the line to parse
+	 * @return value
+	 * @throws MCLParseException if source cannot be (fully) parsed by
+	 * this parser
+	 * @see #next()
+	 * @see #nextInt()
+	 * @see #hasNext()
+	 */
+	abstract public int parse(String source) throws MCLParseException;
+
+	/**
+	 * Repositions the internal field offset to the start, such that the
+	 * next call to next() will return the first field again.
+	 */
+	final public void reset() {
+		colnr = 0;
+	}
+
+	/**
+	 * Returns whether the next call to next() or nextInt() succeeds.
+	 *
+	 * @return true if the next call to next() or nextInt() is bound to
+	 * succeed
+	 * @see #next()
+	 * @see #nextInt()
+	 */
+	final public boolean hasNext() {
+		return colnr < values.length;
+	}
+
+	/**
+	 * Returns the current field value, and advances the field counter
+	 * to the next value.  This method may fail with a RuntimeError if
+	 * the current field counter is out of bounds.  Call hasNext() to
+	 * determine if the call to next() will succeed.
+	 *
+	 * @return the current field value
+	 * @see #nextInt()
+	 * @see #hasNext()
+	 */
+	final public String next() {
+		return values[colnr++];
+	}
+
+	/**
+	 * Returns the current field value as integer, and advances the
+	 * field counter to the next value.  This method has the same
+	 * characteristics as the next() method, apart from returning the
+	 * field value as an integer.
+	 *
+	 * @return the current field value as integer
+	 * @see #next()
+	 */
+	final public int nextInt() {
+		return intValues[colnr++];
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
@@ -0,0 +1,138 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.parser;
+
+import java.nio.CharBuffer;
+
+/**
+ * The StartOfHeaderParser allows easy examination of a start of header
+ * line.  It does not fit into the general MCLParser framework because
+ * it uses a different interface.  While the parser is very shallow, it
+ * requires the caller to know about the header lines that are parsed.
+ * All this parser does is detect the (valid) type of a soheader, and
+ * allow to return the fields in it as integer or string.  An extra
+ * bonus is that it can return if another field should be present in the
+ * soheader.
+ *
+ * @author Fabian Groffen <Fabian.Groffen>
+ */
+public class StartOfHeaderParser {
+	private CharBuffer soh = null;
+	private int len;
+	private int pos;
+
+	/* Query types (copied from sql_query.mx) */
+
+	/** A parse response (not handled) */
+	public final static int Q_PARSE    = '0';
+	/** A tabular response (typical ResultSet) */
+	public final static int Q_TABLE    = '1';
+	/** A response to an update statement, contains number of affected
+	 * rows and generated key-id */
+	public final static int Q_UPDATE   = '2';
+	/** A response to a schema update */
+	public final static int Q_SCHEMA   = '3';
+	/** A response to a transation statement (start, rollback, abort,
+	 * commit) */
+	public final static int Q_TRANS    = '4';
+	/** A tabular response in response to a PREPARE statement containing
+	 * information about the wildcard values that need to be supplied */
+	public final static int Q_PREPARE  = '5';
+	/** A tabular continuation response (for a ResultSet) */
+	public final static int Q_BLOCK    = '6';
+	/** An unknown and unsupported response */
+	public final static int Q_UNKNOWN  =  0 ;
+
+	public final int parse(String in) throws MCLParseException {
+		soh = CharBuffer.wrap(in);
+		soh.get();	// skip the &
+		int type = soh.get();
+		switch (type) {
+			default:
+				throw new MCLParseException("invalid or unknown header", 1);
+			case Q_PARSE:
+			case Q_SCHEMA:
+				len = 0;
+			break;
+			case Q_TABLE:
+			case Q_PREPARE:
+				len = 4;
+				soh.get();
+			break;
+			case Q_UPDATE:
+				len = 2;
+				soh.get();
+			break;
+			case Q_TRANS:
+				len = 1;
+				soh.get();
+			break;
+			case Q_BLOCK:
+				len = 3;
+				soh.get();
+			break;
+		}
+		pos = 0;
+		return type;
+	}
+
+	public final boolean hasNext() {
+		return pos < len;
+	}
+
+	/**
+	 * Returns the next token in the CharBuffer as integer. The value is
+	 * considered to end at the end of the CharBuffer or at a space.  If
+	 * a non-numeric character is encountered an MCLParseException is
+	 * thrown.
+	 *
+	 * @return The next token in the CharBuffer as integer
+	 * @throws MCLParseException if no numeric value could be read
+	 */
+	public final int getNextAsInt() throws MCLParseException {
+		pos++;
+		if (!soh.hasRemaining()) throw
+			new MCLParseException("unexpected end of string", soh.position() - 1);
+		int tmp;
+		char chr = soh.get();
+		// note: don't use Character.isDigit() here, because
+		// we only want ISO-LATIN-1 digits
+		if (chr >= '0' && chr <= '9') {
+			tmp = (int)chr - (int)'0';
+		} else {
+			throw new MCLParseException("expected a digit", soh.position() - 1);
+		}
+
+		while (soh.hasRemaining() && (chr = soh.get()) != ' ') {
+			tmp *= 10;
+			if (chr >= '0' && chr <= '9') {
+				tmp += (int)chr - (int)'0';
+			} else {
+				throw new MCLParseException("expected a digit", soh.position() - 1);
+			}
+		}
+
+		return tmp;
+	}
+
+	public final String getNextAsString() throws MCLParseException {
+		pos++;
+		if (!soh.hasRemaining()) throw
+			new MCLParseException("unexpected end of string", soh.position() - 1);
+		int cnt = 0;
+		soh.mark();
+		while (soh.hasRemaining() && soh.get() != ' ') {
+			cnt++;
+		}
+
+		soh.reset();
+
+		return soh.subSequence(0, cnt).toString();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java
@@ -0,0 +1,183 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.mcl.parser;
+
+/**
+ * The TupleLineParser extracts the values from a given tuple.  The
+ * number of values that are expected are known upfront to speed up
+ * allocation and validation.
+ *
+ * @author Fabian Groffen <Fabian.Groffen>
+ */
+public class TupleLineParser extends MCLParser {
+	/**
+	 * Constructs a TupleLineParser which expects columncount columns.
+	 *
+	 * @param columncount the number of columns in the to be parsed string
+	 */
+	public TupleLineParser(int columncount) {
+		super(columncount);
+	}
+
+	/**
+	 * Parses the given String source as tuple line.  If source cannot
+	 * be parsed, a ParseException is thrown.  The columncount argument
+	 * is used for allocation of the returned array.  While this seems
+	 * illogical, the caller should know this size, since the
+	 * StartOfHeader contains this information.
+	 *
+	 * @param source a String which should be parsed
+	 * @return 0, as there is no 'type' of TupleLine
+	 * @throws ParseException if an error occurs during parsing
+	 */
+	@Override
+	public int parse(String source) throws MCLParseException {
+		int len = source.length();
+		char[] chrLine = new char[len];
+		source.getChars(0, len, chrLine, 0);
+
+		// first detect whether this is a single value line (=) or a
+		// real tuple ([)
+		if (chrLine[0] == '=') {
+			if (values.length != 1)
+				throw new MCLParseException(values.length +
+						" columns expected, but only single value found");
+
+			// return the whole string but the leading =
+			values[0] = source.substring(1);
+
+			// reset colnr
+			reset();
+
+			return 0;
+		}
+
+		// extract separate fields by examining string, char for char
+		boolean inString = false, escaped = false;
+		int cursor = 2, column = 0, i = 2;
+		StringBuilder uesc = new StringBuilder();
+		for (; i < len; i++) {
+			switch(chrLine[i]) {
+				default:
+					escaped = false;
+				break;
+				case '\\':
+					escaped = !escaped;
+				break;
+				case '"':
+					/**
+					 * If all strings are wrapped between two quotes, a \" can
+					 * never exist outside a string. Thus if we believe that we
+					 * are not within a string, we can safely assume we're about
+					 * to enter a string if we find a quote.
+					 * If we are in a string we should stop being in a string if
+					 * we find a quote which is not prefixed by a \, for that
+					 * would be an escaped quote. However, a nasty situation can
+					 * occur where the string is like "test \\" as obvious, a
+					 * test for a \ in front of a " doesn't hold here for all
+					 * cases. Because "test \\\"" can exist as well, we need to
+					 * know if a quote is prefixed by an escaping slash or not.
+					 */
+					if (!inString) {
+						inString = true;
+					} else if (!escaped) {
+						inString = false;
+					}
+
+					// reset escaped flag
+					escaped = false;
+				break;
+				case '\t':
+					if (!inString &&
+						(i > 0 && chrLine[i - 1] == ',') ||
+						(i + 1 == len - 1 && chrLine[++i] == ']')) // dirty
+					{
+						// split!
+						if (chrLine[cursor] == '"' &&
+							chrLine[i - 2] == '"')
+						{
+							// reuse the StringBuilder by cleaning it
+							uesc.delete(0, uesc.length());
+							// prevent capacity increasements
+							uesc.ensureCapacity((i - 2) - (cursor + 1));
+							for (int pos = cursor + 1; pos < i - 2; pos++) {
+								if (chrLine[pos] == '\\' && pos + 1 < i - 2) {
+									pos++;
+									// strToStr and strFromStr in gdk_atoms.mx only
+									// support \t \n \\ \" and \377
+									switch (chrLine[pos]) {
+										case '\\':
+											uesc.append('\\');
+										break;
+										case 'n':
+											uesc.append('\n');
+										break;
+										case 't':
+											uesc.append('\t');
+										break;
+										case '"':
+											uesc.append('"');
+										break;
+										case '0': case '1': case '2': case '3':
+											// this could be an octal number, let's check it out
+											if (pos + 2 < i - 2 &&
+												chrLine[pos + 1] >= '0' && chrLine[pos + 1] <= '7' &&
+												chrLine[pos + 2] >= '0' && chrLine[pos + 2] <= '7'
+											) {
+												// we got the number!
+												try {
+													uesc.append((char)(Integer.parseInt("" + chrLine[pos] + chrLine[pos + 1] + chrLine[pos + 2], 8)));
+													pos += 2;
+												} catch (NumberFormatException e) {
+													// hmmm, this point should never be reached actually...
+													throw new AssertionError("Flow error, should never try to parse non-number");
+												}
+											} else {
+												// do default action if number seems not to be correct
+												uesc.append(chrLine[pos]);
+											}
+										break;
+										default:
+											// this is wrong, just ignore the escape, and print the char
+											uesc.append(chrLine[pos]);
+										break;
+									}
+								} else {
+									uesc.append(chrLine[pos]);
+								}
+							}
+
+							// put the unescaped string in the right place
+							values[column++] = uesc.toString();
+						} else if ((i - 1) - cursor == 4 &&
+								source.indexOf("NULL", cursor) == cursor)
+						{
+							values[column++] = null;
+						} else {
+							values[column++] =
+								source.substring(cursor, i - 1);
+						}
+						cursor = i + 1;
+					}
+
+					// reset escaped flag
+					escaped = false;
+				break;
+			}
+		}
+		// check if this result is of the size we expected it to be
+		if (column != values.length)
+			throw new MCLParseException("illegal result length: " + column + "\nlast read: " + (column > 0 ? values[column - 1] : "<none>"));
+
+		// reset colnr
+		reset();
+		
+		return 0;
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/merovingian/Control.java
@@ -0,0 +1,401 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.merovingian;
+
+import nl.cwi.monetdb.mcl.net.MapiSocket;
+import nl.cwi.monetdb.mcl.io.*;
+import nl.cwi.monetdb.mcl.MCLException;
+import nl.cwi.monetdb.mcl.parser.MCLParseException;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintStream;
+import java.net.Socket;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * A Control class to perform operations on a remote merovingian
+ * instance, using the TCP control protocol.
+ * 
+ * This class implements the protocol specific bits to perform all
+ * possible actions against a merovingian server that has remote control
+ * facilities enabled.
+ * <br />
+ * In the merovingian world, other merovingians in the vicinity are
+ * known to each merovingian, allowing to perform cluster wide actions.
+ * The implementation taken in this class is to require one known
+ * merovingian to get insight in the entire network.  Note that
+ * connecting to a merovingian requires a passphrase that is likely to
+ * be different for each merovingian.
+ *
+ * @author Fabian Groffen
+ * @version 1.0
+ */
+public class Control {
+	/** The host to connect to */
+	private final String host;
+	/** The port to connect to */
+	private final int port;
+	/** The passphrase to use when connecting */
+	private final String passphrase;
+	/** The file we should write MapiSocket debuglog to */
+	private String debug;
+
+
+	/**
+	 * Constructs a new Control object.
+	 *
+	 * @throws IllegalArgumentException if host, port or passphrase are
+	 * null or &lt;= 0
+	 */
+	public Control(String host, int port, String passphrase)
+		throws IllegalArgumentException
+	{
+		this.host = host;
+		this.port = port;
+		this.passphrase = passphrase;
+	}
+
+	/**
+	 * Instructs to write a MCL protocol debug log to the given file.
+	 * This affects any newly performed command, and can be changed
+	 * inbetween commands.  Passing null to this method disables the
+	 * debug log.
+	 *
+	 * @param filename the filename to write debug information to, or null
+	 */
+	public void setDebug(String filename) {
+		this.debug = filename;
+	}
+
+	private String controlHash(String pass, String salt) {
+		long ho;
+		long h = 0;
+
+		/* use a very simple hash function designed for a single int val
+		 * (hash buckets), we can make this more interesting if necessary in
+		 * the future.
+		 * http://www.cs.hmc.edu/~geoff/classes/hmc.cs070.200101/homework10/hashfuncs.html */
+
+		for (int i = 0; i < pass.length(); i++) {
+			ho = h & 0xF8000000L;
+			h <<= 5;
+			h &= 0xFFFFFFFFL;
+			h ^= ho >>> 27;
+			h ^= (int)(pass.charAt(i));
+		}
+
+		for (int i = 0; i < salt.length(); i++) {
+			ho = h & 0xF8000000L;
+			h <<= 5;
+			h &= 0xFFFFFFFFL;
+			h ^= ho >> 27;
+			h ^= (int)(salt.charAt(i));
+		}
+
+		return(Long.toString(h));
+	}
+	
+	final static private String RESPONSE_OK = "OK";
+
+	private List<String> sendCommand(
+			String database, String command, boolean hasOutput)
+		throws MerovingianException, IOException
+	{
+		BufferedMCLReader min;
+		BufferedMCLWriter mout;
+		MapiSocket ms = new MapiSocket();
+		ms.setDatabase("merovingian");
+		ms.setLanguage("control");
+		if (debug != null)
+			ms.debug(debug);
+		try {
+			ms.connect(host, port, "monetdb", passphrase);
+			min = ms.getReader();
+			mout = ms.getWriter();
+		} catch (MCLParseException e) {
+			throw new MerovingianException(e.getMessage());
+		} catch (MCLException e) {
+			throw new MerovingianException(e.getMessage());
+		} catch (AssertionError e) { // mcl panics
+			ms.close();
+			
+			// Try old protocol instead
+			Socket s;
+			PrintStream out;
+			BufferedReader in;
+			s = new Socket(host, port);
+			out = new PrintStream(s.getOutputStream());
+			in = new BufferedReader(
+					new InputStreamReader(s.getInputStream()));
+			try {
+				/* login ritual, step 1: get challenge from server */
+				String response = in.readLine();
+				if (response == null)
+					throw new MerovingianException("server closed the connection");
+
+				if (!response.startsWith("merovingian:1:") &&
+						!response.startsWith("merovingian:2:"))
+					throw new MerovingianException("unsupported merovingian server");
+
+				String[] tokens = response.split(":");
+				if (tokens.length < 3)
+					throw new MerovingianException("did not understand merovingian server");
+				String version = tokens[1];
+				String token = tokens[2];
+
+				response = controlHash(passphrase, token);
+				if (version.equals("1")) {
+					out.print(response + "\n");
+				} else if (version.equals("2")) {
+					// we only support control mode for now
+					out.print(response + ":control\n");
+				}
+
+				response = in.readLine();
+				if (response == null) {
+					throw new MerovingianException("server closed the connection");
+				}
+
+				if (!response.equals(RESPONSE_OK)) {
+					throw new MerovingianException(response);
+				}
+
+				/* send command, form is simple: "<db> <cmd>\n" */
+				out.print(database + " " + command + "\n");
+
+				/* Response has the first line either "OK\n" or an error
+				 * message.  In case of a command with output, the data will
+				 * follow the first line */
+				response = in.readLine();
+				if (response == null) {
+					throw new MerovingianException("server closed the connection");
+				}
+				if (!response.equals(RESPONSE_OK)) {
+					throw new MerovingianException(response);
+				}
+
+				if (!hasOutput)
+					return null;
+
+				ArrayList<String> l = new ArrayList<String>();
+				while ((response = in.readLine()) != null) {
+					l.add(response);
+				}
+				return l;
+			} finally {
+				in.close();
+				out.close();
+				s.close();
+			}
+		}
+
+		mout.writeLine(database + " " + command + "\n");
+		ArrayList<String> l = new ArrayList<String>();
+		String tmpLine = min.readLine();
+		int linetype = min.getLineType();
+		if (linetype == BufferedMCLReader.ERROR)
+			throw new MerovingianException(tmpLine.substring(6));
+		if (linetype != BufferedMCLReader.RESULT)
+			throw new MerovingianException("unexpected line: " + tmpLine);
+		if (!tmpLine.substring(1).equals(RESPONSE_OK))
+			throw new MerovingianException(tmpLine.substring(1));
+		tmpLine = min.readLine();
+		linetype = min.getLineType();
+		while (linetype != BufferedMCLReader.PROMPT) {
+			if (linetype != BufferedMCLReader.RESULT)
+				throw new MerovingianException("unexpected line: " +
+						tmpLine);
+
+			l.add(tmpLine.substring(1));
+
+			tmpLine = min.readLine();
+			linetype = min.getLineType();
+		}
+
+		ms.close();
+		return l;
+	}
+
+	public void start(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "start", false);
+	}
+
+	public void stop(String database)
+		throws MerovingianException, IOException 
+	{   
+		sendCommand(database, "stop", false);
+	}
+
+	public void kill(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "kill", false);
+	}
+
+	public void create(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "create", false);
+	}
+
+	public void destroy(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "destroy", false);
+	}
+
+	public void lock(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "lock", false);
+	}
+
+	public void release(String database)
+		throws MerovingianException, IOException
+	{
+		sendCommand(database, "release", false);
+	}
+
+	public void rename(String database, String newname)
+		throws MerovingianException, IOException
+	{
+		if (newname == null)
+			newname = ""; /* force error from merovingian */
+
+		sendCommand(database, "name=" + newname, false);
+	}
+
+	/**
+	 * Sets property for database to value.  If value is null, the
+	 * property is unset, and its inherited value becomes active again.
+	 *
+	 * @param database the target database
+	 * @param property the property to set value for
+	 * @param value the value to set
+	 * @throws MerovingianException if performing the command failed at
+	 *         the merovingian side
+	 * @throws IOException if connecting to or communicating with
+	 *         merovingian failed
+	 */
+	public void setProperty(String database, String property, String value)
+		throws MerovingianException, IOException
+	{
+		/* inherit: set to empty string */
+		if (value == null)
+			value = "";
+
+		sendCommand(database, property + "=" + value, false);
+	}
+
+	public void inheritProperty(String database, String property)
+		throws MerovingianException, IOException
+	{
+		setProperty(database, property, null);
+	}
+
+	public Properties getProperties(String database)
+		throws MerovingianException, IOException
+	{
+		Properties ret = new Properties();
+		List<String> response = sendCommand(database, "get", true);
+		for (String responseLine : response) {
+			if (responseLine.startsWith("#"))
+				continue;
+			int pos = responseLine.indexOf("=");
+			if (pos > 0) {
+				ret.setProperty(
+						responseLine.substring(0, pos),
+						responseLine.substring(pos + 1, responseLine.length()));
+			}
+		}
+		return ret;
+	}
+
+	public Properties getDefaultProperties()
+		throws MerovingianException, IOException
+	{
+		return(getProperties("#defaults"));
+	}
+
+	public SabaothDB getStatus(String database)
+		throws MerovingianException, IOException
+	{
+		List<String> response = sendCommand(database, "status", true);
+		if (response.isEmpty())
+			throw new MerovingianException("communication error");
+		return new SabaothDB(response.get(0));
+	}
+	
+	/**
+	 * Test whether a specific database exists. 
+	 * 
+	 * @param database
+	 * @return true, iff database already exists.
+	 * @throws MerovingianException
+	 * @throws IOException
+	 */
+	public boolean exists(String database)
+		throws MerovingianException, IOException
+	{
+		List<SabaothDB> all = getAllStatuses();
+		for (SabaothDB db : all) {
+			if (db.getName().equals(database)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public List<SabaothDB> getAllStatuses()
+		throws MerovingianException, IOException
+	{
+		List<SabaothDB> l = new ArrayList<SabaothDB>();
+		List<String> response = sendCommand("#all", "status", true);
+		try {
+			for (String responseLine : response) {
+				l.add(new SabaothDB(responseLine));
+			}
+		} catch (IllegalArgumentException e) {
+			throw new MerovingianException(e.getMessage());
+		}
+		return Collections.unmodifiableList(l);
+	}
+
+	public List<URI> getAllNeighbours()
+		throws MerovingianException, IOException
+	{
+		List<URI> l = new ArrayList<URI>();
+		List<String> response = sendCommand("anelosimus", "eximius", true);
+		try {
+			for (String responseLine : response) {
+				// format is <db>\t<uri>
+				String[] parts = responseLine.split("\t", 2);
+				if (parts.length != 2)
+					throw new MerovingianException("invalid entry: " +
+							responseLine);
+				if (parts[0].equals("*")) {
+					l.add(new URI(parts[1]));
+				} else {
+					l.add(new URI(parts[1] + parts[0]));
+				}
+			}
+		} catch (URISyntaxException e) {
+			throw new MerovingianException(e.getMessage());
+		}
+		return Collections.unmodifiableList(l);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/merovingian/MerovingianException.java
@@ -0,0 +1,25 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.merovingian;
+
+/**
+ * An Exception raised when monetdbd specific problems occur.
+ * 
+ * This class is a shallow wrapper around Exception to identify an
+ * exception as one originating from the monetdbd instance being
+ * communicated with, instead of a locally generated one.
+ *
+ * @author Fabian Groffen
+ * @version 1.0
+ */
+public class MerovingianException extends Exception {
+	public MerovingianException(String reason) {
+		super(reason);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/merovingian/SabaothDB.java
@@ -0,0 +1,246 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.merovingian;
+
+import java.util.*;
+
+/**
+ * Implementation of the Sabaoth C-struct as Java object.
+ * 
+ * This Class implements a parser for the string representation of a
+ * sabaoth information struct as returned by monetdbd.
+ * <br />
+ * Currently this class implements version 1 and 2 of the sabdb
+ * serialisation.
+ *
+ * @version 2.0
+ */
+public class SabaothDB {
+	/** The name of the database */
+	private String dbname;
+	/** The URI how to connect to this database, or null if not
+	 * shared */
+	private String uri;
+	/** Whether or not the database is under maintenance */
+	private boolean locked;
+	/** The state of this database, one of SABdbState */
+	private SABdbState state;
+	/** A list of Strings representing the available scenarios of this
+	 * database */
+	private String[] scenarios;
+	/** The number of times this database was started */
+	private int startCounter;
+	/** The number of times this database was stopped */
+	private int stopCounter;
+	/** The number of times this database has crashed */
+	private int crashCounter;
+	/** The number of seconds this database was running on average */
+	private long avgUptime;
+	/** The maximum number of seconds this database was running */
+	private long maxUptime;
+	/** The minimum number of seconds this database was running */
+	private long minUptime;
+	/** The last time this database crashed, null if never */
+	private Date lastCrash;
+	/** The last time this database was started, null if never */
+	private Date lastStart;
+	/** The last time this database was stopped, null if never */
+	private Date lastStop;
+	/** Whether the last start was a crash */
+	private boolean crashAvg1;
+	/** Average of crashes in the last 10 start attempts */
+	private double crashAvg10;
+	/** Average of crashes in the last 30 start attempts */
+	private double crashAvg30;
+
+	/** The serialised format header */
+	private final String sabdbhdr = "sabdb:";
+
+	/** Sabaoth state enumeration */
+	public enum SABdbState {
+		SABdbIllegal (0),
+		SABdbRunning (1),
+		SABdbCrashed (2),
+		SABdbInactive(3),
+		SABdbStarting(4);
+
+		private final int cValue;
+
+		SABdbState(int cValue) {
+			this.cValue = cValue;
+		}
+
+		public int getcValue() {
+			return(cValue);
+		}
+
+		static SABdbState getInstance(int val) throws IllegalArgumentException {
+			/* using this syntax because I can't find examples that do
+			 * it without it */
+			for (SABdbState s : SABdbState.values()) {
+				if (s.getcValue() == val) {
+					return(s);
+				}
+			}
+			throw new IllegalArgumentException("No such state with value: "
+					+ val);
+		}
+	}
+
+	
+	/**
+	 * Constructs a new SabaothDB object from a String.
+	 *
+	 * @param sabdb the serialised sabdb C-struct
+	 */
+	public SabaothDB(String sabdb)
+		throws IllegalArgumentException
+	{
+		if (sabdb == null)
+			throw new IllegalArgumentException("String is null");
+		if (!sabdb.startsWith(sabdbhdr))
+			throw new IllegalArgumentException("String is not a Sabaoth struct");
+		String[] parts = sabdb.split(":", 3);
+		if (parts.length != 3)
+			throw new IllegalArgumentException("String seems incomplete, " +
+					"expected 3 components, only found " + parts.length);
+		int protover;
+		try {
+			protover = Integer.parseInt(parts[1]);
+		} catch (NumberFormatException e) {
+			throw new IllegalArgumentException("Illegal protocol version: " +
+					parts[1]);
+		}
+		if (protover != 1 && protover != 2)
+			throw new IllegalArgumentException("Unsupported protocol version: " + protover);
+		sabdb = parts[2];
+		parts = sabdb.split(",", -2);
+		if (protover == 1 && parts.length != 16 || protover == 2 && parts.length != 17)
+			throw new IllegalArgumentException("String seems wrong, " +
+					"unexpected number of components: " + parts.length);
+
+		/* Sabaoth sabdb struct */
+		int pc = 0;
+		this.dbname = parts[pc++];
+		if (protover == 1) {
+			this.uri = "<unknown>";
+			int lastslash = this.dbname.lastIndexOf('/');
+			if (lastslash == -1)
+				throw new IllegalArgumentException("invalid path (needs slash): " + this.dbname);
+			this.dbname = this.dbname.substring(lastslash + 1);
+		} else {
+			this.uri = parts[pc++];
+		}
+		this.locked = parts[pc++].equals("1") ? true : false;
+		this.state = SABdbState.getInstance(Integer.parseInt(parts[pc++]));
+		this.scenarios = parts[pc++].split("'");
+		if (protover == 1)  /* skip connections */
+			pc++;
+		/* Sabaoth sabuplog struct */
+		this.startCounter = Integer.parseInt(parts[pc++]);
+		this.stopCounter = Integer.parseInt(parts[pc++]);
+		this.crashCounter = Integer.parseInt(parts[pc++]);
+		this.avgUptime = Long.parseLong(parts[pc++]);
+		this.maxUptime = Long.parseLong(parts[pc++]);
+		this.minUptime = Long.parseLong(parts[pc++]);
+		long t = Long.parseLong(parts[pc++]);
+		if (t == -1) {
+			this.lastCrash = null;
+		} else {
+			this.lastCrash = new Date(t * 1000);
+		}
+		t = Long.parseLong(parts[pc++]);
+		if (t == -1) {
+			this.lastStart = null;
+		} else {
+			this.lastStart = new Date(t * 1000);
+		}
+		if (protover != 1) {
+			t = Long.parseLong(parts[pc++]);
+			if (t == -1) {
+				this.lastStop = null;
+			} else {
+				this.lastStop = new Date(t * 1000);
+			}
+		} else {
+			this.lastStop = null;
+		}
+		this.crashAvg1 = parts[pc++].equals("1") ? true : false;
+		this.crashAvg10 = Double.parseDouble(parts[pc++]);
+		this.crashAvg30 = Double.parseDouble(parts[pc++]);
+	}
+
+	public String getName() {
+		return(dbname);
+	}
+
+	public String getURI() {
+		return(uri);
+	}
+
+	public boolean isLocked() {
+		return(locked);
+	}
+
+	public SABdbState getState() {
+		return(state);
+	}
+
+	public String[] getScenarios() {
+		return(scenarios);
+	}
+
+	public int getStartCount() {
+		return(startCounter);
+	}
+
+	public int getStopCount() {
+		return(stopCounter);
+	}
+
+	public int getCrashCount() {
+		return(crashCounter);
+	}
+
+	public long getAverageUptime() {
+		return(avgUptime);
+	}
+
+	public long getMaximumUptime() {
+		return(maxUptime);
+	}
+
+	public long getMinimumUptime() {
+		return(minUptime);
+	}
+
+	public Date lastCrashed() {
+		return(lastCrash);
+	}
+
+	public Date lastStarted() {
+		return(lastStart);
+	}
+
+	public Date lastStopped() {
+		return(lastStop);
+	}
+
+	public boolean lastStartWasSuccessful() {
+		return(crashAvg1);
+	}
+
+	public double getCrashAverage10() {
+		return(crashAvg10);
+	}
+
+	public double getCrashAverage30() {
+		return(crashAvg30);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/CmdLineOpts.java
@@ -0,0 +1,388 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.util.*;
+import java.io.*;
+
+public class CmdLineOpts {
+	/** the arguments we handle */
+	private Map<String, OptionContainer> opts = new HashMap<String, OptionContainer>();
+	/** the options themself */
+	private List<OptionContainer> options = new ArrayList<OptionContainer>();
+	
+	/** no arguments */
+	public static int CAR_ZERO		= 0;
+	/** always one argument */
+	public static int CAR_ONE		= 1;
+	/** zero or one argument */
+	public static int CAR_ZERO_ONE	= 2;
+	/** zero or many arguments */
+	public static int CAR_ZERO_MANY	= 3;
+	/** one or many arguments */
+	public static int CAR_ONE_MANY	= 4;
+	
+	public CmdLineOpts() {
+	}
+
+	public void addOption(
+			String shorta,
+			String longa,
+			int type,
+			String defaulta,
+			String descriptiona)
+		throws OptionsException {
+		OptionContainer oc =
+			new OptionContainer(
+				shorta,
+				longa,
+				type,
+				defaulta,
+				descriptiona
+			);
+		if (shorta != null) opts.put(shorta, oc);
+		if (longa != null) opts.put(longa, oc);
+	}
+
+	public void removeOption(String name) {
+		OptionContainer oc = opts.get(name);
+		if (oc != null) {
+			opts.remove(oc.shorta);
+			opts.remove(oc.longa);
+		}
+	}
+
+	public OptionContainer getOption(String key) throws OptionsException {
+		OptionContainer ret = opts.get(key);
+		if (ret == null) throw
+			new OptionsException("No such option: " + key);
+
+		return ret;
+	}
+
+	public void processFile(File file) throws OptionsException {
+		// the file is there, parse it and set its settings
+		Properties prop = new Properties();
+		try {
+			FileInputStream in = new FileInputStream(file);
+			try {
+				prop.load(in);
+			} finally {
+				in.close();
+			}
+
+			for (Enumeration<?> e = prop.propertyNames(); e.hasMoreElements(); ) {
+				String key = (String) e.nextElement();
+				OptionContainer option = opts.get(key);
+				if (option == null) throw
+					new OptionsException("Unknown option: " + key);
+				option.resetArguments();
+				option.addArgument(prop.getProperty(key));
+			}
+		} catch (IOException e) {
+			// well... then forget about it
+		}
+	}
+
+	public void processArgs(String args[]) throws OptionsException {
+		// parse and set the command line arguments
+		OptionContainer option = null;
+		int quant = -1;
+		int qcount = 0;
+		boolean moreData = false;
+		for (int i = 0; i < args.length; i++) {
+			if (option == null) {
+				if (args[i].charAt(0) != '-') throw
+					new OptionsException("Unexpected value: " + args[i]);
+
+				// see what kind of argument we have
+				if (args[i].length() == 1)
+					throw new OptionsException("Illegal argument: '-'");
+				if (args[i].charAt(1) == '-') {
+					// we have a long argument
+					// since we don't accept inline values we can take
+					// everything left in the string as argument, unless
+					// there is a = in there...
+					String tmp = args[i].substring(2);
+					int pos = tmp.indexOf('=');
+					if (pos == -1) {
+						option = opts.get(tmp);
+						moreData = false;
+					} else {
+						option = opts.get(tmp.substring(0, pos));
+						// modify the option a bit so the code below
+						// handles the moreData correctly
+						args[i] = "-?" + tmp.substring(pos + 1);
+						moreData = true;
+					}
+				} else if (args[i].charAt(1) == 'X') {
+					// extra argument, same as long argument
+					String tmp = args[i].substring(1);
+					int pos = tmp.indexOf('=');
+					if (pos == -1) {
+						option = opts.get(tmp);
+						moreData = false;
+					} else {
+						option = opts.get(tmp.substring(0, pos));
+						// modify the option a bit so the code below
+						// handles the moreData correctly
+						args[i] = "-?" + tmp.substring(pos + 1);
+						moreData = true;
+					}
+				} else {
+					// single char argument
+					option = opts.get("" + args[i].charAt(1));
+					// is there more data left in the argument?
+					moreData = args[i].length() > 2 ? true : false;
+				}
+
+				if (option != null) {
+					// make sure we overwrite previously set arguments
+					option.resetArguments();
+					int card = option.getCardinality();
+					if (card == CAR_ONE) {
+						if (moreData) {
+							option.addArgument(args[i].substring(2));
+							option = null;
+						} else {
+							quant = 1;
+						}
+					} else if (card == CAR_ZERO_ONE) {
+						option.setPresent();
+						qcount = 1;
+						quant = 2;
+						if (moreData) {
+							option.addArgument(args[i].substring(2));
+							option = null;
+						}
+					} else if (card == CAR_ZERO_MANY) {
+						option.setPresent();
+						qcount = 1;
+						quant = -1;
+						if (moreData) {
+							option.addArgument(args[i].substring(2));
+							qcount++;
+						}
+					} else if (card == CAR_ZERO) {
+						option.setPresent();
+						option = null;
+					}
+				} else {
+					throw new OptionsException("Unknown argument: " + args[i]);
+				}
+			} else {
+				// store the `value'
+				option.addArgument(args[i]);
+				if (++qcount == quant) {
+					quant = 0;
+					qcount = 0;
+					option = null;
+				}
+			}
+		}
+	}
+
+	/**
+	 * Returns a help message for all options loaded.
+	 *
+	 * @return the help message
+	 */
+	public String produceHelpMessage() {
+		// first calculate how much space is necessary for the options
+		int maxlen = 0;
+		for (OptionContainer oc : options) {
+			String shorta = oc.getShort();
+			String longa = oc.getLong();
+			int len = 0;
+			if (shorta != null) len += shorta.length() + 1 + 1;
+			if (longa != null) len += longa.length() + 1 + (longa.charAt(0) == 'X' ? 0 : 1) + 1;
+			// yes, we don't care about branch mispredictions here ;)
+			if (maxlen < len) maxlen = len;
+		}
+		
+		// get the individual strings
+		StringBuilder ret = new StringBuilder();
+		for (OptionContainer oc : options) {
+			ret.append(produceHelpMessage(oc, maxlen));
+		}
+
+		return ret.toString();
+	}
+
+	/**
+	 * Returns the help message for the given OptionContainer.  The
+	 * command line flags will be padded to optwidth spaces to allow for
+	 * aligning.  The description of the flags will be wrapped at 80
+	 * characters.
+	 *
+	 * @param oc the OptionContainer
+	 * @param indentwidth padding width for the command line flags
+	 * @return the help message for the option
+	 */
+	public String produceHelpMessage(OptionContainer oc, int indentwidth) {
+		String desc = oc.getDescription();
+		if (desc == null) return "";
+
+		String shorta = oc.getShort();
+		String longa = oc.getLong();
+		int optwidth = 0;
+		if (shorta != null) optwidth += shorta.length() + 1 + 1;
+		if (longa != null) optwidth += longa.length() + 1 + (longa.charAt(0) == 'X' ? 0 : 1) + 1;
+		int descwidth = 80 - indentwidth;
+
+		// default to with of command line flags if no width given
+		if (indentwidth <= 0) indentwidth = optwidth;
+
+		StringBuilder ret = new StringBuilder();
+
+		// add the command line flags
+		if (shorta != null) ret.append('-').append(shorta).append(' ');
+		if (longa != null) {
+			ret.append('-');
+			if (longa.charAt(0) != 'X') ret.append('-');
+			ret.append(longa).append(' ');
+		}
+
+		for (int i = optwidth; i < indentwidth; i++) ret.append(' ');
+		// add the description, wrap around words
+		int pos = 0, lastpos = 0;
+		while (pos < desc.length()) {
+			pos += descwidth;
+			if (lastpos != 0) {
+				for (int i = 0; i < indentwidth; i++) ret.append(' ');
+			}
+			if (pos >= desc.length()) {
+				ret.append(desc.substring(lastpos)).append('\n');
+				break;
+			}
+			int space;
+			for (space = pos; desc.charAt(space) != ' '; space--) {
+				if (space == 0) {
+					space = pos;
+					break;
+				}
+			}
+			pos = space;
+			ret.append(desc.substring(lastpos, pos)).append('\n');
+			while (desc.charAt(pos) == ' ') pos++;
+			lastpos = pos;
+		}
+
+		return ret.toString();
+	}
+
+	public class OptionContainer {
+		int cardinality;
+		String shorta;
+		String longa;
+		List<String> values = new ArrayList<String>();
+		String name;
+		String defaulta;
+		String descriptiona;
+		boolean present;
+
+		public OptionContainer(
+				String shorta,
+				String longa,
+				int cardinality,
+				String defaulta,
+				String descriptiona)
+			throws IllegalArgumentException
+		{
+			this.cardinality = cardinality;
+			this.shorta = shorta;
+			this.longa = longa;
+			this.defaulta = defaulta;
+			this.descriptiona = descriptiona;
+			this.present = false;
+
+			if (cardinality != CAR_ZERO &&
+					cardinality != CAR_ONE &&
+					cardinality != CAR_ZERO_ONE &&
+					cardinality != CAR_ZERO_MANY &&
+					cardinality != CAR_ONE_MANY)
+				throw new IllegalArgumentException("unknown cardinality");
+			if (shorta != null && shorta.length() != 1) throw
+				new IllegalArgumentException("short option should consist of exactly one character");
+			if (shorta == null && longa == null) throw
+				new IllegalArgumentException("either a short or long argument should be given");
+			if ((cardinality == CAR_ZERO ||
+					cardinality == CAR_ZERO_ONE ||
+					cardinality == CAR_ZERO_MANY) &&
+					defaulta != null) {
+				throw new IllegalArgumentException("cannot specify a default for a (possible) zero argument option");
+			}
+
+			name = (longa != null) ? longa : shorta;
+			
+			options.add(this);
+		}
+
+		public void resetArguments() {
+			values.clear();
+		}
+
+		public void addArgument(String val) throws OptionsException {
+			if (cardinality == CAR_ZERO) {
+				throw new OptionsException("option " + name + " does not allow arguments");
+			} else if ((cardinality == CAR_ONE ||
+					cardinality == CAR_ZERO_ONE) &&
+					values.size() >= 1) {
+				throw new OptionsException("option " + name + " does at max allow only one argument");
+			}
+			// we can add it
+			values.add(val);
+			setPresent();
+		}
+
+		public void setPresent() {
+			present = true;
+		}
+
+		public boolean isPresent() {
+			return present;
+		}
+
+		public int getCardinality() {
+			return cardinality;
+		}
+
+		public int getArgumentCount() {
+			return values.size();
+		}
+
+		public String getArgument() {
+			String ret = getArgument(1);
+			if (ret == null) ret = defaulta;
+			return ret;
+		}
+
+		public String getArgument(int index) {
+			String[] args = getArguments();
+			if (index < 1 || index > args.length) return null;
+			return args[index - 1];
+		}
+
+		public String[] getArguments() {
+			return values.toArray(new String[values.size()]);
+		}
+
+		public String getShort() {
+			return shorta;
+		}
+
+		public String getLong() {
+			return longa;
+		}
+
+		public String getDescription() {
+			return descriptiona;
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/Exporter.java
@@ -0,0 +1,77 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.io.*;
+import java.sql.*;
+import java.util.Arrays;
+
+
+public abstract class Exporter {
+	protected PrintWriter out;
+	protected boolean useSchema;
+
+	protected Exporter(PrintWriter out) {
+		this.out = out;
+	}
+
+	public abstract void dumpSchema(
+			DatabaseMetaData dbmd,
+			String type,
+			String catalog,
+			String schema,
+			String name) throws SQLException;
+
+	public abstract void dumpResultSet(ResultSet rs) throws SQLException;
+
+	public abstract void setProperty(int type, int value) throws Exception;
+	public abstract int getProperty(int type) throws Exception;
+	
+	//=== shared utilities
+	
+	public void useSchemas(boolean use) {
+		useSchema = use;
+	}
+	
+	/**
+	 * returns the given string between two double quotes for usage as
+	 * identifier such as column or table name in SQL queries.
+	 *
+	 * @param in the string to quote
+	 * @return the quoted string
+	 */
+	protected static String dq(String in) {
+		return "\"" + in.replaceAll("\\\\", "\\\\\\\\").replaceAll("\"", "\\\\\"") + "\"";
+	}
+
+	/**
+	 * returns the given string between two single quotes for usage as
+	 * string literal in SQL queries.
+	 *
+	 * @param in the string to quote
+	 * @return the quoted string
+	 */
+	protected static String q(String in) {
+		return "'" + in.replaceAll("\\\\", "\\\\\\\\").replaceAll("'", "\\\\'") + "'";
+	}
+
+	/**
+	 * Simple helper function to repeat a given character a number of
+	 * times.
+	 *
+	 * @param chr the character to repeat
+	 * @param cnt the number of times to repeat chr
+	 * @return a String holding cnt times chr
+	 */
+	protected static String repeat(char chr, int cnt) {
+		char[] buf = new char[cnt];
+		Arrays.fill(buf, chr);
+		return new String(buf);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/Extract.java
@@ -0,0 +1,67 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+
+/**
+ * This file contains a function to extract files from its including Jar
+ * package.
+ *
+ * @author Ying Zhang <Y.Zhang@cwi.nl>
+ * @version 0.1
+ */
+
+public class Extract {
+	private static final int DEFAULT_BUFSIZE = 16386;
+
+    public Extract() {}
+
+    /**
+     * Extracts a file from the Jar package which includes this class to
+     * the given destination
+     * @param fromFile The file to extract, including it absolute path
+     * inside its including Jar package.
+     * @param toFile Destination for the extracted file
+     * @throws FileNotFoundException If the file to extract can not be
+     * found in its including Jar package.
+     * @throws IOException If any error happens during
+     * creating/reading/writing files.
+     */
+	public static void extractFile(String fromFile, String toFile)
+		throws FileNotFoundException, IOException
+	{
+		char[] cbuf = new char[DEFAULT_BUFSIZE];
+		int ret = 0;
+
+		InputStream is = new Extract().getClass().getResourceAsStream(fromFile);
+
+		if(is == null) {
+			throw new FileNotFoundException("File " + fromFile +
+					" does not exist in the JAR package.");
+		}
+
+		BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+		FileWriter writer = new FileWriter(toFile, false);
+
+		ret = reader.read(cbuf, 0, DEFAULT_BUFSIZE);
+		while(ret > 0){
+			writer.write(cbuf, 0, ret);
+			ret = reader.read(cbuf, 0, DEFAULT_BUFSIZE);
+		}
+		reader.close();
+		writer.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/OptionsException.java
@@ -0,0 +1,17 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+public class OptionsException extends Exception {
+	static final long serialVersionUID = 42L;	// needed to prevent: warning: [serial] serializable class OptionsException has no definition of serialVersionUID
+
+	public OptionsException(String reason) {
+		super(reason);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/SQLExporter.java
@@ -0,0 +1,503 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.io.PrintWriter;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.Stack;
+import java.util.TreeMap;
+
+public class SQLExporter extends Exporter {
+	private int outputMode;
+	private Stack<String> lastSchema;
+
+	public final static int TYPE_OUTPUT	= 1;
+	public final static int VALUE_INSERT	= 0;
+	public final static int VALUE_COPY	= 1;
+	public final static int VALUE_TABLE	= 2;
+
+	public SQLExporter(PrintWriter out) {
+		super(out);
+	}
+
+	/**
+	 * A helper method to generate SQL CREATE code for a given table.
+	 * This method performs all required lookups to find all relations and
+	 * column information, as well as additional indices.
+	 *
+	 * @param dbmd a DatabaseMetaData object to query on (not null)
+	 * @param type the type of the object, e.g. VIEW, TABLE (not null)
+	 * @param catalog the catalog the object is in
+	 * @param schema the schema the object is in (not null)
+	 * @param name the table to describe in SQL CREATE format (not null)
+	 * @throws SQLException if a database related error occurs
+	 */
+	public void dumpSchema(
+			DatabaseMetaData dbmd,
+			String type,
+			String catalog,
+			String schema,
+			String name)
+		throws SQLException
+	{
+		assert dbmd != null;
+		assert type != null;
+		assert schema != null;
+		assert name != null;
+
+		String fqname = (!useSchema ? dq(schema) + "." : "") + dq(name);
+
+		if (useSchema)
+			changeSchema(schema);
+
+		// handle views directly
+		if (type.indexOf("VIEW") != -1) {
+			String[] types = new String[1];
+			types[0] = type;
+			ResultSet tbl = dbmd.getTables(catalog, schema, name, types);
+			if (!tbl.next()) throw new SQLException("Whoops no meta data for view " + fqname);
+
+			// This will probably only work for MonetDB
+			String remarks = tbl.getString("REMARKS");	// for MonetDB driver this contains the view definition
+			if (remarks == null) {
+				out.println("-- invalid " + type + " " + fqname + ": no definition found");
+			} else {
+				out.print("CREATE " + type + " " + fqname + " AS ");
+				out.println(remarks.replaceFirst("create view [^ ]+ as", "").trim());
+			}
+			return;
+		}
+
+		int i;
+		String s;
+		out.println("CREATE " + type + " " + fqname + " (");
+
+		// add all columns with their type, nullability and default definition
+		ResultSet cols = dbmd.getColumns(catalog, schema, name, null);
+		ResultSetMetaData rsmd = cols.getMetaData();
+		int colwidth = rsmd.getColumnDisplaySize(cols.findColumn("COLUMN_NAME"));
+		int typewidth = rsmd.getColumnDisplaySize(cols.findColumn("TYPE_NAME"));
+		for (i = 0; cols.next(); i++) {
+			if (i > 0) out.println(",");
+			// print column name
+			s = dq(cols.getString("COLUMN_NAME"));
+			out.print("\t" + s + repeat(' ', (colwidth - s.length()) + 3));
+
+			s = cols.getString("TYPE_NAME");
+			int ctype = cols.getInt("DATA_TYPE");
+			int size = cols.getInt("COLUMN_SIZE");
+			int digits = cols.getInt("DECIMAL_DIGITS");
+			// small hack to get desired behaviour: set digits when we
+			// have a time or timestamp with time zone and at the same
+			// time masking the internal types
+			if (s.equals("timetz")) {
+				digits = 1;
+				s = "time";
+			} else if (s.equals("timestamptz")) {
+				digits = 1;
+				s = "timestamp";
+			}
+			// print column type
+			out.print(s + repeat(' ', typewidth - s.length()));
+
+			// do some MonetDB type specifics
+			switch (ctype) {
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+				case Types.CLOB:
+				case Types.BLOB:
+				case Types.FLOAT:
+					if (size > 0)
+						out.print("(" + size + ")");
+					break;
+				case Types.TIME:
+				case Types.TIMESTAMP:
+					if (size > 1)
+				 		out.print("(" + (size - 1) + ")");
+					if (digits != 0)
+						out.print(" WITH TIME ZONE");
+					break;
+				case Types.DECIMAL:
+				case Types.NUMERIC:
+					if (digits != 0)
+				 		out.print("(" + size + "," + digits + ")");
+					else
+				 		out.print("(" + size + ")");
+					break;
+			}
+			if (cols.getInt("NULLABLE") == DatabaseMetaData.columnNoNulls)
+				out.print("\tNOT NULL");
+			if ((s = cols.getString("COLUMN_DEF")) != null)
+				out.print("\tDEFAULT " + q(s));
+		}
+		cols.close();
+
+		// add the primary key constraint definition
+		// unfortunately some idiot defined that getPrimaryKeys()
+		// returns the primary key columns sorted by column name, not
+		// key sequence order.  So we have to sort ourself :(
+		cols = dbmd.getPrimaryKeys(catalog, schema, name);
+		// first make an 'index' of the KEY_SEQ column
+		SortedMap<Integer, Integer> seqIndex = new TreeMap<Integer, Integer>();
+		for (i = 1; cols.next(); i++) {
+			seqIndex.put(
+					Integer.valueOf(cols.getInt("KEY_SEQ")),
+					Integer.valueOf(i));
+		}
+		if (seqIndex.size() > 0) {
+			// terminate the previous line
+			out.println(",");
+			cols.absolute(1);
+			out.print("\tCONSTRAINT " + dq(cols.getString("PK_NAME")) +
+				" PRIMARY KEY (");
+			i = 0;
+			for (Iterator<Map.Entry<Integer, Integer>> it = seqIndex.entrySet().iterator();
+					it.hasNext(); i++)
+			{
+				Map.Entry<Integer, Integer> e = it.next();
+				cols.absolute(e.getValue().intValue());
+				if (i > 0)
+					out.print(", ");
+				out.print(dq(cols.getString("COLUMN_NAME")));
+			}
+			out.print(")");
+		}
+		cols.close();
+
+		// add unique constraint definitions
+		cols = dbmd.getIndexInfo(catalog, schema, name, true, true);
+		while (cols.next()) {
+			String idxname = cols.getString("INDEX_NAME");
+			out.println(",");
+			out.print("\tCONSTRAINT " + dq(idxname) + " UNIQUE (" +
+				dq(cols.getString("COLUMN_NAME")));
+
+			boolean next;
+			while ((next = cols.next()) && idxname != null &&
+					idxname.equals(cols.getString("INDEX_NAME"))) {
+				out.print(", " + dq(cols.getString("COLUMN_NAME")));
+			}
+			// go back one, we've gone one too far
+			if (next)
+				cols.previous();
+
+			out.print(")");
+		}
+		cols.close();
+
+		// add foreign keys definitions
+		cols = dbmd.getImportedKeys(catalog, schema, name);
+		while (cols.next()) {
+			out.println(",");
+			out.print("\tCONSTRAINT " + dq(cols.getString("FK_NAME")) + " FOREIGN KEY (");
+
+			boolean next;
+			Set<String> fk = new LinkedHashSet<String>();
+			fk.add(cols.getString("FKCOLUMN_NAME").intern());
+			Set<String> pk = new LinkedHashSet<String>();
+			pk.add(cols.getString("PKCOLUMN_NAME").intern());
+
+			while ((next = cols.next()) &&
+				cols.getInt("KEY_SEQ") != 1)
+			{
+				fk.add(cols.getString("FKCOLUMN_NAME").intern());
+				pk.add(cols.getString("PKCOLUMN_NAME").intern());
+			}
+			// go back one
+			if (next) cols.previous();
+
+			Iterator<String> it = fk.iterator();
+			for (i = 0; it.hasNext(); i++) {
+				if (i > 0) out.print(", ");
+				out.print(dq(it.next()));
+			}
+			out.print(") ");
+
+			out.print("REFERENCES " + dq(cols.getString("PKTABLE_SCHEM")) +
+				"." + dq(cols.getString("PKTABLE_NAME")) + " (");
+			it = pk.iterator();
+			for (i = 0; it.hasNext(); i++) {
+				if (i > 0) out.print(", ");
+				out.print(dq(it.next()));
+			}
+		 	out.print(")");
+		}
+		cols.close();
+		out.println();
+		// end the create table statement
+		out.println(");");
+
+		// create the non unique indexes defined for this table
+		cols = dbmd.getIndexInfo(catalog, schema, name, false, true);
+		while (cols.next()) {
+			if (!cols.getBoolean("NON_UNIQUE")) {
+				// we already covered this one as UNIQUE constraint in the CREATE TABLE
+				continue;
+			} else {
+				String idxname = cols.getString("INDEX_NAME");
+				out.print("CREATE INDEX " + dq(idxname) + " ON " +
+					dq(cols.getString("TABLE_NAME")) + " (" +
+					dq(cols.getString("COLUMN_NAME")));
+
+				boolean next;
+				while ((next = cols.next()) && idxname != null &&
+					idxname.equals(cols.getString("INDEX_NAME")))
+				{
+					out.print(", " + dq(cols.getString("COLUMN_NAME")));
+				}
+				// go back one
+				if (next) cols.previous();
+
+				out.println(");");
+			}
+		}
+		cols.close();
+	}
+
+	/**
+	 * Dumps the given ResultSet as specified in the form variable.
+	 *
+	 * @param rs the ResultSet to dump
+	 * @throws SQLException if a database error occurs
+	 */
+	public void dumpResultSet(ResultSet rs) throws SQLException {
+		switch (outputMode) {
+			case VALUE_INSERT:
+				resultSetToSQL(rs);
+			break;
+			case VALUE_COPY:
+				resultSetToSQLDump(rs);
+			break;
+			case VALUE_TABLE:
+				resultSetToTable(rs);
+			break;
+		}
+	}
+
+	public void setProperty(int type, int value) throws Exception {
+		switch (type) {
+			case TYPE_OUTPUT:
+				switch (value) {
+					case VALUE_INSERT:
+					case VALUE_COPY:
+					case VALUE_TABLE:
+						outputMode = value;
+					break;
+					default:
+						throw new Exception("Illegal value " + value + " for TYPE_OUTPUT");
+				}
+			break;
+			default:
+				throw new Exception("Illegal type " + type);
+		}
+	}
+
+	public int getProperty(int type) throws Exception {
+		switch (type) {
+			case TYPE_OUTPUT:
+				return outputMode;
+			default:
+				throw new Exception("Illegal type " + type);
+		}
+	}
+
+	private final static int AS_IS = 0;
+	private final static int QUOTE = 1;
+
+	/**
+	 * Helper method to dump the contents of a table in SQL INSERT INTO
+	 * format.
+	 *
+	 * @param rs the ResultSet to convert into INSERT INTO statements
+	 * @param absolute if true, dumps table name prepended with schema name
+	 * @throws SQLException if a database related error occurs
+	 */
+	private void resultSetToSQL(ResultSet rs)
+		throws SQLException
+	{
+		ResultSetMetaData rsmd = rs.getMetaData();
+		String statement = "INSERT INTO ";
+		if (!useSchema) {
+			String schema = rsmd.getSchemaName(1);
+			if (schema != null && schema.length() > 0)
+				statement += dq(schema) + ".";
+		}
+		statement += dq(rsmd.getTableName(1)) + " VALUES (";
+
+		int cols = rsmd.getColumnCount();
+		short[] types = new short[cols +1];
+		for (int i = 1; i <= cols; i++) {
+			switch (rsmd.getColumnType(i)) {
+				case Types.CHAR:
+				case Types.VARCHAR:
+				case Types.LONGVARCHAR:
+				case Types.CLOB:
+				case Types.BLOB:
+				case Types.DATE:
+				case Types.TIME:
+				case Types.TIMESTAMP:
+					types[i] = QUOTE;
+					break;
+				case Types.NUMERIC:
+				case Types.DECIMAL:
+				case Types.BIT: // we don't use type BIT, it's here for completeness
+				case Types.BOOLEAN:
+				case Types.TINYINT:
+				case Types.SMALLINT:
+				case Types.INTEGER:
+				case Types.BIGINT:
+				case Types.REAL:
+				case Types.FLOAT:
+				case Types.DOUBLE:
+					types[i] = AS_IS;
+					break;
+				default:
+					types[i] = AS_IS;
+			}
+		}
+
+		StringBuilder strbuf = new StringBuilder(1024);
+		strbuf.append(statement);
+		while (rs.next()) {
+			for (int i = 1; i <= cols; i++) {
+				String val = rs.getString(i);
+				if (i > 1)
+					strbuf.append(", ");
+				if (val == null || rs.wasNull()) {
+					strbuf.append("NULL");
+				} else {
+					strbuf.append((types[i] == QUOTE) ? q(val) : val);
+				}
+			}
+			strbuf.append(");");
+			out.println(strbuf.toString());
+			// clear the variable part of the buffer contents for next data row
+			strbuf.setLength(statement.length());
+		}
+	}
+
+	public void resultSetToSQLDump(ResultSet rs) {
+		// TODO: write copy into statement
+	}
+
+	/**
+	 * Helper method to write a ResultSet in a convenient table format
+	 * to the output writer.
+	 *
+	 * @param rs the ResultSet to write out
+	 */
+	public void resultSetToTable(ResultSet rs) throws SQLException {
+		ResultSetMetaData md = rs.getMetaData();
+		int cols = md.getColumnCount();
+		// find the optimal display widths of the columns
+		int[] width = new int[cols + 1];
+		boolean[] isSigned = new boolean[cols + 1];	// used for controlling left or right alignment of data
+		for (int j = 1; j < width.length; j++) {
+			int coldisplaysize = md.getColumnDisplaySize(j);
+			int collabellength = md.getColumnLabel(j).length();
+			int maxwidth = (coldisplaysize > collabellength) ? coldisplaysize : collabellength;
+			// the minimum width should be 4 to represent: "NULL"
+			width[j] = (maxwidth > 4) ? maxwidth : 4;
+			isSigned[j] = md.isSigned(j);
+		}
+
+		// use a buffer to construct the text lines
+		StringBuilder strbuf = new StringBuilder(1024);
+
+		// construct the frame lines and header text
+		strbuf.append('+');
+		for (int j = 1; j < width.length; j++)
+			strbuf.append(repeat('-', width[j] + 1) + "-+");
+
+		String outsideLine = strbuf.toString();
+
+		strbuf.setLength(0);	// clear the buffer
+		strbuf.append('|');
+		for (int j = 1; j < width.length; j++) {
+			String colLabel = md.getColumnLabel(j);
+			strbuf.append(' ');
+			strbuf.append(colLabel);
+			strbuf.append(repeat(' ', width[j] - colLabel.length()));
+			strbuf.append(" |");
+		}
+		// print the header text
+		out.println(outsideLine);
+		out.println(strbuf.toString());
+		out.println(outsideLine.replace('-', '='));
+
+		// print formatted data of each row from resultset
+		long count = 0;
+		for (; rs.next(); count++) {
+			strbuf.setLength(0);	// clear the buffer
+			strbuf.append('|');
+			for (int j = 1; j < width.length; j++) {
+				String data = rs.getString(j);
+				if (data == null || rs.wasNull()) {
+					data = "NULL";
+				}
+
+				int filler_length = width[j] - data.length();
+				if (filler_length <= 0) {
+					if (filler_length == 0) {
+						strbuf.append(' ');
+					}
+					strbuf.append(data);
+				} else {
+					strbuf.append(' ');
+					if (isSigned[j]) {
+						// we have a numeric type here, right align
+						strbuf.append(repeat(' ', filler_length));
+						strbuf.append(data);
+					} else {
+						// all other left align
+						strbuf.append(data);
+						strbuf.append(repeat(' ', filler_length));
+					}
+				}
+				strbuf.append(" |");
+			}
+			out.println(strbuf.toString());
+		}
+
+		// print the footer text
+		out.println(outsideLine);
+		out.println(count + " row" + (count != 1 ? "s" : ""));
+	}
+
+	private void changeSchema(String schema) {
+		if (lastSchema == null) {
+			lastSchema = new Stack<String>();
+			lastSchema.push(null);
+		}
+
+		if (!schema.equals(lastSchema.peek())) {
+			if (!lastSchema.contains(schema)) {
+				// create schema
+				out.print("CREATE SCHEMA ");
+				out.print(dq(schema));
+				out.println(";\n");
+				lastSchema.push(schema);
+			}
+		
+			out.print("SET SCHEMA ");
+			out.print(dq(schema));
+			out.println(";\n");
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/SQLRestore.java
@@ -0,0 +1,196 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import nl.cwi.monetdb.mcl.MCLException;
+import nl.cwi.monetdb.mcl.io.BufferedMCLReader;
+import nl.cwi.monetdb.mcl.io.BufferedMCLWriter;
+import nl.cwi.monetdb.mcl.net.MapiSocket;
+import nl.cwi.monetdb.mcl.parser.MCLParseException;
+
+/**
+ * Use this class to restore an SQL dump file.
+ */
+public class SQLRestore {
+
+	private final String _host;
+	private final int _port;
+	private final String _user;
+	private final String _password;
+	private final String _dbName;
+	
+	public SQLRestore(String host, int port, String user, String password, String dbName) throws IOException {
+		if (host == null || user == null || password == null || dbName == null)
+			throw new NullPointerException();
+		_host = host;
+		_port = port;
+		_user = user;
+		_password = password;
+		_dbName = dbName;
+	}
+	
+	private static class ServerResponseReader implements Runnable {
+		private final BufferedMCLReader _is;
+		private final AtomicBoolean _errorState = new AtomicBoolean(false);
+		private String _errorMessage = null; 
+		
+		ServerResponseReader(BufferedMCLReader is) {			
+			_is = is;
+		}
+		
+		public void run() {
+			try {
+				while (true) {
+					String line = _is.readLine();
+					if (line == null)
+						break;
+					int result = _is.getLineType();
+					switch (result) { 
+					case BufferedMCLReader.ERROR:
+						_errorMessage = line;
+						_errorState.set(true);
+						return;
+					default:
+						// do nothing...
+					}
+				}
+				
+			} catch (IOException e) {
+				_errorMessage = e.getMessage();
+				_errorState.set(true);
+			} finally {
+				try {
+					_is.close();
+				} catch (IOException e) {
+					// ignore errors
+				}
+			}
+		}
+		
+		/**
+		 * @return whether the server has responded with an error. Any
+		 *         error is regarded as fatal.
+		 */
+		public boolean inErrorState() {
+			return _errorState.get();
+		}
+		
+		/**
+		 * @return the error message if inErrorState() is true. Behaviour is 
+		 * 		   not defined if called before inErrorState is true.
+		 */
+		public String getErrorMessage() {
+			return _errorMessage;
+		}
+		
+	}
+	
+	/**
+	 * Restores a given SQL dump to the database.
+	 * 
+	 * @param source
+	 * @throws IOException
+	 */
+	public void restore(File source) throws IOException {
+		MapiSocket ms = new MapiSocket();
+		try {
+			ms.setLanguage("sql");
+			ms.setDatabase(_dbName);
+			ms.connect(_host, _port, _user, _password);
+			
+			BufferedMCLWriter os = ms.getWriter();
+			BufferedMCLReader reader = ms.getReader();
+			
+			ServerResponseReader srr = new ServerResponseReader(reader);
+
+			Thread responseReaderThread = new Thread(srr);
+			responseReaderThread.start();
+			try {
+				// FIXME: we assume here that the dump is in system's default encoding
+				BufferedReader sourceData = new BufferedReader(new FileReader(source));
+				try { 
+					os.write('s'); // signal that a new statement (or series of) is coming
+					while(!srr.inErrorState()) {
+						char[] buf = new char[4096];
+						int result = sourceData.read(buf);
+						if (result < 0) 
+							break;				
+						os.write(buf, 0, result);
+					}
+					
+					os.flush(); // mark the end of the statement (or series of)
+					os.close();
+				} finally {
+					sourceData.close();
+				}
+			} finally {
+				try {
+					responseReaderThread.join();
+				} catch (InterruptedException e) {
+					throw new IOException(e.getMessage());
+				}
+				
+				// if the server signalled an error, we should respect it... 
+				if (srr.inErrorState()) {
+					throw new IOException(srr.getErrorMessage());
+				}
+			}
+		} catch (MCLException e) {
+			throw new IOException(e.getMessage());
+		} catch (MCLParseException e) {
+			throw new IOException(e.getMessage());
+		} finally {
+			ms.close();
+		}
+	}
+	
+	public void close() {
+		// do nothing at the moment...
+	}
+	
+	
+	public static void main(String[] args) throws IOException {
+		if (args.length != 6) {
+			System.err.println("USAGE: java " + SQLRestore.class.getName() + 
+					" <host> <port> <user> <password> <dbname> <dumpfile>");
+			System.exit(1);
+		}
+		
+		// parse arguments
+		String host = args[0];
+		int port = Integer.parseInt(args[1]); // FIXME: catch NumberFormatException
+		String user = args[2];
+		String password = args[3];
+		String dbName = args[4];
+		File dumpFile = new File(args[5]);
+		
+		// check arguments
+		if (!dumpFile.isFile() || !dumpFile.canRead()) {
+			System.err.println("Cannot read: " + dumpFile);
+			System.exit(1);
+		}
+		
+		SQLRestore md = new SQLRestore(host, port, user, password, dbName);
+		try {
+			System.out.println("Start restoring " + dumpFile);
+			long duration = -System.currentTimeMillis();
+			md.restore(dumpFile);
+			duration += System.currentTimeMillis();
+			System.out.println("Restoring took: " + duration + "ms");
+		} finally {
+			md.close();
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/src/main/java/nl/cwi/monetdb/util/XMLExporter.java
@@ -0,0 +1,398 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+package nl.cwi.monetdb.util;
+
+import java.io.*;
+import java.sql.*;
+import java.util.*;
+import java.text.*;
+
+public class XMLExporter extends Exporter {
+	private boolean useNil;
+
+	public final static int TYPE_NIL	= 1;
+	public final static int VALUE_OMIT	= 0;
+	public final static int VALUE_XSI	= 1;
+
+	public XMLExporter(PrintWriter out) {
+		super(out);
+	}
+
+	public void dumpSchema(
+			DatabaseMetaData dbmd,
+			String type,
+			String catalog,
+			String schema,
+			String name)
+		throws SQLException
+	{
+		if (type.indexOf("VIEW") != -1) {
+			String[] types = new String[1];
+			types[0] = type;
+			ResultSet tbl = dbmd.getTables(catalog, schema, name, types);
+			if (!tbl.next()) throw new SQLException("Whoops no data for " + name);
+
+			// This will probably only work for MonetDB
+			out.print("<!-- unable to represent: CREATE " + type + " " +
+				(!useSchema ? dq(schema) + "." : "") + dq(name));
+			out.print(" AS ");
+		 	out.print(tbl.getString("REMARKS").trim());
+			out.print(" -->");
+			return;
+		}
+
+		out.println("<xsd:schema>");
+
+		ResultSet cols = dbmd.getColumns(catalog, schema, name, null);
+		String ident;
+		Set<String> types = new HashSet<String>();
+		// walk through the ResultSet and create the types
+		// for a bit of a clue on the types, see this url:
+		// http://books.xmlschemata.org/relaxng/relax-CHP-19.html
+		while (cols.next()) {
+			switch (cols.getInt("DATA_TYPE")) {
+				case java.sql.Types.CHAR:
+					ident = "CHAR_" + cols.getString("COLUMN_SIZE");
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:string\">");
+					out.print("      <xsd:length value=");
+					out.print(dq(cols.getString("COLUMN_SIZE")));
+					out.println(" />");
+					out.println("    </xsd:restriction>");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.VARCHAR:
+				case java.sql.Types.LONGVARCHAR:
+					ident = "VARCHAR_" + cols.getString("COLUMN_SIZE");
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:string\">");
+					out.print("      <xsd:maxLength value=");
+					out.print(dq(cols.getString("COLUMN_SIZE")));
+					out.println(" />");
+					out.println("    </xsd:restriction>");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.CLOB:
+					ident = "CLOB";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:string\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.DECIMAL:
+				case java.sql.Types.NUMERIC:
+					ident = "DECIMAL_" + cols.getString("COLUMN_SIZE") +
+						"_" + cols.getString("DECIMAL_DIGITS");
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:decimal\">");
+					out.print("      <xsd:totalDigits value=");
+					out.print(dq(cols.getString("COLUMN_SIZE")));
+					out.println(" />");
+					out.print("      <xsd:fractionDigits value=");
+					out.print(dq(cols.getString("DECIMAL_DIGITS")));
+					out.println(" />");
+					out.println("    </xsd:restriction>");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.TINYINT:
+					ident = "TINYINT";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:byte\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.SMALLINT:
+					ident = "SMALLINT";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:short\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.INTEGER:
+					ident = "INTEGER";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:integer\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.BIGINT:
+					ident = "BIGINT";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:long\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.BIT:
+				case java.sql.Types.BOOLEAN:
+					ident = "BOOLEAN";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:boolean\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.DATE:
+					ident = "DATE";
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:date\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.TIME:
+					if ("timetz".equals(cols.getString("TYPE_NAME"))) {
+						ident = "TIME_WTZ";
+					} else {
+						ident = "TIME";
+					}
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:time\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+				case java.sql.Types.TIMESTAMP:
+					if ("timestamptz".equals(cols.getString("TYPE_NAME"))) {
+						ident = "TIMESTAMP_WTZ";
+					} else {
+						ident = "TIMESTAMP";
+					}
+					if (types.contains(ident)) break;
+					types.add(ident);
+
+					out.print("  <xsd:simpleType name=");
+					out.print(dq(ident));
+					out.println(">");
+					out.println("    <xsd:restriction base=\"xsd:dateTime\" />");
+					out.println("  </xsd:simpleType>");
+				break;
+			}
+		}
+
+		// rewind the ResultSet
+		cols.beforeFirst();
+
+		// create the RowType
+		out.print("  <xsd:complexType name=");
+		out.print(dq("RowType." + catalog.replaceAll("\\.", "_x002e_") +
+					"." + schema.replaceAll("\\.", "_x002e_") +
+					"." + name.replaceAll("\\.", "_x002e_")));
+		out.println(">");
+		out.println("    <xsd:sequence>");
+		while (cols.next()) {
+			out.print("      <xsd:element name=");
+			out.print(dq(cols.getString("COLUMN_NAME")));
+			out.print(" type=");
+			switch (cols.getInt("DATA_TYPE")) {
+				case java.sql.Types.CHAR:
+					ident = "CHAR_" + cols.getString("COLUMN_SIZE");
+				break;
+				case java.sql.Types.VARCHAR:
+				case java.sql.Types.LONGVARCHAR:
+					ident = "VARCHAR_" + cols.getString("COLUMN_SIZE");
+				break;
+				case java.sql.Types.CLOB:
+					ident = "CLOB";
+				break;
+				case java.sql.Types.DECIMAL:
+				case java.sql.Types.NUMERIC:
+					ident = "DECIMAL_" + cols.getString("COLUMN_SIZE") +
+						"_" + cols.getString("DECIMAL_DIGITS");
+				break;
+				case java.sql.Types.TINYINT:
+					ident = "TINYINT";
+				break;
+				case java.sql.Types.SMALLINT:
+					ident = "SMALLINT";
+				break;
+				case java.sql.Types.INTEGER:
+					ident = "INTEGER";
+				break;
+				case java.sql.Types.BIGINT:
+					ident = "BIGINT";
+				break;
+				case java.sql.Types.BIT:
+				case java.sql.Types.BOOLEAN:
+					ident = "BOOLEAN";
+				break;
+				case java.sql.Types.DATE:
+					ident = "DATE";
+				break;
+				case java.sql.Types.TIME:
+					if ("timetz".equals(cols.getString("TYPE_NAME"))) {
+						ident = "TIME_WTZ";
+					} else {
+						ident = "TIME";
+					}
+				break;
+				case java.sql.Types.TIMESTAMP:
+					if ("timestamptz".equals(cols.getString("TYPE_NAME"))) {
+						ident = "TIMESTAMP_WTZ";
+					} else {
+						ident = "TIMESTAMP";
+					}
+				break;
+				default:
+					ident = "(unknown)";
+				break;
+			}
+			out.print(dq(ident));
+			out.println(" />");
+		}
+		out.println("    </xsd:sequence>");
+		out.println("  </xsd:complexType>");
+
+		out.print("  <xsd:complexType name=");
+		out.print(dq("TableType." + catalog.replaceAll("\\.", "_x002e_") +
+					"." + schema.replaceAll("\\.", "_x002e_") +
+					"." + name.replaceAll("\\.", "_x002e_")));
+		out.println(">");
+		out.println("    <xsd:sequence>");
+		out.print("      <xsd:element name=\"row\" type=");
+		out.print(dq("RowType." + catalog.replaceAll("\\.", "_x002e_") +
+					"." + schema.replaceAll("\\.", "_x002e_") +
+					"." + name.replaceAll("\\.", "_x002e_")));
+		out.println(" minOccurs=\"0\" maxOccurs=\"unbounded\" />");
+		out.println("    </xsd:sequence>");
+		out.println("  </xsd:complexType>");
+
+		out.println("</xsd:schema>");
+	}
+
+	private final static SimpleDateFormat xsd_ts =
+		new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+	private final static SimpleDateFormat xsd_tstz =
+		new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
+
+	/**
+	 * Generates an XML representation of the given ResultSet.
+	 *
+	 * @param rs the ResultSet
+	 */
+	public void dumpResultSet(ResultSet rs) throws SQLException {
+		// write simple XML serialisation
+		ResultSetMetaData rsmd = rs.getMetaData();
+		if (!useSchema) out.println("<" + rsmd.getSchemaName(1) + ">");
+		out.println("<" + rsmd.getTableName(1) + ">");
+		String data;
+		while (rs.next()) {
+			out.println("  <row>");
+			for (int i = 1; i <= rsmd.getColumnCount(); i++) {
+				switch (rsmd.getColumnType(i)) {
+					case java.sql.Types.TIMESTAMP:
+						Timestamp ts = rs.getTimestamp(i);
+						if ("timestamptz".equals(rsmd.getColumnTypeName(i))) {
+							data = xsd_tstz.format(ts).toString();
+						} else {
+							data = xsd_ts.format(ts).toString();
+						}
+					break;
+					default:
+						data = rs.getString(i);
+					break;
+				}
+				if (data == null) {
+					if (useNil) {
+						// "nil" method: write <tag xsi:nil="true" />
+						out.print("    ");
+						out.print("<" + rsmd.getColumnLabel(i));
+						out.println(" xsi:nil=\"true\" />");
+					} else {
+						// This is the "absent" method (of completely
+						// hiding the tag if null
+					}
+				} else {
+					out.print("    ");
+					out.print("<" + rsmd.getColumnLabel(i));
+					if (data.length() == 0) {
+						out.println(" />");
+					} else {
+						out.print(">" + data.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;"));
+						out.println("</" + rsmd.getColumnLabel(i) + ">");
+					}
+				}
+			}
+			out.println("  </row>");
+		}
+		out.println("</" + rsmd.getTableName(1) + ">");
+		if (!useSchema) out.println("</" + rsmd.getSchemaName(1) + ">");
+	}
+
+	public void setProperty(int type, int value) throws Exception {
+		switch (type) {
+			case TYPE_NIL:
+				switch (value) {
+					case VALUE_OMIT:
+						useNil = false;
+					break;
+					case VALUE_XSI:
+						useNil = true;
+					break;
+					default:
+						throw new Exception("Illegal value " + value + " for TYPE_NIL");
+				}
+			break;
+			default:
+				throw new Exception("Illegal type " + type);
+		}
+	}
+
+	public int getProperty(int type) throws Exception {
+		switch (type) {
+			case TYPE_NIL:
+				return useNil ? VALUE_XSI : VALUE_OMIT;
+			default:
+				throw new Exception("Illegal type " + type);
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/BugConcurrent_clients_SF_1504657.java
@@ -0,0 +1,181 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class BugConcurrent_clients_SF_1504657 {
+	public static void main(String[] args) throws Exception{
+		Connection con1 = null, con2 = null, con3 = null;	
+		Statement stmt1 = null, stmt2 = null, stmt3 = null;
+		ResultSet rs1 = null, rs2= null, rs3 = null;
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		con1 = DriverManager.getConnection(args[0]);
+		con2 = DriverManager.getConnection(args[0]);
+		con3 = DriverManager.getConnection(args[0]);
+		stmt1 = con1.createStatement();
+		stmt2 = con2.createStatement();
+		stmt3 = con3.createStatement();
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con1.getAutoCommit());
+		System.out.println("0. true\t" + con2.getAutoCommit());
+		System.out.println("0. true\t" + con3.getAutoCommit());
+
+		// test the creation of a table with concurrent clients
+		try {
+			System.out.println("1.1. create table t1 using client 1...");
+			stmt1.executeUpdate("CREATE TABLE t1 ( id int, name varchar(1024) )");
+			System.out.println("passed :)");
+			System.out.println("1.2. check table existence in client 2...");
+			rs2 = stmt2.executeQuery("SELECT name FROM tables where name LIKE 't1'");
+			while (rs2.next())
+				System.out.println(rs2.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("1.3. check table existence in client 3...");
+			rs3 = stmt3.executeQuery("SELECT name FROM tables where name LIKE 't1'");
+			while (rs3.next())
+				System.out.println(rs3.getString("name"));
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 1 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			con1.close();
+			con2.close();
+			con3.close();
+			System.exit(-1);
+		}
+
+		// test the insertion of values with concurrent clients
+		try {
+			System.out.println("2 insert into t1 using client 1...");
+			stmt1.executeUpdate("INSERT INTO t1 values( 1, 'monetdb' )");
+			System.out.println("passed :)");
+			stmt1.executeUpdate("INSERT INTO t1 values( 2, 'monet' )");
+			System.out.println("passed :)");
+			stmt1.executeUpdate("INSERT INTO t1 values( 3, 'mon' )");
+			System.out.println("passed :)");
+			System.out.println("2.1. check table status with client 1...");
+			rs1 = stmt1.executeQuery("SELECT * FROM t1");
+			while (rs1.next())
+				System.out.println(rs1.getInt("id")+", "+ rs1.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("2.2. check table status with client 2...");
+			rs2 = stmt2.executeQuery("SELECT * FROM t1");
+			while (rs2.next())
+				System.out.println(rs2.getInt("id")+", "+ rs2.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("2.3. check table status with client 3...");
+			rs3 = stmt3.executeQuery("SELECT * FROM t1");
+			while (rs3.next())
+				System.out.println(rs3.getInt("id")+", "+ rs3.getString("name"));
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 2 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			if (rs3 != null) rs3.close();
+			con1.close();
+			con2.close();
+			con3.close();
+			System.exit(-1);
+		}
+
+		// test the insertion of values with concurrent clients
+		try {
+			System.out.println("3 insert into t1 using client 2...");
+			stmt2.executeUpdate("INSERT INTO t1 values( 4, 'monetdb' )");
+			System.out.println("passed :)");
+			stmt2.executeUpdate("INSERT INTO t1 values( 5, 'monet' )");
+			System.out.println("passed :)");
+			stmt2.executeUpdate("INSERT INTO t1 values( 6, 'mon' )");
+			System.out.println("passed :)");
+			System.out.println("3.1. check table status with client 1...");
+			rs1 = stmt1.executeQuery("SELECT * FROM t1");
+			while (rs1.next())
+				System.out.println(rs1.getInt("id")+", "+ rs1.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("3.2. check table status with client 2...");
+			rs2 = stmt2.executeQuery("SELECT * FROM t1");
+			while (rs2.next())
+				System.out.println(rs2.getInt("id")+", "+ rs2.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("3.3. check table status with client 3...");
+			rs3 = stmt3.executeQuery("SELECT * FROM t1");
+			while (rs3.next())
+				System.out.println(rs3.getInt("id")+", "+ rs3.getString("name"));
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 3 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			if (rs3 != null) rs3.close();
+			con1.close();
+			con2.close();
+			con3.close();
+			System.exit(-1);
+		}
+
+		// test the insertion of values with concurrent clients
+		try {
+			System.out.println("4 insert into t1 using client 3...");
+			stmt3.executeUpdate("INSERT INTO t1 values( 7, 'monetdb' )");
+			System.out.println("passed :)");
+			stmt3.executeUpdate("INSERT INTO t1 values( 8, 'monet' )");
+			System.out.println("passed :)");
+			stmt3.executeUpdate("INSERT INTO t1 values( 9, 'mon' )");
+			System.out.println("passed :)");
+			System.out.println("4.1. check table status with client 1...");
+			rs1 = stmt1.executeQuery("SELECT * FROM t1");
+			while (rs1.next())
+				System.out.println(rs1.getInt("id")+", "+ rs1.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("4.2. check table status with client 2...");
+			rs2 = stmt2.executeQuery("SELECT * FROM t1");
+			while (rs2.next())
+				System.out.println(rs2.getInt("id")+", "+ rs2.getString("name"));
+			System.out.println("passed :)");
+			System.out.println("4.3. check table status with client 3...");
+			rs3 = stmt3.executeQuery("SELECT * FROM t1");
+			while (rs3.next())
+				System.out.println(rs3.getInt("id")+", "+ rs3.getString("name"));
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 4 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			if (rs3 != null) rs3.close();
+			con1.close();
+			con2.close();
+			con3.close();
+			System.exit(-1);
+		}
+
+		if (rs1 != null) rs1.close();
+		if (rs2 != null) rs2.close();
+		if (rs3 != null) rs3.close();
+
+		// cleanup
+		try {
+			stmt3.executeUpdate("DROP TABLE t1");
+		} catch (SQLException e) {
+			System.out.println("FAILED to clean up! :( " + e.getMessage());
+		}
+
+		con1.close();
+		con2.close();
+		con3.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/BugConcurrent_sequences.java
@@ -0,0 +1,177 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class BugConcurrent_sequences {
+	public static void main(String[] args) throws Exception {
+		Connection con1 = null, con2 = null;
+		Statement stmt1 = null, stmt2 = null;
+		ResultSet rs1 = null, rs2 = null;
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		con1 = DriverManager.getConnection(args[0]);
+		con2 = DriverManager.getConnection(args[0]);
+		stmt1 = con1.createStatement();
+		stmt2 = con2.createStatement();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con1.getAutoCommit());
+		System.out.println("0. true\t" + con2.getAutoCommit());
+
+		// create a table
+		try {
+			System.out.print("1. create table t1 using client 1... ");
+			stmt1.executeUpdate("CREATE TABLE t1 ( id serial, who varchar(12) )");
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (that sux)
+			System.out.println("FAILED 1 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		// test the insertion of values with concurrent clients
+		try {
+			System.out.print("2. insert into t1 using client 1 and 2... ");
+			stmt1.executeUpdate("INSERT INTO t1(who) VALUES('client1')");
+			System.out.println("client 1 passed :)");
+			con2.setAutoCommit(false);
+			stmt2.executeUpdate("INSERT INTO t1(who) VALUES('client2')");
+			System.out.println("transaction on client 2 :)");
+			stmt1.executeUpdate("INSERT INTO t1(who) VALUES('client1')");
+			System.out.println("client 1 passed :)");
+			try {
+				con2.commit();
+				System.out.println("transaction client 2 PASSED :(");
+				System.exit(-1);
+			} catch (SQLException e) {
+				System.out.println("transaction client 2 failed :)");
+			}
+			con2.setAutoCommit(true);
+			stmt2.executeUpdate("INSERT INTO t1(who) VALUES('client2')");
+			System.out.println("passed :)");
+			System.out.println("2.1. check table status with client 1...");
+			rs1 = stmt1.executeQuery("SELECT * FROM t1");
+			while (rs1.next())
+				System.out.println(rs1.getInt("id") + ", " +
+						rs1.getString("who"));
+			System.out.println("passed :)");
+			System.out.println("2.2. check table status with client 2...");
+			rs2 = stmt2.executeQuery("SELECT * FROM t1");
+			while (rs2.next())
+				System.out.println(rs2.getInt("id") + ", " +
+						rs2.getString("who"));
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 2 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		// drop the table (not dropping the sequence) from client 1
+		try {
+			System.out.print("3.1. drop table t1 using client 1... ");
+			stmt1.executeUpdate("DROP TABLE t1");
+			System.out.println("passed :)");
+			System.out.print("3.1. recreate t1 using client 1... ");
+			stmt1.executeUpdate("CREATE TABLE t1 ( id serial, who varchar(12) )");
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 3 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		// re-establish connection
+		try {
+			System.out.print("x. Reconnecting client 1 and 2... ");
+			con1.close();
+			con2.close();
+			con1 = DriverManager.getConnection(args[0]);
+			con2 = DriverManager.getConnection(args[0]);
+			stmt1 = con1.createStatement();
+			stmt2 = con2.createStatement();
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED x :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		// insert and print, should get 1,2
+		try {
+			System.out.println("4. insert into t1 using client 1 and 2...");
+			stmt1.executeUpdate("INSERT INTO t1(who) VALUES('client1')");
+			System.out.println("passed :)");
+			con2.setAutoCommit(false);
+			stmt2.executeUpdate("INSERT INTO t1(who) VALUES('client2')");
+			con2.commit();
+			con2.setAutoCommit(true);
+			System.out.println("passed :)");
+			System.out.println("4.1. check table status with client 1...");
+			rs1 = stmt1.executeQuery("SELECT * FROM t1 ORDER BY who");
+			for (int cntr = 1; rs1.next(); cntr++) {
+				int id = rs1.getInt("id");
+				System.out.println(id + ", " +
+						rs1.getString("who"));
+				if (id != cntr)
+					throw new SQLException("expected " + cntr + ", got " + id);
+			}
+			System.out.println("passed :)");
+			System.out.println("4.2. check table status with client 2...");
+			rs2 = stmt2.executeQuery("SELECT * FROM t1 ORDER BY who");
+			for (int cntr = 1; rs2.next(); cntr++) {
+				int id = rs2.getInt("id");
+				System.out.println(id + ", " +
+						rs2.getString("who"));
+				if (id != cntr)
+					throw new SQLException("expected " + cntr + ", got " + id);
+			}
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED 4 :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			if (rs1 != null) rs1.close();
+			if (rs2 != null) rs2.close();
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		if (rs1 != null) rs1.close();
+		if (rs2 != null) rs2.close();
+
+		// cleanup
+		try {
+			stmt1.executeUpdate("DROP TABLE t1");
+		} catch (SQLException e) {
+			System.out.println("FAILED to clean up! :( " + e.getMessage());
+		}
+
+		con1.close();
+		con2.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/BugDatabaseMetaData_Bug_3356.java
@@ -0,0 +1,29 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class BugDatabaseMetaData_Bug_3356 {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		DatabaseMetaData dbmd = con.getMetaData();
+		ResultSet rs = dbmd.getColumns("", "sys", "_tables", "id");
+		rs.next();
+		String tableName1 = rs.getString("TABLE_NAME");
+		String tableName2 = rs.getString(3);
+		String isNullable1 = rs.getString("IS_NULLABLE");
+		String isNullable2 = rs.getString(18);
+		System.out.println(tableName1);
+		System.out.println(tableName2);
+		System.out.println(isNullable1);
+		System.out.println(isNullable2);
+		rs.close();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/BugDecimalRound_Bug_3561.java
@@ -0,0 +1,34 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.math.BigDecimal;
+
+public class BugDecimalRound_Bug_3561 {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt1 = con.createStatement();
+		PreparedStatement st;
+		Statement stmt2;
+		ResultSet rs;
+		BigDecimal bd = new BigDecimal("112.125");
+
+		stmt1.executeUpdate("CREATE TABLE bug3561 (d decimal(14,4))");
+		st = con.prepareStatement("INSERT INTO bug3561 VALUES (?)");
+		st.setBigDecimal(1, bd);
+		st.executeUpdate();
+		stmt2 = con.createStatement();
+		rs = stmt2.executeQuery("SELECT d FROM bug3561");
+		while (rs.next())
+			System.out.println(rs.getString(1));
+		rs.close();
+		stmt1.executeUpdate("DROP TABLE bug3561");
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Makefile.ag
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0.  If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+
+EXTRA_DIST = \
+		Test_Cautocommit.java \
+		Test_Clargequery.java \
+		Test_Cmanycon.java \
+		Test_Creplysize.java \
+		Test_Csavepoints.java \
+		Test_Ctransaction.java \
+		Test_Dobjects.java \
+		Test_PSgeneratedkeys.java \
+		Test_PSlargeresponse.java \
+		Test_PSlargeamount.java \
+		Test_PStimedate.java \
+		Test_PStimezone.java \
+		Test_PStypes.java \
+		Test_Rbooleans.java \
+		Test_Rmetadata.java \
+		Test_Rpositioning.java \
+		Test_Rtimedate.java \
+		Test_Sbatching.java \
+		Test_Int128.java \
+		BugConcurrent_clients_SF_1504657.java \
+		BugDatabaseMetaData_Bug_3356.java \
+		BugDecimalRound_Bug_3561.java \
+		build.xml build.properties
+
+ant_jar_jdbctests = {
+	DIR = datadir/monetdb/lib
+	FILES = jdbctests.jar
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Cautocommit.java
@@ -0,0 +1,78 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Cautocommit {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con1 = DriverManager.getConnection(args[0]);
+		Connection con2 = DriverManager.getConnection(args[0]);
+		Statement stmt1 = con1.createStatement();
+		Statement stmt2 = con2.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con1.getAutoCommit());
+		System.out.println("0. true\t" + con2.getAutoCommit());
+
+		// test commit by checking if a change is visible in another connection
+		try {
+			System.out.print("1. create...");
+			stmt1.executeUpdate("CREATE TABLE table_Test_Cautocommit ( id int )");
+			System.out.println("passed :)");
+			System.out.print("2. select...");
+			rs = stmt2.executeQuery("SELECT * FROM table_Test_Cautocommit");
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			con1.close();
+			con2.close();
+			System.exit(-1);
+		}
+
+		// turn off auto commit
+		con1.setAutoCommit(false);
+		con2.setAutoCommit(false);
+
+		// >> false: we just disabled it
+		System.out.println("3. false\t" + con1.getAutoCommit());
+		System.out.println("4. false\t" + con2.getAutoCommit());
+
+		// a change would not be visible now
+		try {
+			System.out.print("5. drop...");
+			stmt2.executeUpdate("DROP TABLE table_Test_Cautocommit");
+			System.out.println("passed :)");
+			System.out.print("6. select...");
+			rs = stmt1.executeQuery("SELECT * FROM table_Test_Cautocommit");
+			System.out.println("passed :)");
+			System.out.print("7. commit...");
+			con2.commit();
+			System.out.println("passed :)");
+			System.out.print("8. select...");
+			rs = stmt1.executeQuery("SELECT * FROM table_Test_Cautocommit");
+			System.out.println("passed :)");
+			System.out.print("9. commit...");
+			con1.commit();
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :(");
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		if (rs != null) rs.close();
+
+		con1.close();
+		con2.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Cforkbomb.java
@@ -0,0 +1,59 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+public class Test_Cforkbomb {
+	private static String args[];
+
+	static class Worker extends Thread {
+		private int id;
+
+		public Worker(int id) {
+			this.id = id;
+		}
+
+		public void run() {
+			try {
+				System.out.print("Establishing Connection " + id + "...");
+				Connection con = DriverManager.getConnection(args[0]);
+				System.out.println(" done...");
+
+				// do something with the connection to test if it works
+				Statement stmt = con.createStatement();
+				ResultSet rs = stmt.executeQuery("SELECT " + id);
+				if (!rs.next()) {
+					System.out.println("thread " + id + " got no response from server :(");
+				} else {
+					if (rs.getInt(1) == id) {
+						System.out.println("thread " + id + ": connection ok");
+					} else {
+						System.out.println("thread " + id + ": got garbage: " + rs.getString(1));
+					}
+				}
+
+				con.close();
+			} catch (SQLException e) {
+				System.out.println("thread " + id + " unhappy: " + e.toString());
+			}
+		}
+	}
+
+	public static void main(String[] args) throws Exception {
+		Test_Cforkbomb.args = args;
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+
+		// just DoS the server full throttle :)
+		int i;
+		for (i = 0; i < 200; i++) {
+			Worker w = new Worker(i);
+			w.start();
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_CisValid.java
@@ -0,0 +1,41 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_CisValid {
+	/* Test that after an error has occurred during a transaction, one can
+	 * still test if the connection is valid or not. 
+	 * The function Connection.isValid() should only return TRUE or FALSE. It
+	 * shall never alter the state of this connection */
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection conn = DriverManager.getConnection(args[0]);
+		Statement stmt = conn.createStatement();
+
+		try {
+			conn.setAutoCommit(false); // start a transaction
+			stmt.execute("SELECT COUNT(*) FROM doesnotexist;"); // let's trigger an error
+		} catch (SQLException e) {
+			// e.printStackTrace();
+			System.err.println("Expected error: " + e);
+
+			try {
+				// test calling conn.isValid()
+				System.out.println("Validating connection: conn.isValid? " + conn.isValid(30));
+				// Can we rollback on this connection without causing an error?
+				conn.rollback();
+			} catch (SQLException e2) {
+				System.err.println("UnExpected error: " + e2);
+			}
+		}
+
+		stmt.close();
+		conn.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Clargequery.java
@@ -0,0 +1,68 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Clargequery {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con1 = DriverManager.getConnection(args[0]);
+		Statement stmt1 = con1.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con1.getAutoCommit());
+
+		final String query = 
+			"-- When a query larger than the send buffer is being " +
+			"sent, a deadlock situation can occur when the server writes " +
+			"data back, blocking because we as client are sending as well " +
+			"and not reading.  Hence, to avoid this deadlock, in JDBC a " +
+			"separate thread is started in the background such that results " +
+			"from the server can be read, while data is still being sent to " +
+			"the server.  To test this, we need to trigger the SendThread " +
+			"being started, which we do with a quite large query.  We " +
+			"construct it by repeating some stupid query plus a comment " +
+			"a lot of times.  And as you're guessing by now, you're reading " +
+			"this stupid comment that we use :)\n" +
+			"select 1;\n";
+
+		int size = 1000;
+		StringBuffer bigq = new StringBuffer(query.length() * size);
+		for (int i = 0; i < size; i++) {
+			bigq.append(query);
+		}
+
+		// test commit by checking if a change is visible in another connection
+		try {
+			System.out.print("1. sending");
+			stmt1.execute(bigq.toString());
+			int i = 1;	// we skip the first "getResultSet()"
+			while (stmt1.getMoreResults() != false) {
+				i++;
+			}
+			if (stmt1.getUpdateCount() != -1) {
+				System.out.println("found an update count for a SELECT query");
+				throw new SQLException("boo");
+			}
+			if (i != size) {
+				System.out.println("expecting " + size + " tuples, only got " + i);
+				throw new SQLException("boo");
+			}
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :(");
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		if (rs != null) rs.close();
+
+		con1.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Cmanycon.java
@@ -0,0 +1,48 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+public class Test_Cmanycon {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		List cons = new ArrayList(100);	// Connections go in here
+
+		try {
+			// spawn a lot of Connections, just for fun...
+			int i;
+			for (i = 0; i < 50; i++) {
+				System.out.print("Establishing Connection " + i + "...");
+				Connection con = DriverManager.getConnection(args[0]);
+				System.out.print(" done...");
+
+				// do something with the connection to test if it works
+				con.setAutoCommit(false);
+				System.out.println(" alive");
+
+				cons.add(con);
+			}
+
+			// now try to nicely close them
+			i = 0;
+			for (Iterator it = cons.iterator(); it.hasNext(); i++) {
+				Connection con = (Connection)(it.next());
+
+				// see if the connection still works
+				System.out.print("Closing Connection " + i + "...");
+				con.setAutoCommit(true);
+				System.out.print(" still alive...");
+				con.close();
+				System.out.println(" done");
+			}
+		} catch (SQLException e) {
+			System.out.println("FAILED! " + e.getMessage());
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Creplysize.java
@@ -0,0 +1,92 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Creplysize {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con1 = DriverManager.getConnection(args[0]);
+		Statement stmt1 = con1.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con1.setAutoCommit(false);
+		// >> true: auto commit should be off by now
+		System.out.println("0. true\t" + con1.getAutoCommit());
+
+		// test commit by checking if a change is visible in another connection
+		try {
+			System.out.print("1. create... ");
+			stmt1.executeUpdate("CREATE TABLE table_Test_Creplysize ( id int )");
+			System.out.println("passed :)");
+
+			System.out.print("2. populating with 21 records... ");
+			for (int i = 0; i < 21; i++)
+				stmt1.executeUpdate("INSERT INTO table_Test_Creplysize (id) values (" + (i + 1) + ")");
+			System.out.println("passed :)");
+
+			System.out.print("3. hinting the driver to use fetchsize 10... ");
+			stmt1.setFetchSize(10);
+			System.out.println("passed :)");
+
+			System.out.print("4. selecting all values... ");
+			rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
+			int i = 0;
+			while (rs.next()) i++;
+			rs.close();
+			if (i == 21) {
+				System.out.println("passed :)");
+			} else {
+				throw new SQLException("got " + i + " records!!!");
+			}
+
+			System.out.print("5. resetting driver fetchsize hint... ");
+			stmt1.setFetchSize(0);
+			System.out.println("passed :)");
+
+			System.out.print("6. instructing the driver to return at max 10 rows...  ");
+			stmt1.setMaxRows(10);
+			System.out.println("passed :)");
+
+			System.out.print("7. selecting all values...  ");
+			rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
+			i = 0;
+			while (rs.next()) i++;
+			rs.close();
+			if (i == 10) {
+				System.out.println("passed :)");
+			} else {
+				throw new SQLException("got " + i + " records!!!");
+			}
+
+			System.out.print("8. hinting the driver to use fetchsize 5... ");
+			stmt1.setFetchSize(5);
+			System.out.println("passed :)");
+
+			System.out.print("9. selecting all values... ");
+			rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
+			i = 0;
+			while (rs.next()) i++;
+			rs.close();
+			if (i == 10) {
+				System.out.println("passed :)");
+			} else {
+				throw new SQLException("got " + i + " records!!!");
+			}
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			con1.close();
+			System.exit(-1);
+		}
+
+		con1.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Csavepoints.java
@@ -0,0 +1,138 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Csavepoints {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		// savepoints require a non-autocommit connection
+		try {
+			System.out.print("1. savepoint...");
+			con.setSavepoint();
+			System.out.println("PASSED :(");
+			System.out.println("ABORTING TEST!!!");
+			con.close();
+			System.exit(-1);
+		} catch (SQLException e) {
+			System.out.println("failed :) " + e.getMessage());
+		}
+
+		con.setAutoCommit(false);
+		// >> true: auto commit should be on by default
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			System.out.print("2. savepoint...");
+			/* make a savepoint, and discard it */
+			con.setSavepoint();
+			System.out.println("passed :)");
+
+			stmt.executeUpdate("CREATE TABLE table_Test_Csavepoints ( id int, PRIMARY KEY (id) )");
+
+			System.out.print("3. savepoint...");
+			Savepoint sp2 = con.setSavepoint("empty table");
+			System.out.println("passed :)");
+
+			rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
+			int i = 0;
+			int items = 0;
+			System.out.print("4. table " + items + " items");
+			while (rs.next()) {
+				System.out.print(", " + rs.getString("id"));
+				i++;
+			}
+			if (i != items) {
+				System.out.println(" FAILED (" + i + ") :(");
+				System.out.println("ABORTING TEST!!!");
+				con.close();
+				System.exit(-1);
+			}
+			System.out.println(" passed :)");
+
+			stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (1)");
+			stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (2)");
+			stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (3)");
+
+			System.out.print("5. savepoint...");
+			Savepoint sp3 = con.setSavepoint("three values");
+			System.out.println("passed :)");
+
+			rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
+			i = 0;
+			items = 3;
+			System.out.print("6. table " + items + " items");
+			while (rs.next()) {
+				System.out.print(", " + rs.getString("id"));
+				i++;
+			}
+			if (i != items) {
+				System.out.println(" FAILED (" + i + ") :(");
+				System.out.println("ABORTING TEST!!!");
+				con.close();
+				System.exit(-1);
+			}
+			System.out.println(" passed :)");
+
+			System.out.print("7. release...");
+			con.releaseSavepoint(sp3);
+			System.out.println("passed :)");
+
+			rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
+			i = 0;
+			items = 3;
+			System.out.print("8. table " + items + " items");
+			while (rs.next()) {
+				System.out.print(", " + rs.getString("id"));
+				i++;
+			}
+			if (i != items) {
+				System.out.println(" FAILED (" + i + ") :(");
+				System.out.println("ABORTING TEST!!!");
+				con.close();
+				System.exit(-1);
+			}
+			System.out.println(" passed :)");
+
+			System.out.print("9. rollback...");
+			con.rollback(sp2);
+			System.out.println("passed :)");
+
+			rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
+			i = 0;
+			items = 0;
+			System.out.print("10. table " + items + " items");
+			while (rs.next()) {
+				System.out.print(", " + rs.getString("id"));
+				i++;
+			}
+			if (i != items) {
+				System.out.println(" FAILED (" + i + ") :(");
+				System.out.println("ABORTING TEST!!!");
+				con.close();
+				System.exit(-1);
+			}
+			System.out.println(" passed :)");
+
+			con.rollback();
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Csendthread.java
@@ -0,0 +1,40 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Csendthread {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+
+		System.out.println("0. active threads: " + Thread.activeCount());
+
+		StringBuilder sb = new StringBuilder();
+		sb.append("SELECT 1");
+		for (int i = 0; i < 256; i++) {
+			sb.append("-- ADDING DUMMY TEXT AS COMMENT TO MAKE THE QUERY VERY VERY VERY VERY LONG\n");
+		}
+		sb.append(";\n");
+		String longQuery = sb.toString();
+
+		for (int i = 0; i < 10; i++) {
+			for (int j = 0; j < 10; j++) {
+				Connection conn = DriverManager.getConnection(args[0]);
+				try {
+					Statement st = conn.createStatement();
+					st.execute(longQuery);
+					st.close();
+				} finally {
+					conn.close();
+				}
+			}
+			System.out.println("1. active threads: " + Thread.activeCount());
+		}
+		System.out.println("2. active threads: " + Thread.activeCount());
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Ctransaction.java
@@ -0,0 +1,97 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Ctransaction {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con1 = DriverManager.getConnection(args[0]);
+		Statement stmt1 = con1.createStatement();
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con1.getAutoCommit());
+
+		// test commit by checking if a change is visible in another connection
+		try {
+			System.out.print("1. commit...");
+			con1.commit();
+			System.out.println("PASSED :(");
+			con1.close();
+			System.exit(-1);
+		} catch (SQLException e) {
+			// this means we get what we expect
+			System.out.println("failed :) " + e.getMessage());
+		}
+
+		// turn off auto commit
+		con1.setAutoCommit(false);
+
+		// >> false: we just disabled it
+		System.out.println("2. false\t" + con1.getAutoCommit());
+
+		// a change would not be visible now
+		try {
+			System.out.print("3. commit...");
+			con1.commit();
+			System.out.println("passed :)");
+			System.out.print("4. commit...");
+			con1.commit();
+			System.out.println("passed :)");
+			System.out.print("5. rollback...");
+			con1.rollback();
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+			con1.close();
+			System.exit(-1);
+		}
+
+		// turn off auto commit
+		con1.setAutoCommit(true);
+
+		// >> false: we just disabled it
+		System.out.println("6. true\t" + con1.getAutoCommit());
+
+		try {
+			System.out.print("7. start transaction...");
+			stmt1.executeUpdate("START TRANSACTION");
+			System.out.println("passed :)");
+			System.out.print("8. commit...");
+			con1.commit();
+			System.out.println("passed :)");
+			System.out.println("9. true\t" + con1.getAutoCommit());
+			System.out.print("10. start transaction...");
+			stmt1.executeUpdate("START TRANSACTION");
+			System.out.println("passed :)");
+			System.out.print("11. rollback...");
+			con1.rollback();
+			System.out.println("passed :)");
+			System.out.println("12. true\t" + con1.getAutoCommit());
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :(");
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		try {
+			// a commit now should fail
+			System.out.print("13. commit...");
+			con1.commit();
+			System.out.println("PASSED :(");
+		} catch (SQLException e) {
+			// this means we get what we expect
+			System.out.println("failed :) " + e.getMessage());
+		}
+
+		con1.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Dobjects.java
@@ -0,0 +1,51 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+public class Test_Dobjects {
+	private static void dumpResultSet(ResultSet rs) throws SQLException {
+		ResultSetMetaData rsmd = rs.getMetaData();
+		System.out.println("Resultset with " + rsmd.getColumnCount() + " columns");
+		for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+			System.out.print(rsmd.getColumnName(col) + "\t");
+		}
+		System.out.println();
+		while (rs.next()) {
+			for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+				System.out.print(rs.getString(col) + "\t");
+			}
+			System.out.println();
+		}
+	}
+
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		DatabaseMetaData dbmd = con.getMetaData();
+
+		try {
+			// inspect the catalog by use of dbmd functions
+			dumpResultSet(dbmd.getCatalogs());
+//			dumpResultSet(dbmd.getSchemas());	// this produces different outputs on different platforms due to dependency on SAMTOOLS and NETCDF. so exclude it
+			dumpResultSet(dbmd.getSchemas(null, "sys"));
+			dumpResultSet(dbmd.getTables(null, "sys", null, null));
+			dumpResultSet(dbmd.getUDTs(null, "sys", null, null));
+			int[] UDTtypes = { Types.STRUCT, Types.DISTINCT };
+			dumpResultSet(dbmd.getUDTs(null, "sys", null, UDTtypes));
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_FetchSize.java
@@ -0,0 +1,29 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_FetchSize {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = stmt.executeQuery("SELECT * FROM _tables");
+
+		System.out.println("Statement fetch size before set: " + stmt.getFetchSize());
+		System.out.println("ResultSet fetch size before set: " + rs.getFetchSize());
+
+		rs.setFetchSize(16384);
+
+		System.out.println("Statement fetch size before set: " + stmt.getFetchSize());
+		System.out.println("ResultSet fetch size before set: " + rs.getFetchSize());
+
+		rs.close();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Int128.java
@@ -0,0 +1,69 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+/* Test whether we can represent a full-size int128 as JDBC results */
+public class Test_Int128 {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		BigInteger bi = new BigInteger(
+				"123456789012345678909876543210987654321");
+		BigDecimal bd = new BigDecimal(
+				"1234567890123456789.9876543210987654321");
+		try {
+			con.setAutoCommit(false);
+			Statement s = con.createStatement();
+			s.executeUpdate("CREATE TABLE HUGEINTT (I HUGEINT)");
+			s.executeUpdate("CREATE TABLE HUGEDECT (I DECIMAL(38,19))");
+
+			PreparedStatement insertStatement = con
+					.prepareStatement("INSERT INTO HUGEINTT VALUES (?)");
+			insertStatement.setBigDecimal(1, new BigDecimal(bi));
+			insertStatement.executeUpdate();
+			insertStatement.close();
+			
+			s.executeUpdate("INSERT INTO HUGEDECT VALUES ("+bd+");");
+
+			ResultSet rs = s.executeQuery("SELECT I FROM HUGEINTT");
+			rs.next();
+			BigInteger biRes = rs.getBigDecimal(1).toBigInteger();
+			rs.close();
+			rs = s.executeQuery("SELECT I FROM HUGEDECT");
+			rs.next();
+			BigDecimal bdRes = rs.getBigDecimal(1);
+			rs.close();
+			s.close();
+			
+			System.out.println("Expecting " + bi + ", got " + biRes);
+			if (!bi.equals(biRes)) {
+				throw new RuntimeException();
+			}
+			
+			System.out.println("Expecting " + bd + ", got " + bdRes);
+			if (!bd.equals(bdRes)) {
+				throw new RuntimeException();
+			}
+			System.out.println("SUCCESS");
+
+		} catch (SQLException e) {
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSgeneratedkeys.java
@@ -0,0 +1,71 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_PSgeneratedkeys {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		con.setAutoCommit(false);
+		// >> false: auto commit was just switched off
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			Statement stmt = con.createStatement();
+			stmt.executeUpdate(
+				"CREATE TABLE psgenkey (" +
+				"       id       serial," +
+				"       val      varchar(20)" +
+				")");
+			stmt.close();
+		} catch (SQLException e) {
+			System.out.println(e);
+			System.out.println("Creation of test table failed! :(");
+			System.out.println("ABORTING TEST!!!");
+			System.exit(-1);
+		}
+
+		try {
+			PreparedStatement pstmt = con.prepareStatement(
+				"INSERT INTO psgenkey (val) VALUES ('this is a test')",
+				Statement.RETURN_GENERATED_KEYS);
+
+			System.out.print("1. inserting a record...");
+			pstmt.executeUpdate();
+			System.out.println("success :)");
+
+			// now get the generated keys
+			System.out.print("2. getting generated keys...");
+			ResultSet keys = pstmt.getGeneratedKeys();
+			if (keys == null || !keys.next()) {
+				System.out.println("there are no keys! :(");
+				System.out.println("ABORTING TEST!!!");
+				System.exit(-1);
+			}
+
+			System.out.println("generated key index: " + keys.getInt(1));
+			while (keys.next()) {
+				System.out.println("generated key index: " + keys.getInt(1));
+			}
+
+			if (keys.getStatement() == null) {
+				System.out.println("ResultSet.getStatement() should never return null!");
+			}
+
+			keys.close();
+			pstmt.close();
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSgetObject.java
@@ -0,0 +1,105 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_PSgetObject {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		final Connection con = DriverManager.getConnection(args[0]);
+		con.setAutoCommit(false);
+		// >> false: auto commit was just switched off
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		final Statement stmt = con.createStatement();
+		try {
+			System.out.print("1. creating test table...");
+			stmt.executeUpdate("CREATE TABLE table_Test_PSgetObject (ti tinyint, si smallint, i int, bi bigint)");
+			stmt.close();
+			System.out.println(" passed :)");
+		} catch (SQLException e) {
+			System.out.println(e);
+			System.out.println("Creation of test table failed! :(");
+			System.out.println("ABORTING TEST!!!");
+			System.exit(-1);
+		}
+
+		PreparedStatement pstmt;
+		try {
+			System.out.print("2a. inserting 3 records as batch...");
+			pstmt = con.prepareStatement("INSERT INTO table_Test_PSgetObject (ti,si,i,bi) VALUES (?,?,?,?)");
+			pstmt.setShort(1, (short)1);
+			pstmt.setShort(2, (short)1);
+			pstmt.setInt (3, 1);
+			pstmt.setLong(4, (long)1);
+			pstmt.addBatch();
+
+			pstmt.setShort(1, (short)127);
+			pstmt.setShort(2, (short)12700);
+			pstmt.setInt (3, 1270000);
+			pstmt.setLong(4, (long)127000000);
+			pstmt.addBatch();
+
+			pstmt.setShort(1, (short)-127);
+			pstmt.setShort(2, (short)-12700);
+			pstmt.setInt (3, -1270000);
+			pstmt.setLong(4, (long)-127000000);
+			pstmt.addBatch();
+
+			pstmt.executeBatch();
+			System.out.println(" passed :)");
+
+			System.out.print("2b. closing PreparedStatement...");
+			pstmt.close();
+			System.out.println(" passed :)");
+		} catch (SQLException e) {
+			System.out.println("FAILED to INSERT data:( "+ e.getMessage());
+			while ((e = e.getNextException()) != null)
+				System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		try {
+			System.out.print("3a. selecting records...");
+			pstmt = con.prepareStatement("SELECT ti,si,i,bi FROM table_Test_PSgetObject ORDER BY ti,si,i,bi");
+			ResultSet rs = pstmt.executeQuery();
+			System.out.println(" passed :)");
+
+			while (rs.next()) {
+				// test fix for https://www.monetdb.org/bugzilla/show_bug.cgi?id=4026
+				Short ti = (Short) rs.getObject(1);
+				Short si = (Short) rs.getObject(2);
+				Integer i = (Integer) rs.getObject(3);
+				Long bi = (Long) rs.getObject(4);
+
+				System.out.println("    Retrieved row data: ti=" + ti + " si=" + si + " i=" + i + " bi=" + bi);
+			}
+
+			System.out.print("3b. closing ResultSet...");
+			rs.close();
+			System.out.println(" passed :)");
+
+			System.out.print("3c. closing PreparedStatement...");
+			pstmt.close();
+			System.out.println(" passed :)");
+		} catch (SQLException e) {
+			System.out.println("FAILED to RETRIEVE data:( "+ e.getMessage());
+			while ((e = e.getNextException()) != null)
+				System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		System.out.print("4. Rollback changes...");
+		con.rollback();
+		System.out.println(" passed :)");
+
+		System.out.print("5. Close connection...");
+		con.close();
+		System.out.println(" passed :)");
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSlargeamount.java
@@ -0,0 +1,45 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+/* Create a lot of PreparedStatements, to emulate webloads such as those
+ * from Hibernate. */
+
+public class Test_PSlargeamount {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+
+		// >> true: auto commit should be on
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		try {
+			System.out.println("1. Preparing and executing a unique statement");
+			for (int i = 0; i < 100000; i++) {
+				pstmt = con.prepareStatement("select " + i + ", " + i + " = ?");
+				pstmt.setInt(1, i);
+				ResultSet rs = pstmt.executeQuery();
+				if (rs.next() && i % 1000 == 0) {
+					System.out.println(rs.getInt(1) + ", " + rs.getBoolean(2));
+				}
+				/* this call should cause resources on the server to be
+				 * freed */
+				pstmt.close();
+			}
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSlargebatchval.java
@@ -0,0 +1,51 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+import java.nio.charset.Charset;
+
+public class Test_PSlargebatchval {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+
+		// >> true: auto commit should be on
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		byte[] errorBytes = new byte[] { (byte) 0xe2, (byte) 0x80, (byte) 0xa7 };
+		String errorStr = new String(errorBytes, Charset.forName("UTF-8"));
+		StringBuilder repeatedErrorStr = new StringBuilder();
+		for (int i = 0; i < 8170;i++) {
+			repeatedErrorStr.append(errorStr);
+		}
+
+		try {
+			stmt.execute("CREATE TABLE x (c INT, a CLOB, b DOUBLE)");
+			pstmt = con.prepareStatement("INSERT INTO x VALUES (?,?,?)");
+			pstmt.setLong(1, 1);
+			pstmt.setString(2, repeatedErrorStr.toString());
+			pstmt.setDouble(3, 1.0);
+			pstmt.addBatch();
+			pstmt.executeBatch();
+			stmt.execute("DROP TABLE x");
+
+			pstmt.close();
+			stmt.close();
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			while ((e = e.getNextException()) != null)
+				System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSlargeresponse.java
@@ -0,0 +1,46 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+public class Test_PSlargeresponse {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		// retrieve this to simulate a bug report
+		DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		try {
+			System.out.print("1. DatabaseMetadata environment retrieval... ");
+			System.out.println(dbmd.getURL());
+
+			pstmt = con.prepareStatement("select * from columns");
+			System.out.print("2. empty call...");
+			try {
+				// should succeed (no arguments given)
+				pstmt.execute();
+				System.out.println(" passed :)");
+			} catch (SQLException e) {
+				System.out.println(" FAILED :(");
+				System.out.println("ABORTING TEST!!!");
+				System.exit(-1);
+			}
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSmanycon.java
@@ -0,0 +1,65 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+public class Test_PSmanycon {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		List pss = new ArrayList(100);	// Connections go in here
+
+		try {
+			// spawn a lot of Connections, just for fun...
+			int i;
+			for (i = 0; i < 50; i++) {
+				System.out.print("Establishing Connection " + i + "...");
+				Connection con = DriverManager.getConnection(args[0]);
+				System.out.print(" done...");
+
+				// do something with the connection to test if it works
+				PreparedStatement pstmt = con.prepareStatement("select " + i);
+				System.out.println(" alive");
+
+				pss.add(pstmt);
+			}
+
+			// now try to nicely execute them
+			i = 0;
+			for (Iterator it = pss.iterator(); it.hasNext(); i++) {
+				PreparedStatement pstmt = (PreparedStatement)(it.next());
+
+				// see if the connection still works
+				System.out.print("Executing PreparedStatement " + i + "...");
+				if (!pstmt.execute())
+					throw new Exception("should have seen a ResultSet!");
+
+				ResultSet rs = pstmt.getResultSet();
+				if (!rs.next())
+					throw new Exception("ResultSet is empty");
+				System.out.print(" result: " + rs.getString(1));
+				pstmt.getConnection().close();
+				System.out.println(", done");
+
+				if ((i + 1) % 23 == 0) {
+					// inject a failed transaction
+					Connection con = DriverManager.getConnection(args[0]);
+					Statement stmt = con.createStatement();
+					try {
+						int affrows = stmt.executeUpdate("update foo where bar is wrong");
+						System.out.println("oops, faulty statement just got through :(");
+					} catch (SQLException e) {
+						System.out.println("Forced transaction failure");
+					}
+				}
+			}
+		} catch (SQLException e) {
+			System.out.println("FAILED! " + e.getMessage());
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSmetadata.java
@@ -0,0 +1,97 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_PSmetadata {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		ResultSet rs = null;
+		ResultSetMetaData rsmd = null;
+		ParameterMetaData pmd = null;
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_PSmetadata ( myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob )");
+
+			// all NULLs
+			stmt.executeUpdate("INSERT INTO table_Test_PSmetadata VALUES (NULL, NULL,            NULL,           NULL,                  NULL)");
+			// all filled in
+			stmt.executeUpdate("INSERT INTO table_Test_PSmetadata VALUES (2   , 3.0,             true,           'A string',            'bla bla bla')");
+
+			pstmt = con.prepareStatement("SELECT CASE WHEN myint IS NULL THEN 0 ELSE 1 END AS intnull, * FROM table_Test_PSmetadata WHERE myint = ?");
+
+			rsmd = pstmt.getMetaData();
+
+			System.out.println("0. 6 columns:\t" + rsmd.getColumnCount());
+			for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+				System.out.println("" + col + ".\t" + rsmd.getCatalogName(col));
+				System.out.println("\tclassname     " + rsmd.getColumnClassName(col));
+				System.out.println("\tdisplaysize   " + rsmd.getColumnDisplaySize(col));
+				System.out.println("\tlabel         " + rsmd.getColumnLabel(col));
+				System.out.println("\tname          " + rsmd.getColumnName(col));
+				System.out.println("\ttype          " + rsmd.getColumnType(col));
+				System.out.println("\ttypename      " + rsmd.getColumnTypeName(col));
+				System.out.println("\tprecision     " + rsmd.getPrecision(col));
+				System.out.println("\tscale         " + rsmd.getScale(col));
+				System.out.println("\tschemaname    " + rsmd.getSchemaName(col));
+				System.out.println("\ttablename     " + rsmd.getTableName(col));
+				System.out.println("\tautoincrement " + rsmd.isAutoIncrement(col));
+				System.out.println("\tcasesensitive " + rsmd.isCaseSensitive(col));
+				System.out.println("\tcurrency      " + rsmd.isCurrency(col));
+				System.out.println("\tdefwritable   " + rsmd.isDefinitelyWritable(col));
+				System.out.println("\tnullable      " + rsmd.isNullable(col));
+				System.out.println("\treadonly      " + rsmd.isReadOnly(col));
+				System.out.println("\tsearchable    " + rsmd.isSearchable(col));
+				System.out.println("\tsigned        " + rsmd.isSigned(col));
+				System.out.println("\twritable      " + rsmd.isWritable(col));
+			}
+
+			pmd = pstmt.getParameterMetaData();
+			System.out.println("1. 1 parameter:\t" + pmd.getParameterCount());
+			for (int col = 1; col <= pmd.getParameterCount(); col++) {
+				System.out.println("" + col + ".");
+				System.out.println("\tnullable      " + pmd.isNullable(col));
+				System.out.println("\tsigned        " + pmd.isSigned(col));
+				System.out.println("\tprecision     " + pmd.getPrecision(col));
+				System.out.println("\tscale         " + pmd.getScale(col));
+				System.out.println("\ttype          " + pmd.getParameterType(col));
+				System.out.println("\ttypename      " + pmd.getParameterTypeName(col));
+				System.out.println("\tclassname     " + pmd.getParameterClassName(col));
+				System.out.println("\tmode          " + pmd.getParameterMode(col));
+			}
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+
+	private static String isInstance(Object obj, String type) {
+		if (obj == null)
+			return("(null)");
+		try {
+			Class c = Class.forName(type);
+			if (c.isInstance(obj)) {
+				return(obj.getClass().getName() + " is an instance of " + type);
+			} else {
+				return(obj.getClass().getName() + " is NOT an instance of " + type);
+			}
+		} catch (ClassNotFoundException e) {
+			return("No such class: " + type);
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSsomeamount.java
@@ -0,0 +1,45 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+
+/* Create a lot of PreparedStatements, to emulate webloads such as those
+ * from Hibernate. */
+
+public class Test_PSsomeamount {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+
+		// >> true: auto commit should be on
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		try {
+			System.out.println("1. Preparing and executing a unique statement");
+			for (int i = 0; i < 10000; i++) {
+				pstmt = con.prepareStatement("select " + i + ", " + i + " = ?");
+				pstmt.setInt(1, i);
+				ResultSet rs = pstmt.executeQuery();
+				if (rs.next() && i % 1000 == 0) {
+					System.out.println(rs.getInt(1) + ", " + rs.getBoolean(2));
+				}
+				/* this call should cause resources on the server to be
+				 * freed */
+				pstmt.close();
+			}
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PSsqldata.java
@@ -0,0 +1,81 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import nl.cwi.monetdb.jdbc.types.*;
+
+public class Test_PSsqldata {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		ResultSet rs = null;
+		ResultSetMetaData rsmd = null;
+		ParameterMetaData pmd = null;
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_PSsqldata ( myinet inet, myurl url )");
+
+			pstmt = con.prepareStatement("INSERT INTO table_Test_PSsqldata VALUES (?, ?)");
+
+			pmd = pstmt.getParameterMetaData();
+			System.out.println("1. 2 parameters:\t" + pmd.getParameterCount());
+			for (int col = 1; col <= pmd.getParameterCount(); col++) {
+				System.out.println("" + col + ".");
+				System.out.println("\ttype          " + pmd.getParameterType(col));
+				System.out.println("\ttypename      " + pmd.getParameterTypeName(col));
+				System.out.println("\tclassname     " + pmd.getParameterClassName(col));
+			}
+
+			INET tinet = new INET();
+			URL turl = new URL();
+
+			tinet.fromString("172.5.5.5/24");
+			turl.fromString("http://www.monetdb.org/");
+			pstmt.setObject(1, tinet);
+			pstmt.setObject(2, turl);
+			pstmt.execute();
+
+			tinet.setNetmaskBits(16);
+			pstmt.execute();
+
+			rs = stmt.executeQuery("SELECT * FROM table_Test_PSsqldata");
+			rsmd = rs.getMetaData();
+
+			for (int i = 1; rs.next(); i++) {
+				for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+					Object x = rs.getObject(col);
+					if (x == null) {
+						System.out.println("" + i + ".\t<null>");
+					} else {
+						System.out.println("" + i + ".\t" + x.toString());
+						if (x instanceof INET) {
+							INET inet = (INET)x;
+							System.out.println("\t" + inet.getAddress() + "/" + inet.getNetmaskBits());
+							System.out.println("\t" + inet.getInetAddress().toString());
+						} else if (x instanceof URL) {
+							URL url = (URL)x;
+							System.out.println("\t" + url.getURL().toString());
+						}
+					}
+				}
+			}
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PStimedate.java
@@ -0,0 +1,94 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_PStimedate {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit was just switched off
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_PStimedate (t time, ts timestamp, d date)");
+		} catch (SQLException e) {
+			System.out.println(e);
+			System.out.println("Creation of test table failed! :(");
+			System.out.println("ABORTING TEST!!!");
+			System.exit(-1);
+		}
+
+		try {
+			pstmt = con.prepareStatement("INSERT INTO table_Test_PStimedate VALUES (?, ?, ?)");
+			System.out.print("1. empty call...");
+			try {
+				// should fail (no arguments given)
+				pstmt.execute();
+				System.out.println(" PASSED :(");
+				System.out.println("ABORTING TEST!!!");
+				System.exit(-1);
+			} catch (SQLException e) {
+				System.out.println(" failed :)");
+			}
+
+			System.out.print("2. inserting a record...");
+			java.util.Date d = new java.util.Date();
+			pstmt.setTime(1, new java.sql.Time(d.getTime()));
+			pstmt.setTimestamp(2, new java.sql.Timestamp(d.getTime()));
+			pstmt.setDate(3, new java.sql.Date(d.getTime()));
+
+			pstmt.executeUpdate();
+			System.out.println(" passed :)");
+			System.out.print("3. closing PreparedStatement...");
+			pstmt.close();
+			System.out.println(" passed :)");
+
+			System.out.print("4. selecting record...");
+			pstmt = con.prepareStatement("SELECT * FROM table_Test_PStimedate");
+			rs = pstmt.executeQuery();
+			System.out.println(" passed :)");
+
+			while (rs.next()) {
+				for (int j = 1; j <= 3; j++) {
+					System.out.print((j + 4) + ". retrieving...");
+					java.util.Date x = (java.util.Date)(rs.getObject(j));
+					boolean matches = false;
+					if (x instanceof Time) {
+						System.out.print(" (Time)");
+						matches = (new Time(d.getTime())).toString().equals(x.toString());
+					} else if (x instanceof Date) {
+						System.out.print(" (Date)");
+						matches = (new Date(d.getTime())).toString().equals(x.toString());
+					} else if (x instanceof Timestamp) {
+						System.out.print(" (Timestamp)");
+						matches = (new Timestamp(d.getTime())).toString().equals(x.toString());
+					}
+					if (matches) {
+						System.out.println(" passed :)");
+					} else {
+						System.out.println(" FAILED :( (" + x + " is not " + d + ")");
+					}
+				}
+			}
+
+			con.rollback();
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PStimezone.java
@@ -0,0 +1,163 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import java.util.*;
+import java.text.*;
+
+public class Test_PStimezone {
+	public static void main(String[] args) throws Exception {
+		// make sure this test is reproducable regardless timezone
+		// setting, by overriding the VM's default
+		// we have to make sure that one doesn't have daylight
+		// savings corrections
+		TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit was just switched off
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_PStimezone (ts timestamp, tsz timestamp with time zone, t time, tz time with time zone)");
+		} catch (SQLException e) {
+			System.out.println(e);
+			System.out.println("Creation of test table failed! :(");
+			System.out.println("ABORTING TEST!!!");
+			System.exit(-1);
+		}
+
+		try {
+			pstmt = con.prepareStatement("INSERT INTO table_Test_PStimezone VALUES (?, ?, ?, ?)");
+			System.out.print("1. empty call...");
+			try {
+				// should fail (no arguments given)
+				pstmt.execute();
+				System.out.println(" PASSED :(");
+				System.out.println("ABORTING TEST!!!");
+				System.exit(-1);
+			} catch (SQLException e) {
+				System.out.println(" failed :)");
+			}
+
+			System.out.println("2. inserting records...");
+
+			SimpleDateFormat tsz =
+				new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
+			SimpleDateFormat tz =
+				new SimpleDateFormat("HH:mm:ss.SSSZ");
+
+			java.sql.Timestamp ts = new java.sql.Timestamp(0L);
+			java.sql.Time t = new java.sql.Time(0L);
+
+			Calendar c = Calendar.getInstance();
+			tsz.setTimeZone(c.getTimeZone());
+			tz.setTimeZone(tsz.getTimeZone());
+			System.out.println("inserting (" + c.getTimeZone().getID() + ") " + tsz.format(ts) + ", " + tz.format(t));
+
+			pstmt.setTimestamp(1, ts);
+			pstmt.setTimestamp(2, ts);
+			pstmt.setTime(3, t);
+			pstmt.setTime(4, t);
+			pstmt.executeUpdate();
+			
+			c.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+			System.out.println("inserting with calendar timezone " + c.getTimeZone().getID());
+			pstmt.setTimestamp(1, ts, c);
+			pstmt.setTimestamp(2, ts, c);
+			pstmt.setTime(3, t, c);
+			pstmt.setTime(4, t, c);
+			pstmt.executeUpdate();
+			
+			c.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
+			System.out.println("inserting with calendar timezone " + c.getTimeZone().getID());
+			pstmt.setTimestamp(1, ts, c);
+			pstmt.setTimestamp(2, ts);
+			pstmt.setTime(3, t, c);
+			pstmt.setTime(4, t);
+			pstmt.executeUpdate();
+			
+			c.setTimeZone(TimeZone.getTimeZone("GMT+04:15"));
+			System.out.println("inserting with calendar timezone " + c.getTimeZone().getID());
+			pstmt.setTimestamp(1, ts);
+			pstmt.setTimestamp(2, ts, c);
+			pstmt.setTime(3, t);
+			pstmt.setTime(4, t, c);
+			pstmt.executeUpdate();
+			
+			System.out.println("done");
+			System.out.print("3. closing PreparedStatement...");
+			pstmt.close();
+			System.out.println(" passed :)");
+
+			System.out.print("4. selecting records...");
+			pstmt = con.prepareStatement("SELECT * FROM table_Test_PStimezone");
+			rs = pstmt.executeQuery();
+			System.out.println(" passed :)");
+
+			// The tz fields should basically always be the same
+			// (exactly 1st Jan 1970) since whatever timezone is used,
+			// the server retains it, and Java restores it.
+			// The zoneless fields will show differences since the time
+			// is inserted translated to the given timezones, and
+			// retrieved as in they were given in those timezones.  When
+			// the insert zone matches the retrieve zone, Java should
+			// eventually see 1st Jan 1970.
+			while (rs.next()) {
+				System.out.println("retrieved row (String):\n\t" +
+						rs.getString("ts") + "   \t" +
+						rs.getString("tsz") + "\t" +
+						rs.getString("t") + "         \t" +
+						rs.getString("tz"));
+
+				tsz.setTimeZone(TimeZone.getDefault());
+				tz.setTimeZone(tsz.getTimeZone());
+				System.out.println("default (" + tsz.getTimeZone().getID() + "):\n\t" +
+						tsz.format(rs.getTimestamp("ts")) + "\t" +
+						tsz.format(rs.getTimestamp("tsz")) + "    \t" +
+						tz.format(rs.getTime("t")) + "\t" +
+						tz.format(rs.getTime("tz")));
+
+				c.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
+				System.out.println(c.getTimeZone().getID() + ":\n\t" +
+						rs.getTimestamp("ts", c) + "      \t" +
+						rs.getTimestamp("tsz", c) + "           \t" +
+						rs.getTime("t", c) + "              \t" +
+						rs.getTime("tz", c) + "      ");
+
+				c.setTimeZone(TimeZone.getTimeZone("Africa/Windhoek"));
+				System.out.println(c.getTimeZone().getID() + ":\n\t" +
+						rs.getTimestamp("ts", c) + "      \t" +
+						rs.getTimestamp("tsz", c) + "           \t" +
+						rs.getTime("t", c) + "               \t" +
+						rs.getTime("tz", c) + "      ");
+
+				System.out.println();
+				SQLWarning w = rs.getWarnings();
+				while (w != null) {
+					System.out.println(w.getMessage());
+					w = w.getNextWarning();
+				}
+			}
+
+			con.rollback();
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_PStypes.java
@@ -0,0 +1,86 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_PStypes {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		PreparedStatement pstmt;
+		//ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit was just switched off
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate(
+"CREATE TABLE htmtest (" +
+"       htmid    bigint       NOT NULL," +
+"       ra       double ," +
+"       decl     double ," +
+"       dra      double ," +
+"       ddecl    double ," +
+"       flux     double ," +
+"       dflux    double ," +
+"       freq     double ," +
+"       bw       double ," +
+"       type     decimal(1,0)," +
+"       imageurl varchar(100)," +
+"       comment  varchar(100)," +
+"       CONSTRAINT htmtest_htmid_pkey PRIMARY KEY (htmid)" +
+")"
+);
+			// index is not used, but the original bug had it too
+			stmt.executeUpdate("CREATE INDEX htmid ON htmtest (htmid)");
+		} catch (SQLException e) {
+			System.out.println(e);
+			System.out.println("Creation of test table failed! :(");
+			System.out.println("ABORTING TEST!!!");
+			System.exit(-1);
+		}
+
+		try {
+			pstmt = con.prepareStatement(
+"INSERT INTO HTMTEST (HTMID,RA,DECL,FLUX,COMMENT) VALUES (?,?,?,?,?)"
+);
+			System.out.print("1. inserting a record...");
+
+			pstmt.setLong(1, 1L);
+			pstmt.setFloat(2, (float)1.2);
+			pstmt.setDouble(3, 2.4);
+			pstmt.setDouble(4, 3.2);
+			pstmt.setString(5, "vlavbla");
+			pstmt.executeUpdate();
+
+			System.out.println("success :)");
+
+			// try an update like bug #1757923
+			pstmt = con.prepareStatement(
+"UPDATE HTMTEST set COMMENT=?, TYPE=? WHERE HTMID=?"
+);
+			System.out.print("2. updating record...");
+
+			pstmt.setString(1, "some update");
+			pstmt.setObject(2, (float)3.2);
+			pstmt.setLong(3, 1L);
+			pstmt.executeUpdate();
+
+			System.out.println("success :)");
+		} catch (SQLException e) {
+			System.out.println("FAILED :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Rbooleans.java
@@ -0,0 +1,56 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Rbooleans {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_Rbooleans ( id int, tiny_int tinyint, small_int smallint, medium_int mediumint, \"integer\" int, big_int bigint, a_real real, a_float float, a_double double, a_decimal decimal(8,2), a_numeric numeric(8), bool boolean, a_char char(4), b_char char(5), a_varchar varchar(20), PRIMARY KEY (id) )");
+
+			// all falses
+			stmt.executeUpdate("INSERT INTO table_Test_Rbooleans VALUES (1,                0,                  0,                    0,           0,              0,         0.0,           0.0,             0.0,                    0.0,                    0,        false,         'fals',        'false',               'false')");
+			// all trues
+			stmt.executeUpdate("INSERT INTO table_Test_Rbooleans VALUES (2,                1,                  1,                    1,           1,              1,         1.0,           1.0,             1.0,                    1.0,                    1,         true,         'true',        'true ',                'true')");
+			// sneakier
+			stmt.executeUpdate("INSERT INTO table_Test_Rbooleans VALUES (3,                2,                  3,                    4,           5,              6,         7.1,           8.2,             9.3,                   10.4,                   11,         true,         'TrUe',        'fAlSe',          'true/false')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rbooleans VALUES (4,                2,                  3,                    4,           5,              6,         7.1,           8.2,             9.3,                   10.4,                   11,         true,         't   ',        'f    ',          'TRUE      ')");
+
+			rs = stmt.executeQuery("SELECT * FROM table_Test_Rbooleans ORDER BY id ASC");
+
+			// all should give false
+			rs.next();
+			System.out.println("1. " + rs.getInt("id") + ", " + rs.getBoolean("tiny_int") + ", " + rs.getBoolean("small_int") + ", " + rs.getBoolean("medium_int") + ", " + rs.getBoolean("integer") + ", " + rs.getBoolean("big_int") + ", " + rs.getBoolean("a_real") + ", " + rs.getBoolean("a_double") + ", " + rs.getBoolean("a_decimal") + ", " + rs.getBoolean("a_numeric") + ", " + rs.getBoolean("bool") + ", " + rs.getBoolean("a_char") + ", " + rs.getBoolean("b_char") + ", " + rs.getBoolean("a_varchar"));
+			// all should give true except the one before last
+			rs.next();
+			System.out.println("2. " + rs.getInt("id") + ", " + rs.getBoolean("tiny_int") + ", " + rs.getBoolean("small_int") + ", " + rs.getBoolean("medium_int") + ", " + rs.getBoolean("integer") + ", " + rs.getBoolean("big_int") + ", " + rs.getBoolean("a_real") + ", " + rs.getBoolean("a_double") + ", " + rs.getBoolean("a_decimal") + ", " + rs.getBoolean("a_numeric") + ", " + rs.getBoolean("bool") + ", " + rs.getBoolean("a_char") + ", " + rs.getBoolean("b_char") + ", " + rs.getBoolean("a_varchar"));
+			// should give true for all but the last two
+			rs.next();
+			System.out.println("3. " + rs.getInt("id") + ", " + rs.getBoolean("tiny_int") + ", " + rs.getBoolean("small_int") + ", " + rs.getBoolean("medium_int") + ", " + rs.getBoolean("integer") + ", " + rs.getBoolean("big_int") + ", " + rs.getBoolean("a_real") + ", " + rs.getBoolean("a_double") + ", " + rs.getBoolean("a_decimal") + ", " + rs.getBoolean("a_numeric") + ", " + rs.getBoolean("bool") + ", " + rs.getBoolean("a_char") + ", " + rs.getBoolean("b_char") + ", " + rs.getBoolean("a_varchar"));
+			// should give true for all but the last three
+			rs.next();
+			System.out.println("4. " + rs.getInt("id") + ", " + rs.getBoolean("tiny_int") + ", " + rs.getBoolean("small_int") + ", " + rs.getBoolean("medium_int") + ", " + rs.getBoolean("integer") + ", " + rs.getBoolean("big_int") + ", " + rs.getBoolean("a_real") + ", " + rs.getBoolean("a_double") + ", " + rs.getBoolean("a_decimal") + ", " + rs.getBoolean("a_numeric") + ", " + rs.getBoolean("bool") + ", " + rs.getBoolean("a_char") + ", " + rs.getBoolean("b_char") + ", " + rs.getBoolean("a_varchar"));
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Rmetadata.java
@@ -0,0 +1,90 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Rmetadata {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		ResultSetMetaData rsmd = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_Rmetadata ( myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob )");
+
+			// all NULLs
+			stmt.executeUpdate("INSERT INTO table_Test_Rmetadata VALUES (NULL, NULL,            NULL,           NULL,                  NULL)");
+			// all filled in
+			stmt.executeUpdate("INSERT INTO table_Test_Rmetadata VALUES (2   , 3.0,             true,           'A string',            'bla bla bla')");
+
+			rs = stmt.executeQuery("SELECT * FROM table_Test_Rmetadata");
+			rsmd = rs.getMetaData();
+
+			System.out.println("0. 4 columns:\t" + rsmd.getColumnCount());
+			for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+				System.out.println("Colnr " + col + ".");
+				System.out.println("\tclassname     " + rsmd.getColumnClassName(col));
+				System.out.println("\tdisplaysize   " + rsmd.getColumnDisplaySize(col));
+				System.out.println("\tlabel         " + rsmd.getColumnLabel(col));
+				System.out.println("\tname          " + rsmd.getColumnName(col));
+				System.out.println("\ttype          " + rsmd.getColumnType(col));
+				System.out.println("\ttypename      " + rsmd.getColumnTypeName(col));
+				System.out.println("\tprecision     " + rsmd.getPrecision(col));
+				System.out.println("\tscale         " + rsmd.getScale(col));
+				System.out.println("\tcatalogname   " + rsmd.getCatalogName(col));
+				System.out.println("\tschemaname    " + rsmd.getSchemaName(col));
+				System.out.println("\ttablename     " + rsmd.getTableName(col));
+				System.out.println("\tautoincrement " + rsmd.isAutoIncrement(col));
+				System.out.println("\tcasesensitive " + rsmd.isCaseSensitive(col));
+				System.out.println("\tcurrency      " + rsmd.isCurrency(col));
+				System.out.println("\tdefwritable   " + rsmd.isDefinitelyWritable(col));
+				System.out.println("\tnullable      " + rsmd.isNullable(col));
+				System.out.println("\treadonly      " + rsmd.isReadOnly(col));
+				System.out.println("\tsearchable    " + rsmd.isSearchable(col));
+				System.out.println("\tsigned        " + rsmd.isSigned(col));
+				System.out.println("\twritable      " + rsmd.isWritable(col));
+			}
+
+			for (int i = 5; rs.next(); i++) {
+				for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+					System.out.println("" + i + ".\t" +
+						isInstance(rs.getObject(col), rsmd.getColumnClassName(col))
+					);
+				}
+			}
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+
+	private static String isInstance(Object obj, String type) {
+		if (obj == null)
+			return("(null)");
+		try {
+			Class c = Class.forName(type);
+			if (c.isInstance(obj)) {
+				return(obj.getClass().getName() + " is an instance of " + type);
+			} else {
+				return(obj.getClass().getName() + " is NOT an instance of " + type);
+			}
+		} catch (ClassNotFoundException e) {
+			return("No such class: " + type);
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Rpositioning.java
@@ -0,0 +1,82 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Rpositioning {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		DatabaseMetaData dbmd = con.getMetaData();
+
+		// get a one rowed resultset
+		ResultSet rs = stmt.executeQuery("SELECT 1");
+
+		// >> true: we should be before the first result now
+		System.out.println("1. true\t" + rs.isBeforeFirst());
+		// >> false: we're not at the first result
+		System.out.println("2. false\t" + rs.isFirst());
+		// >> true: there is one result, so we can call next once
+		System.out.println("3. true\t" + rs.next());
+		// >> false: we're not before the first row anymore
+		System.out.println("4. false\t" + rs.isBeforeFirst());
+		// >> true: we're at the first result
+		System.out.println("5. true\t" + rs.isFirst());
+		// >> false: we're on the last row
+		System.out.println("6. false\t" + rs.isAfterLast());
+		// >> true: see above
+		System.out.println("7. true\t" + rs.isLast());
+		// >> false: there is one result, so this is it
+		System.out.println("8. false\t" + rs.next());
+		// >> true: yes, we're at the end
+		System.out.println("9. true\t" + rs.isAfterLast());
+		// >> false: no we're one over it
+		System.out.println("10. false\t" + rs.isLast());
+		// >> false: another try to move on should still fail
+		System.out.println("11. false\t" + rs.next());
+		// >> true: and we should stay positioned after the last
+		System.out.println("12.true\t" + rs.isAfterLast());
+
+		rs.close();
+
+		// try the same with a 'virtual' result set
+		rs = dbmd.getTableTypes();
+
+		// >> true: we should be before the first result now
+		System.out.println("1. true\t" + rs.isBeforeFirst());
+		// >> false: we're not at the first result
+		System.out.println("2. false\t" + rs.isFirst());
+		// >> true: there is one result, so we can call next once
+		System.out.println("3. true\t" + rs.next());
+		// >> false: we're not before the first row anymore
+		System.out.println("4. false\t" + rs.isBeforeFirst());
+		// >> true: we're at the first result
+		System.out.println("5. true\t" + rs.isFirst());
+		// move to last row
+		rs.last();
+		// >> false: we're on the last row
+		System.out.println("6. false\t" + rs.isAfterLast());
+		// >> true: see above
+		System.out.println("7. true\t" + rs.isLast());
+		// >> false: there is one result, so this is it
+		System.out.println("8. false\t" + rs.next());
+		// >> true: yes, we're at the end
+		System.out.println("9. true\t" + rs.isAfterLast());
+		// >> false: no we're one over it
+		System.out.println("10. false\t" + rs.isLast());
+		// >> false: another try to move on should still fail
+		System.out.println("11. false\t" + rs.next());
+		// >> true: and we should stay positioned after the last
+		System.out.println("12. true\t" + rs.isAfterLast());
+
+		rs.close();
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Rsqldata.java
@@ -0,0 +1,73 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+import nl.cwi.monetdb.jdbc.types.*;
+
+public class Test_Rsqldata {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		ResultSetMetaData rsmd = null;
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("0. false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_Rsqldata ( myinet inet, myurl url )");
+
+			// all NULLs
+			stmt.executeUpdate("INSERT INTO table_Test_Rsqldata VALUES (NULL, NULL)");
+			// all filled in
+			stmt.executeUpdate("INSERT INTO table_Test_Rsqldata VALUES ('172.5.5.5' , 'http://www.monetdb.org/')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rsqldata VALUES ('172.5.5.5/32' , 'http://www.monetdb.org/Home')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rsqldata VALUES ('172.5.5.5/16' , 'http://www.monetdb.org/Home#someanchor')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rsqldata VALUES ('172.5.5.5/26' , 'http://www.monetdb.org/?query=bla')");
+
+			rs = stmt.executeQuery("SELECT * FROM table_Test_Rsqldata");
+			rsmd = rs.getMetaData();
+
+			System.out.println("0. 4 columns:\t" + rsmd.getColumnCount());
+			for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+				System.out.println("" + col + ".\t" + rsmd.getCatalogName(col));
+				System.out.println("\tclassname     " + rsmd.getColumnClassName(col));
+				System.out.println("\tschemaname    " + rsmd.getSchemaName(col));
+				System.out.println("\ttablename     " + rsmd.getTableName(col));
+				System.out.println("\tname          " + rsmd.getColumnName(col));
+			}
+
+			for (int i = 1; rs.next(); i++) {
+				for (int col = 1; col <= rsmd.getColumnCount(); col++) {
+					Object x = rs.getObject(col);
+					if (x == null) {
+						System.out.println("" + i + ".\t<null>");
+					} else {
+						System.out.println("" + i + ".\t" + x.toString());
+						if (x instanceof INET) {
+							INET inet = (INET)x;
+							System.out.println("\t" + inet.getAddress() + "/" + inet.getNetmaskBits());
+							System.out.println("\t" + inet.getInetAddress().toString());
+						} else if (x instanceof URL) {
+							URL url = (URL)x;
+							System.out.println("\t" + url.getURL().toString());
+						}
+					}
+				}
+			}
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Rtimedate.java
@@ -0,0 +1,139 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Rtimedate {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		con.setAutoCommit(false);
+		// >> false: auto commit should be off now
+		System.out.println("false\t" + con.getAutoCommit());
+
+		try {
+			stmt.executeUpdate("CREATE TABLE table_Test_Rtimedate ( id int, ts timestamp, t time, d date, vc varchar(30), PRIMARY KEY (id) )");
+
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (1, timestamp '2004-04-24 11:43:53.000')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, t) VALUES (2, time '11:43:53.000')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (3, date '2004-04-24')");
+
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (4, '2004-04-24 11:43:53.000000')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (5, '11:43:53')");
+			stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (6, '2004-04-24')");
+
+			rs = stmt.executeQuery("SELECT * FROM table_Test_Rtimedate");
+
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// the next three should all go well
+			System.out.println("1. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTimestamp("ts"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("2. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTime("ts"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("3. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getDate("ts"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// the next two should go fine
+			System.out.println("4. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTimestamp("t"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("5. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTime("t"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// this one should return 0
+			System.out.println("6. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getDate("t"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// the next one passes
+			System.out.println("7. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTimestamp("d"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// this one should return 0
+			System.out.println("8. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTime("d"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// and this one should pass again
+			System.out.println("9. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getDate("d"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+
+			// in the tests below a bare string is parsed
+			// everything will fail except the ones commented on
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// timestamp -> timestamp should go
+			System.out.println("1. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("2. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// timestamp -> date goes because the begin is the same
+			System.out.println("3. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("4. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// time -> time should fit
+			System.out.println("5. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("6. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			rs.next();
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("7. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			System.out.println("8. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+			// date -> date should be fine
+			System.out.println("9. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc"));
+			readWarnings(rs.getWarnings());
+			rs.clearWarnings();
+
+			readWarnings(stmt.getWarnings());
+			readWarnings(con.getWarnings());
+		} catch (SQLException e) {
+			System.out.println("failed :( "+ e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		con.rollback();
+		con.close();
+	}
+
+	private static void readWarnings(SQLWarning w) {
+		while (w != null) {
+			System.out.println("warning: " + w.toString());
+			w = w.getNextWarning();
+		}
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Sbatching.java
@@ -0,0 +1,71 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Sbatching {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		try {
+			System.out.print("1. create...");
+			if (stmt.executeUpdate("CREATE TABLE table_Test_Sbatching ( id int )") != Statement.SUCCESS_NO_INFO)
+				throw new SQLException("Wrong return status");
+			System.out.println("passed :)");
+
+			// start batching a large amount of inserts
+			for (int i = 1; i <= 30000; i++) {
+				stmt.addBatch("INSERT INTO table_Test_Sbatching VALUES (" + i + ")");
+				if (i % 400 == 0) {
+					System.out.print("2. executing batch (400 inserts)...");
+					int[] cnts = stmt.executeBatch();
+					System.out.println("passed :)");
+					System.out.print("3. checking number of update counts...");
+					if (cnts.length != 400) throw new SQLException("Invalid size: " + cnts.length);
+					System.out.println(cnts.length + " passed :)");
+					System.out.print("4. checking update counts (should all be 1)...");
+					for (int j = 0; j < cnts.length; j++) {
+						if (cnts[j] != 1) throw new SQLException("Unexpected value: " + cnts[j]);
+					}
+					System.out.println("passed :)");
+					System.out.print("5. clearing the batch...");
+					stmt.clearBatch();
+					System.out.println("passed :)");
+				}
+			}
+			System.out.print("6. executing batch...");
+			stmt.executeBatch();
+			System.out.println("passed :)");
+
+			System.out.print("7. checking table count...");
+			rs = stmt.executeQuery("SELECT COUNT(*) FROM table_Test_Sbatching");
+			rs.next();
+			System.out.println(rs.getInt(1) + " passed :)");
+
+			System.out.print("8. clean up mess we made...");
+			if (stmt.executeUpdate("DROP TABLE table_Test_Sbatching") != Statement.SUCCESS_NO_INFO)
+				throw new SQLException("Wrong return status");
+			System.out.println("passed :)");
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		if (rs != null) rs.close();
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/Test_Smoreresults.java
@@ -0,0 +1,53 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+import java.sql.*;
+
+public class Test_Smoreresults {
+	public static void main(String[] args) throws Exception {
+		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+		Connection con = DriverManager.getConnection(args[0]);
+		Statement stmt = con.createStatement();
+		ResultSet rs = null;
+		//DatabaseMetaData dbmd = con.getMetaData();
+
+		// >> true: auto commit should be on by default
+		System.out.println("0. true\t" + con.getAutoCommit());
+
+		try {
+			System.out.print("1. more results?...");
+			if (stmt.getMoreResults() != false || stmt.getUpdateCount() != -1)
+				throw new SQLException("more results on an unitialised Statement, how can that be?");
+			System.out.println(" nope :)");
+
+			System.out.print("2. SELECT 1...");
+			if (stmt.execute("SELECT 1;") == false)
+				throw new SQLException("SELECT 1 returns update or no results");
+			System.out.println(" ResultSet :)");
+
+			System.out.print("3. more results?...");
+			if (stmt.getMoreResults() != false || stmt.getUpdateCount() != -1)
+				throw new SQLException("more results after SELECT 1 query, how can that be?");
+			System.out.println(" nope :)");
+
+			System.out.print("4. even more results?...");
+			if (stmt.getMoreResults() != false || stmt.getUpdateCount() != -1)
+				throw new SQLException("more results after SELECT 1 query, how can that be?");
+			System.out.println(" nope :)");
+
+		} catch (SQLException e) {
+			// this means we failed (table not there perhaps?)
+			System.out.println("FAILED :( " + e.getMessage());
+			System.out.println("ABORTING TEST!!!");
+		}
+
+		if (rs != null) rs.close();
+
+		con.close();
+	}
+}
new file mode 100644
--- /dev/null
+++ b/tests/build.properties
@@ -0,0 +1,9 @@
+# add a line like this to your build.local.properties to enable
+# debugging:
+#debug=&debug=true
+
+# by default debugging is disabled
+debug=
+
+# one can override the connection url as well
+#jdbc_url=jdbc:monetdb://localhost:53210/one?user=monetdb&password=monetdb
new file mode 100644
--- /dev/null
+++ b/tests/build.xml
@@ -0,0 +1,346 @@
+<?xml version="1.0"?><!-- vim:set ts=2 sw=2 expandtab: -->
+
+<!--
+This Source Code Form is subject to the terms of the Mozilla Public
+License, v. 2.0.  If a copy of the MPL was not distributed with this
+file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+-->
+
+<!--
+
+  Build file to allow ant (http://jakarta.apache.org/ant/) to be used
+  to build and run the tests
+
+-->
+
+<project name="JDBCTests" default="compile" basedir=".">
+
+  <property file="build.local.properties" />
+  <property file="build.properties" />
+  <property file="../build.properties"/> <!-- included for version -->
+
+  <!-- set global properties for this build -->
+  <property name="srcdir"    value="." />
+  <property name="builddir"  value="build" />
+  <property name="jardir"    value="../jars" />
+  <property name="jdbc_jar"
+    value="${jardir}/monetdb-jdbc-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
+  <property name="jdbc_url"
+    value="jdbc:monetdb://localhost/?user=monetdb&amp;password=monetdb${debug}" />
+  <property name="jdbctests-jar"
+    value="${jardir}/jdbctests.jar" />
+  <property name="jvm.version" value="1.7"/>
+
+  <!-- Prepares the build directory -->
+  <target name="prepare">
+    <mkdir dir="${builddir}" />
+  </target>
+
+  <!-- Compiles the tests -->
+  <target name="compile" depends="prepare,jdbc">
+    <echo message="Compiling JDBC tests" />
+    <javac
+      srcdir="${srcdir}"
+      destdir="${builddir}"
+      debug="true"
+      optimize="false"
+      includeantruntime="false"
+      source="${jvm.version}"
+      target="${jvm.version}"
+      >
+      <include name="**/*.java" />
+      <classpath>
+        <pathelement path="${srcdir}" />
+        <pathelement path="${jdbc_jar}" />
+      </classpath>
+    </javac>
+  </target>
+
+  <!-- a convenience jar collectin all JDBC tests -->
+  <target name="jar_jdbctests"
+    depends="compile"
+    unless="uptodate.jdbctests-jar">
+    <echo message="Building JDBC tests convenience jar" />
+    <jar jarfile="${jdbctests-jar}">
+      <fileset dir="${builddir}">
+        <include name="**/*.class" />
+      </fileset>
+    </jar>
+  </target>
+
+  <!-- makes sure the jdbc driver is compiled -->
+  <target name="jdbc" depends="find_driver" unless="have_driver">
+    <ant antfile="build.xml" dir=".." inheritAll="false" target="jar_jdbc" />
+  </target>
+
+  <target name="find_driver">
+    <condition property="have_driver">
+      <and>
+        <available classname="nl.cwi.monetdb.jdbc.MonetDriver">
+          <classpath>
+            <pathelement path="${jdbc_jar}" />
+          </classpath>
+        </available>
+      </and>
+    </condition>
+  </target>
+
+  <!-- This target removes the build directory -->
+  <target name="clean">
+    <delete quiet="true" dir="${builddir}" />
+  </target>
+
+  <!-- Run tests -->
+  <target name="test">
+    <antcall target="Test_Cautocommit" />
+    <antcall target="Test_Clargequery" />
+    <antcall target="Test_Cmanycon" />
+    <antcall target="Test_Cforkbomb" />
+    <antcall target="Test_CisValid" />
+    <antcall target="Test_Creplysize" />
+    <antcall target="Test_Csavepoints" />
+    <antcall target="Test_Ctransaction" />
+    <antcall target="Test_Creplysize" />
+    <antcall target="Test_Csendthread" />
+    <antcall target="Test_Dobjects" />
+    <antcall target="Test_PSgeneratedkeys" />
+    <antcall target="Test_PSlargeresponse" />
+    <antcall target="Test_PSlargeamount" />
+    <antcall target="Test_PSsomeamount" />
+    <antcall target="Test_PSlargebatchval" />
+    <antcall target="Test_PStimedate" />
+    <antcall target="Test_PStimezone" />
+    <antcall target="Test_PStypes" />
+    <antcall target="Test_PSmanycon" />
+    <antcall target="Test_PSmetadata" />
+    <antcall target="Test_PSsqldata" />
+    <antcall target="Test_Rbooleans" />
+    <antcall target="Test_Rmetadata" />
+    <antcall target="Test_Rpositioning" />
+    <antcall target="Test_Rtimedate" />
+    <antcall target="Test_Rsqldata" />
+    <antcall target="Test_Sbatching" />
+    <antcall target="Test_Smoreresults" />
+    <antcall target="Test_Int128" />
+    <antcall target="Test_FetchSize" />
+    <antcall target="BugConcurrent_clients_SF_1504657" />
+    <antcall target="BugConcurrent_sequences" />
+    <antcall target="BugDatabaseMetaData_Bug_3356" />
+    <antcall target="BugDecimalRound_Bug_3561" />
+  </target>
+
+  <target name="test_class" depends="compile,jdbc">
+    <echo message="Testing class ${test.class}" />
+    <java classname="${test.class}" failonerror="true">
+      <classpath>
+        <pathelement path="${builddir}" />
+        <pathelement path="${jdbc_jar}" />
+      </classpath>
+      <arg value="${jdbc_url}" />
+    </java>
+  </target>
+  
+
+  <!-- convenience targets for the outside caller to specify which
+  test(s) should be run -->
+  <target name="Test_Cautocommit">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Cautocommit" />
+    </antcall>
+  </target>
+
+  <target name="Test_Csavepoints">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Csavepoints" />
+    </antcall>
+  </target>
+
+  <target name="Test_Clargequery">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Clargequery" />
+    </antcall>
+  </target>
+
+  <target name="Test_Cmanycon">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Cmanycon" />
+    </antcall>
+  </target>
+
+  <target name="Test_Cforkbomb">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Cforkbomb" />
+    </antcall>
+  </target>
+
+  <target name="Test_CisValid">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_CisValid" />
+    </antcall>
+  </target>
+
+  <target name="Test_Ctransaction">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Ctransaction" />
+    </antcall>
+  </target>
+
+  <target name="Test_Creplysize">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Creplysize" />
+    </antcall>
+  </target>
+
+  <target name="Test_Csendthread">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Csendthread" />
+    </antcall>
+  </target>
+
+  <target name="Test_Dobjects">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Dobjects" />
+    </antcall>
+  </target>
+
+  <target name="Test_Sbatching">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Sbatching" />
+    </antcall>
+  </target>
+
+  <target name="Test_Smoreresults">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Smoreresults" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSgeneratedkeys">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSgeneratedkeys" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSlargeresponse">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSlargeresponse" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSlargeamount">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSlargeamount" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSsomeamount">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSsomeamount" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSlargebatchval">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSlargebatchval" />
+    </antcall>
+  </target>
+
+  <target name="Test_PStimedate">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PStimedate" />
+    </antcall>
+  </target>
+
+  <target name="Test_PStimezone">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PStimezone" />
+    </antcall>
+  </target>
+
+  <target name="Test_PStypes">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PStypes" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSmanycon">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSmanycon" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSmetadata">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSmetadata" />
+    </antcall>
+  </target>
+
+  <target name="Test_PSsqldata">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_PSsqldata" />
+    </antcall>
+  </target>
+
+  <target name="Test_Rbooleans">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Rbooleans" />
+    </antcall>
+  </target>
+
+  <target name="Test_Rpositioning">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Rpositioning" />
+    </antcall>
+  </target>
+
+  <target name="Test_Rtimedate">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Rtimedate" />
+    </antcall>
+  </target>
+
+  <target name="Test_Rsqldata">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Rsqldata" />
+    </antcall>
+  </target>
+
+  <target name="Test_Rmetadata">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Rmetadata" />
+    </antcall>
+  </target>
+
+  <target name="Test_Int128">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_Int128" />
+    </antcall>
+  </target>
+  
+  <target name="Test_FetchSize">
+    <antcall target="test_class">
+      <param name="test.class" value="Test_FetchSize" />
+    </antcall>
+  </target>
+  
+  <target name="BugConcurrent_clients_SF_1504657">
+    <antcall target="test_class">
+      <param name="test.class" value="BugConcurrent_clients_SF_1504657" />
+    </antcall>
+  </target>
+
+  <target name="BugConcurrent_sequences">
+    <antcall target="test_class">
+      <param name="test.class" value="BugConcurrent_sequences" />
+    </antcall>
+  </target>
+
+  <target name="BugDatabaseMetaData_Bug_3356">
+    <antcall target="test_class">
+      <param name="test.class" value="BugDatabaseMetaData_Bug_3356" />
+    </antcall>
+  </target>
+
+</project>
new file mode 100644
--- /dev/null
+++ b/tests/drop.sql
@@ -0,0 +1,9 @@
+-- This Source Code Form is subject to the terms of the Mozilla Public
+-- License, v. 2.0.  If a copy of the MPL was not distributed with this
+-- file, You can obtain one at http://mozilla.org/MPL/2.0/.
+--
+-- Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+
+drop table "foreign";
+drop table allnewtriples;
+commit;
new file mode 100755
--- /dev/null
+++ b/version.sh
@@ -0,0 +1,126 @@
+#!/usr/bin/env bash
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0.  If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+
+if [[ -z $1 ]] ; then
+	echo "Usage: $0 [-w] <(jdbc|mcl)> <(major|minor|suffix)=newversion> [...]"
+	echo "where -w activates actual write of changes"
+	exit -1
+fi
+
+PROPERTIES='build.properties'
+
+get_value() {
+	local tmp=$(grep -E "^$*=" ${PROPERTIES})
+	echo ${tmp#*=}
+}
+
+escape_value() {
+	echo "$*" | sed -e 's/\*/\\*/g' -e 's/\./\\./g'
+}
+
+patch="cat"
+
+# get rid of the script name
+case $1 in
+	-w)
+		patch="patch -p0";
+		shift
+		;;
+esac
+case $1 in
+	jdbc)
+		TYPE=JDBC
+		FILES="monetdb-jdbc-XXX.jar"
+		;;
+	mcl)
+		TYPE=MCL
+		FILES="monetdb-mcl-XXX.jar"
+		;;
+	*)
+		echo "invalid type: $1"
+		exit -1
+		;;
+esac
+shift
+
+CUR_MAJOR=$(eval "get_value '${TYPE}_MAJOR'")
+CUR_MINOR=$(eval "get_value '${TYPE}_MINOR'")
+CUR_SUFFIX=$(eval "get_value '${TYPE}_VER_SUFFIX'")
+
+NEW_MAJOR=${CUR_MAJOR}
+NEW_MINOR=${CUR_MINOR}
+NEW_SUFFIX=${CUR_SUFFIX}
+
+ESC_MAJOR=$(escape_value ${CUR_MAJOR})
+ESC_MINOR=$(escape_value ${CUR_MINOR})
+ESC_SUFFIX=$(escape_value ${CUR_SUFFIX})
+
+for param in $* ; do
+	arg=${param%%=*}
+	val=${param#*=}
+	num=$(echo ${val} | grep -E '[0-9]+' -o | head -n1)
+	case ${arg} in
+	major)
+		if [[ -z ${num} ]] ; then
+			echo "major needs a numeric argument!";
+			exit -1
+		fi
+		NEW_MAJOR=${num}
+		;;
+	minor)
+		if [[ -z ${num} ]] ; then
+			echo "minor needs a numeric argument!";
+			exit -1
+		fi
+		NEW_MINOR=${num}
+		;;
+	suffix)
+		NEW_SUFFIX=${val}
+		;;
+	esac
+done
+
+echo "Current version: ${CUR_MAJOR}.${CUR_MINOR} (${CUR_SUFFIX})"
+echo "New version:     ${NEW_MAJOR}.${NEW_MINOR} (${NEW_SUFFIX})"
+
+diff="diff -Naur"
+
+file="release.txt"
+sed \
+	-e "s|version ${ESC_MAJOR}\.${ESC_MINOR} (${ESC_SUFFIX}|version ${NEW_MAJOR}.${NEW_MINOR} \(${NEW_SUFFIX}|g" \
+	-e "s|${TYPE}-${ESC_MAJOR}\.${ESC_MINOR}|${TYPE}-${NEW_MAJOR}.${NEW_MINOR}|g" \
+	-e "s|Release date: 20[0-9][0-9]-[01][0-9]-[0-3][0-9]|Release date: `date +%F`|" \
+	${file} | ${diff} ${file} - | ${patch}
+
+for file in \
+	Makefile.ag \
+	; do
+	if [[ -f ${file} ]] ; then
+		for f in $FILES ; do
+			fr=${f//XXX/${NEW_MAJOR}.${NEW_MINOR}}
+			fo=${f//XXX/${ESC_MAJOR}.${ESC_MINOR}}
+			fo=${fo//./\\.}
+			sed -e "s|${fo}|${fr}|g" \
+				${file} | ${diff} ${file} - | ${patch}
+		done
+	else
+		echo "Please do not forget to patch file '${file##*../}', too."
+	fi
+done
+
+file="build.properties"
+sed \
+	-e "s|${TYPE}_MAJOR=${ESC_MAJOR}|${TYPE}_MAJOR=${NEW_MAJOR}|g" \
+	-e "s|${TYPE}_MINOR=${ESC_MINOR}|${TYPE}_MINOR=${NEW_MINOR}|g" \
+	-e "s|${TYPE}_VER_SUFFIX=${ESC_SUFFIX}|${TYPE}_VER_SUFFIX=${NEW_SUFFIX}|g" \
+	${file} | ${diff} ${file} - | ${patch}
+
+file="pom.xml"
+sed \
+	-e "s|<version>${ESC_MAJOR}\.${ESC_MINOR}</version>|<version>${NEW_MAJOR}.${NEW_MINOR}</version>|g" \
+	${file} | ${diff} ${file} - | ${patch}