History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: CASTOR-565
Type: Improvement Improvement
Status: Closed Closed
Resolution: Won't Fix
Priority: Minor Minor
Assignee: Unassigned
Reporter: sam.maloney
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
castor

Fix for Castor when using Oracle JDBC THIN driver & LOBs

Created: 03/Oct/03 10:02 AM   Updated: 08/Feb/06 02:18 PM
Component/s: JDO
Affects Version/s: 0.9.5.2
Fix Version/s: 1.0 M3

Time Tracking:
Not Specified

File Attachments: 1. Text File patch-1426.txt (20 kb)

Environment:
Operating System: All
Platform: All

Bugzilla Id: 1426


 Description  « Hide
There is and has been bugs in the Oracle JDBC driver forever now. These
problems prevent LOB inserts of > 4k when using standard JDBC API with the
Oracle THIN driver. The only work around before was to use JDBC OCI driver.

This fix will allow CLOB or BLOB inserts of greater than 4k.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
sam.maloney - 03/Oct/03 10:35 AM
Created an attachment (id=333)
Fix for Castor with Oracle JDBC THIN & inserting >4k LOBs (Heavily tested with both THIN & OCI, and BLOB & CLOB)

sam.maloney - 03/Oct/03 11:41 AM
Created an attachment (id=334)
Sorry, last patch was wrong version (missing a line). Use this one instead.

Bruce Snyder (bugzilla) - 11/Nov/03 12:00 AM
I am reluctant to add this to the code base without abstracting it more because
it is Oracle specific. This would definitely take some time and is not a high
priority right now. Also, tests need to be written.

Werner Guttmann - 25/Oct/04 04:14 AM
Martin, how do you feel about the patch as provided?

Martin Fuchs - 25/Oct/04 12:49 PM
The patch is quite old and doesn't apply cleanly this days. I will update and
try it when I find some time.
However it is really a very special thing, and only needed to fix the Oracle
Thin JDBC driver usage. I don't yet know if it's also needed for the Oracle 10
JDBC driver. Well, we will see...

Werner Guttmann - 25/Oct/04 01:15 PM
Thanks, Martin. Btw, as stated by Bruce, simply applying this patch is not going
to be an option. As there's Oracle-specific code, we'll have to find a way of
abstracting some of that functionality (via strategies, decorators or similar
artefacts). Let's first check whether the code is usable at all, and solves the
problem, and then we talk about refactoring things.

Martin Fuchs - 29/Oct/04 02:24 PM
Created an attachment (id=751)
updated patch for current code

Martin Fuchs - 01/Nov/04 11:20 AM
This is the result of my tests:
  • This patch works only around the JDBC bug for create()ing new objects with
    large LOB data. It doesn't change the behaviour when updating already existing
    datasets.
  • The patch is no more needed if using the Oracle 10 JDBC driver. Using this
    version, it already works out of the box.

So I doubt it's worth the trouble to integrate this patch. It would only help
people, who can't switch to the new JDBC drivers (those using Oracle databases
before version 9) or use the OCI connection mode, and have problems inserting
big LOB data.
Instead we might add a FAQ entry with the link to the Oracle JDBC download
page:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html


Werner Guttmann - 06/Jan/05 12:47 PM
Thanks, Martin, for the write-up. Can I please hear votes ? Iow, a) close this
down (incl. adding a FAQ entry) or b) apply the patch.

So far, we have

a) +2.
b) 0.


Ralf Joachim - 07/Jan/05 03:05 PM
+1 Add a FAQ entry

Ralf Joachim - 09/Sep/05 04:07 PM
Patch reattached from bugzilla.

Werner Guttmann - 08/Feb/06 02:18 PM
As discussed above.