public class Oracle8Platform extends OraclePlatform
Purpose: Supports certain new Oracle 8 data types, and usage of certain Oracle JDBC specific APIs.
Supports Oracle thin JDBC driver LOB >4k binding workaround.
Creates BLOB and CLOB type for byte[] and char[] for table creation.
Supports object-relational data-type creation.
DEFAULT_VARCHAR_SIZE| Constructor and Description |
|---|
Oracle8Platform() |
| Modifier and Type | Method and Description |
|---|---|
void |
copyInto(org.eclipse.persistence.internal.databaseaccess.Platform platform)
INTERNAL:
Allow for conversion from the Oralce type to the Java type.
|
Array |
createArray(String elementDataTypeName,
Object[] elements,
Connection connection)
INTERNAL:
Platforms that support java.sql.Array may override this method.
|
Struct |
createStruct(String structTypeName,
Object[] attributes,
Connection connection)
INTERNAL:
Platforms that support java.sql.Struct may override this method.
|
void |
freeTemporaryObject(Object value)
INTERNAL:
Used by Oracle platforms during reading of ResultSet to free temporary LOBs.
|
Connection |
getConnection(org.eclipse.persistence.internal.sessions.AbstractSession session,
Connection connection)
INTERNAL:
This method is used to unwrap the oracle connection wrapped by
the application server.
|
Object |
getCustomModifyValueForCall(Call call,
Object value,
org.eclipse.persistence.internal.helper.DatabaseField field,
boolean shouldBind)
INTERNAL
Used by SQLCall.translate(..)
Typically there is no field translation (and this is default implementation).
|
int |
getLobValueLimits()
PUBLIC:
Return the BLOB/CLOB value limits on thin driver.
|
Object |
getRefValue(Ref ref,
Connection connection)
INTERNAL:
Overrides DatabasePlatform method.
|
boolean |
isNativeConnectionRequiredForLobLocator()
INTERNAL:
Indicates whether app.
|
void |
setLobValueLimits(int lobValueLimits)
PUBLIC:
Set the BLOB/CLOB value limits on thin driver.
|
void |
setShouldUseLocatorForLOBWrite(boolean usesLocatorForLOBWrite)
PUBLIC:
Set if the locator is required for the LOB write.
|
boolean |
shouldUseCustomModifyForCall(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL
Used by SQLCall.appendModify(..)
If the field should be passed to customModifyInDatabaseCall, retun true,
otherwise false.
|
boolean |
shouldUseLocatorForLOBWrite()
PUBLIC:
Return if the locator is required for the LOB write.
|
void |
writeLOB(org.eclipse.persistence.internal.helper.DatabaseField field,
Object value,
ResultSet resultSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write LOB value - only on Oracle8 and up
|
allowsSizeInProcedureArguments, atan2Operator, buildCallWithReturning, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, canBuildCallWithReturning, canUnwrapOracleConnection, clearOracleConnectionCache, exceptOperator, getAssignmentString, getBatchBeginString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getDeclareBeginString, getDropCascadeString, getDropDatabaseSchemaString, getMaxFieldNameSize, getNativeTableInfo, getObjectFromResultSet, getProcedureArgumentSetter, getProcedureCallHeader, getProcedureCallTail, getSelectForUpdateString, getSelectForUpdateWaitString, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getSystemChangeNumberQuery, getTimestampQuery, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, isAlterSequenceObjectSupported, isForUpdateCompatibleWithDistinct, isLobCompatibleWithDistinct, isLockTimeoutException, isOracle, isRowCountOutputParameterRequired, maximumNumericValues, minimumNumericValues, printFieldNullClause, printSQLSelectStatement, regexpOperator, serverTimestampString, setSupportsIdentity, shouldPrintStoredProcedureArgumentNameInCall, shouldUseJDBCOuterJoinSyntax, supportsAutoConversionToNumericForArithmeticOperations, supportsIdentity, supportsSelectForUpdateNoWait, supportsSequenceObjects, supportsStoredFunctions, supportsVPD, unwrapOracleConnection, useJDBCStoredProcedureSyntax, wasFailureCommunicationBasedaddBatch, addStructConverter, appendLiteralToCall, appendParameter, appendParameterInternal, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, createArray, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, getBatchDelimiterString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getDefaultSequenceTableName, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getOutputProcedureToken, getPartitioningCallback, getPingSQL, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTempTableForTable, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, hasPartitioningCallback, initialize, initializeConnectionData, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isXDBDocument, minimumTimeIncrement, prepareBatchStatement, printFieldIdentityClause, printFieldNotNullClause, printFieldTypeSize, printFieldUnique, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setCursorCode, setDriverName, setIsCastRequired, setMaxBatchWritingSize, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldCacheAllStatements, setShouldCreateIndicesOnForeignKeys, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUseJDBCStoredProcedureSyntax, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldAlwaysUseTempStorageForModifyAll, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTrimStrings, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsIndividualTableLocking, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, writeAddColumnClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeInsertIntoTableSql, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSqladdSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, toString, usesPlatformDefaultSequencepublic void copyInto(org.eclipse.persistence.internal.databaseaccess.Platform platform)
copyInto in interface org.eclipse.persistence.internal.databaseaccess.PlatformcopyInto in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic Connection getConnection(org.eclipse.persistence.internal.sessions.AbstractSession session, Connection connection)
getConnection in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic Object getCustomModifyValueForCall(Call call, Object value, org.eclipse.persistence.internal.helper.DatabaseField field, boolean shouldBind)
getCustomModifyValueForCall in interface org.eclipse.persistence.internal.databaseaccess.PlatformgetCustomModifyValueForCall in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean shouldUseCustomModifyForCall(org.eclipse.persistence.internal.helper.DatabaseField field)
shouldUseCustomModifyForCall in interface org.eclipse.persistence.internal.databaseaccess.PlatformshouldUseCustomModifyForCall in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic void writeLOB(org.eclipse.persistence.internal.helper.DatabaseField field,
Object value,
ResultSet resultSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws SQLException
writeLOB in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformSQLExceptionpublic boolean isNativeConnectionRequiredForLobLocator()
isNativeConnectionRequiredForLobLocator in class OraclePlatformpublic void setShouldUseLocatorForLOBWrite(boolean usesLocatorForLOBWrite)
public boolean shouldUseLocatorForLOBWrite()
public int getLobValueLimits()
public void setLobValueLimits(int lobValueLimits)
public Array createArray(String elementDataTypeName, Object[] elements, Connection connection) throws SQLException
createArray in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformSQLExceptionpublic Struct createStruct(String structTypeName, Object[] attributes, Connection connection) throws SQLException
createStruct in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformSQLExceptionpublic Object getRefValue(Ref ref, Connection connection) throws SQLException
getRefValue in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformSQLExceptionpublic void freeTemporaryObject(Object value) throws SQLException
freeTemporaryObject in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformSQLException