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.
|
java.sql.Array |
createArray(java.lang.String elementDataTypeName,
java.lang.Object[] elements,
java.sql.Connection connection)
INTERNAL:
Platforms that support java.sql.Array may override this method.
|
java.sql.Struct |
createStruct(java.lang.String structTypeName,
java.lang.Object[] attributes,
java.sql.Connection connection)
INTERNAL:
Platforms that support java.sql.Struct may override this method.
|
void |
freeTemporaryObject(java.lang.Object value)
INTERNAL:
Used by Oracle platforms during reading of ResultSet to free temporary LOBs.
|
java.sql.Connection |
getConnection(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.sql.Connection connection)
INTERNAL:
This method is used to unwrap the oracle connection wrapped by
the application server.
|
java.lang.Object |
getCustomModifyValueForCall(Call call,
java.lang.Object value,
org.eclipse.persistence.internal.helper.DatabaseField field,
boolean shouldBind)
INTERNAL
Used by SQLCall.translate(..)
|
int |
getLobValueLimits()
PUBLIC:
Return the BLOB/CLOB value limits on thin driver.
|
java.lang.Object |
getRefValue(java.sql.Ref ref,
java.sql.Connection connection)
INTERNAL:
Overrides DatabasePlatform method.
|
boolean |
isNativeConnectionRequiredForLobLocator()
INTERNAL:
Indicates whether app. server should unwrap connection
to use lob locator.
|
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(..)
|
boolean |
shouldUseLocatorForLOBWrite()
PUBLIC:
Return if the locator is required for the LOB write.
|
void |
writeLOB(org.eclipse.persistence.internal.helper.DatabaseField field,
java.lang.Object value,
java.sql.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, wasFailureCommunicationBased
addBatch, 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, writeUpdateOriginalFromTempTableSql
addSequence, 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, usesPlatformDefaultSequence
public void copyInto(org.eclipse.persistence.internal.databaseaccess.Platform platform)
copyInto
in interface org.eclipse.persistence.internal.databaseaccess.Platform
copyInto
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.sql.Connection getConnection(org.eclipse.persistence.internal.sessions.AbstractSession session, java.sql.Connection connection)
getConnection
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.Object getCustomModifyValueForCall(Call call, java.lang.Object value, org.eclipse.persistence.internal.helper.DatabaseField field, boolean shouldBind)
getCustomModifyValueForCall
in interface org.eclipse.persistence.internal.databaseaccess.Platform
getCustomModifyValueForCall
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldUseCustomModifyForCall(org.eclipse.persistence.internal.helper.DatabaseField field)
shouldUseCustomModifyForCall
in interface org.eclipse.persistence.internal.databaseaccess.Platform
shouldUseCustomModifyForCall
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void writeLOB(org.eclipse.persistence.internal.helper.DatabaseField field, java.lang.Object value, java.sql.ResultSet resultSet, org.eclipse.persistence.internal.sessions.AbstractSession session) throws java.sql.SQLException
writeLOB
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public boolean isNativeConnectionRequiredForLobLocator()
isNativeConnectionRequiredForLobLocator
in class OraclePlatform
public void setShouldUseLocatorForLOBWrite(boolean usesLocatorForLOBWrite)
public boolean shouldUseLocatorForLOBWrite()
public int getLobValueLimits()
public void setLobValueLimits(int lobValueLimits)
public java.sql.Array createArray(java.lang.String elementDataTypeName, java.lang.Object[] elements, java.sql.Connection connection) throws java.sql.SQLException
createArray
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public java.sql.Struct createStruct(java.lang.String structTypeName, java.lang.Object[] attributes, java.sql.Connection connection) throws java.sql.SQLException
createStruct
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public java.lang.Object getRefValue(java.sql.Ref ref, java.sql.Connection connection) throws java.sql.SQLException
getRefValue
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public void freeTemporaryObject(java.lang.Object value) throws java.sql.SQLException
freeTemporaryObject
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException