Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Later
-
None
Description
The implementation of java.sql.Clob in the client driver is cracking up, and should be rewritten.
A number of bugs have been discovered, and the implementation has traces of old and/or deprecated features. Further, several mandatory methods (JDBC 3 & 4) have not yet been implemented and could benefit from a fresh start.
I think maintainability for this piece of code has dropped to an unacceptable level.
It seems the implementation is based on an assumption that no longer holds; that a Clob object used for input to the database is never passed to the user. The consequence of this, is that the internal state of the Clob object is not valid [at all times], which causes exceptions when the user invokes methods on it.
A number of related Jira issues have been linked to this issue to aid the reimplementation process.
Attachments
Issue Links
- relates to
-
DERBY-1599 Clob.getSubString() throws NullPointerException when created by updatable result set
- Open
-
DERBY-253 Client should throw not implemented exception for depricated setUnicodeStream/getUnicodeStream
- Closed
-
DERBY-1516 Inconsistent behavior for getBytes and getSubString for embedded versus network
- Closed
-
DERBY-684 Improve performance of Clob objects (ClobOutputStream#write,ClobWriter#write) on the client
- Closed
-
DERBY-1286 Fill in Clob methods required for JDBC3 compliance
- Closed
-
DERBY-1341 LOB set method(s) are currently no supported, but part of the Java 1.4 JDBC interface
- Closed
-
DERBY-1417 Add new, lengthless overloads to the streaming api
- Closed