Mercurial > hg > monetdb-java
annotate release.md @ 939:fd938d0a2b3a
Include all Parameters in GetPropertyInfo
Not just user, password, tls and cert.
author | Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> |
---|---|
date | Wed, 08 Jan 2025 15:41:48 +0100 (4 months ago) |
parents | 1295183c400c |
children | fc32ba68a2cc |
rev | line source |
---|---|
0
a5a898f6886c
Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
1 RELEASE NOTES |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
2 ============= |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
3 |
741
843f7d03540a
Updated release numbers in preparation for a release.
Sjoerd Mullender <sjoerd@acm.org>
parents:
740
diff
changeset
|
4 MonetDB JDBC driver version 3.3 (Liberica) |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
5 <br> |
741
843f7d03540a
Updated release numbers in preparation for a release.
Sjoerd Mullender <sjoerd@acm.org>
parents:
740
diff
changeset
|
6 Release date: 2023-02-23 |
0
a5a898f6886c
Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
7 |
355
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
8 The Java Database Connectivity (JDBC) API provides universal data access from |
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
9 the Java programming language. |
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
10 |
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
11 The MonetDB JDBC driver is designed for use with MonetDB, an Open-Source column-store RDBMS. |
177
4959b85b981c
Extend DatabaseMetaData.getClientInfoProperties() with new property: treat_clob_as_varchar
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
176
diff
changeset
|
12 For more information see https://www.monetdb.org/ |
0
a5a898f6886c
Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
13 |
355
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
14 The latest MonetDB JDBC driver can be downloaded from |
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
15 https://www.monetdb.org/downloads/Java/ |
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
16 |
477
0e30bc245838
Update the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
444
diff
changeset
|
17 The sources for this JDBC driver and related Java programs can be found at: |
0e30bc245838
Update the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
444
diff
changeset
|
18 https://dev.monetdb.org/hg/monetdb-java/file/tip |
0e30bc245838
Update the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
444
diff
changeset
|
19 |
0e30bc245838
Update the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
444
diff
changeset
|
20 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
21 URL Format |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
22 ---------- |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
23 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
24 The MonetDB JDBC connection URL format is: |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
25 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
26 <pre> |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
27 jdbc:<b>monetdb</b>://[<host>[:<port>]]/<databasename>[?<properties>] (not encrypted) |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
28 OR |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
29 jdbc:<b>monetdbs</b>://[<host>[:<port>]]/<databasename>[?<properties>] (encrypted) |
176
e701b51b3552
Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
163
diff
changeset
|
30 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
31 where <properties> are &-separated: prop1=value1[&prop2=value2[&prop3=value3...]] |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
32 </pre> |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
33 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
34 The second form (monetdbs) is for creating a TLS-protected connection. TLS (Transport Layer Security) |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
35 is the mechanism that is also used for HTTPS. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
36 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
37 Property keys and values support percent-escaped bytes. For example, the |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
38 password 'chocolate&cookies' can be passed as follows: `jdbc:monetdb:///demo?user=me&password=chocolate%26cookies`. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
39 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
40 Note: MonetDB-Java version 3.3 and earlier did not support percent-escapes. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
41 If your password contains percent-characters, these must now be encoded as `%25`. |
176
e701b51b3552
Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
163
diff
changeset
|
42 |
177
4959b85b981c
Extend DatabaseMetaData.getClientInfoProperties() with new property: treat_clob_as_varchar
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
176
diff
changeset
|
43 Supported connection properties are: |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
44 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
45 | Property | Default | Notes | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
46 | ----------------------------------------- | ------- | --------------------------------------------------- | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
47 | user=<login name> | - | required | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
48 | password=<secret value> | - | required | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
49 | so_timeout=<time in milliseconds> | - | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
50 | treat_clob_as_varchar=<bool> | true | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
51 | treat_blob_as_binary=<bool> | true | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
52 | language=<sql or mal> | sql | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
53 | replysize=<nr of rows> | 250 | -1 means fetch everything at once | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
54 | autocommit=<bool> | true | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
55 | schema=<schema name> | - | initial schema to select | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
56 | timezone=<minutes east of UTC> | system | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
57 | debug=true | false | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
58 | logfile=<name of logfile> | | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
59 | hash=<SHA512, SHA384, SHA256 or SHA1> | | | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
60 | cert=<path to certificate> | - | TLS certificate must be in PEM format | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
61 | certhash=sha256:<hexdigits and colons> | - | required hash of server TLS certificate in DER form | |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
62 |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
63 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
64 Booleans <bool> can be written as 'true', 'false', 'yes', 'no', 'on' and 'off'. Property 'fetchsize' is accepted as an alias of 'replysize'. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
65 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
66 Client authentication (Mutual TLS, or MTLS) is not yet supported. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
67 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
68 When the properties 'treat_clob_as_varchar' and 'treat_blob_as_binary' are enabled, |
381
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
69 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
70 The properties 'treat_clob_as_varchar' and 'treat_blob_as_binary' control which |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
71 type is returned by ResultSetMetaData.getColumnType(int) for CLOB and BLOB columns. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
72 When 'treat_clob_as_varchar' is enabled, Types.VARCHAR is returned instead of Types.CLOB |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
73 for CLOB columns. When 'treat_blob_as_binary' is enabled, Types.VARBINARY is returned instead |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
74 of Types.BLOB for BLOB columns. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
75 This will cause generic JDBC applications such as SQuirrel SQL and DBeaver to use |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
76 the more efficient '#getString()' and '#getBytes()' API rather than '#getClob()' and |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
77 '#getClob()'. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
78 These properties are enabled by default since MonetDB-Java version 3.0. |
381
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
79 |
176
e701b51b3552
Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
163
diff
changeset
|
80 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
81 Use |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
82 --- |
176
e701b51b3552
Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
163
diff
changeset
|
83 |
364
37f54743b1fd
Correcting invalid documentation URL refs.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
363
diff
changeset
|
84 See also: https://www.monetdb.org/Documentation/SQLreference/Programming/JDBC |
176
e701b51b3552
Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
163
diff
changeset
|
85 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
86 The MonetDB JDBC driver class name is `org.monetdb.jdbc.MonetDriver`. |
482
73cfc519ec1e
Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
477
diff
changeset
|
87 This has been changed as of release 3.0 (monetdb-jdbc-3.0.jre8.jar). |
768
a80c21fe7bb2
Removed deprecated nl.cwi.monetdb.*.* classes and package.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
765
diff
changeset
|
88 The old driver class (nl.cwi.monetdb.jdbc.MonetDriver) has been deprecated |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
89 since 12 Nov 2020 and has been removed in release 3.4 (monetdb-jdbc-3.4.jre8.jar). |
482
73cfc519ec1e
Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
477
diff
changeset
|
90 |
73cfc519ec1e
Updated ChangeLog, Archive and release.txt in preparation of new release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
477
diff
changeset
|
91 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
92 ON CLIENT support |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
93 ----------------- |
740
e1e9e0535e38
Add information on the column SPECIFIC_NAME as returned by getProcedures, getProcedureColumns, getFunctions and getFunctionColumns for overloaded procedure and function names.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
738
diff
changeset
|
94 |
577
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
95 Since release 3.2 (monetdb-jdbc-3.2.jre8.jar), the MonetDB JDBC driver has |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
96 support for the ON CLIENT clause of the COPY statement. To use |
577
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
97 this functionality you must register handlers for upload and download of data. |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
98 The MonetConnection class has been extended with 2 methods: |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
99 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
100 * public void setUploadHandler(UploadHandler uploadHandler) |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
101 * public void setDownloadHandler(DownloadHandler downloadHandler) |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
102 |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
103 The API has been extended with some further interfaces and utility classes: |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
104 * public interface org.monetdb.jdbc.MonetConnection.UploadHandler |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
105 * public interface org.monetdb.jdbc.MonetConnection.DownloadHandler |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
106 * public static class org.monetdb.jdbc.MonetConnection.Upload |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
107 * public static class org.monetdb.jdbc.MonetConnection.Download |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
108 * public class org.monetdb.util.FileTransferHandler |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
109 which implements the UploadHandler and DownloadHandler interfaces. |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
110 |
738
19fba8e8ee17
Update JDBC documentation text.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
712
diff
changeset
|
111 See file onclient.txt for more information on how to use these from Java. |
577
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
112 |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
113 The JdbcClient application has also been extended to support COPY ... |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
114 ON CLIENT functionality. However for security reasons you must provide an |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
115 explicit new startup argument |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
116 --csvdir "/path/to/csvdatafiles" |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
117 or on MS Windows |
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
118 --csvdir "C:\\path\\to\\csvdatafiles" |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
119 in order to allow the JdbcClient to access local files. |
577
6ab9168ef8e1
Added startup argument --csvdir to JdbcClient program to allow explicit enabling and specification where csv data files are to be read from or written to when the COPY ... ON CLIENT command is executed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
536
diff
changeset
|
120 |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
121 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
122 Notes and tips |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
123 -------------- |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
124 |
639
899f0c120256
Improve and extend information in .txt files.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
637
diff
changeset
|
125 - After creating a Connection object check for SQLWarnings via conn.getWarnings(); |
899f0c120256
Improve and extend information in .txt files.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
637
diff
changeset
|
126 |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
127 - Close JDBC ResultSet, Statement, PreparedStatement, CallableStatement and |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
128 Connection objects immediately (via close()) when they are no longer needed, |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
129 in order to release resources and memory on the server and client side. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
130 Especially ResultSets can occupy large amounts of memory on the server and |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
131 client side. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
132 |
444
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
133 - By default the ResultSets created by methods in DatabaseMetaData |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
134 which return a ResultSet (such as dbmd.getColumns(...)) are |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
135 TYPE_SCROLL_INSENSITIVE, so they cache their ResultSet data to |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
136 allow absolute, relative and random access to data rows and fields. |
639
899f0c120256
Improve and extend information in .txt files.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
637
diff
changeset
|
137 To free heap memory and server resources, close those ResultSets |
444
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
138 immediately when no longer needed. |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
139 |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
140 - By default the ResultSets created by stmt.executeQuery(...) or |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
141 stmt.execute(...) are TYPE_FORWARD_ONLY, to reduce the potentially large |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
142 amount of client memory needed to cache the whole ResultSet data. |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
143 |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
144 - When you need to execute many SQL queries sequentially reuse the Statement |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
145 object instead of creating a new Statement for each single SQL query. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
146 Alternatively you can execute the SQL queries as one script (each SQL query |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
147 must be separated by a ; character) string via stmt.execute(script), |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
148 stmt.getResultSet() and stmt.getMoreResults(). |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
149 Or you can use the batch execution functionality, see stmt.addBatch() and |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
150 stmt.executeBatch() methods. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
151 |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
152 - The fastest way to retrieve data from a MonetDB ResultSet is via the |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
153 getString(int columnIndex) method, because internally all data |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
154 values (of all types) are stored as Strings, so no conversions are needed. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
155 |
381
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
156 - Avoid using rs.getObject() as it will need to construct a new Object for |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
157 each value, even for primitive types such as int, long, boolean. |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
158 |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
159 - Avoid using rs.getClob(). Instead use getString() for all CLOB |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
160 columns, which is much faster and uses much (3 times) less memory. |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
161 |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
162 - Avoid using rs.getBlob(). Instead use getBytes() to get a byte array |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
163 or use getString() to get a string containing hex pairs, for all BLOB |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
164 columns. These methods are much faster and use much less memory. |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
165 The getString() is the fastest way as no conversions are done at all. |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
166 The getBytes() will need to convert the hex char string into a new bytes[]. |
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
167 |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
168 - Try to avoid calling "rs.get...(String columnLabel)" methods inside the |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
169 while(rs.next()) {...} loop. Instead resolve the columnLabels to column |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
170 numbers before the loop via method "int findColumn(String columnLabel)" |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
171 and use the int variables with the rs.get...(int columnIndex) methods. |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
172 This eliminates the call to findColumn(String columnLabel) for |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
173 each value of every column for every row in the ResultSet. |
355
69803e5a5a49
Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
354
diff
changeset
|
174 See also the example Java JDBC program on: |
364
37f54743b1fd
Correcting invalid documentation URL refs.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
363
diff
changeset
|
175 https://www.monetdb.org/Documentation/SQLreference/Programming/JDBC |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
176 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
177 **WARNING**: |
662
ee1f3b3ff5fd
Remove MCL_MAJOR and MCL_MINOR references now we no longer distribute monetdb-mcl-1.##.jre8.jar file.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
658
diff
changeset
|
178 The current implementation of the MonetDB JDBC driver is *NOT* |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
179 multi-thread safe. If your program uses multiple threads concurrently on |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
180 the same Connection (so one MapiSocket), this may lead to incorrect behavior |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
181 and results (due to race conditions). |
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
182 You will need to serialize the processing of the threads in your Java program. |
381
11c30e3b7966
Set the connection properties treat_clob_as_varchar and treat_blob_as_binary to true by default for faster processing (less objects created, less memory needed) when querying CLOB or BLOB column data.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
376
diff
changeset
|
183 Alternatively you can use a separate JDBC Connection for each thread. |
346
5d108b9ffc64
Improved and extended the JDBC driver release information with notes and tips for programmers who want to use the MonetDB JDBC driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
340
diff
changeset
|
184 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
185 Note: as of version 3.0 (monetdb-jdbc-3.0.jre8.jar) we compile all |
354
b1f8750e6cde
Switch to Java 8 compilation and distribution as Java 7 is no longer supported.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
346
diff
changeset
|
186 the java sources to target: Java SE 8 (profile compact2), so |
b1f8750e6cde
Switch to Java 8 compilation and distribution as Java 7 is no longer supported.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
346
diff
changeset
|
187 you need a JRE/JDK JVM of version 8 or higher to use it. |
662
ee1f3b3ff5fd
Remove MCL_MAJOR and MCL_MINOR references now we no longer distribute monetdb-mcl-1.##.jre8.jar file.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
658
diff
changeset
|
188 |