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,DDLPlatform
- Direct Known Subclasses:
Oracle18Platform
Purpose: Supports usage of certain Oracle JDBC specific APIs for the Oracle 12 database.
- 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, XMLTYPEFields inherited from class org.eclipse.persistence.platform.database.oracle.Oracle8Platform
lobValueLimits, usesLocatorForLOBWriteFields 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, vpdSetIdentifierQueryFields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform
DEFAULT_VARCHAR_SIZEFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
batchWritingMechanism, castSizeForVarcharParameter, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, driverName, driverSupportsNationalCharacterVarying, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printInnerJoinInWhereClause, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldBindPartialParameters, shouldCacheAllStatements, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, stringBindingSize, structConverters, supportsAutoCommit, transactionIsolation, typeConverters, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBindingFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, supportsReturnGeneratedKeys, tableQualifier, timestampQuery, uuidQueryFields inherited from interface org.eclipse.persistence.tools.schemaframework.DDLPlatform
CLASS_TYPES, DB_TYPES, TYPE_BIG_DECIMAL, TYPE_BIG_INTEGER, TYPE_BINARY, TYPE_BLOB, TYPE_BOOLEAN, TYPE_BYTE, TYPE_CHAR, TYPE_CLOB, TYPE_DATE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_NUMBER, TYPE_NUMERIC, TYPE_SHORT, TYPE_TIME, TYPE_TIMESTAMP, TYPE_VARCHAR -
Constructor Summary
Constructors -
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, List<org.eclipse.persistence.internal.helper.DatabaseField> orderedFields, org.eclipse.persistence.internal.sessions.AbstractSession session, Connection connection) INTERNAL: This method builds a Struct using the unwrapped connection within the sessionINTERNAL: This method returns the query to select the UUID from the server for Oracle.booleanINTERNAL: Check whether current platform is Oracle 12c or later.voidprintFieldIdentityClause(Writer writer) INTERNAL: Append the receiver's field 'identity' constraint clause to a writer.Methods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle10Platform
buildDatabaseTypes, buildFirstRowsHint, canBatchWriteWithOptimisticLocking, executeBatch, isNativeConnectionRequiredForLobLocatorMethods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle9Platform
addBatch, appendCalendar, appendTimestamp, buildFromStringCharVec, buildJavaTypes, 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, unwrapOracleConnectionMethods inherited from class org.eclipse.persistence.platform.database.oracle.Oracle8Platform
createArray, freeTemporaryObject, getConnection, getRefValue, isBlob, lobValueExceedsLimit, setShouldUseLocatorForLOBWrite, shouldUseLocatorForLOBWrite, writeLOBMethods 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, oracleLeft, oracleRight, printFieldNullClause, printSQLSelectStatement, regexpOperator, setSupportsIdentity, shouldPrintForUpdateClause, shouldPrintStoredProcedureArgumentNameInCall, shouldUseJDBCOuterJoinSyntax, supportsAutoConversionToNumericForArithmeticOperations, supportsIdentity, supportsSelectForUpdateNoWait, supportsSequenceObjects, supportsStoredFunctions, supportsVPD, supportsWaitForUpdate, useJDBCStoredProcedureSyntax, wasFailureCommunicationBasedMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
addStructConverter, allowBindingForSelectClause, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCreateIndex, buildDropIndex, buildProcedureCallString, checkSequenceExists, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, createArray, createPlatformDefaultSequence, createStruct, dontBindUpdateAllQueryUsingTempTables, executeStoredProcedure, getBatchWritingMechanism, getCastSizeForVarcharParameter, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlPrefix, getCreateTempTableSqlSuffix, getCursorCode, getDatabaseType, getDatabaseTypes, getDefaultSequenceTableName, getDriverSupportsNVarChar, getExecuteBatchRowCounts, getFunctionCallHeader, getJavaTypes, getJDBCOuterJoinString, getJDBCType, getJdbcTypeName, getJsonPlatform, getMaxBatchWritingSize, getNoWaitString, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequenceTableName, getStatementCacheSize, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTempTableForTable, getTransactionIsolation, getTypeConverters, getUseNationalCharacterVaryingTypeForString, hasPartitioningCallback, initialize, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isNullAllowedInSelectClause, isOutputAllowWithResultSet, minimumTimeIncrement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTypeNameToRegisterOutputParameter, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setCursorCode, setDatabaseTypes, setDriverName, setDriverSupportsNVarChar, setExecuteBatchRowCounts, setIsCastRequired, setJavaTypes, 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, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsCountDistinctWithMultipleFields, supportsGlobalTempTables, supportsIndividualTableLocking, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOrderByParameters, supportsOuterJoinsWithBrackets, supportsTempTables, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeDropColumnClause, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeParameterMarker, writeTruncateTable, writeUpdateOriginalFromTempTableSqlMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, convertObject, getConversionManager, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequencePreallocationSize, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMariaDB, isMaxDB, isMySQL, isODBC, isOracle23, 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, setUUIDQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsReturnGeneratedKeys, toString, usesPlatformDefaultSequenceMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.persistence.tools.schemaframework.DDLPlatform
buildCreateIndex, buildDropIndex, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, getBatchDelimiterString, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getDatabaseType, getDatabaseType, getEndDelimiter, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getOutputProcedureToken, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getProcedureOptionList, getStartDelimiter, getUniqueConstraintDeletionString, printFieldNotNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresTableInIndexDropDDL, requiresUniqueConstraintCreationOnTableCreate, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnUniqueKeys, shouldPrintConstraintNameAfter, shouldPrintInputTokenAtStart, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsFractionalTime, supportsIndexes, supportsPrimaryKeyConstraint, supportsUniqueColumns, supportsUniqueKeyConstraints, writeTableCreationSuffixMethods inherited from interface org.eclipse.persistence.internal.databaseaccess.Platform
connectionProperties
-
Constructor Details
-
Oracle12Platform
public Oracle12Platform()
-
-
Method Details
-
isOracle12
public boolean isOracle12()INTERNAL: Check whether current platform is Oracle 12c or later.- Specified by:
isOracle12in interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
isOracle12in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform- Returns:
- Always returns
truefor instances of Oracle 12c platform.
-
printFieldIdentityClause
INTERNAL: Append the receiver's field 'identity' constraint clause to a writer.- Parameters:
writer- Target writer.- Throws:
ValidationException
-
createStruct
public Struct createStruct(String structTypeName, Object[] attributes, org.eclipse.persistence.internal.sessions.AbstractRecord row, List<org.eclipse.persistence.internal.helper.DatabaseField> 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:
createStructin 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:
createStructin 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
-
getUUIDQuery
INTERNAL: This method returns the query to select the UUID from the server for Oracle.- Specified by:
getUUIDQueryin interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
getUUIDQueryin classOraclePlatform
-