Mercurial > hg > monetdb-java
changeset 89:a6608e9581c1
Moved content of ChangeLog to ChangeLog-Archive.
Added information on released jars to the ChangeLog-Archive, so it becomes clear which releases contain which fixes.
Corrected order of some entries in ChangeLog-Archive (sorted by desc date).
Updated documentation regarding createBlob() and createClob(), which are implemented and thus no longer throw SQLFeatureNotSupportedException.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 05 Jan 2017 14:43:11 +0100 (2017-01-05) |
parents | 010ca5664218 |
children | b9b35ca2eec2 |
files | ChangeLog ChangeLog-Archive release.txt src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java |
diffstat | 4 files changed, 129 insertions(+), 117 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,82 +1,3 @@ -# ChangeLog file for java +# ChangeLog file for monetdb-java # This file is updated with Maddlog -* Thu Nov 17 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- The MapiSocket object now supports getting and setting the - socket timeout, even before the TCP socket is created. To set - the socket timeout specify it in the JDBC URL, for example: - jdbc:monetdb://localhost:50000/demo?so_timeout=8000 - This enables the timeout and sets it to 8000 milliseconds (= 8 seconds). - By default the timeout is not set, so wait infinitely. - -* Thu Nov 10 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Implemented Connection methods: getClientInfo(name) and getClientInfo(). - They used to return null and empty Properties object. - Corrected implementation of Connection methods: setClientInfo(name, value) - and setClientInfo(properties). They are now processed as expected. - Corrected implementation of Connection.setHoldability(holdability). It now - throws an SQLFeatureNotSupportedException when holdability is not - ResultSet.HOLD_CURSORS_OVER_COMMIT (which is the only supported holdability). - -* Thu Oct 13 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Corrected implementation of java.sql.Wrapper methods isWrapperFor() - and unwrap(). They now properly return expected results instead of - always return false or throw an SQLException. - -* Thu Oct 6 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Corrected return values of DatabaseMetaData methods nullsAreSortedHigh(), - nullsAreSortedLow(), getMaxCursorNameLength(), getMaxProcedureNameLength(), - getMaxStatementLength() and getMaxUserNameLength(). - Improved return values of DatabaseMetaData methods getMaxBinaryLiteralLength(), - getMaxCharLiteralLength() and getMaxColumnsInTable(). -- Implemented Statement methods: getQueryTimeout() and setQueryTimeout(int - seconds). getQueryTimeout() used to always return 0, now it returns the - query timeout retrieved from the server. setQueryTimeout(int seconds) - used to always throw SQLException: query time outs not supported. - Now it sets the query timeout for the current connection/session on - the server. - -* Thu Sep 29 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), - getInt(), getLong(), getFloat() and getDouble() in case the conversion - to the native type failed due to a Number Format conversion error. - It used to silently ignore the conversion error and return 0 instead, - which is not correct. Now it throws an SQLException with message - "Could not convert value to a number." and SQLstate "22003" meaning: - Numeric value out of range. - -* Thu Sep 22 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Improved JdbcClient program when doing dump of table definition. It now - outputs CREATE TABLE definition more similar to mclient program. - -* 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. - -* Thu Aug 11 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> -- Improved performance of method ResultSet.getObject(column_ID) significantly. -
--- a/ChangeLog-Archive +++ b/ChangeLog-Archive @@ -1,5 +1,91 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY -# This file contains past ChangeLog entries +# This file contains past monetdb-java ChangeLog entries + +* Wed Dec 21 2016 Sjoerd Mullender <sjoerd@acm.org> +- Compiled and released new jars: monetdb-jdbc-2.24.jar, monetdb-mcl-1.14.jar + and updated jdbcclient.jar + +* Thu Nov 17 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- The MapiSocket object now supports getting and setting the + socket timeout, even before the TCP socket is created. To set + the socket timeout specify it in the JDBC URL, for example: + jdbc:monetdb://localhost:50000/demo?so_timeout=8000 + This enables the timeout and sets it to 8000 milliseconds (= 8 seconds). + By default the timeout is not set, so wait infinitely. + +* Thu Nov 10 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Implemented Connection methods: getClientInfo(name) and getClientInfo(). + They used to return null and empty Properties object. + Corrected implementation of Connection methods: setClientInfo(name, value) + and setClientInfo(properties). They are now processed as expected. + Corrected implementation of Connection.setHoldability(holdability). It now + throws an SQLFeatureNotSupportedException when holdability is not + ResultSet.HOLD_CURSORS_OVER_COMMIT (which is the only supported holdability). + +* Thu Oct 13 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Corrected implementation of java.sql.Wrapper methods isWrapperFor() + and unwrap(). They now properly return expected results instead of + always return false or throw an SQLException. + +* Thu Oct 6 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Corrected return values of DatabaseMetaData methods nullsAreSortedHigh(), + nullsAreSortedLow(), getMaxCursorNameLength(), getMaxProcedureNameLength(), + getMaxStatementLength() and getMaxUserNameLength(). + Improved return values of DatabaseMetaData methods getMaxBinaryLiteralLength(), + getMaxCharLiteralLength() and getMaxColumnsInTable(). +- Implemented Statement methods: getQueryTimeout() and setQueryTimeout(int + seconds). getQueryTimeout() used to always return 0, now it returns the + query timeout retrieved from the server. setQueryTimeout(int seconds) + used to always throw SQLException: query time outs not supported. + Now it sets the query timeout for the current connection/session on + the server. + +* Thu Sep 29 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), + getInt(), getLong(), getFloat() and getDouble() in case the conversion + to the native type failed due to a Number Format conversion error. + It used to silently ignore the conversion error and return 0 instead, + which is not correct. Now it throws an SQLException with message + "Could not convert value to a number." and SQLstate "22003" meaning: + Numeric value out of range. + +* Thu Sep 22 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Improved JdbcClient program when doing dump of table definition. It now + outputs CREATE TABLE definition more similar to mclient program. + +* 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. + +* Thu Aug 11 2016 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> +- Improved performance of method ResultSet.getObject(column_ID) significantly. + +* Wed Jul 13 2016 Sjoerd Mullender <sjoerd@acm.org> +- Compiled and released new JDBC driver jar: monetdb-jdbc-2.23.jar * 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(). @@ -28,6 +114,9 @@ arguments of the specific overloaded function by matching the SPECIFIC_NAME value. +* Fri Jun 10 2016 Sjoerd Mullender <sjoerd@acm.org> +- Compiled and released new JDBC driver jar: monetdb-jdbc-2.21.jar + * 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: @@ -40,6 +129,21 @@ It used to always return false. Now it returns true for the supported conversions. This fixes Bug 3460. +* 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. + * 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 @@ -112,20 +216,12 @@ - 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. +* Tue Jan 5 2016 Sjoerd Mullender <sjoerd@acm.org> +- Compiled and released new JDBC driver jar: monetdb-jdbc-2.19.jar -* 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. +* Fri Oct 30 2015 Sjoerd Mullender <sjoerd@acm.org> +- Compiled and released new jars: monetdb-jdbc-2.18.jar, monetdb-mcl-1.13.jar + and updated jdbcclient.jar * Thu Aug 6 2015 Martin van Dinther <martin.van.dinther@monetdbsolutions.com> - 11.21.1-20150807 - Improved JDBC driver to not throw NullPointerException anymore
--- a/release.txt +++ b/release.txt @@ -29,13 +29,10 @@ Currently implemented JDBC 4.1 interface * java.sql.Connection The next features/methods are NOT implemented: - - createArrayOf - - createBlob, createClob, createNClob - - createStruct - - createSQLXML + - createArrayOf, createNClob, createStruct, createSQLXML - createStatement with result set holdability - prepareCall (CallableStatement is not supported) - - prepareStatement with column indices or names + - 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
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java +++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java @@ -1102,12 +1102,9 @@ public class MonetConnection extends Mon * 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 + * @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 - if the JDBC driver does not support this data type * @since 1.6 */ @Override @@ -1123,8 +1120,8 @@ public class MonetConnection extends Mon * 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 + * @throws SQLException - if an object that implements the Clob interface can not be constructed, + * this method is called on a closed connection or a database access error occurs. * @since 1.6 */ @Override @@ -1139,8 +1136,8 @@ public class MonetConnection extends Mon * data to the Blob. * * @return a MonetBlob instance - * @throws SQLFeatureNotSupportedException the JDBC driver does - * not support MonetBlob objects that can be filled in + * @throws SQLException - if an object that implements the Blob interface can not be constructed, + * this method is called on a closed connection or a database access error occurs. * @since 1.6 */ @Override @@ -1156,8 +1153,9 @@ public class MonetConnection extends Mon * may be used to add data to the NClob. * * @return an NClob instance - * @throws SQLFeatureNotSupportedException the JDBC driver does - * not support MonetNClob objects that can be filled in + * @throws SQLException - if an object that implements the NClob interface can not be constructed, + * this method is called on a closed connection or a database access error occurs. + * @throws SQLFeatureNotSupportedException - if the JDBC driver does not support this data type * @since 1.6 */ @Override @@ -1175,10 +1173,9 @@ public class MonetConnection extends Mon * @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 + * @throws SQLException - if an object that implements the Struct interface can not be constructed, + * this method is called on a closed connection or a database access error occurs. + * @throws SQLFeatureNotSupportedException - if the JDBC driver does not support this data type * @since 1.6 */ @Override @@ -1193,8 +1190,9 @@ public class MonetConnection extends Mon * 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 + * @throws SQLException - if an object that implements the SQLXML interface can not be constructed, + * this method is called on a closed connection or a database access error occurs. + * @throws SQLFeatureNotSupportedException - if the JDBC driver does not support this data type * @since 1.6 */ @Override