Class Oracle12Platform
java.lang.Object
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
org.eclipse.persistence.platform.database.DatabasePlatform
org.eclipse.persistence.platform.database.OraclePlatform
org.eclipse.persistence.platform.database.oracle.Oracle8Platform
org.eclipse.persistence.platform.database.oracle.Oracle9Platform
org.eclipse.persistence.platform.database.oracle.Oracle10Platform
org.eclipse.persistence.platform.database.oracle.Oracle11Platform
org.eclipse.persistence.platform.database.oracle.Oracle12Platform
- All Implemented Interfaces:
Serializable
,Cloneable
,org.eclipse.persistence.internal.core.databaseaccess.CorePlatform<org.eclipse.persistence.internal.helper.ConversionManager>
,org.eclipse.persistence.internal.databaseaccess.Platform
- Direct Known Subclasses:
Oracle18Platform
Purpose:
Supports usage of certain Oracle JDBC specific APIs for the Oracle 12 database.
Identity column:
GENERATED [ ALWAYS | BY DEFAULT [ ON NULL ] ] AS IDENTITY [ ( identity_options ) ]
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.platform.database.oracle.Oracle9Platform
Oracle9Platform.NTypeBindCallCustomParameter
-
Field Summary
Fields inherited from class org.eclipse.persistence.platform.database.oracle.Oracle9Platform
driverVersion, isConnectionDataInitialized, isLtzTimestampInGmt, isTimestampInGmt, NCHAR, NCLOB, NSTRING, shouldPrintCalendar, shouldTruncateDate, XMLTYPE
Fields inherited from class org.eclipse.persistence.platform.database.oracle.Oracle8Platform
lobValueLimits, usesLocatorForLOBWrite
Fields inherited from class org.eclipse.persistence.platform.database.OraclePlatform
BRACKET_END, END_FROM, END_FROM_ID, FROM, FROM_ID, HINT_END, HINT_START, LOCK_END, LOCK_START_PREFIX, LOCK_START_PREFIX_WHERE, LOCK_START_SUFFIX, MAX_ROW, MIN_ROW, ORDER_BY_ID, SELECT, SELECT_ID_PREFIX, SELECT_ID_SUFFIX, shouldPrintForUpdateClause, supportsIdentity, vpdClearIdentifierQuery, vpdSetIdentifierQuery
Fields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform
DEFAULT_VARCHAR_SIZE
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
batchWritingMechanism, castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, driverName, driverSupportsNationalCharacterVarying, fieldTypes, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printInnerJoinInWhereClause, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldBindPartialParameters, shouldCacheAllStatements, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, storedProcedureTerminationToken, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, supportsReturnGeneratedKeys, tableQualifier, timestampQuery
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateStruct
(String structTypeName, Object[] attributes, Connection connection) Create java.sql.Struct from given parameters.createStruct
(String structTypeName, Object[] attributes, org.eclipse.persistence.internal.sessions.AbstractRecord row, Vector orderedFields, org.eclipse.persistence.internal.sessions.AbstractSession session, Connection connection) INTERNAL: This method builds a Struct using the unwrapped connection within the sessionvoid
initIdentitySequences
(Session session, String defaultIdentityGenerator) INTERNAL: Initialize platform specific identity sequences.boolean
INTERNAL: Check whether current platform is Oracle 12c or later.void
printFieldIdentityClause
(Writer writer) INTERNAL: Append the receiver's field 'identity' constraint clause to a writer.void
removeIdentitySequences
(Session session, String defaultIdentityGenerator, Set<String> tableNames) INTERNAL: Remove platform specific identity sequence for specified table.Methods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle10Platform
buildFieldTypes, buildFirstRowsHint, canBatchWriteWithOptimisticLocking, executeBatch, isNativeConnectionRequiredForLobLocator
Methods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle9Platform
addBatch, appendCalendar, appendTimestamp, buildClassTypes, buildFromStringCharVec, buildToNClobVec, buildToNStringCharVec, buildToTIMESTAMPVec, canUnwrapOracleConnection, clearConnectionData, clearOracleConnectionCache, clone, convertObject, copyInto, createConnectionCustomizer, getConnectionUserName, getCustomModifyValueForCall, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDriverVersion, getJDBCType, getJDBCTypeForSetNull, getLobValueLimits, getObjectFromResultSet, getTimestampFromServer, getTIMESTAMPLTZFromResultSet, getTimestampQuery, getTIMESTAMPTZFromResultSet, getXMLTypeFactory, initializeConnectionData, initializePlatformOperators, isClob, isLtzTimestampInGmt, isOracle9, isOracle9Specific, isTimestampInGmt, isXDBDocument, prepareBatchStatement, serverTimestampString, setLobValueLimits, setParameterValueInDatabaseCall, setParameterValueInDatabaseCall, setShouldTruncateDate, shouldTruncateDate, shouldUseCustomModifyForCall, supportsConnectionUserName, unwrapOracleConnection
Methods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle8Platform
createArray, freeTemporaryObject, getConnection, getRefValue, isBlob, lobValueExceedsLimit, setShouldUseLocatorForLOBWrite, shouldUseLocatorForLOBWrite, writeLOB
Methods inherited from class org.eclipse.persistence.platform.database.OraclePlatform
allowsSizeInProcedureArguments, appendByteArray, appendDate, appendTime, buildCallWithReturning, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, canBuildCallWithReturning, checkTableExists, createExpressionFor, exceptOperator, getAssignmentString, getBatchBeginString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getDeclareBeginString, getDropCascadeString, getDropDatabaseSchemaString, getINClauseLimit, getMaxFieldNameSize, getNativeTableInfo, getProcedureArgument, getProcedureCallHeader, getProcedureCallTail, getSelectForUpdateString, getSelectForUpdateWaitString, getStoredProcedureParameterPrefix, getSystemChangeNumberQuery, getTableExistsQuery, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, isAlterSequenceObjectSupported, isForUpdateCompatibleWithDistinct, isLobCompatibleWithDistinct, isLockTimeoutException, isOracle, isRowCountOutputParameterRequired, logOperator, maximumNumericValues, minimumNumericValues, operatorLocate, operatorLocate2, operatorOuterJoin, oracleDateName, printFieldNullClause, printSQLSelectStatement, regexpOperator, setSupportsIdentity, shouldPrintForUpdateClause, shouldPrintStoredProcedureArgumentNameInCall, shouldUseJDBCOuterJoinSyntax, supportsAutoConversionToNumericForArithmeticOperations, supportsIdentity, supportsSelectForUpdateNoWait, supportsSequenceObjects, supportsStoredFunctions, supportsVPD, supportsWaitForUpdate, useJDBCStoredProcedureSyntax, wasFailureCommunicationBased
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
addStructConverter, allowBindingForSelectClause, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, createArray, createPlatformDefaultSequence, createStruct, dontBindUpdateAllQueryUsingTempTables, executeStoredProcedure, getBatchDelimiterString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlPrefix, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getDefaultSequenceTableName, getDriverSupportsNVarChar, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTempTableForTable, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, getUseNationalCharacterVaryingTypeForString, hasPartitioningCallback, initialize, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isNullAllowedInSelectClause, isOutputAllowWithResultSet, minimumTimeIncrement, printFieldNotNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setDriverName, setDriverSupportsNVarChar, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setNullFromDatabaseField, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldBindPartialParameters, setShouldCacheAllStatements, setShouldCreateIndicesOnForeignKeys, setShouldForceBindAllParameters, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStoredProcedureTerminationToken, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUseJDBCStoredProcedureSyntax, setUseNationalCharacterVaryingTypeForString, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldAlwaysUseTempStorageForModifyAll, shouldBindAllParameters, shouldBindLiterals, shouldBindPartialParameters, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsIndividualTableLocking, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOrderByParameters, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSql
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, getConversionManager, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setSupportsReturnGeneratedKeys, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsReturnGeneratedKeys, toString, usesPlatformDefaultSequence
-
Constructor Details
-
Oracle12Platform
public Oracle12Platform()
-
-
Method Details
-
isOracle12
public boolean isOracle12()INTERNAL: Check whether current platform is Oracle 12c or later.- Specified by:
isOracle12
in interfaceorg.eclipse.persistence.internal.databaseaccess.Platform
- Overrides:
isOracle12
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
- Returns:
- Always returns
true
for instances of Oracle 12c platform.
-
initIdentitySequences
INTERNAL: Initialize platform specific identity sequences.- Specified by:
initIdentitySequences
in interfaceorg.eclipse.persistence.internal.databaseaccess.Platform
- Overrides:
initIdentitySequences
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.
-
removeIdentitySequences
public void removeIdentitySequences(Session session, String defaultIdentityGenerator, Set<String> tableNames) INTERNAL: Remove platform specific identity sequence for specified table. Default identity sequence is restored.- Specified by:
removeIdentitySequences
in interfaceorg.eclipse.persistence.internal.databaseaccess.Platform
- Overrides:
removeIdentitySequences
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.tableNames
- Set of table names to check for identity sequence removal.
-
printFieldIdentityClause
INTERNAL: Append the receiver's field 'identity' constraint clause to a writer.- Overrides:
printFieldIdentityClause
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
- Parameters:
writer
- Target writer.- Throws:
ValidationException
-
createStruct
public Struct createStruct(String structTypeName, Object[] attributes, org.eclipse.persistence.internal.sessions.AbstractRecord row, Vector orderedFields, org.eclipse.persistence.internal.sessions.AbstractSession session, Connection connection) throws SQLException INTERNAL: This method builds a Struct using the unwrapped connection within the session- Overrides:
createStruct
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
- Returns:
- Struct
- Throws:
SQLException
-
createStruct
public Struct createStruct(String structTypeName, Object[] attributes, Connection connection) throws SQLException Create java.sql.Struct from given parameters.- Overrides:
createStruct
in classOracle8Platform
- Parameters:
structTypeName
- - the SQL type name of the SQL structured type that this Struct object maps to.attributes
- - the attributes that populate the returned objectconnection
- - DB connection- Returns:
- Struct
- Throws:
SQLException
-