Skip to content

Commit

Permalink
Remove information on JDBC COMPLIANCE. It has been added to the web p…
Browse files Browse the repository at this point in the history
…age for JDBC driver.
  • Loading branch information
mvdvm committed Dec 5, 2024
1 parent 4700404 commit ebc9a8b
Showing 1 changed file with 0 additions and 146 deletions.
146 changes: 0 additions & 146 deletions release.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,152 +89,6 @@ The old driver class (nl.cwi.monetdb.jdbc.MonetDriver) has been deprecated
since 12 Nov 2020 and has been removed in release 3.4 (monetdb-jdbc-3.4.jre8.jar).


JDBC COMPLIANCE
---------------

The MonetDB JDBC driver is a type 4 driver (100% pure Java) and
complies to the JDBC 4.2 definition, see
http://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/index.html
and
https://en.wikipedia.org/wiki/Java_Database_Connectivity

Within the current implementation not all functionalities of the JDBC
interface are available. It is believed however, that this
implementation is rich enough to be suitable for a majority of
application settings.

Below a list of (un)supported features can be found.
Please read this list if you intend to use this JDBC driver.

If you feel some features are missing or have encountered an issue/bug,
please let us know at our bugtracker:
https://github.com/MonetDB/monetdb-java/issues

Currently implemented JDBC 4.2 interfaces include:
* java.sql.Driver
The following method is NOT useable/supported:
- getParentLogger

* java.sql.Connection
The following features/methods are NOT useable/supported:
- createArrayOf, createNClob, createStruct, createSQLXML
- prepareStatement with array of column indices or column names
- setHoldability (close/hold cursors over commit is not configurable)

NOTE: be sure to check for warnings after setting concurrencies or
isolation levels; MonetDB currently does not support anything
else but "fully serializable" transactions.

* java.sql.DatabaseMetaData
NOTE: the column SPECIFIC_NAME as returned by getProcedures,
getProcedureColumns, getFunctions and getFunctionColumns contains
the internal id of the procedure or function. Use it for overloaded
procedure and function names to match the proper columns info as
returned by getProcedureColumns or getFunctionColumns to a specifc
procedure or function name as returned by getProcedures or getFunctions.
For example, getProcedures(null, "sys", "analyze") will return 4 rows
as there exists 4 overloaded system procedures called analyze, with
different (from 0 to 3) parameters. When calling
getProcedureColumns(null, "sys", "analyze", "%") you will get all the
6 (0+1+2+3) parameters of the 4 system procedures combined. So you will
need to use the value of column SPECIFIC_NAME to properly match the right
parameters to a specific procedure.

* java.sql.Statement
The following methods/options are NOT useable/supported:
- cancel (query execution cannot be terminated, once started)
see also: https://github.com/MonetDB/monetdb-java/issues/7
or https://github.com/MonetDB/MonetDB/issues/6222
- execute with column indices or names
- executeUpdate with column indices or names
- setMaxFieldSize
- setCursorName
The following methods will add an SQLWarning:
- setEscapeProcessing(true) for Sep2022 (11.45) and older servers
- setEscapeProcessing(false) for Jun2023 (11.47) and newer servers

* java.sql.PreparedStatement
The following methods are NOT useable/supported:
- setArray
- setAsciiStream
- setBinaryStream
- setBlob
- setNClob
- setRef
- setRowId
- setSQLXML
- setUnicodeStream (note: this method is Deprecated)

* java.sql.ParameterMetaData

* java.sql.CallableStatement
The following methods are NOT useable/supported:
- all getXyz(parameterIndex/parameterName, ...) methods because
output parameters in stored procedures are not supported by MonetDB
- all registerOutParameter(parameterIndex/parameterName, int sqlType, ...) methods
because output parameters in stored procedures are not supported by MonetDB
- wasNull() method because output parameters in stored procedures are
not supported by MonetDB
- setArray
- setAsciiStream
- setBinaryStream
- setBlob
- setNClob
- setRef
- setRowId
- setSQLXML
- setUnicodeStream (note: this method is Deprecated)

* java.sql.ResultSet
The following methods are NOT useable/supported:
- getArray
- getAsciiStream, getUnicodeStream
- getNClob
- getRef, getRowId, getSQLXML
- moveToCurrentRow, moveToInsertRow,
- All methods related to updateable result sets such as:
updateArray ... updateTimestamp, cancelRowUpdates,
deleteRow, insertRow, refreshRow

* java.sql.ResultSetMetaData

* java.sql.SavePoint

* java.sql.Wrapper

* java.sql.Blob
A simple implementation using a byte[] to store the whole BLOB.
The following method is NOT useable/supported:
- setBinaryStream

* java.sql.Clob
A simple implementation using a StringBuilder to store the whole CLOB.
The following methods are NOT useable/supported:
- setAsciiStream
- setCharacterStream

* java.sql.SQLData
implemented by class: org.monetdb.jdbc.types.INET
and by class: org.monetdb.jdbc.types.URL

* javax.sql.DataSource (not tested)
The following method is NOT useable/supported:
- getParentLogger


The following java.sql.* interfaces are NOT implemented:
* java.sql.Array
* java.sql.DriverAction
* java.sql.NClob
* java.sql.Ref
* java.sql.Rowid
* java.sql.SQLInput
* java.sql.SQLOutput
* java.sql.SQLType
* java.sql.SQLXML
* java.sql.Struct


ON CLIENT support
-----------------

Expand Down

0 comments on commit ebc9a8b

Please sign in to comment.