| 
Oracle Fusion Middleware Java API Reference for Oracle TopLink 11g Release 1 (11.1.1) E28847-01  | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
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.MaxDBPlatform
public final class MaxDBPlatform
Database Platform for SAP MaxDB.
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:
Limitations:
| Field Summary | |
|---|---|
private static org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition | 
FIELD_TYPE_DEFINITION_BLOB | 
private static org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition | 
FIELD_TYPE_DEFINITION_CLOB | 
private static int | 
MAX_VARCHAR_UNICODE_LENGTHMaximum length of type VARCHAR UNICODE ( http://maxdb.sap.com/doc/7_8/45/33337d9faf2b34e10000000a1553f7/content.htm) | 
| Fields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform | 
|---|
DEFAULT_VARCHAR_SIZE | 
| Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform | 
|---|
castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, fieldTypes, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, Types_NCLOB, Types_SQLXML, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding | 
| Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform | 
|---|
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery | 
| Constructor Summary | |
|---|---|
MaxDBPlatform() | 
|
| Method Summary | |
|---|---|
private  void | 
addNonBindingOperator(ExpressionOperator operator) | 
protected  java.util.Hashtable | 
buildFieldTypes() | 
 ValueReadQuery | 
buildSelectQueryForSequenceObject(java.lang.String sequenceName, java.lang.Integer size) | 
 boolean | 
canBatchWriteWithOptimisticLocking(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call) | 
private static ExpressionOperator | 
createCoalesceOperator() | 
private static ExpressionOperator | 
createConcatExpressionOperator() | 
private static ExpressionOperator | 
createCurrentDateExpressionOperator()Creates the expression operator representing the JPQL function current_date as defined by ? 4.6.17.2.3 of the JPA 2.0 specification  | 
private static ExpressionOperator | 
createCurrentTimeExpressionOperator()Creates the expression operator representing the JPQL function current_timestamp as defined by ? 4.6.17.2.3 of the JPA 2.0 specification  | 
private static ExpressionOperator | 
createNullifOperator() | 
private static ExpressionOperator | 
createNullValueOperator() | 
private static ExpressionOperator | 
createTodayExpressionOperator()Creates the expression operator representing the JPQL function current_timestamp as defined by ? 4.6.17.2.3 of the JPA 2.0 specification  | 
private static ExpressionOperator | 
createToNumberOperator() | 
private static ExpressionOperator | 
createTrim2ExpressionOperator() | 
 int | 
executeBatch(java.sql.Statement statement, boolean isStatementPrepared) | 
protected  java.lang.String | 
getCreateTempTableSqlPrefix() | 
 int | 
getMaxFieldNameSize() | 
private  java.lang.String | 
getQualifiedSequenceName(java.lang.String sequenceName) | 
 java.lang.String | 
getSelectForUpdateNoWaitString() | 
 java.lang.String | 
getSelectForUpdateString() | 
 org.eclipse.persistence.internal.helper.DatabaseTable | 
getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table) | 
protected  void | 
initializePlatformOperators() | 
 boolean | 
isForUpdateCompatibleWithDistinct() | 
 boolean | 
isMaxDB() | 
protected  void | 
printFieldTypeSize(java.io.Writer writer, FieldDefinition field, org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition fieldType) | 
 boolean | 
shouldAlwaysUseTempStorageForModifyAll() | 
 boolean | 
shouldBindLiterals() | 
 boolean | 
shouldOptimizeDataConversion() | 
 boolean | 
shouldPrintOuterJoinInWhereClause() | 
 boolean | 
shouldUseJDBCOuterJoinSyntax() | 
 boolean | 
supportsIndividualTableLocking() | 
 boolean | 
supportsLocalTempTables() | 
 boolean | 
supportsNativeSequenceNumbers() | 
 boolean | 
supportsSequenceObjects() | 
 boolean | 
