public class DB2Adapter extends BaseDatastoreAdapter
BaseDatastoreAdapterBaseDatastoreAdapter.DatastoreTypeMappings| Modifier and Type | Field and Description |
|---|---|
static String |
DB2_RESERVED_WORDS
A string containing the list of DB2 keywords
This list is normally obtained dynamically from the driver using "DatabaseMetaData.getSQLKeywords()".
|
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, MAX_IDENTIFIER_LENGTH, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, NONRESERVED_WORDS, properties, reservedKeywords, SQL2003_RESERVED_WORDS, SQL92_RESERVED_WORDS, SQL99_RESERVED_WORDS, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesByIdACCESS_PARENTQUERY_IN_SUBQUERY_JOINED, ALTER_TABLE_DROP_CONSTRAINT_SYNTAX, ALTER_TABLE_DROP_FOREIGN_KEY_CONSTRAINT, ANALYSIS_METHODS, ANSI_CROSSJOIN_SYNTAX, ANSI_JOIN_SYNTAX, AUTO_INCREMENT_COLUMN_TYPE_SPECIFICATION, AUTO_INCREMENT_KEYS_NULL_SPECIFICATION, AUTO_INCREMENT_PK_IN_CREATE_TABLE_COLUMN_DEF, 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, 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_COLUMNS, INCLUDE_ORDERBY_COLS_IN_SELECT, LOCK_OPTION_PLACED_AFTER_FROM, LOCK_OPTION_PLACED_WITHIN_JOIN, LOCK_WITH_SELECT_FOR_UPDATE, 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, RESULTSET_TYPE_FORWARD_ONLY, RESULTSET_TYPE_SCROLL_INSENSITIVE, RESULTSET_TYPE_SCROLL_SENSITIVE, RIGHT_OUTER_JOIN, SCHEMAS_IN_TABLE_DEFINITIONS, SELECT_FOR_UPDATE_NOWAIT, 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 and Description |
|---|
DB2Adapter(DatabaseMetaData metadata)
Constructs a DB2 adapter based on the given JDBC metadata.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAutoIncrementKeyword()
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).
|
String |
getAutoIncrementStmt(Table table,
String columnName)
Accessor for the auto-increment sql statement for this datastore.
|
String |
getContinuationString()
Continuation string to use where the SQL statement goes over more than 1
line.
|
int |
getDatastoreIdentifierMaxLength(IdentifierType identifierType)
Method to return the maximum length of a datastore identifier of the specified type.
|
String |
getDropDatabaseStatement(String schemaName,
String catalogName)
Method to return the statement necessary to drop a database with this RDBMS.
|
String |
getDropTableStatement(Table table)
Returns the appropriate SQL to drop the given table.
|
String |
getRangeByRowNumberColumn()
Method to return the column name to use when handling ranges via
a row-number on the select using the original method (DB2).
|
String |
getSchemaName(Connection conn)
Accessor for the Schema Name for this datastore.
|
String |
getSequenceCreateStmt(String sequenceName,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cacheSize)
Accessor for the sequence statement to create the sequence.
|
String |
getSequenceNextStmt(String sequenceName)
Accessor for the statement for getting the next id from the sequence for this datastore.
|
Class |
getSQLMethodClass(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).
|
Class |
getSQLOperationClass(String operationName)
Accessor for the SQLOperation class for the specified operation (if available for this datastore).
|
String |
getVendorID()
Accessor for the Vendor ID for this datastore.
|
void |
initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
Initialise the types for this datastore.
|
boolean |
isStatementCancel(SQLException sqle)
return whether this exception represents a cancelled statement.
|
boolean |
isStatementTimeout(SQLException sqle)
return whether this exception represents a timed out statement.
|
protected void |
loadDatastoreMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
Load all datastore mappings for this RDBMS database.
|
RDBMSColumnInfo |
newRDBMSColumnInfo(ResultSet rs)
Method to create a column info for the current row.
|
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet.
|
addSQLTypeForJDBCType, deregisterDatastoreMappingsForJDBCType, getAdapterTime, getAddCandidateKeyStatement, getAddColumnStatement, getAddForeignKeyStatement, getAddPrimaryKeyStatement, getAutoIncrementJavaTypeForType, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumns, getCreateDatabaseStatement, getCreateIndexStatement, getCreateTableStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreMappingClass, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getInsertStatementForNoColumns, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByLimitEndOfStatementClause, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSelectForUpdateText, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialise, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, registerDatastoreMapping, registerDatastoreMapping, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping, validToSelectMappingInStatementpublic static final String DB2_RESERVED_WORDS
public DB2Adapter(DatabaseMetaData metadata)
metadata - the database metadata.public void initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
initialiseTypes in interface DatastoreAdapterinitialiseTypes in class BaseDatastoreAdapterhandler - SchemaHandler that we initialise the types formconn - Managed connection to usepublic String getVendorID()
DatastoreAdaptergetVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic String getSchemaName(Connection conn) throws SQLException
BaseDatastoreAdaptergetSchemaName in interface DatastoreAdaptergetSchemaName in class BaseDatastoreAdapterconn - Connection to the datastoreSQLException - Thrown if error occurs in determining the schema name.public int getDatastoreIdentifierMaxLength(IdentifierType identifierType)
getDatastoreIdentifierMaxLength in interface DatastoreAdaptergetDatastoreIdentifierMaxLength in class BaseDatastoreAdapteridentifierType - Type of identifier (see IdentifierFactory.TABLE, etc)public SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
newRDBMSColumnInfo in interface DatastoreAdapternewRDBMSColumnInfo in class BaseDatastoreAdapterrs - ResultSet from DatabaseMetaData.getColumns()public String getDropDatabaseStatement(String schemaName, String catalogName)
DatastoreAdaptergetDropDatabaseStatement in interface DatastoreAdaptergetDropDatabaseStatement in class BaseDatastoreAdapterschemaName - Name of the catalogcatalogName - Name of the schemapublic String getDropTableStatement(Table table)
BaseDatastoreAdapterDROP TABLE FOO CASCADE
getDropTableStatement in interface DatastoreAdaptergetDropTableStatement in class BaseDatastoreAdaptertable - The table to drop.public String getAutoIncrementStmt(Table table, String columnName)
getAutoIncrementStmt in interface DatastoreAdaptergetAutoIncrementStmt in class BaseDatastoreAdaptertable - Name of the table that the autoincrement is forcolumnName - Name of the column that the autoincrement is forpublic String getAutoIncrementKeyword()
getAutoIncrementKeyword in interface DatastoreAdaptergetAutoIncrementKeyword in class BaseDatastoreAdapterpublic String getContinuationString()
getContinuationString in class BaseDatastoreAdapterpublic String getSequenceCreateStmt(String sequenceName, Integer min, Integer max, Integer start, Integer increment, Integer cacheSize)
getSequenceCreateStmt in interface DatastoreAdaptergetSequenceCreateStmt in class BaseDatastoreAdaptersequenceName - Name of the sequencemin - Minimum value for the sequencemax - Maximum value for the sequencestart - Start value for the sequenceincrement - Increment value for the sequencecacheSize - Cache size for the sequencepublic String getSequenceNextStmt(String sequenceName)
getSequenceNextStmt in interface DatastoreAdaptergetSequenceNextStmt in class BaseDatastoreAdaptersequenceName - Name of the sequencepublic String getRangeByRowNumberColumn()
BaseDatastoreAdaptergetRangeByRowNumberColumn in interface DatastoreAdaptergetRangeByRowNumberColumn in class BaseDatastoreAdapterpublic boolean isStatementCancel(SQLException sqle)
isStatementCancel in interface DatastoreAdapterisStatementCancel in class BaseDatastoreAdaptersqle - the exceptionpublic boolean isStatementTimeout(SQLException sqle)
BaseDatastoreAdapterisStatementTimeout in interface DatastoreAdapterisStatementTimeout in class BaseDatastoreAdaptersqle - the exceptionpublic Class getSQLOperationClass(String operationName)
DatastoreAdaptergetSQLOperationClass in interface DatastoreAdaptergetSQLOperationClass in class BaseDatastoreAdapteroperationName - operation namepublic Class getSQLMethodClass(String className, String methodName, org.datanucleus.ClassLoaderResolver clr)
DatastoreAdaptergetSQLMethodClass in interface DatastoreAdaptergetSQLMethodClass in class BaseDatastoreAdapterclassName - Name of the class (or null if this is a STATIC method)methodName - Method nameclr - ClassLoader resolver, in case className is a subclass of a supported typeprotected void loadDatastoreMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
loadDatastoreMappings in class BaseDatastoreAdaptermgr - the PluginManagerclr - the ClassLoaderResolverCopyright © 2019. All rights reserved.