public class OraclePlatform extends DatabasePlatform
Purpose: Provides Oracle specific behavior.
Responsibilities:
Modifier and Type | Field and Description |
---|---|
protected String |
END_FROM |
protected String |
END_FROM_ID |
protected String |
FROM |
protected String |
FROM_ID |
protected String |
HINT_END |
protected String |
HINT_START |
protected String |
LOCK_END |
protected String |
LOCK_START_PREFIX |
protected String |
LOCK_START_SUFFIX |
protected String |
MAX_ROW |
protected String |
MIN_ROW |
protected String |
ORDER_BY_ID |
protected String |
SELECT |
protected String |
SELECT_ID_PREFIX |
protected String |
SELECT_ID_SUFFIX |
protected boolean |
shouldPrintForUpdateClause
Whether a FOR UPDATE clause should be printed at the end of the query
|
protected boolean |
supportsIdentity
Advanced attribute indicating whether identity is supported,
see comment to setSupportsIdentity method.
|
protected static DataModifyQuery |
vpdClearIdentifierQuery |
protected static DataModifyQuery |
vpdSetIdentifierQuery |
DEFAULT_VARCHAR_SIZE
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, 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
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery
Constructor and Description |
---|
OraclePlatform() |
Modifier and Type | Method and Description |
---|---|
boolean |
allowsSizeInProcedureArguments()
Used for stored procedure definitions.
|
protected void |
appendByteArray(byte[] bytes,
Writer writer)
INTERNAL:
If using native SQL then print a byte[] literally as a hex string otherwise use ODBC format
as provided in DatabasePlatform.
|
protected void |
appendCalendar(Calendar calendar,
Writer writer)
INTERNAL:
Appends an Oracle specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendDate(Date date,
Writer writer)
INTERNAL:
Appends an Oracle specific date if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendTime(Time time,
Writer writer)
INTERNAL:
Appends an Oracle specific time if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendTimestamp(Timestamp timestamp,
Writer writer)
INTERNAL:
Appends an Oracle specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format.
|
ExpressionOperator |
atan2Operator()
INTERNAL:
Build operator.
|
org.eclipse.persistence.internal.databaseaccess.DatabaseCall |
buildCallWithReturning(SQLCall sqlCall,
Vector returnFields)
INTERNAL:
Returns null unless the platform supports call with returning
|
protected Hashtable |
buildFieldTypes()
INTERNAL:
|
protected String |
buildFirstRowsHint(int max)
Build the hint string used for first rows.
|
ValueReadQuery |
buildSelectQueryForIdentity(String qualifiedSeqName,
Integer size)
INTERNAL:
Though Oracle doesn't support identity it could be imitated,
see comment to setSupportsIdentity method.
|
ValueReadQuery |
buildSelectQueryForSequenceObject(String qualifiedSeqName,
Integer size)
INTERNAL:
Produce a DataReadQuery which updates(!) the sequence number in the db
and returns it.
|
boolean |
canBuildCallWithReturning()
INTERNAL:
Indicates whether the platform can build call with returning.
|
boolean |
canUnwrapOracleConnection()
INTERNAL:
Indicates whether this Oracle platform can unwrap Oracle connection.
|
boolean |
checkTableExists(org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session,
TableDefinition table,
boolean suppressLogging)
INTERNAL:
Executes and evaluates query to check whether given table exists.
|
void |
clearOracleConnectionCache(Connection conn)
INTERNAL:
Clears both implicit and explicit caches of OracleConnection on Oracle9Platform, noop here.
|
Expression |
createExpressionFor(org.eclipse.persistence.internal.helper.DatabaseField field,
Expression builder)
INTERNAL:
Override this method if the platform needs to use a custom function based on the DatabaseField
|
protected ExpressionOperator |
currentDateOperator() |
protected ExpressionOperator |
currentTimeOperator() |
static ExpressionOperator |
exceptOperator()
INTERNAL:
Create the EXCEPT operator, MINUS in Oracle.
|
String |
getAssignmentString()
INTERNAL:
Used for stored function calls.
|
String |
getBatchBeginString()
Used for batch writing and sp defs.
|
String |
getBatchEndString()
Used for batch writing and sp defs.
|
String |
getBatchRowCountAssignString()
Used for batch writing for row count return.
|
String |
getBatchRowCountDeclareString()
Used for batch writing for row count return.
|
String |
getBatchRowCountReturnString()
Used for batch writing for row count return.
|
String |
getDeclareBeginString()
INTERNAL:
DECLARE stanza header for Anonymous PL/SQL block
|
String |
getDropCascadeString()
Allows DROP TABLE to cascade dropping of any dependent constraints if the database supports this option.
|
String |
getDropDatabaseSchemaString(String schema)
Return the drop schema definition.
|
int |
getINClauseLimit()
INTERNAL:
Some database platforms have a limit for the number of parameters in an IN clause.
|
int |
getMaxFieldNameSize()
INTERNAL:
returns the maximum number of characters that can be used in a field
name on this platform.
|
Vector |
getNativeTableInfo(String table,
String creator,
org.eclipse.persistence.internal.sessions.AbstractSession session)
Return the catalog information through using the native SQL catalog selects.
|
Object |
getObjectFromResultSet(ResultSet resultSet,
int columnNumber,
int type,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Get a timestamp value from a result set.
|
String |
getProcedureArgument(String name,
Object parameter,
Integer parameterType,
StoredProcedureCall call,
org.eclipse.persistence.internal.sessions.AbstractSession session)
Obtain the platform specific argument string
|
String |
getProcedureCallHeader()
Used for sp calls.
|
String |
getProcedureCallTail()
Used for sp calls.
|
String |
getSelectForUpdateString()
Most database support a syntax.
|
String |
getSelectForUpdateWaitString(Integer waitTimeout)
Platforms that support the WAIT option should override this method.
|
String |
getStoredProcedureParameterPrefix() |
ValueReadQuery |
getSystemChangeNumberQuery()
PUBLIC:
The query to select the current system change number
from Oracle.
|
protected DataReadQuery |
getTableExistsQuery(TableDefinition table)
INTERNAL:
Returns query to check whether given table exists.
|
ValueReadQuery |
getTimestampQuery()
PUBLIC:
This method returns the query to select the timestamp
from the server for Oracle.
|
DatabaseQuery |
getVPDClearIdentifierQuery(String vpdIdentifier)
INTERNAL:
Return an Oracle defined VPD clear identifier query.
|
String |
getVPDCreationFunctionString(String tableName,
String tenantFieldName)
INTERNAL:
Return an Oracle defined VPD identifier function.
|
String |
getVPDCreationPolicyString(String tableName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return an Oracle defined VPD identifier policy.
|
String |
getVPDDeletionString(String tableName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return an Oracle defined VPD identifier policy deletion.
|
DatabaseQuery |
getVPDSetIdentifierQuery(String vpdIdentifier)
INTERNAL:
Return an Oracle defined VPD set identifier query.
|
void |
initializeConnectionData(Connection connection)
INTERNAL:
Allow initialization from the connection.
|
protected void |
initializePlatformOperators()
Initialize any platform-specific operators
|
boolean |
isAlterSequenceObjectSupported()
INTERNAL:
Override this method if the platform supports sequence objects
and it's possible to alter sequence object's increment in the database.
|
boolean |
isForUpdateCompatibleWithDistinct()
INTERNAL:
Indicates whether SELECT DISTINCT ...
|
boolean |
isLobCompatibleWithDistinct()
INTERNAL:
Indicates whether SELECT DISTINCT lob FROM ...
|
boolean |
isLockTimeoutException(DatabaseException e)
Return true if the given exception occurred as a result of a lock
time out exception (WAIT clause).
|
boolean |
isNativeConnectionRequiredForLobLocator()
INTERNAL:
Used by derived platforms (Oracle8Platform and higher)
to indicate whether app.
|
boolean |
isOracle() |
boolean |
isRowCountOutputParameterRequired()
Oracle does not return the row count from PLSQL anon blocks,
so an output parameter is required for this.
|
protected ExpressionOperator |
logOperator()
Create the log operator for this platform
|
Hashtable |
maximumNumericValues()
Builds a table of maximum numeric values keyed on java class.
|
Hashtable |
minimumNumericValues()
Builds a table of minimum numeric values keyed on java class.
|
protected ExpressionOperator |
operatorLocate()
INTERNAL:
Override the default locate operator
|
protected ExpressionOperator |
operatorLocate2()
INTERNAL:
Override the default locate operator
|
protected ExpressionOperator |
operatorOuterJoin()
Create the outer join operator for this platform
|
void |
printFieldNullClause(Writer writer)
INTERNAL:
Append the receiver's field 'NULL' constraint clause to a writer.
|
void |
printSQLSelectStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call,
org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer,
org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)
INTERNAL:
Print the SQL representation of the statement on a stream, storing the fields
in the DatabaseCall.
|
static ExpressionOperator |
regexpOperator()
INTERNAL:
Create the REGEXP_LIKE operator.
|
String |
serverTimestampString()
Return the current date and time from the server.
|
void |
setSupportsIdentity(boolean supportsIdentity)
ADVANCED:
Oracle db doesn't support identity.
|
boolean |
shouldPrintForUpdateClause() |
boolean |
shouldPrintStoredProcedureArgumentNameInCall()
INTERNAL:
Should the variable name of a stored procedure call be printed as part of the procedure call
e.g.
|
boolean |
shouldUseJDBCOuterJoinSyntax()
JDBC defines and outer join syntax, many drivers do not support this.
|
boolean |
supportsAutoConversionToNumericForArithmeticOperations()
Some db allow VARCHAR db field to be used in arithmetic operations automatically converting them to numeric:
UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1) WHERE ...
|
boolean |
supportsIdentity()
INTERNAL:
Indicates whether the platform supports identity.
|
boolean |
supportsSelectForUpdateNoWait()
Returns true if the database supports SQL syntax not to wait on a SELECT..FOR UPADTE
(i.e.
|
boolean |
supportsSequenceObjects()
INTERNAL:
Indicates whether the platform supports sequence objects.
|
boolean |
supportsStoredFunctions()
INTERNAL:
Return if database stored functions are supported.
|
boolean |
supportsVPD()
Oracle db supports VPD.
|
boolean |
supportsWaitForUpdate()
INTERNAL:
Indicates whether the platform supports timeouts on For Update
|
protected ExpressionOperator |
todayOperator()
Create the sysdate operator for this platform
|
Connection |
unwrapOracleConnection(Connection connection)
INTERNAL:
If can unwrap returns unwrapped Oracle connection, otherwise original connection.
|
boolean |
useJDBCStoredProcedureSyntax()
Return true if JDBC syntax should be used for stored procedure calls.
|
boolean |
wasFailureCommunicationBased(SQLException exception,
Connection connection,
org.eclipse.persistence.internal.sessions.AbstractSession sessionForProfile)
INTERNAL:
A call to this method will perform a platform based check on the connection and exception
error code to determine if the connection is still valid or if a communication error has occurred.
|
addBatch, addStructConverter, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, freeTemporaryObject, getBatchDelimiterString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlPrefix, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, 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, isXDBDocument, minimumTimeIncrement, prepareBatchStatement, printFieldIdentityClause, 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, setParameterValueInDatabaseCall, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, 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, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsIndividualTableLocking, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSql
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, toString, usesPlatformDefaultSequence
protected static DataModifyQuery vpdSetIdentifierQuery
protected static DataModifyQuery vpdClearIdentifierQuery
protected boolean shouldPrintForUpdateClause
protected boolean supportsIdentity
protected String SELECT
protected String HINT_START
protected String HINT_END
protected String FROM
protected String END_FROM
protected String MAX_ROW
protected String MIN_ROW
protected String LOCK_START_PREFIX
protected String LOCK_START_SUFFIX
protected String LOCK_END
protected String SELECT_ID_PREFIX
protected String SELECT_ID_SUFFIX
protected String FROM_ID
protected String END_FROM_ID
protected String ORDER_BY_ID
public void initializeConnectionData(Connection connection) throws SQLException
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
initializeConnectionData
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
SQLException
public boolean allowsSizeInProcedureArguments()
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
allowsSizeInProcedureArguments
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
protected void appendByteArray(byte[] bytes, Writer writer) throws IOException
appendByteArray
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendDate(Date date, Writer writer) throws IOException
appendDate
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendTime(Time time, Writer writer) throws IOException
appendTime
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendTimestamp(Timestamp timestamp, Writer writer) throws IOException
appendTimestamp
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendCalendar(Calendar calendar, Writer writer) throws IOException
appendCalendar
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
public ExpressionOperator atan2Operator()
protected Hashtable buildFieldTypes()
buildFieldTypes
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
protected String buildFirstRowsHint(int max)
max
- public org.eclipse.persistence.internal.databaseaccess.DatabaseCall buildCallWithReturning(SQLCall sqlCall, Vector returnFields)
buildCallWithReturning
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean canBuildCallWithReturning()
canBuildCallWithReturning
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void clearOracleConnectionCache(Connection conn)
public String getAssignmentString()
getAssignmentString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getDeclareBeginString()
public String getBatchBeginString()
getBatchBeginString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getBatchEndString()
getBatchEndString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getBatchRowCountDeclareString()
getBatchRowCountDeclareString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isRowCountOutputParameterRequired()
isRowCountOutputParameterRequired
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getBatchRowCountReturnString()
getBatchRowCountReturnString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getDropDatabaseSchemaString(String schema)
getDropDatabaseSchemaString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getBatchRowCountAssignString()
getBatchRowCountAssignString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int getMaxFieldNameSize()
getMaxFieldNameSize
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public Vector getNativeTableInfo(String table, String creator, org.eclipse.persistence.internal.sessions.AbstractSession session)
public String getProcedureCallHeader()
getProcedureCallHeader
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureCallTail()
getProcedureCallTail
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getDropCascadeString()
getDropCascadeString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getSelectForUpdateString()
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
getSelectForUpdateString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getSelectForUpdateWaitString(Integer waitTimeout)
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
getSelectForUpdateWaitString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
DatabasePlatform.supportsWaitForUpdate()
public String getStoredProcedureParameterPrefix()
getStoredProcedureParameterPrefix
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ValueReadQuery getSystemChangeNumberQuery()
public ValueReadQuery getTimestampQuery()
getTimestampQuery
in interface org.eclipse.persistence.internal.databaseaccess.Platform
getTimestampQuery
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public DatabaseQuery getVPDClearIdentifierQuery(String vpdIdentifier)
getVPDClearIdentifierQuery
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getVPDCreationFunctionString(String tableName, String tenantFieldName)
getVPDCreationFunctionString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getVPDCreationPolicyString(String tableName, org.eclipse.persistence.internal.sessions.AbstractSession session)
getVPDCreationPolicyString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getVPDDeletionString(String tableName, org.eclipse.persistence.internal.sessions.AbstractSession session)
getVPDDeletionString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public DatabaseQuery getVPDSetIdentifierQuery(String vpdIdentifier)
getVPDSetIdentifierQuery
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public Object getObjectFromResultSet(ResultSet resultSet, int columnNumber, int type, org.eclipse.persistence.internal.sessions.AbstractSession session) throws SQLException
getObjectFromResultSet
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
SQLException
protected void initializePlatformOperators()
initializePlatformOperators
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public static ExpressionOperator exceptOperator()
public static ExpressionOperator regexpOperator()
public boolean isNativeConnectionRequiredForLobLocator()
public boolean isOracle()
isOracle
in interface org.eclipse.persistence.internal.databaseaccess.Platform
isOracle
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
protected ExpressionOperator logOperator()
public Hashtable maximumNumericValues()
NOTE: BigInteger & BigDecimal maximums are dependent upon their precision & Scale
maximumNumericValues
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public Hashtable minimumNumericValues()
NOTE: BigInteger & BigDecimal minimums are dependent upon their precision & Scale
minimumNumericValues
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ValueReadQuery buildSelectQueryForSequenceObject(String qualifiedSeqName, Integer size)
buildSelectQueryForSequenceObject
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
qualifiedSeqName
- known by Oracle to be a defined sequencepublic ValueReadQuery buildSelectQueryForIdentity(String qualifiedSeqName, Integer size)
buildSelectQueryForIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
qualifiedSeqName
- known by Oracle to be a defined sequenceprotected ExpressionOperator operatorOuterJoin()
protected ExpressionOperator operatorLocate()
protected ExpressionOperator operatorLocate2()
public void printFieldNullClause(Writer writer) throws ValidationException
printFieldNullClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
ValidationException
public String serverTimestampString()
public boolean shouldPrintStoredProcedureArgumentNameInCall()
shouldPrintStoredProcedureArgumentNameInCall
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureArgument(String name, Object parameter, Integer parameterType, StoredProcedureCall call, org.eclipse.persistence.internal.sessions.AbstractSession session)
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
getProcedureArgument
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldUseJDBCOuterJoinSyntax()
shouldUseJDBCOuterJoinSyntax
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsAutoConversionToNumericForArithmeticOperations()
supportsAutoConversionToNumericForArithmeticOperations
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsSequenceObjects()
supportsSequenceObjects
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public boolean supportsIdentity()
supportsIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public void setSupportsIdentity(boolean supportsIdentity)
public boolean supportsStoredFunctions()
supportsStoredFunctions
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsVPD()
supportsVPD
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsWaitForUpdate()
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
supportsWaitForUpdate
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
DatabasePlatform.getSelectForUpdateWaitString(Integer waitTimeout)
public boolean supportsSelectForUpdateNoWait()
protected ExpressionOperator todayOperator()
protected ExpressionOperator currentDateOperator()
protected ExpressionOperator currentTimeOperator()
public boolean canUnwrapOracleConnection()
public Connection unwrapOracleConnection(Connection connection)
public boolean useJDBCStoredProcedureSyntax()
public void printSQLSelectStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call, org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer, org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)
printSQLSelectStatement
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isAlterSequenceObjectSupported()
isAlterSequenceObjectSupported
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isForUpdateCompatibleWithDistinct()
isForUpdateCompatibleWithDistinct
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isLobCompatibleWithDistinct()
isLobCompatibleWithDistinct
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isLockTimeoutException(DatabaseException e)
isLockTimeoutException
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
OraclePlatform
public boolean wasFailureCommunicationBased(SQLException exception, Connection connection, org.eclipse.persistence.internal.sessions.AbstractSession sessionForProfile)
wasFailureCommunicationBased
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintForUpdateClause()
shouldPrintForUpdateClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public Expression createExpressionFor(org.eclipse.persistence.internal.helper.DatabaseField field, Expression builder)
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
createExpressionFor
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
protected DataReadQuery getTableExistsQuery(TableDefinition table)
getTableExistsQuery
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
table
- database table meta-datapublic boolean checkTableExists(org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session, TableDefinition table, boolean suppressLogging)
checkTableExists
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
session
- current database sessiontable
- database table meta-datasuppressLogging
- whether to suppress logging during query executiontrue
if given table exists or false
otherwisepublic int getINClauseLimit()
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
getINClauseLimit
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
Copyright © 2007–2020 Eclipse.org - EclipseLink Project. All rights reserved.