Class SAPDBAdapter
- java.lang.Object
- 
- org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter
- 
- org.datanucleus.store.rdbms.adapter.SAPDBAdapter
 
 
- 
- All Implemented Interfaces:
- DatastoreAdapter
 
 public class SAPDBAdapter extends BaseDatastoreAdapter Provides methods for adapting SQL language elements to the SAPDB/MaxDB database.
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapterBaseDatastoreAdapter.ColumnTypeMappings
 
- 
 - 
Field Summary- 
Fields inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdaptercatalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, MAX_IDENTIFIER_LENGTH, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, NONRESERVED_WORDS, reservedKeywords, SQL2003_RESERVED_WORDS, SQL92_RESERVED_WORDS, SQL99_RESERVED_WORDS, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesById
 - 
Fields inherited from interface org.datanucleus.store.rdbms.adapter.DatastoreAdapterACCESS_PARENTQUERY_IN_SUBQUERY_JOINED, ALTER_TABLE_DROP_CONSTRAINT_SYNTAX, ALTER_TABLE_DROP_FOREIGN_KEY_CONSTRAINT, ANSI_CROSSJOIN_SYNTAX, ANSI_JOIN_SYNTAX, BIT_IS_REALLY_BOOLEAN, BLOB_SET_USING_SETSTRING, BOOLEAN_COMPARISON, CATALOGS_IN_TABLE_DEFINITIONS, CHAR_COLUMNS_PADDED_WITH_SPACES, CHECK_IN_CREATE_STATEMENTS, CHECK_IN_END_CREATE_STATEMENTS, CLOB_SET_USING_SETSTRING, COLUMN_LENGTH_SEMANTICS, CREATE_INDEX_COLUMN_ORDERING, CREATE_INDEXES_BEFORE_FOREIGN_KEYS, CROSSJOIN_ASINNER11_SYNTAX, DATETIME_STORES_MILLISECS, DEFAULT_BEFORE_NULL_IN_COLUMN_OPTIONS, DEFAULT_KEYWORD_IN_COLUMN_OPTIONS, DEFAULT_KEYWORD_WITH_NOT_NULL_IN_COLUMN_OPTIONS, DEFERRED_CONSTRAINTS, DISTINCT_WITH_SELECT_FOR_UPDATE, ESCAPE_EXPRESSION_IN_LIKE_PREDICATE, EXISTS_SYNTAX, FK_DELETE_ACTION_CASCADE, FK_DELETE_ACTION_DEFAULT, FK_DELETE_ACTION_NULL, FK_DELETE_ACTION_RESTRICT, FK_IN_END_CREATE_STATEMENTS, FK_UPDATE_ACTION_CASCADE, FK_UPDATE_ACTION_DEFAULT, FK_UPDATE_ACTION_NULL, FK_UPDATE_ACTION_RESTRICT, GET_GENERATED_KEYS_STATEMENT, GROUP_BY_REQUIRES_ALL_SELECT_PRIMARIES, GROUPING_WITH_SELECT_FOR_UPDATE, HAVING_WITH_SELECT_FOR_UPDATE, HOLD_CURSORS_OVER_COMMIT, IDENTIFIERS_LOWERCASE, IDENTIFIERS_LOWERCASE_QUOTED, IDENTIFIERS_MIXEDCASE, IDENTIFIERS_MIXEDCASE_QUOTED, IDENTIFIERS_MIXEDCASE_QUOTED_SENSITIVE, IDENTIFIERS_MIXEDCASE_SENSITIVE, IDENTIFIERS_UPPERCASE, IDENTIFIERS_UPPERCASE_QUOTED, IDENTITY_COLUMN_TYPE_SPECIFICATION, IDENTITY_COLUMNS, IDENTITY_KEYS_NULL_SPECIFICATION, IDENTITY_PK_IN_CREATE_TABLE_COLUMN_DEF, INCLUDE_ORDERBY_COLS_IN_SELECT, LOCK_ROW_USING_OPTION_AFTER_FROM, LOCK_ROW_USING_OPTION_WITHIN_JOIN, LOCK_ROW_USING_SELECT_FOR_UPDATE, LOCK_ROW_USING_SELECT_FOR_UPDATE_NOWAIT, MULTITABLES_WITH_SELECT_FOR_UPDATE, NATIVE_ENUM_TYPE, NULL_EQUALS_EMPTY_STRING, NULLS_IN_CANDIDATE_KEYS, NULLS_KEYWORD_IN_COLUMN_OPTIONS, OPERATOR_BITWISE_AND, OPERATOR_BITWISE_OR, OPERATOR_BITWISE_XOR, ORDERBY_NULLS_DIRECTIVES, ORDERBY_NULLS_USING_CASE_NULL, ORDERBY_NULLS_USING_COLUMN_IS_NULL, ORDERBY_NULLS_USING_ISNULL, ORDERBY_USING_SELECT_COLUMN_INDEX, ORDERING_WITH_SELECT_FOR_UPDATE, PARAMETER_IN_CASE_IN_UPDATE_CLAUSE, PERSIST_OF_UNASSIGNED_CHAR, PRIMARYKEY_IN_CREATE_STATEMENTS, PROJECTION_IN_TABLE_REFERENCE_JOINS, RAW_PREFIX_LIKE_STATEMENTS, RESULTSET_TYPE_FORWARD_ONLY, RESULTSET_TYPE_SCROLL_INSENSITIVE, RESULTSET_TYPE_SCROLL_SENSITIVE, RIGHT_OUTER_JOIN, SCHEMAS_IN_TABLE_DEFINITIONS, SEQUENCES, SOME_ANY_ALL_SUBQUERY_EXPRESSIONS, STATEMENT_BATCHING, STORED_PROCEDURES, SUBQUERY_IN_HAVING, TX_ISOLATION_NONE, TX_ISOLATION_READ_COMMITTED, TX_ISOLATION_READ_UNCOMMITTED, TX_ISOLATION_REPEATABLE_READ, TX_ISOLATION_SERIALIZABLE, UNION_SYNTAX, UNIQUE_IN_END_CREATE_STATEMENTS, UPDATE_DELETE_STATEMENT_ALLOW_TABLE_ALIAS_IN_WHERE_CLAUSE, UPDATE_STATEMENT_ALLOW_TABLE_ALIAS_IN_SET_CLAUSE, USE_UNION_ALL, VALUE_GENERATION_UUID_STRING, VIEWS
 
