JDBCSupport

This is the first attempt of describing what JDCB functionality is lacking in Derby. The content will need some time to evolve and stabilize. If you see errors, please provide feedback to [MAILTO] derby-user@db.apache.org!

Since JDBC is the interface Derby is meant to be used with, the aim is obviously to support as much as possible of it. However, Derby's JDBC implementation is not complete. As new revisions of the JDBC specification are published, there will also be a certain delay between new specifications and the implementation of these in Derby.

The current content does not separate between the different JDBC revisions, and the JDBC 4 revision (which is not yet generally available) is used as reference.

Datatype support

The datatypes listed below are not supported in Derby. Note that not all of them have a corresponding class in JDBC (for instance, a getNString returns a Java String).

Unsupported JDBC interface methods

Legend:

Not supported

Simply not supported or implemented. Consider adding a Jira issue requesting the feature/method if you must have it! If a Jira is created, the number will be recorded here (you can even do it when you add the Jira!).

Unsupported for a reason

To group methods that are unsupported for the same reason. Reason will be indicated by a letter.

In progress

Corresponding Jira issue will be recorded for these. Should only be used for active jiras, which means the feature is believed to be supported within "reasonable time".

Reasons why methods are unsupported:

  1. Derby does not support named parameters for CallableStatement.

  2. Derby does not support the datatype at all (yet).

The methods are ordered alphabetically on JDBC interface and method name. Note that inherited methods are listed under the implementation class. If you can't find a method you expected to find in a given interface, first look for it in the super-interface.

JDBC interface

Method

Embedded

Client

Related Jira issues

Comment

Array

all methods

B

B

Blob

getBinaryStream(long,long)

Unsupported

Unsupported

setBinaryStream(long)

Unsupported

Supported

setBytes(long,byte[])

Unsupported

Supported

setBytes(long,byte[],int,int)

Unsupported

Supported

truncate(long)

Unsupported

Supported

CallableStatement

getArray(int)

B

B

getArray(String)

A - B

A - B

Bogus implementation on client

getBigDecimal(String)

A

A

getBlob(int)

Unsupported

Supported

getBlob(String)

A

A

getBoolean(String)

A

A

getByte(String)

A

A

getBytes(String)

A

A

getCharacterStream(String)

A

A

getClob(int)

Unsupported

Supported

[WWW] DERBY-1286

getClob(String)

A

A

getDate(String)

A

A

getDate(String,java.util.Calendar)

A

A

getDouble(String)

A

A

getFloat(String)

A

A

getInt(String)

A

A

getLong(String)

A

A

getNCharacterStream(int)

B

B

getNCharacterStream(String)

A - B

A - B

getNClob(int)

B

B

getNClob(String)

A - B

A - B

getNString(int)

B

B

getNString(String)

A - B

A - B

getObject(String)

A

A

getObject(int,java.util.Map)

Unsupported

Unsupported

Unsupported if map != null. Bogus implementation on client

getRef(int)

B

B

Bogus implementation on client

getRef(String)

A - B

A - B

getRowId(int)

B

B

getRowId(String)

A - B

A - B

getSQLXML(int)

B

B

getSQLXML(String)

A - B

A - B

getShort(String)

A

A

getString(String)

A

A

getTime(String)

A

A

getTime(String,java.util.Calendar)

A

A

getTimestamp(String)

A

A

getTimestamp(String,java.util.Calendar)

A

A

getURL(int)

B

B

getURL(String)

A - B

A - B

registerOutParameter(int,int,String)

A

A

registerOutParameter(String,int)

A

A

registerOutParameter(String,int,int)

A

A

registerOutParameter(String,int,String)

A

A

setAsciiStream(String,java.io.InputStream,int)

A

A

setBigDecimal(String,java.math.BigDecimal)

A

A

setBinaryStream(String,java.io.InputStream,int)

A

A

setBlob(String,java.io.InputStream,long)

A

A

setBlob(String,java.sql.Blob)

A

A

setBoolean(String,boolean)

A

A

setByte(String,byte)

A

A

setBytes(String,byte[])

A

A

setCharacterStream(String,java.io.Reader,int)

A

A

setClob(String,java.io.Reader,long)

A

A

setClob(String,java.sql.Clob)

A

A

setDate(String,java.sql.Date)

A

A

setDate(String,java.sql.Date,java.util.Calendar)

A

A

setDouble(String,double)

A

A

setFloat(String,float)

A

A

setInt(String,int)

A

A

setLong(String,long)

A

A

setNCharacterStream(String,java.io.Reader,long)

A - B

A - B

setNClob(String,java.io.Reader,long)

A - B

A - B

setNClob(String,java.sql.NClob)

A - B

A - B

setNString(String,String)

A - B

A - B

setNull(String,int)

A

A

setNull(String,int,String)

