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
public class Oracle12Platform extends Oracle11Platform
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:
- Serialized Form
-
-
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
Constructors Constructor Description Oracle12Platform()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Struct
createStruct(String structTypeName, Object[] attributes, Connection connection)
Create java.sql.Struct from given parameters.Struct
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
isOracle12()
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
buildFirstRowsHint, canBatchWriteWithOptimisticLocking, executeBatch, isNativeConnectionRequiredForLobLocator
-
Methods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle9Platform
addBatch, appendCalendar, appendTimestamp, buildClassTypes, buildFieldTypes, 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
-
-
-
-
Method Detail
-
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. - Since:
- 2.7
-
initIdentitySequences
public void initIdentitySequences(Session session, String defaultIdentityGenerator)
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.- Since:
- 2.7
-
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.- Since:
- 2.7
-
printFieldIdentityClause
public void printFieldIdentityClause(Writer writer) throws ValidationException
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
- Since:
- 2.7
-
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
-
-