Purpose: Provides Oracle version specific behavior when org.eclipse.persistence.oracle bundle is not available.
| Modifier and Type | Field and Description |
|---|---|
| protected int | lobValueLimits
The LOB value limits when the Locator is required for the writing |
| protected boolean | usesLocatorForLOBWrite
Locator is required for Oracle thin driver to write LOB value exceeds the limits |
| Access | Constructor and Description |
|---|---|
| public |
| lobValueLimits | back to summary |
|---|---|
| protected int lobValueLimits The LOB value limits when the Locator is required for the writing | |
| usesLocatorForLOBWrite | back to summary |
|---|---|
| protected boolean usesLocatorForLOBWrite Locator is required for Oracle thin driver to write LOB value exceeds the limits | |
| Oracle8Platform | back to summary |
|---|---|
| public Oracle8Platform() Default constructor. | |
| buildFieldTypes | back to summary |
|---|---|
| protected Hashtable Overrides org. INTERNAL:
| |
| copyInto | back to summary |
|---|---|
| public void copyInto(Platform platform) Overrides org. Implements org. INTERNAL: Allow for conversion from the Oracle type to the Java type.
| |
| getConnection | back to summary |
|---|---|
| public Connection getConnection(AbstractSession session, Connection connection) Overrides org. INTERNAL: This method is used to unwrap the oracle connection wrapped by the application server. TopLink needs this unwrapped connection for certain Oracle Specific support. (ie TIMESTAMPTZ, LOB) This is added as a workaround for bug 4565190
| |
| getCustomModifyValueForCall | back to summary |
|---|---|
| public Object getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind) Overrides org. Implements org. INTERNAL Used by SQLCall.translate(..) Typically there is no field translation (and this is default implementation). However on different platforms (Oracle) there are cases such that the values for binding and appending may be different (BLOB, CLOB). In these special cases the method returns a wrapper object which knows whether it should be bound or appended and knows how to do that.
| |
| getLobValueLimits | back to summary |
|---|---|
| public int getLobValueLimits() PUBLIC: Return the BLOB/CLOB value limits on thin driver. The default value is 0. If usesLocatorForLOBWrite is true, locator will be used in case the lob's size is larger than lobValueLimit. | |
| isBlob | back to summary |
|---|---|
| protected boolean isBlob(Class<?> type) INTERNAL: Used in writeLOB method only to identify a BLOB | |
| isClob | back to summary |
|---|---|
| protected boolean isClob(Class<?> type) INTERNAL: Used in writeLOB method only to identify a CLOB | |
| isNativeConnectionRequiredForLobLocator | back to summary |
|---|---|
| public boolean isNativeConnectionRequiredForLobLocator() Overrides org. INTERNAL: Indicates whether app. server should unwrap connection to use lob locator.
| |
| lobValueExceedsLimit | back to summary |
|---|---|
| protected boolean lobValueExceedsLimit(Object value) INTERNAL: Return if the LOB value size is larger than the limit, i.e. 4k. | |
| setLobValueLimits | back to summary |
|---|---|
| public void setLobValueLimits(int lobValueLimits) PUBLIC: Set the BLOB/CLOB value limits on thin driver. The default value is 0. If usesLocatorForLOBWrite is true, locator will be used in case the lob's size is larger than lobValueLimit. | |
| setShouldUseLocatorForLOBWrite | back to summary |
|---|---|
| public void setShouldUseLocatorForLOBWrite(boolean usesLocatorForLOBWrite) PUBLIC: Set if the locator is required for the LOB write. The default is true. For Oracle thin driver, the locator is recommended for large size ( >4k for Oracle8, >5.9K for Oracle9) BLOB/CLOB value write. | |
| shouldUseCustomModifyForCall | back to summary |
|---|---|
| public boolean shouldUseCustomModifyForCall(DatabaseField field) Overrides org. Implements org. INTERNAL Used by SQLCall.appendModify(..) If the field should be passed to customModifyInDatabaseCall, retun true, otherwise false. Methods shouldCustomModifyInDatabaseCall and customModifyInDatabaseCall should be kept in sync: shouldCustomModifyInDatabaseCall should return true if and only if the field is handled by customModifyInDatabaseCall.
| |
| shouldUseLocatorForLOBWrite | back to summary |
|---|---|
| public boolean shouldUseLocatorForLOBWrite() PUBLIC: Return if the locator is required for the LOB write. The default is true. For Oracle thin driver, the locator is recommended for large size ( >4k for Oracle8, >5.9K for Oracle9) BLOB/CLOB value write. | |
| writeLOB | back to summary |
|---|---|
| public void writeLOB(DatabaseField field, Object value, ResultSet resultSet, AbstractSession session) throws SQLException Overrides org. INTERNAL: Write LOB value - only on Oracle8 and up
| |