A

A

setObject(String,Object)

A

A

setObject(String,Object,int)

A

A

setObject(String,Object,int,int)

A

A

setRowId(String,java.sql.RowId)

A - B

A - B

setSQLXML(String,java.sql.SQLXML)

A - B

A - B

setShort(String,short)

A

A

setString(String,String)

A

A

setTime(String,java.sql.Time)

A

A

setTime(String,java.sql.Time,java.util.Calendar)

A

A

setTimestamp(String,java.sql.Timestamp)

A

A

setTimestamp(String,java.sql.Timestamp,java.util.Calendar)

A

A

setURL(String,java.net.URL)

A - B

A - B

Clob

getCharacterStream(long,long)

Unsupported

Unsupported

[WWW] DERBY-1286

setAsciiStream(long)

Unsupported

Supported

[WWW] DERBY-1286

setCharacterStream(long)

Unsupported

Supported

[WWW] DERBY-1286

setString(long,String)

Unsupported

Supported

[WWW] DERBY-1286

setString(long,String,int,int)

Unsupported

Supported

[WWW] DERBY-1286

truncate(long)

Unsupported

Supported

[WWW] DERBY-1286

Connection

createArrayOf(String,Object[])

B

B

createNClob()

B

B

createSQLXML()

B

B

createStruct(String,Object[])

B

B

prepareStatement(String,int[])

Unsupported

Unsupported

prepareStatement(String,String[])

Unsupported

Unsupported

NClob

all methods

B

B

NClob only inherit methods from Clob, it has no methods of its own.

PreparedStatement

setArray(int,java.sql.Array)

B

B

setNCharacterStream(int,java.io.Reader,long)

B

B

setNClob(int,java.io.Reader,long)

B

B

setNClob(int,java.sql.NClob)

B

B

setNString(int,String)

B

B

setNull(int,int,String)

Unsupported

Supported

[WWW] DERBY-1493

setRef(int,java.sql.Ref)

B

B

setRowId(int,java.sql.RowId)

B

B

setSQLXML(int,java.sql.SQLXML)

B

B

setURL(int,java.net.URL)

B

B

setUnicodeStream(int,java.io.InputStream,int)

Unsupported

Unsupported

Deprecated.

Ref

all methods

B

B

ResultSet

getArray(int)

B

B

getArray(String)

B

B

Bogus implementation on client

getNCharacterStream(int)

B

B

getNCharacterStream(String)

B

B

getNClob(int)

B

B

getNClob(String)

B

B

getNString(int)

B

B

getNString(String)

B

B

getObject(int columnIndex,java.util.Map map)

Unsupported

Unsupported

Unsupported if map != null. Bogus implementation on client

getObject(String,java.util.Map)

Unsupported

Unsupported

Unsupported if map != null. Bogus implementation on client

getRef(int)

B

B

Bogus implementation on client

getRef(String)

B

B

getRowId(int)

B

B

getRowId(String)

B

B

getSQLXML(int)

B

B

getSQLXML(String)

B

B

getURL(int)

B

B

getURL(String)

B

B

getUnicodeStream(int)

Unsupported

Unsupported

Deprecated. Use getCharacterStream instead.

getUnicodeStream(String)

Unsupported

Unsupported

Deprecated. Use getCharacterStream instead.

refreshRow()

Unsupported

Supported

updateArray(int,java.sql.Array)

B

B

updateArray(String,java.sql.Array)

B

B

updateBlob(int,java.sql.Blob)

Supported

Unsupported

updateBlob(String,java.sql.Blob)

Supported

Unsupported

updateClob(int,java.sql.Clob)

Supported

Unsupported

updateClob(String,java.sql.Clob)

Supported

Unsupported

updateNCharacterStream(int,java.io.Reader,int)

B

B

updateNCharacterStream(String,java.io.Reader,int)

B

B

updateNClob(int,java.sql.NClob)

B

B

updateNClob(String,java.sql.NClob)

B

B

updateNString(int,String)

B

B

updateNString(String,String)

B

B

updateRef(int,java.sql.Ref)

B

B

updateRef(String,java.sql.Ref)

B

B

updateRowId(int,java.sql.RowId)

B

B

updateRowId(String,java.sql.RowId)

B

B

updateSQLXML(int,java.sql.SQLXML)

B

B

updateSQLXML(String,java.sql.SQLXML)

B

B

RowId

all methods

B

B

SQLXML

all methods

B

B

Statement

cancel()

Unsupported

Unsupported

execute(String,int[])

Unsupported

Unsupported

execute(String,String[])

Unsupported

Unsupported

executeUpdate(String,int[])

Unsupported

Unsupported

executeUpdate(String,String[])

Unsupported

Unsupported

Struct

all methods

B

B

last edited 2006-07-26 13:54:04 by KristianWaagan