annotate ChangeLog @ 595:36df3c89845d

Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz Also improve error handling by testing on empty file name and provide more information when invalid file name is given or other compression formats are requested. As the FileTransferHandler utility class is used by JdbcClient application, it will now also support this functionality.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 25 Nov 2021 19:06:48 +0100 (2021-11-25)
parents 73cfc519ec1e
children f15df1ae41bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
89
a6608e9581c1 Moved content of ChangeLog to ChangeLog-Archive.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 53
diff changeset
1 # ChangeLog file for monetdb-java
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2 # This file is updated with Maddlog
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3
595
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
4 * Thu Nov 25 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
5 - Extended FileTransferHandler utility class by adding support for reading from
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
6 and writing to gzip compressed files when using file name extension .gz
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
7 Also improve error handling by testing on empty file name and provide more
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
8 information when invalid file name is given or other compression formats are
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
9 requested. As the FileTransferHandler utility class is used by JdbcClient
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
10 application, it will now also support this functionality.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
11
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
12 * Fri Nov 05 2021 Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
13 - Extended the MonetDB JDBC driver with support for the ON CLIENT clause of
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
14 the COPY statements. To make use of this functionality you must first
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
15 register handlers for upload and download of data.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
16 The MonetConnection class has been extended with 2 methods:
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
17 public void setUploadHandler(UploadHandler uploadHandler)
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
18 public void setDownloadHandler(DownloadHandler downloadHandler)
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
19 The MonetDB JDBC driver API has been extended with interfaces:
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
20 public interface org.monetdb.jdbc.MonetConnection.UploadHandler
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
21 public interface org.monetdb.jdbc.MonetConnection.DownloadHandler
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
22 See onclient.txt for more information on how to use these from Java.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
23 We also provide a utility class:
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
24 public class org.monetdb.util.FileTransferHandler
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
25 which provides an example implementation of the MonetConnection.UploadHandler
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
26 and MonetConnection.DownloadHandler interfaces useable for reading files
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
27 from or writing files to a local file system.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
28
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
29 * Fri Nov 05 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
30 - The JdbcClient application has been extended to support the new
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
31 COPY ... ON CLIENT functionality.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
32 However for security reasons you must provide an explicit new startup argument
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
33 --csvdir "/absolute/path/to/csvdatafiles"
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
34 or on MS Windows
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
35 --csvdir "C:\\path\\to\\csvdatafiles"
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
36 in order to activate the JdbcClient application to down/up load data to/from
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
37 the local file system.
36df3c89845d Extended FileTransferHandler utility class by adding support for reading from and writing to gzip compressed files when using file name extension .gz
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 482
diff changeset
38
482
73cfc519ec1e Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 476
diff changeset
39 * Mon Jun 14 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
73cfc519ec1e Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 476
diff changeset
40 - Compiled and released new jar files: monetdb-jdbc-3.1.jre8.jar,
73cfc519ec1e Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 476
diff changeset
41 monetdb-mcl-1.20.jre8.jar and jdbcclient.jre8.jar
73cfc519ec1e Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 476
diff changeset
42
471
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
43 * Thu Apr 29 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
44 - Improved performance of ResultSetMetaData methods getPrecision(),
476
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
45 getScale(), isNullable() and isAutoIncrement(). The data is fetched
471
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
46 from the server by sending a query. This used to be one query for
476
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
47 each column of the ResultSet. Now these metadata queries are combined
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
48 into one query fetching this meta data for up to 50 columns in one query.
471
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
49 This reduces the number of queries sent to the server significantly.
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
50 This is noticable for instance when using generic JDBC query tools
482
73cfc519ec1e Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 476
diff changeset
51 such as SQuirreL, DBeaver, which now respond much faster.
471
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
52
449
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
53 * Wed Mar 3 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 449
diff changeset
54 - Implemented PreparedStatement.toString() as requested by
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 449
diff changeset
55 https://github.com/MonetDB/monetdb-java/issues/8
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 449
diff changeset
56
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 449
diff changeset
57 * Wed Mar 3 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
449
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
58 - Implemented fix for released monetdb-jdbc-3.0.jre8.jar and
476
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
59 monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
60 It would throw:
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
61 java.lang.NoSuchMethodError: java.nio.CharBuffer.mark()Ljava/nio/CharBuffer;
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
62 at org.monetdb.mcl.parser.StartOfHeaderParser.getNextAsString(Unknown Source)
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
63 at org.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(Unknown Source)
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
64 at org.monetdb.jdbc.MonetConnection$ResponseList.processQuery(Unknown Source)
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
65 at org.monetdb.jdbc.MonetStatement.internalExecute(Unknown Source)
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
66 at org.monetdb.jdbc.MonetStatement.execute(Unknown Source)
449
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
67 The problem is caused by a change in java.nio.CharBuffer API (return
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
68 types of methods mark() and reset() have changed from Buffer to
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
69 CharBuffer) from Java 8 to Java 9+.
5ddfc0aa7f0e Implemented fix for released monetdb-jdbc-3.0.jre8.jar and monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 444
diff changeset
70
476
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
71 For a complete list of changes in previous monetdb-java releases see:
5b99ca67825a Improve text in ChangeLog. Also remove old release 3.0 changes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
72 https://www.monetdb.org/downloads/Java/archive/ChangeLog-Archive