Changeset: a5a898f6886c for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java/rev/a5a898f6886c Added 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 Branch: default Log Message:
Copy of MonetDB java directory changeset e6e32756ad31. diffs (truncated from 51583 to 300 lines): diff --git a/ChangeLog b/ChangeLog 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 <[email protected]> +- 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 <[email protected]> +- 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 <[email protected]> +- Improved fetching and output speed of JdbcClient program for query results. + diff --git a/ChangeLog-Archive b/ChangeLog-Archive 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 11.15.9-20130619 +- Further improved setBigDecimal() method, based on patch by Ben Reilly + in bug #3290 + +* Thu May 23 2013 Fabian Groffen <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 11.11.9-20120911 +- Fixed a bug where DatabaseMetaData.getURL() did return null:0 for + hostname:port. + +* Fri Jul 20 2012 Fabian Groffen <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 11.7.9-20120312 +- Implemented missing Number types support in + PreparedStatement.setObject() + +* Mon Feb 20 2012 Fabian Groffen <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 11.7.1-20120111 +- Implemented getMetaData() method of PreparedStatement. + +* Tue Dec 27 2011 Fabian Groffen <[email protected]> - 11.7.1-20120111 +- Fixed an AssertionError for special results from e.g. EXPLAIN queries. + +* Wed Dec 21 2011 Fabian Groffen <[email protected]> - 11.7.1-20120111 +- Fixed overflow error when batching large statements, bug #2952 + +* Tue Dec 20 2011 Fabian Groffen <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 11.7.1-20120111 +- INTERVAL columns are now treated as decimals, since they can have + sub-second precision. + +* Thu Jun 30 2011 Fabian Groffen <[email protected]> - 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 <[email protected]> - 11.5.1-20110907 +- Added a naive implementation for PreparedStatement.setCharacterStream + +* Mon Apr 11 2011 Fabian Groffen <[email protected]> - 11.5.1-20110907 +- The obsolete Java-based implementation for PreparedStatements (formerly + activated using the java_prepared_statements property) has been dropped _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
