Changeset: 19fba8e8ee17 for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java/rev/19fba8e8ee17 Modified Files: onclient.txt release.txt Branch: default Log Message:
Update JDBC documentation text. diffs (114 lines): diff --git a/onclient.txt b/onclient.txt --- a/onclient.txt +++ b/onclient.txt @@ -1,9 +1,9 @@ COPY ... ON CLIENT ... support in the MonetDB JDBC driver and JdbcClient program. MonetDB provides the non-standard COPY INTO statement to perform bulk inserts and -retrievals, see also -https://www.monetdb.org/Documentation/ServerAdministration/LoadingBulkData/CSVBulkLoads -https://www.monetdb.org/Documentation/ServerAdministration/ExportingBulkData +retrievals, see also: +https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/copy-from/ +https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/export_data/ By default, COPY INTO accesses files on the server but it also has a mode to access files on the client. This is supported by the command line tool @@ -16,11 +16,10 @@ of file transfers. If you execute, for the server will send a request for file 'data.csv' to the JDBC driver. By default, the JDBC driver will refuse with an error message: - 'No file upload handler has been registered with the JDBC driver' or in JdbcClient: - 'Error [22000] data.csv: No file upload handler has been registered with the JDBC driver' + 'Error [42000] when opening data.csv: ON CLIENT: No file upload handler has been registered with the JDBC driver' This is for security reasons. However, you can register a callback to handle these requests from the server: @@ -63,30 +62,32 @@ which signature looks like this: In your implementation of handleUpload(), you can use the 'handle' object to communicate with the server, for example: -- handle.getStream() to obtain a stream object to which you can write. +- PrintStream handle.getStream() to obtain a stream object to which you can write. This is useful if you want to generate the data on the fly. - void uploadFrom(InputStream stream) to have the JDBC driver read data from the stream and send it to the server as-is. For text mode uploads this means the text must be UTF-8 encoded. -- handle.uploadFrom(Reader reader) to have the JDBC driver read text from the given +- void handle.uploadFrom(Reader reader) to have the JDBC driver read text from the given Reader and upload it. -- handle.uploadFrom(BufferedReader reader, long linesToSkip) to have the JDBC +- void handle.uploadFrom(BufferedReader reader, long linesToSkip) to have the JDBC driver read from the given BufferedReader and upload the text, skipping the first 'linesToSkip' lines. Typically you would use the value passed to handleUpload in parameter 'linesToSkip'. -- handle.sendError(String errorMessage) to refuse the upload. +- void handle.sendError(String errorMessage) to refuse the upload. -See also: https://www.monetdb.org/hg/monetdb-java/file/tip/src/main/java/org/monetdb/jdbc/MonetConnection.java#l3344 +See also: + https://www.monetdb.org/hg/monetdb-java/file/tip/src/main/java/org/monetdb/jdbc/MonetConnection.java#l3546 If you use sendError() to refuse the upload, the COPY INTO statement will fail but the connection will remain usable. On the other hand, if your implementation of handleUpload throws an IOException, the connection will be closed because there is currently no way to signal errors to the server once the transfer has begun. + The interface for DownloadHandler is: public interface DownloadHandler { @@ -104,6 +105,7 @@ The interface for DownloadHandler is: void handleDownload(Download handle, String name, boolean textMode) throws IOException; } + Class org.monetdb.util.FileTransferHandler provides a default implementation of both MonetConnection.UploadHandler and MonetConnection.DownloadHandler for reading from and writing to local csv files. @@ -111,4 +113,6 @@ You pass the FileTransferHandler constru specify the encoding used for the data in the csv files. FileTransferHandler class is intended for situations where you do not need to generate or transform data while uploading or downloading to a file. +See also: + https://www.monetdb.org/hg/monetdb-java/file/tip/src/main/java/org/monetdb/util/FileTransferHandler.java#l29 diff --git a/release.txt b/release.txt --- a/release.txt +++ b/release.txt @@ -30,8 +30,8 @@ Supported connection properties are: treat_blob_as_binary=false default is: true language=<sql or mal> default is: sql fetchsize=<nr of rows> default is: 250; -1 means fetch everything at once + autocommit=false default is: true debug=true default is: false - autocommit=false default is: true logfile=<name of logfile> hash=<SHA512, SHA384, SHA256 or SHA1> @@ -67,7 +67,8 @@ The MonetDB JDBC driver class name is: o This has been changed as of release 3.0 (monetdb-jdbc-3.0.jre8.jar). The old driver class (nl.cwi.monetdb.jdbc.MonetDriver) has been deprecated. It is still included in the jar file to ease the transition for existing deployments. -However it will be removed in a future release of the MonetDB JDBC driver. +However it will be removed in a future release (planned for monetdb-jdbc-3.4.jre8.jar) + of the MonetDB JDBC driver. Please use the new driver class name asap in your configuration files or Java code. @@ -216,7 +217,7 @@ The API has been extended with interface public static class org.monetdb.jdbc.MonetConnection.Download public class org.monetdb.util.FileTransferHandler which implements MonetConnection.UploadHandler, MonetConnection.DownloadHandler -See onclient.txt for more information on how to use these from Java. +See file onclient.txt for more information on how to use these from Java. The JdbcClient application has also been extended to support COPY ... ON CLIENT functionality. However for security reasons you must provide an _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org