view release.txt @ 149:1e49fc74dba4

Implemented methods getCharacterStream() and getCharacterStream(long pos, long length) in class MonetClob. Method getCharacterStream() is called by DBeaver to fetch the Clob value. It used to throw a SQLFeatureNotSupportedException with message: "Method getCharacterStream() currently not supported" This caused DBeaver to log the exception and show NULL as the value on screen, which is incorrect. By implementing these methods it now works as expected for DBeaver and other generic SQL client tools using JDBC.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 17 Aug 2017 18:36:25 +0200 (2017-08-17)
parents c43c293f3d58
children 352b54ff0436
line wrap: on
line source
RELEASE NOTES
MonetDB JDBC driver version 2.26 (Liberica/MCL-1.15)
Release date: 2017-07-28

This JDBC driver is designed for use with MonetDB, a main-memory
database.  For more information see https://www.monetdb.org/.

The JDBC driver complies to JDBC 4.1 definition, see
 http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/index.html

Note: as of Jul2015 release we compile all the java sources to target: Java 1.7
so you need a JRE/JDK of version 1.7 or higher to use it.

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.

Below a list of (un)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://www.monetdb.org/bugzilla/


Currently implemented JDBC 4.1 interfaces include:
  * java.sql.Driver

  * java.sql.Connection
    The next features/methods are NOT implemented:
    - createArrayOf, createNClob, createStruct, createSQLXML
    - createStatement with result set holdability
    - prepareCall (CallableStatement is not supported)
    - prepareStatement with array of column indices or column names
    - setHoldability (close/hold cursors over commit is not
      configurable)
  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 (query execution cannot be terminated, once started)
    - execute with column indices or names
    - executeUpdate with column indices or names
    - setMaxFieldSize
    - setCursorName
    - setEscapeProcessing on

  * java.sql.PreparedStatement
    The next features/methods are NOT implemented:
    - setArray
    - setAsciiStream, setBinaryStream, setUnicodeStream
    - setBlob
    - setNCharacterStream, setNClob, setNString
    - setRef, setRowId, setSQLXML, setURL

  * java.sql.ParameterMetaData

  * java.sql.ResultSet
    The next features/methods are NOT implemented:
    - getArray
    - getAsciiStream, getUnicodeStream
    - getNCharacterStream, getNClob, getNString
    - getRef, getRowId, getSQLXML
    - all methods related to updateable result sets

  * java.sql.ResultSetMetaData

  * java.sql.SavePoint

  * java.sql.Wrapper

  * 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
    - setAsciiStream
    - setCharacterStream

  * javax.sql.DataSource (not tested)


The next java.sql.* interfaces are NOT implemented:
  * java.sql.Array
  * java.sql.CallableStatement  (use Statement or PreparedStatement instead)
  * java.sql.NClob
  * java.sql.Ref
  * java.sql.Rowid
  * java.sql.SQLData
  * java.sql.SQLInput
  * java.sql.SQLOutput
  * java.sql.SQLXML
  * java.sql.Struct