Mercurial > hg > monetdb-java
annotate release.md @ 944:fc32ba68a2cc
Remove onclient.txt. It is now made available on https://www.monetdb.org/documentation-Aug2024/user-guide/client-interfaces/libraries-drivers/jdbc-driver/#on-client-extension
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 09 Jan 2025 14:14:52 +0100 (3 months ago) |
parents | 1295183c400c |
children | b21578cf909f |
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 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
|
93 -------------- |
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
94 |
639
899f0c120256
Improve and extend information in .txt files.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
637
diff
changeset
|
95 - 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
|
96 |
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
|
97 - 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 |
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
|
103 - 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 |
bc39810b3faa
Update ChangeLog release.txt for creating new MonetDB JDBC Driver release.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
435
diff
changeset
|
110 - 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
|
111 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
|
112 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
|
113 |
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
|
114 - 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 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
|
121 |
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
|
122 - 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
|
123 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
|
124 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
|
125 |
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
|
126 - 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
|
127 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
|
128 |
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
|
129 - 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
|
130 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
|
131 |
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
|
132 - 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 |
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
|
138 - 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 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
|
146 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
147 **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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 |
877
f31366ece930
Convert release.txt to release.md and add TLS info
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents:
774
diff
changeset
|
155 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
|
156 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
|
157 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
|
158 |