Mercurial > hg > monetdb-java
view ChangeLog @ 177:4959b85b981c
Extend DatabaseMetaData.getClientInfoProperties() with new property: treat_clob_as_varchar
Also added missing logfile property and improved description for properties: treat_blob_as_binary and hash.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 05 Oct 2017 14:56:24 +0200 (2017-10-05) |
parents | 8700d9ef2ace |
children | e0f76fedafc8 |
line wrap: on
line source
# ChangeLog file for monetdb-java # This file is updated with Maddlog * Thu Sep 28 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Added possibility to let the JDBC driver return columnType value Types.VARCHAR instead of Types.CLOB in case the result column of a ResultSet or parameter in a PreparedStatement is of data type 'clob'. To enable this behavior provide it as JDBC connection URL property: treat_clob_as_varchar=true For example: jdbc:monetdb://localhost:50000/demo?treat_clob_as_varchar=true See also: https://www.monetdb.org/Documentation/Manuals/SQLreference/Programming/JDBC This custom clob mapping informs generic JDBC programs to fetch clob column values via method ResultSet.getString() instead of getClob() and Clob.getCharacterStream() and next fetching from the stream. As MonetDB server MAPI communication protocol does not support streaming of parts of a CLOB value, the current implementation is to send over the whole CLOB value as a string. Therefore there is no performance gain when fetching those Clob values via getClob() and getCharacterStream(). In fact it creates a lot of overhead (additional objects and method calls) and triples the amount of needed Java Heap memory for each Clob value! With this connection property set, you can reduce this overhead when working with clob column data from generic JDBC programs. * Thu Sep 7 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Implemented PreparedStatement methods setNCharacterStream(int, Reader) and setNCharacterStream(int, Reader, long). * Thu Aug 31 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Corrected PreparedStatement methods setString(int, String) and setObject(int, Object, ...) in case the target parameter data type was json or inet or url or uuid. See also https://www.monetdb.org/bugzilla/show_bug.cgi?id=6382 * Thu Aug 24 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Implemented PreparedStatement method setURL(int, URL). - Implemented PreparedStatement method setNString(int, String). - The MonetDB JDBC driver code and jdbcclient program are now compiled without debug info and with optimise flag enabled. The new jar files are now smaller in size. * Thu Aug 17 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Implemented ResultSet method getNCharacterStream(). - In class MonetClob implemented methods getCharacterStream() and getCharacterStream(long pos, long length). 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. This has been fixed. * Fri Jul 28 2017 Sjoerd Mullender <sjoerd@acm.org> - Compiled and released new jars: monetdb-jdbc-2.26.jar and updated jdbcclient.jar * Thu Jul 13 2017 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - Corrected implementation of PreparedStatement method setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) for the case the targetSqlType is Types.CLOB. See also: https://www.monetdb.org/bugzilla/show_bug.cgi?id=6349