Community
Participate
Working Groups
Created attachment 151678 [details] Testcase Lets say there is a select query which returns a clob as one of the column. If this clob is returned after some PL/SQL manipulation, i.e it should be a temporary clob, it results in OutofMemoryError. As the value is converted to char[] or byte[] before returning, user doesn't have reference to it, they cannot call freeTemporary() method to release its memory. So, eclipselink needs to identify temporary LOBs and free them. To reproduce the issue. 1. Import attached project LOBTest in Eclipse. 2. Run script create.sql in oracle database. 3. Insert big clob values in person2 table. 4. Run Junit testcase test.Bug8673104Test.
Created attachment 151679 [details] Proposed Solution Bug8673104.diff is the proposed solution to free up the memory by calling freeTemporary() method on LOBs if LOB is temporary object.
Setting target and priority. See the following page for an explanation of these values: http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines
Comment on attachment 151679 [details] Proposed Solution Will reattach diff with small modifications
Created attachment 156934 [details] Proposed Solution Modified the solution as per correct process.
Created attachment 157187 [details] Minor comment changes to previous patch Added comments to indicate that this code submission is from Vikram Bhatia
Fixed in trunk - revision 6392 http://fisheye2.atlassian.com/changelog/eclipselink/?cs=6392
Fixed in 2.0 Revision 6393 http://fisheye2.atlassian.com/changelog/eclipselink/?cs=6393
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink