Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.6.1.0
-
None
-
Embedded/Client difference
Description
After having noticed some differences (mail url below) in Clob and
Blob support, I did a walkthough of both drivers of things marked as
"not implemented", "not supported", etc., to see how they align.
Below is a summary of my findings. I attach a file "api-diffs.txt"
which shows all "not implemented" methods in the interfaces I looked
at, also for those cases where the drivers are in agreement.
Caveat 1: This is all based on visual inspection of the code only.
Caveat 2: I mostly looked at the top-level API implementation code, so
there may be cases where the cut-off occurs at a lower level in the
code which I missed.
Caveat 3: The client uses lots of different strings to signal that a
method us not implemented; e.g. "Driver not capable", "Driver not
capable": X", "Driver no capable" (sic), "not supported by server",
"under construction", "JDBC 3 method called - not yet supported",
"jdbc 2 method not yet implemented", "X is not supported". I may have
missed some...
On each line I list the method with signature, and status for the
embedded driver and the client driver, in that order. I use "NI" to
mark not implemented, and a "+" to mark (apparently) implemented.
The next step should be to check the tests and the documentation, as
soon as we agree on how the harminization should be carried out.
Embedded Client
Resultset#
getUnicodeStream(int columnIndex) NI +
getUnicodeStream(String columnName) NI +
updateBlob(int columnIndex, Blob x) + NI
updateBlob(String columnName, Blob x) + NI
updateClob(int columnIndex, Clob x) + NI
updateClob(String columnName, Clob x) + NI
CallableStatement#
getBlob(int i) NI +
getBytes(int parameterIndex) NI +
getClob(int i) NI +
registerOutParameter(int paramIndex, int sqlType,
String typeName) NI +²
²bug:does nothing!
Should be filed as separate bug?
Blob#
setBinaryStream(long pos) NI +¹
setBytes(long pos, byte[] bytes) NI +
setBytes(long pos, byte[] bytes, int offset, int len) NI +
truncate(long len) NI +
¹bug reported by Laurentz Albe
http://mail-archives.apache.org/mod_mbox/db-derby-dev/200507.mbox/%3c859414957.1121432109873.JavaMail.jira@ajax.apache.org%3e
Should be filed as separate bug?
Clob#
setAsciiStream(long pos) NI +
setCharacterStream(long pos) NI +
setString(long pos, String str) NI +
setString(long pos, String str, int offset, int len) NI +
truncate(long len) NI +
PreparedStatement#
setNull(int paramIndex, int sqlType, String typeName) NI +³
setUnicodeStream(int parameterIndex, InputStream x, int length) NI +
³bug: ignores typename
Should be filed as separate bug?
DatabaseMetaData#
getSuperTables(String catalog, String schemaPattern,
String tableNamePattern) NI +
getSuperTypes(String catalog, String schemaPattern,
String typeNamePattern) NI +
locatorsUpdateCopy() NI +
getAttributes(String catalog, String schemaPattern,
String typeNamePattern,
String attributeNamePattern) NI +
Attachments
Attachments
Issue Links
- is related to
-
DERBY-310 Document and/or change Derby client code to match behavior with Embedded driver where possible.
- Closed