Class LOBValueWriter
- java.lang.Object
-
- org.eclipse.persistence.internal.helper.LOBValueWriter
-
public class LOBValueWriter extends java.lang.ObjectINTERNAL:Purpose:LOBValueWriter is used to write a large size of object into an Oracle CLOB/BLOB column through Oracle LOB Locator. It's a work-around object for the well-known 4k write limits on an Oracle thin driver.
Responsibilities:
- Build the Oracle empty lob method call string for the insert call.
- Build the minimal SELECT call to retrieve the locator.
- Write the lob value through the locator.
- Resolve the multiple table INSERT/SELECT orders.
- Resolve the nested unit of work commit issue.
- Since:
- TopLink/Java 5.0. July 2002.
-
-
Constructor Summary
Constructors Constructor Description LOBValueWriter(Accessor accessor)This is the default constructor for the class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCall(Call call)Add original (insert or update) call to the collectionprotected voidbuildAndExecuteCall(DatabaseCall dbCall, AbstractSession session)voidbuildAndExecuteSelectCalls(AbstractSession session)Build and execute the deferred select calls.voidfetchLocatorAndWriteValue(DatabaseCall dbCall, java.lang.Object resultSet)Fetch the locator(s) from the result set and write LOB value to the table
-
-
-
Constructor Detail
-
LOBValueWriter
public LOBValueWriter(Accessor accessor)
This is the default constructor for the class. Bug 2804663 - Each DatabaseAccessor will now hold on to its own instance of this class, hence a singleton pattern is not applicable.
-
-
Method Detail
-
buildAndExecuteCall
protected void buildAndExecuteCall(DatabaseCall dbCall, AbstractSession session)
-
fetchLocatorAndWriteValue
public void fetchLocatorAndWriteValue(DatabaseCall dbCall, java.lang.Object resultSet) throws java.sql.SQLException
Fetch the locator(s) from the result set and write LOB value to the table- Throws:
java.sql.SQLException
-
addCall
public void addCall(Call call)
Add original (insert or update) call to the collection
-
buildAndExecuteSelectCalls
public void buildAndExecuteSelectCalls(AbstractSession session)
Build and execute the deferred select calls.
-
-