Class PervasivePlatform
- 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.PervasivePlatform
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,org.eclipse.persistence.internal.core.databaseaccess.CorePlatform<org.eclipse.persistence.internal.helper.ConversionManager>
,org.eclipse.persistence.internal.databaseaccess.Platform
public class PervasivePlatform extends DatabasePlatform
Purpose: Provides Pervasive SQL DBMS specific behavior.
Pervasive SQL Platform file
Contributed by: Pervasive Software, Inc.
Contributed under bug: 392109Developed on Pervasive PSQL Server 11.30
- Eclipselink Core SRG Test passes with known limitations.
- Eclipselink JPA SRG Test passes with known limitations.
- Eclipselink stored procedure tests "CustomSQLTestModel", "StoredProcedureGeneratorModel" pass with known limitations.
Limitations
- Updates are not supported on joined queries or queries with group by.
- The platform method getSelectForUpdateString() currently returns an empty string. This is to avoid avoid joined queries with FOR UPDATE in them, which Pervasive does not support.
- Columns used in indexes must total no more than 255 bytes in length.
- Pervasive SQL does not support dynamic parameters in the SELECT list.
- IDENTITY columns are either 2- or 4-byte integers. Foreign keys referencing such columns must use the same datatypes.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_CHAR_SIZE
-
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, Types_NCLOB, Types_SQLXML, 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 PervasivePlatform()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<java.lang.String,java.lang.Class>
buildClassTypes()
protected java.util.Hashtable
buildFieldTypes()
ValueReadQuery
buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing.protected ExpressionOperator
dateToStringOperator()
Cloned from MySQLPlatform.javaprotected java.lang.String
getCreateTempTableSqlPrefix()
INTERNAL:java.lang.String
getInOutputProcedureToken()
Pervasive uses the INOUT keyword, as opposed to "IN OUT".java.lang.String
getInputProcedureToken()
Pervasive uses IN prefix for INPUT parameters.java.lang.String
getProcedureArgumentString()
Pervasive uses ":" as prefix for procedure arguments.java.lang.String
getProcedureBeginString()
Pervasive requires BEGIN in a procedure statement.java.lang.String
getProcedureCallHeader()
Pervasive uses CALL or EXECUTE not CALL PROCEDURE or EXECUTE PROCEDUREjava.lang.String
getProcedureEndString()
Pervasive requires END in a procedure statement.java.lang.String
getSelectForUpdateString()
Temporary workaround to avoid joined queries with FOR UPDATE in themjava.lang.String
getStoredProcedureParameterPrefix()
Pervasive uses ":" as prefix for procedure parameters.org.eclipse.persistence.internal.helper.DatabaseTable
getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:protected void
initializePlatformOperators()
boolean
isForUpdateCompatibleWithDistinct()
INTERNAL: Indicates whether SELECT DISTINCT ...boolean
isPervasive()
Answers whether platform is Pervasivevoid
printFieldIdentityClause(java.io.Writer writer)
Append the receiver's field 'identity' constraint clause to a writer.void
printFieldTypeSize(java.io.Writer writer, FieldDefinition field, org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition fieldType, boolean shouldPrintFieldIdentityClause)
Taken from org.eclipse.persistence\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\platform\database\AccessPlatform.javaboolean
requiresProcedureBrackets()
In CREATE PROCEDURE, Pervasive requires brackets after the procedure name, even if there are no arguments.boolean
requiresProcedureCallOuputToken()
Pervasive requires the OUTPUT keyword for output parametersboolean
shouldPrintLockingClauseAfterWhereClause()
Attempts to remove FOR UPDATE from queriesboolean
shouldPrintStoredProcedureArgumentNameInCall()
INTERNAL: Pervasive SQL stored procedure calls do not require the argument name be printed in the call string e.g. call MyStoredProc(?)boolean
shouldUseJDBCOuterJoinSyntax()
JDBC defines an outer join syntax which many drivers do not support.ExpressionOperator
singleArgumentSubstringOperator()
Override the default SubstringSingleArg operator.boolean
supportsDeleteOnCascade()
Setting this to false (cf.boolean
supportsGlobalTempTables()
boolean
supportsIdentity()
Indicates whether the platform supports identity.boolean
supportsLocalTempTables()
INTERNAL:boolean
supportsLockingQueriesWithMultipleTables()
INTERNAL: Indicates whether locking clause could be applied to the query that has more than one tableprotected ExpressionOperator
toCharOperator()
Cloned from MySQLPlatform.javaprotected ExpressionOperator
toDateOperator()
Cloned from MySQLPlatform.javaprotected ExpressionOperator
toNumberOperator()
-
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
addBatch, addStructConverter, allowBindingForSelectClause, allowsSizeInProcedureArguments, appendBoolean, appendByteArray, appendCalendar, appendDate, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, appendTime, appendTimestamp, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, canBuildCallWithReturning, checkTableExists, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropCascadeString, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxFieldNameSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgument, getProcedureAsString, getProcedureCallTail, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTableExistsQuery, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, getUseNationalCharacterVaryingTypeForString, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, initializeConnectionData, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isRowCountOutputParameterRequired, isXDBDocument, maximumNumericValues, minimumNumericValues, minimumTimeIncrement, prepareBatchStatement, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldUnique, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureCallBrackets, 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, 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, shouldPrintForUpdateClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsForeignKeyConstraints, supportsIndexes, supportsIndividualTableLocking, supportsNestingOuterJoins, supportsOrderByParameters, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsStoredFunctions, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSql
-
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, convertObject, createConnectionCustomizer, createExpressionFor, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getDriverVersion, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle23, isOracle9, 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, supportsSequenceObjects, toString, usesPlatformDefaultSequence
-
-
-
-
Field Detail
-
DEFAULT_CHAR_SIZE
public static final int DEFAULT_CHAR_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
buildClassTypes
protected java.util.Map<java.lang.String,java.lang.Class> buildClassTypes()
- Overrides:
buildClassTypes
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
buildFieldTypes
protected java.util.Hashtable buildFieldTypes()
- Overrides:
buildFieldTypes
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getInOutputProcedureToken
public java.lang.String getInOutputProcedureToken()
Pervasive uses the INOUT keyword, as opposed to "IN OUT".- Overrides:
getInOutputProcedureToken
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getInputProcedureToken
public java.lang.String getInputProcedureToken()
Pervasive uses IN prefix for INPUT parameters.- Overrides:
getInputProcedureToken
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureArgumentString
public java.lang.String getProcedureArgumentString()
Pervasive uses ":" as prefix for procedure arguments.- Overrides:
getProcedureArgumentString
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureBeginString
public java.lang.String getProcedureBeginString()
Pervasive requires BEGIN in a procedure statement.- Overrides:
getProcedureBeginString
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
requiresProcedureBrackets
public boolean requiresProcedureBrackets()
In CREATE PROCEDURE, Pervasive requires brackets after the procedure name, even if there are no arguments.- Overrides:
requiresProcedureBrackets
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureCallHeader
public java.lang.String getProcedureCallHeader()
Pervasive uses CALL or EXECUTE not CALL PROCEDURE or EXECUTE PROCEDURE- Overrides:
getProcedureCallHeader
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureEndString
public java.lang.String getProcedureEndString()
Pervasive requires END in a procedure statement.- Overrides:
getProcedureEndString
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getStoredProcedureParameterPrefix
public java.lang.String getStoredProcedureParameterPrefix()
Pervasive uses ":" as prefix for procedure parameters.- Overrides:
getStoredProcedureParameterPrefix
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
requiresProcedureCallOuputToken
public boolean requiresProcedureCallOuputToken()
Pervasive requires the OUTPUT keyword for output parameters- Overrides:
requiresProcedureCallOuputToken
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
initializePlatformOperators
protected void initializePlatformOperators()
- Overrides:
initializePlatformOperators
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
shouldPrintStoredProcedureArgumentNameInCall
public boolean shouldPrintStoredProcedureArgumentNameInCall()
INTERNAL: Pervasive SQL stored procedure calls do not require the argument name be printed in the call string e.g. call MyStoredProc(?) instead of call MyStoredProc(myvariable = ?)- Overrides:
shouldPrintStoredProcedureArgumentNameInCall
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
toNumberOperator
protected ExpressionOperator toNumberOperator()
-
toDateOperator
protected ExpressionOperator toDateOperator()
Cloned from MySQLPlatform.java
-
toCharOperator
protected ExpressionOperator toCharOperator()
Cloned from MySQLPlatform.java
-
dateToStringOperator
protected ExpressionOperator dateToStringOperator()
Cloned from MySQLPlatform.java
-
isPervasive
public boolean isPervasive()
Answers whether platform is Pervasive- Overrides:
isPervasive
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
shouldUseJDBCOuterJoinSyntax
public boolean shouldUseJDBCOuterJoinSyntax()
JDBC defines an outer join syntax which many drivers do not support. So we normally avoid it.- Overrides:
shouldUseJDBCOuterJoinSyntax
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
printFieldIdentityClause
public void printFieldIdentityClause(java.io.Writer writer) throws ValidationException
Append the receiver's field 'identity' constraint clause to a writer. Taken from org.eclipse.persistence\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\platform\database\AccessPlatform.java- Overrides:
printFieldIdentityClause
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
- Throws:
ValidationException
-
singleArgumentSubstringOperator
public ExpressionOperator singleArgumentSubstringOperator()
Override the default SubstringSingleArg operator. Cloned from SybasePlatform.java
-
supportsIdentity
public boolean supportsIdentity()
Indicates whether the platform supports identity.- Overrides:
supportsIdentity
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
supportsLocalTempTables
public boolean supportsLocalTempTables()
INTERNAL:- Overrides:
supportsLocalTempTables
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsGlobalTempTables
public boolean supportsGlobalTempTables()
- Overrides:
supportsGlobalTempTables
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getCreateTempTableSqlPrefix
protected java.lang.String getCreateTempTableSqlPrefix()
INTERNAL:- Overrides:
getCreateTempTableSqlPrefix
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getTempTableForTable
public org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:- Overrides:
getTempTableForTable
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
printFieldTypeSize
public void printFieldTypeSize(java.io.Writer writer, FieldDefinition field, org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition fieldType, boolean shouldPrintFieldIdentityClause) throws java.io.IOException
Taken from org.eclipse.persistence\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\platform\database\AccessPlatform.java- Overrides:
printFieldTypeSize
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
- Throws:
java.io.IOException
-
buildSelectQueryForIdentity
public ValueReadQuery buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing. Taken verbatim from org.eclipse.persistence\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\platform\database\SQLServerPlatform.java- Overrides:
buildSelectQueryForIdentity
in classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
getSelectForUpdateString
public java.lang.String getSelectForUpdateString()
Temporary workaround to avoid joined queries with FOR UPDATE in them- Overrides:
getSelectForUpdateString
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
isForUpdateCompatibleWithDistinct
public boolean isForUpdateCompatibleWithDistinct()
INTERNAL: Indicates whether SELECT DISTINCT ... FOR UPDATE is allowed by the platform (Oracle doesn't allow this).- Overrides:
isForUpdateCompatibleWithDistinct
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsDeleteOnCascade
public boolean supportsDeleteOnCascade()
Setting this to false (cf. Sybase) to work around problem that unspecified default delete rule is RESTRICT, even when not allowed due to self-referencing table.- Overrides:
supportsDeleteOnCascade
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintLockingClauseAfterWhereClause
public boolean shouldPrintLockingClauseAfterWhereClause()
Attempts to remove FOR UPDATE from queries- Overrides:
shouldPrintLockingClauseAfterWhereClause
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsLockingQueriesWithMultipleTables
public boolean supportsLockingQueriesWithMultipleTables()
INTERNAL: Indicates whether locking clause could be applied to the query that has more than one table- Overrides:
supportsLockingQueriesWithMultipleTables
in classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
-