supportsStoredFunctions() | 
| Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform | 
|---|
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendByteArray, appendCalendar, appendDate, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, appendTime, appendTimestamp, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConstraintDeletionString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getInOutputProcedureToken, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, 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, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, 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, shouldNativeSequenceUseTransaction, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIdentity, supportsIndexes, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, 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, clone, convertObject, createConnectionCustomizer, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMySQL, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, toString, usesPlatformDefaultSequence | 
| Methods inherited from class java.lang.Object | 
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
private static final org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition FIELD_TYPE_DEFINITION_CLOB
private static final org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition FIELD_TYPE_DEFINITION_BLOB
private static final int MAX_VARCHAR_UNICODE_LENGTH
http://maxdb.sap.com/doc/7_8/45/33337d9faf2b34e10000000a1553f7/content.htm)
| Constructor Detail | 
|---|
public MaxDBPlatform()
| Method Detail | 
|---|
public boolean isForUpdateCompatibleWithDistinct()
isForUpdateCompatibleWithDistinct in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getSelectForUpdateString()
getSelectForUpdateString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getSelectForUpdateNoWaitString()
getSelectForUpdateNoWaitString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprotected final java.util.Hashtable buildFieldTypes()
buildFieldTypes in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean supportsIndividualTableLocking()
supportsIndividualTableLocking in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
protected void printFieldTypeSize(java.io.Writer writer,
                                  FieldDefinition field,
                                  org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition fieldType)
                           throws java.io.IOException
printFieldTypeSize in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOExceptionprotected final void initializePlatformOperators()
initializePlatformOperators in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatformprivate static final ExpressionOperator createConcatExpressionOperator()
private static final ExpressionOperator createTodayExpressionOperator()
private static final ExpressionOperator createCurrentDateExpressionOperator()
private static final ExpressionOperator createCurrentTimeExpressionOperator()
private static final ExpressionOperator createTrim2ExpressionOperator()
private static final ExpressionOperator createNullValueOperator()
private static final ExpressionOperator createCoalesceOperator()
private static final ExpressionOperator createToNumberOperator()
private static final ExpressionOperator createNullifOperator()
public boolean shouldOptimizeDataConversion()
shouldOptimizeDataConversion in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprivate void addNonBindingOperator(ExpressionOperator operator)
public final boolean supportsNativeSequenceNumbers()
supportsNativeSequenceNumbers in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public final ValueReadQuery buildSelectQueryForSequenceObject(java.lang.String sequenceName,
                                                              java.lang.Integer size)
buildSelectQueryForSequenceObject in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprotected final java.lang.String getCreateTempTableSqlPrefix()
getCreateTempTableSqlPrefix in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final int getMaxFieldNameSize()
getMaxFieldNameSize in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprivate final java.lang.String getQualifiedSequenceName(java.lang.String sequenceName)
public final boolean supportsLocalTempTables()
supportsLocalTempTables in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
getTempTableForTable in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final boolean isMaxDB()
isMaxDB in interface org.eclipse.persistence.internal.databaseaccess.PlatformisMaxDB in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatformpublic final boolean shouldAlwaysUseTempStorageForModifyAll()
shouldAlwaysUseTempStorageForModifyAll in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final boolean shouldBindLiterals()
shouldBindLiterals in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final boolean shouldPrintOuterJoinInWhereClause()
shouldPrintOuterJoinInWhereClause in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final boolean shouldUseJDBCOuterJoinSyntax()
shouldUseJDBCOuterJoinSyntax in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean supportsSequenceObjects()
supportsSequenceObjects in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic final boolean supportsStoredFunctions()
supportsStoredFunctions in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean canBatchWriteWithOptimisticLocking(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call)
canBatchWriteWithOptimisticLocking in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int executeBatch(java.sql.Statement statement,
                        boolean isStatementPrepared)
                 throws java.sql.SQLException
executeBatch in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.sql.SQLException
  | 
 | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||