public final class MaxDBPlatform extends DatabasePlatform
Wiki page: http://wiki.eclipse.org/EclipseLink/Development/DatabasePlatform/MaxDBPlatform
Usage
The MaxDB platform is configured in the persistence.xml by the following property:
<property name="eclipselink.target-database" value="MaxDB"/>
Forward mapping with EclipseLink assumes that MaxDB is configured for unicode (in version 7.7, this is the default). Unicode mode also needs to be specified in the URL as follows:
jdbc:sapdb://localhost/E32?unicode=yes
Tested with:
DEFAULT_VARCHAR_SIZEDEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, IS_VALID_TIMEOUT, Types_NCLOB, Types_SQLXML| Constructor and Description |
|---|
MaxDBPlatform() |
| Modifier and Type | Method and Description |
|---|---|
ValueReadQuery |
buildSelectQueryForSequenceObject(java.lang.String sequenceName,
java.lang.Integer size)
INTERNAL:
Returns query used to read value generated by sequence object (like Oracle sequence).
|
boolean |
canBatchWriteWithOptimisticLocking(DatabaseCall call)
INTERNAL:
Supports Batch Writing with Optimistic Locking.
|
int |
executeBatch(java.sql.Statement statement,
boolean isStatementPrepared)
Internal: This gets called on each batch statement execution
Needs to be implemented so that it returns the number of rows successfully modified
by this statement for optimistic locking purposes (if useNativeBatchWriting is enabled, and
the call uses optimistic locking).
|
int |
getMaxFieldNameSize()
INTERNAL:
returns the maximum number of characters that can be used in a field
name on this platform.
|
java.lang.String |
getSelectForUpdateNoWaitString()
This syntax does no wait on the lock.
|
java.lang.String |
getSelectForUpdateString()
Most database support a syntax.
|
DatabaseTable |
getTempTableForTable(DatabaseTable table)
INTERNAL:
May override this method if the platform support temporary tables.
|
boolean |
isForUpdateCompatibleWithDistinct()
INTERNAL:
Indicates whether SELECT DISTINCT ...
|
boolean |
isMaxDB() |
boolean |
shouldAlwaysUseTempStorageForModifyAll()
INTERNAL:
That method affects UpdateAllQuery and DeleteAllQuery execution.
|
boolean |
shouldBindLiterals()
PUBLIC:
Allows platform to choose whether to bind literals in DatabaseCalls or not.
|
boolean |
shouldOptimizeDataConversion()
Return if our driver level data conversion optimization is enabled.
|
boolean |
shouldPrintOuterJoinInWhereClause()
Some database require outer joins to be given in the where clause, others require it in the from clause.
|
boolean |
shouldUseJDBCOuterJoinSyntax()
JDBC defines and outer join syntax, many drivers do not support this.
|
boolean |
supportsIndividualTableLocking()
INTERNAL:
Indicates whether locking clause could be selectively applied only to some tables in a ReadQuery.
|
boolean |
supportsLocalTempTables()
INTERNAL:
Indicates whether the platform supports local temporary tables.
|
boolean |
supportsNativeSequenceNumbers() |
boolean |
supportsSequenceObjects()
INTERNAL:
Indicates whether the platform supports sequence objects.
|
boolean |
supportsStoredFunctions() |
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendLiteralToCall, appendParameter, appendParameterInternal, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConstraintDeletionString, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getPartitioningCallback, getPingSQL, getProcedureArgumentSetter, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureCallHeader, getProcedureCallTail, getProcedureEndString, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTransactionIsolation, getTypeConverters, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, initializeConnectionData, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isLockTimeoutException, isNullAllowedInSelectClause, isXDBDocument, maximumNumericValues, minimumNumericValues, minimumTimeIncrement, prepareBatchStatement, printFieldIdentityClause, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setCastSizeForVarcharParameter, setCursorCode, setIsCastRequired, setMaxBatchWritingSize, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldCacheAllStatements, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldBindAllParameters, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnUniqueKeys, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeInsertIntoTableSql, writeLOB, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSqladdSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMySQL, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, setConversionManager, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsIdentity, toString, usesPlatformDefaultSequencepublic boolean isForUpdateCompatibleWithDistinct()
DatabasePlatformisForUpdateCompatibleWithDistinct in class DatabasePlatformpublic java.lang.String getSelectForUpdateString()
DatabasePlatformgetSelectForUpdateString in class DatabasePlatformpublic java.lang.String getSelectForUpdateNoWaitString()
DatabasePlatformgetSelectForUpdateNoWaitString in class DatabasePlatformpublic boolean supportsIndividualTableLocking()
DatabasePlatformsupportsIndividualTableLocking in class DatabasePlatformpublic boolean shouldOptimizeDataConversion()
DatabasePlatformshouldOptimizeDataConversion in class DatabasePlatformpublic final boolean supportsNativeSequenceNumbers()
supportsNativeSequenceNumbers in class DatasourcePlatformpublic final ValueReadQuery buildSelectQueryForSequenceObject(java.lang.String sequenceName, java.lang.Integer size)
DatasourcePlatformbuildSelectQueryForSequenceObject in class DatasourcePlatformpublic final int getMaxFieldNameSize()
DatabasePlatformgetMaxFieldNameSize in class DatabasePlatformpublic final boolean supportsLocalTempTables()
DatabasePlatformsupportsLocalTempTables in class DatabasePlatformpublic final DatabaseTable getTempTableForTable(DatabaseTable table)
DatabasePlatformgetTempTableForTable in class DatabasePlatformpublic final boolean isMaxDB()
isMaxDB in interface PlatformisMaxDB in class DatasourcePlatformpublic final boolean shouldAlwaysUseTempStorageForModifyAll()
DatabasePlatformshouldAlwaysUseTempStorageForModifyAll in class DatabasePlatformpublic final boolean shouldBindLiterals()
DatabasePlatformshouldBindLiterals in class DatabasePlatformpublic final boolean shouldPrintOuterJoinInWhereClause()
DatabasePlatformshouldPrintOuterJoinInWhereClause in class DatabasePlatformpublic final boolean shouldUseJDBCOuterJoinSyntax()
DatabasePlatformshouldUseJDBCOuterJoinSyntax in class DatabasePlatformpublic boolean supportsSequenceObjects()
DatasourcePlatformsupportsSequenceObjects in class DatasourcePlatformpublic final boolean supportsStoredFunctions()
supportsStoredFunctions in class DatabasePlatformpublic boolean canBatchWriteWithOptimisticLocking(DatabaseCall call)
DatabasePlatformcanBatchWriteWithOptimisticLocking in class DatabasePlatformpublic int executeBatch(java.sql.Statement statement,
boolean isStatementPrepared)
throws java.sql.SQLException
DatabasePlatformexecuteBatch in class DatabasePlatformisStatementPrepared - - flag is set to true if this statement is preparedjava.sql.SQLExceptionEclipseLink 2.4.2, "build v20130514-5956486" API Reference