- 
 - 
Constructor SummaryConstructors Constructor Description SAPDBAdapter(DatabaseMetaData metadata)Constructs an SAP DB adapter based on the given JDBC metadata.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory)Returns the appropriate SQL to add a candidate key to its table.StringgetAddForeignKeyStatement(ForeignKey fk, IdentifierFactory factory)Returns the appropriate SQL to add a foreign key to its table.StringgetAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)Returns the appropriate SQL to add a primary key to its table.StringgetSelectWithLockOption()The option to specify in "SELECT ...StringgetSequenceCreateStmt(String sequenceName, Integer min, Integer max, Integer start, Integer increment, Integer cacheSize)Accessor for the sequence statement to create the sequence.StringgetSequenceNextStmt(String sequenceName)Accessor for the statement for getting the next id from the sequence for this datastore.ClassgetSQLMethodClass(String className, String methodName, org.datanucleus.ClassLoaderResolver clr)Accessor for the SQLMethod class for the query invocation of specified class + method name (if available for this datastore).StringgetVendorID()Accessor for the Vendor ID for this datastore.protected voidloadColumnMappings(org.datanucleus.plugin.PluginManager mgr, org.datanucleus.ClassLoaderResolver clr)Load all datastore mappings for this RDBMS database.- 
Methods inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapteraddSQLTypeForJDBCType, deregisterColumnMappingsForJDBCType, getAdapterTime, getAddColumnStatement, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumnMappingClass, getColumns, getContinuationString, getCreateDatabaseStatement, getCreateIndexStatement, getCreateTableStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropDatabaseStatement, getDropTableStatement, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getIdentityJavaTypeForType, getIdentityKeyword, getIdentityLastValueStmt, getInsertStatementForNoColumns, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getPreferredDefaultSQLTypeForJDBCType, getRangeByLimitEndOfStatementClause, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getReservedWords, getSchemaName, getSelectForUpdateText, getSelectNewUUIDStmt, getSQLOperationClass, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, initialise, initialiseDatastore, initialiseTypes, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isStatementTimeout, isValidPrimaryKeyType, newFKInfo, newRDBMSColumnInfo, newSQLTypeInfo, registerColumnMapping, registerColumnMapping, sequenceExists, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping, validToSelectMappingInStatement
 
- 
 
- 
- 
- 
Constructor Detail- 
SAPDBAdapterpublic SAPDBAdapter(DatabaseMetaData metadata) Constructs an SAP DB adapter based on the given JDBC metadata.- Parameters:
- metadata- the database metadata.
 
 
- 
 - 
Method Detail- 
getVendorIDpublic String getVendorID() Description copied from interface:DatastoreAdapterAccessor for the Vendor ID for this datastore.- Specified by:
- getVendorIDin interface- DatastoreAdapter
- Overrides:
- getVendorIDin class- BaseDatastoreAdapter
- Returns:
- Vendor id for this datastore
 
 - 
