annotate release.txt @ 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.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 08 Oct 2020 19:45:20 +0200 (2020-10-08)
parents ffdc7b0e102d
children f523727db392
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1 RELEASE NOTES
340
70808ab71d2a Updated release numbers in preparation for a release.
Sjoerd Mullender <sjoerd@acm.org>
parents: 293
diff changeset
2 MonetDB JDBC driver version 2.29 (Liberica/MCL-1.18)
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
3 Release date: 2020-02-12
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
4
355
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
5 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
6 the Java programming language.
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
7
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
8 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
9 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
10
355
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
11 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
12 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
13
190
d348d476153a Also update the release notes for the new release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 182
diff changeset
14 The MonetDB JDBC connection URL format to use is:
182
3715e8550be1 Correct the property separator. Should be a & instead of a ;
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 177
diff changeset
15 jdbc:monetdb://<hostname>[:<portnr>]/<databasename>[?<property>=<value>[&<property>=<value>]]
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
16
190
d348d476153a Also update the release notes for the new release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 182
diff changeset
17 Note: For a successful connection the database name part must be provided
d348d476153a Also update the release notes for the new release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 182
diff changeset
18 and be equal to the name of the database served by the mserver5 process running on
d348d476153a Also update the release notes for the new release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 182
diff changeset
19 the specified host and listening to the specified port number (default port is 50000).
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
20
177
4959b85b981c Extend DatabaseMetaData.getClientInfoProperties() with new property: treat_clob_as_varchar
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 176
diff changeset
21 Supported connection properties are:
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
22 user=<login name>
e701b51b3552 Extend release.txt with information on MonetDB JDBC connection URL format
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 163
diff changeset
23 password=<secret value>
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
24 so_timeout=<time in milliseconds> default is: 0 (no timeout)
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
25 treat_clob_as_varchar=false default is: true
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
26 treat_blob_as_binary=false default is: true
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
27 language=<sql or mal> default is: sql
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
28 debug=true default is: false
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
29 logfile=<name of logfile>
363
34ce6e1b1be8 Remove support for deprecated MD5 encryption algorithm in MapiSocket.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 355
diff changeset
30 hash=<SHA512, SHA384, SHA256 or SHA1>
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
31
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
32 The treat_clob_as_varchar property (when set to true) will let the method
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
33 ResultSetMetaData.getColumnType(int) to return Types.VARCHAR instead of Types.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
34 for CLOB ResultSet columns. Generic JDBC applications such as SQuirreL SQL and DBeaver
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
35 will than use rs.getString() instead of rs.getClob() to fetch any CLOB column data.
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
36 Using rs.getString() avoids creating new objects and multiple copies of the 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
37 string data resulting in (much) faster response and better user experience.
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
38 This property is turned on by default as of release monetdb-jdbc-2.30.jre8.jar.
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
39 You can turn it off if you prefer the old behavior.
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
40
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
41 The treat_blob_as_binary property (when set to true) will let the method
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
42 ResultSetMetaData.getColumnType(int) to return Types.VARBINARY instead of Types.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
43 for BLOB ResultSet columns. Generic JDBC applications such as SQuirreL SQL and DBeaver
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
44 will than use rs.getBytes() instead of rs.getBlob() to fetch any BLOB column data.
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
45 Using rs.getBytes() avoids creating new objects and multiple copies of the 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
46 string data resulting in (much) faster response and better user experience.
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
47 This property is turned on by default as of release monetdb-jdbc-2.30.jre8.jar.
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
48 You can turn it off if you prefer the old behavior.
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
49
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
50 We recommend to set following connection properties:
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
51 so_timeout=20000
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
52
202
43aca1563460 Updated the release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 190
diff changeset
53 Multiple connection properties are separated by the & character.
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
54 For example:
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
55 jdbc:monetdb://localhost:41000/mydb?user=monetdb&password=onlyiknow&so_timeout=20000
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
56
364
37f54743b1fd Correcting invalid documentation URL refs.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 363
diff changeset
57 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
58
177
4959b85b981c Extend DatabaseMetaData.getClientInfoProperties() with new property: treat_clob_as_varchar
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 176
diff changeset
59
190
d348d476153a Also update the release notes for the new release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 182
diff changeset
60 JDBC COMPLIANCE
355
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
61 The MonetDB JDBC driver is a type 4 driver (100% pure Java) and
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 364
diff changeset
62 complies to JDBC 4.2 definition, see
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 364
diff changeset
63 http://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/index.html
355
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
64 and
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
65 https://en.wikipedia.org/wiki/Java_Database_Connectivity
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
66
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
67 Within the current implementation not all functionalities of the JDBC
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
68 interface are available. It is believed, however, that this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
69 implementation is rich enough to be suitable for a majority of
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
70 application settings.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
71
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
72 Below a list of (un)supported features can be found.
210
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
73 Please read this list if you intend to use this JDBC driver.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
74
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
75 If you feel some features are missing or have encountered an issue/bug,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
76 please let us know at our bugtracker:
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
77 https://www.monetdb.org/bugzilla/
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
78
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 364
diff changeset
79 Currently implemented JDBC 4.2 interfaces include:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
80 * java.sql.Driver
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
81
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
82 * java.sql.Connection
271
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
83 The next features/methods are NOT useable/supported:
89
a6608e9581c1 Moved content of ChangeLog to ChangeLog-Archive.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 78
diff changeset
84 - createArrayOf, createNClob, createStruct, createSQLXML
a6608e9581c1 Moved content of ChangeLog to ChangeLog-Archive.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 78
diff changeset
85 - prepareStatement with array of column indices or column names
210
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
86 - setHoldability (close/hold cursors over commit is not configurable)
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
87
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
88 NOTE: be sure to check for warnings after setting concurrencies or
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
89 isolation levels; MonetDB currently does not support anything
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
90 else but "fully serializable" transactions.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
91
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
92 * java.sql.DatabaseMetaData
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
93
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
94 * java.sql.Statement
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
95 The next methods/options are NOT useable/supported:
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
96 - cancel (query execution cannot be terminated, once started)
210
2dbfc65d8e03 Small update on the release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 202
diff changeset
97 see also: https://www.monetdb.org/bugzilla/show_bug.cgi?id=6222
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
98 - execute with column indices or names
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
99 - executeUpdate with column indices or names
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
100 - setMaxFieldSize
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
101 - setCursorName
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
102 - setEscapeProcessing on
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
103
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
104 * java.sql.PreparedStatement
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
105 The next methods are NOT useable/supported:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
106 - setArray
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
107 - setAsciiStream, setBinaryStream, setUnicodeStream
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
108 - setBlob
163
e398c27acf7e Implemented PreparedStatement methods setNCharacterStream(int, Reader) and setNCharacterStream(int, Reader, long).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 158
diff changeset
109 - setNClob
156
2abd488159c4 Implemented PreparedStatement method setURL(int, URL).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 155
diff changeset
110 - setRef, setRowId, setSQLXML
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
111
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
112 * java.sql.ParameterMetaData
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
113
271
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
114 * java.sql.CallableStatement
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
115 The next methods are NOT useable/supported:
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
116 - all getXyz(parameterIndex/parameterName, ...) methods because
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
117 output parameters in stored procedures are not supported by MonetDB
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
118 - all registerOutParameter(parameterIndex/parameterName, int sqlType, ...) methods
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
119 because output parameters in stored procedures are not supported by MonetDB
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
120 - wasNull() method because output parameters in stored procedures are
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
121 not supported by MonetDB
4880267d0fe1 Added implementation of java.sql.CallableStatement interface, test program and updated the ChangeLog and release notes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 234
diff changeset
122
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
123 * java.sql.ResultSet
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
124 The next methods are NOT useable/supported:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
125 - getArray
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
126 - getAsciiStream, getUnicodeStream
152
352b54ff0436 Implemented ResultSet method getNCharacterStream()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 149
diff changeset
127 - getNClob
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
128 - getRef, getRowId, getSQLXML
152
352b54ff0436 Implemented ResultSet method getNCharacterStream()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 149
diff changeset
129 - All methods related to updateable result sets
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
130
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
131 * java.sql.ResultSetMetaData
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
132
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
133 * java.sql.SavePoint
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
134
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
135 * java.sql.Wrapper
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
136
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
137 * java.sql.Blob
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 A simple implementation using a byte[] to store the whole BLOB.
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 The next method is NOT useable/supported:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
140 - setBinaryStream
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
141
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
142 * java.sql.Clob
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
143 A simple implementation using a StringBuilder to store the whole CLOB.
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 The next methods are NOT useable/supported:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
145 - setAsciiStream
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
146 - setCharacterStream
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
147
158
b016c9e945a0 Update release.txt as we do have interface java.sql.SQLData implemented by two classes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 156
diff changeset
148 * java.sql.SQLData
b016c9e945a0 Update release.txt as we do have interface java.sql.SQLData implemented by two classes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 156
diff changeset
149 implemented by class: nl.cwi.monetdb.jdbc.types.INET
b016c9e945a0 Update release.txt as we do have interface java.sql.SQLData implemented by two classes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 156
diff changeset
150 and by class: nl.cwi.monetdb.jdbc.types.URL
b016c9e945a0 Update release.txt as we do have interface java.sql.SQLData implemented by two classes.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 156
diff changeset
151
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
152 * javax.sql.DataSource (not tested)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
153
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
154
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
155 The following java.sql.* interfaces are NOT implemented:
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
156 * java.sql.Array
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 364
diff changeset
157 * java.sql.DriverAction
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
158 * java.sql.NClob
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
159 * java.sql.Ref
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
160 * java.sql.Rowid
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
161 * java.sql.SQLInput
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
162 * java.sql.SQLOutput
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 364
diff changeset
163 * java.sql.SQLType
28
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
164 * java.sql.SQLXML
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
165 * java.sql.Struct
9d4b1ef73a5f Updating release notes in preparation of Dec2016 release
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
166
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
167
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 Notes and Tips for Java Programmers using MonetDB JDBC driver:
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 - 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
170 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
171 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
172 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
173 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
174
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
175 - 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
176 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
177 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
178 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
179 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
180 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
181 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
182
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
183 - 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
184 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
185 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
186
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
187 - 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
188 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
189
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
190 - 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
191 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
192
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
193 - 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
194 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
195 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
196 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
197 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
198
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
199 - 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
200 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
201 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
202 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
203 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
204 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
205 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
206 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
207
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
208 - By default the ResultSets created by methods in DatabaseMetaData
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
209 which return a ResultSet (such as dbmd.getColumns(...)) are
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
210 TYPE_SCROLL_INSENSITIVE, so they cache their ResultSet data to
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
211 allow absolute, relative and random access to data rows and fields.
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
212 To free heap memory and server resoucres, close those ResultSets
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
213 immediately when 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
214
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
215 - By default the ResultSets created by stmt.executeQuery(...) or
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
216 stmt.execute(...) are TYPE_FORWARD_ONLY, to reduce the potentially large
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
217 amount of client memory needed to cache the whole ResultSet 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
218
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
219 Warning:
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
220 The current implementation of the MonetDB JDBC driver is *not*
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
221 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
222 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
223 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
224 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
225 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
226
355
69803e5a5a49 Extend text in JDBC release.txt
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 354
diff changeset
227 Note: as of Febr 2020 (monetdb-jdbc-2.29.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
228 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
229 you need a JRE/JDK JVM of version 8 or higher to use it.
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
230