getSelectWithLockOptionpublic String getSelectWithLockOption() The option to specify in "SELECT ... WITH (option)" to lock instances. Null if not supported.- Specified by:
- getSelectWithLockOptionin interface- DatastoreAdapter
- Overrides:
- getSelectWithLockOptionin class- BaseDatastoreAdapter
- Returns:
- The option to specify with "SELECT ... WITH (option)"
 
 - 
getAddPrimaryKeyStatementpublic String getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory) Description copied from class:BaseDatastoreAdapterReturns the appropriate SQL to add a primary key to its table. It should return something like:ALTER TABLE FOO ADD [CONSTRAINT FOO_PK ]PRIMARY KEY (BAR) - Specified by:
- getAddPrimaryKeyStatementin interface- DatastoreAdapter
- Overrides:
- getAddPrimaryKeyStatementin class- BaseDatastoreAdapter
- Parameters:
- pk- An object describing the primary key.
- factory- Identifier factory
- Returns:
- The text of the SQL statement.
 
 - 
getAddCandidateKeyStatementpublic String getAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory) Description copied from class:BaseDatastoreAdapterReturns the appropriate SQL to add a candidate key to its table. It should return something like:ALTER TABLE FOO ADD [CONSTRAINT FOO_CK ]UNIQUE (BAZ) - Specified by:
- getAddCandidateKeyStatementin interface- DatastoreAdapter
- Overrides:
- getAddCandidateKeyStatementin class- BaseDatastoreAdapter
- Parameters:
- ck- An object describing the candidate key.
- factory- Identifier factory
- Returns:
- The text of the SQL statement.
 
 - 
getAddForeignKeyStatementpublic String getAddForeignKeyStatement(ForeignKey fk, IdentifierFactory factory) Description copied from class:BaseDatastoreAdapterReturns the appropriate SQL to add a foreign key to its table. It should return something like:ALTER TABLE FOO ADD [CONSTRAINT FOO_FK1 ]FOREIGN KEY (BAR, BAZ) REFERENCES ABC (COL1, COL2) - Specified by:
- getAddForeignKeyStatementin interface- DatastoreAdapter
- Overrides:
- getAddForeignKeyStatementin class- BaseDatastoreAdapter
- Parameters:
- fk- An object describing the foreign key.
- factory- Identifier factory
- Returns:
- The text of the SQL statement.
 
 - 
getSequenceCreateStmtpublic String getSequenceCreateStmt(String sequenceName, Integer min, Integer max, Integer start, Integer increment, Integer cacheSize) Accessor for the sequence statement to create the sequence.- Specified by:
- getSequenceCreateStmtin interface- DatastoreAdapter
- Overrides:
- getSequenceCreateStmtin class- BaseDatastoreAdapter
- Parameters:
- sequenceName- Name of the sequence
- min- Minimum value for the sequence
- max- Maximum value for the sequence
- start- Start value for the sequence
- increment- Increment value for the sequence
- cacheSize- Cache size for the sequence
- Returns:
- The statement for getting the next id from the sequence
 
 - 
getSequenceNextStmtpublic String getSequenceNextStmt(String sequenceName) Accessor for the statement for getting the next id from the sequence for this datastore.- Specified by:
- getSequenceNextStmtin interface- DatastoreAdapter
- Overrides:
- getSequenceNextStmtin class- BaseDatastoreAdapter
- Parameters:
- sequenceName- Name of the sequence
- Returns:
- The statement for getting the next id for the sequence
 
 - 
getSQLMethodClasspublic Class getSQLMethodClass(String className, String methodName, org.datanucleus.ClassLoaderResolver clr) Description copied from interface:DatastoreAdapterAccessor for the SQLMethod class for the query invocation of specified class + method name (if available for this datastore).- Specified by:
- getSQLMethodClassin interface- DatastoreAdapter
- Overrides:
- getSQLMethodClassin class- BaseDatastoreAdapter
- Parameters:
- className- Name of the class (or null if this is a STATIC method)
- methodName- Method name
- clr- ClassLoader resolver, in case className is a subclass of a supported type
- Returns:
- The SQLMethod class (or null if not defined for this datastore).
 
 - 
loadColumnMappingsprotected void loadColumnMappings(org.datanucleus.plugin.PluginManager mgr, org.datanucleus.ClassLoaderResolver clr)Load all datastore mappings for this RDBMS database.- Overrides:
- loadColumnMappingsin class- BaseDatastoreAdapter
- Parameters:
- mgr- the PluginManager
- clr- the ClassLoaderResolver
 
 
- 
 
-