Class SQLServerAdapter
java.lang.Object
org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter
org.datanucleus.store.rdbms.adapter.SQLServerAdapter
- All Implemented Interfaces:
DatastoreAdapter
Provides methods for adapting SQL language elements to the Microsoft SQL Server database.
Note that majorVersion from JDBC doesn't align to version number of SQLServer.
1995 = "6", 1998 = "7", 2000/2003 = "8", 2005 = "9", 2008 = "10", 2012 = "11", 2014 = "12", ...
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter
BaseDatastoreAdapter.ColumnTypeMappings
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
Microsoft SQL Server 2000 uses reserved keywords for defining, manipulating, and accessing databases.Fields inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, datastoreTypeMappingsByJavaType, 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.DatastoreAdapter
ACCESS_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, INCLUDE_TABLE_INDEX_STATISTICS, 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 Summary
ConstructorsConstructorDescriptionSQLServerAdapter
(DatabaseMetaData metadata) Constructs a SQL Server adapter based on the given JDBC metadata. -
Method Summary
Modifier and TypeMethodDescriptiongetCatalogName
(Connection conn) Accessor for the catalog name.getCreateIndexStatement
(Index idx, IdentifierFactory factory) Returns the appropriate DDL to create an index.Method to return the basic SQL for a DELETE TABLE statement.getDropDatabaseStatement
(String catalogName, String schemaName) Method to return the statement necessary to drop a database with this RDBMS.getDropTableStatement
(Table table) Returns the appropriate SQL to drop the given table.getIdentityKeyword
(org.datanucleus.store.StoreManager storeMgr) Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).getIdentityLastValueStmt
(Table table, String columnName) Accessor for the auto-increment sql statement for this datastore.Method to return the INSERT statement to use when inserting into a table that has no columns specified.The function to creates a unique value of type uniqueidentifier.getRangeByLimitEndOfStatementClause
(long offset, long count, boolean hasOrdering) Method to return the SQL to append to the WHERE clause of a SELECT statement to handle restriction of ranges using the OFFSET/FETCH keywords.getSchemaName
(Connection conn) Accessor for the Schema Name for this datastore.The function to creates a unique value of type uniqueidentifier.The option to specify in "SELECT ...getSequenceCreateStmt
(String sequenceName, Integer min, Integer max, Integer start, Integer increment, Integer cacheSize) Accessor for the sequence statement to create the sequence.getSequenceNextStmt
(String sequenceName) Accessor for the statement for getting the next id from the sequence for this datastore.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
<? extends SQLOperation> getSQLOperationClass
(String operationName) Accessor for the SQLOperation class for the specified operation (if available for this datastore).getUpdateTableStatement
(SQLTable tbl, SQLText setSQL) Method to return the SQLText for an UPDATE TABLE statement.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
isIdentityFieldDataType
(String columnDef) Verifies if the givencolumnDef
is auto incremented by the datastore.boolean
isReservedKeyword
(String word) Tests if a given string is an SQL keyword.boolean
return whether this exception represents a timed out statement.protected void
loadColumnMappings
(org.datanucleus.plugin.PluginManager mgr, org.datanucleus.ClassLoaderResolver clr) Load all datastore mappings for this RDBMS database.Method to create a column info for the current row.Create a new SQL type info from the current row of the passed ResultSet.boolean
supportsQueryFetchSize
(int size) Whether the datastore will support setting the query fetch size to the supplied value.boolean
Method to return if it is valid to select the specified mapping for the specified statement for this datastore adapter.Methods inherited from class org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter
addSQLTypeForJDBCType, deregisterColumnMappingsForJDBCType, getAdapterTime, getAddCandidateKeyStatement, getAddColumnStatement, getAddForeignKeyStatement, getAddPrimaryKeyStatement, getCatalogSeparator, getCheckConstraintForValues, getColumnMappingClass, getColumns, getContinuationString, getCreateDatabaseStatement, getCreateTableStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getIdentityJavaTypeForType, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNumericConversionFunction, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getPreferredDefaultSQLTypeForJDBCType, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getReservedWords, getSelectForUpdateText, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, initialise, initialiseDatastore, isStatementCancel, isValidPrimaryKeyType, newFKInfo, registerColumnMapping, registerColumnMapping, sequenceExists, supportsOption, supportsTransactionIsolation, toString, validToIndexMapping
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.datanucleus.store.rdbms.adapter.DatastoreAdapter
getIdentityKeyword
-
Field Details
-
MSSQL_RESERVED_WORDS
Microsoft SQL Server 2000 uses reserved keywords for defining, manipulating, and accessing databases. Reserved keywords are part of the grammar of the Transact-SQL language used by SQL Server to parse and understand Transact-SQL statements and batches. Although it is syntactically possible to use SQL Server reserved keywords as identifiers and object names in Transact-SQL scripts, this can be done only using delimited identifiers.- See Also:
-
-
Constructor Details
-
SQLServerAdapter
Constructs a SQL Server adapter based on the given JDBC metadata.- Parameters:
metadata
- the database metadata.
-
-
Method Details
-
initialiseTypes
public void initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler, org.datanucleus.store.connection.ManagedConnection mconn) Initialise the types for this datastore.- Specified by:
initialiseTypes
in interfaceDatastoreAdapter
- Overrides:
initialiseTypes
in classBaseDatastoreAdapter
- Parameters:
handler
- SchemaHandler that we initialise the types formconn
- Managed connection to use
-
getVendorID
Description copied from interface:DatastoreAdapter
Accessor for the Vendor ID for this datastore.- Specified by:
getVendorID
in interfaceDatastoreAdapter
- Overrides:
getVendorID
in classBaseDatastoreAdapter
- Returns:
- Vendor id for this datastore
-
getCatalogName
Accessor for the catalog name.- Specified by:
getCatalogName
in interfaceDatastoreAdapter
- Overrides:
getCatalogName
in classBaseDatastoreAdapter
- Parameters:
conn
- The Connection to use- Returns:
- The catalog name used by this connection
- Throws:
SQLException
- if an error occurs
-
getSchemaName
Description copied from class:BaseDatastoreAdapter
Accessor for the Schema Name for this datastore.- Specified by:
getSchemaName
in interfaceDatastoreAdapter
- Overrides:
getSchemaName
in classBaseDatastoreAdapter
- Parameters:
conn
- Connection to the datastore- Returns:
- The schema name
- Throws:
SQLException
- Thrown if error occurs in determining the schema name.
-
isReservedKeyword
Description copied from class:BaseDatastoreAdapter
Tests if a given string is an SQL keyword.The list of key words tested against is defined to contain all SQL/92 keywords, plus any additional key words reported by the JDBC driver for this adapter via
DatabaseMetaData.getSQLKeywords()
.In general, use of a SQL key word as an identifier should be avoided. SQL/92 key words are divided into reserved and non-reserved words. If a reserved word is used as an identifier it must be quoted with double quotes. Strictly speaking, the same is not true of non-reserved words. However, as C.J. Date writes in A Guide To The SQL Standard :
The rule by which it is determined within the standard that one key word needs to be reserved while another need not is not clear to this writer. In practice, it is probably wise to treat all key words as reserved.
- Specified by:
isReservedKeyword
in interfaceDatastoreAdapter
- Overrides:
isReservedKeyword
in classBaseDatastoreAdapter
- Parameters:
word
- The word to test.- Returns:
true
if word is a SQL key word for this DBMS. The comparison is case-insensitive.
-
getDropDatabaseStatement
Description copied from interface:DatastoreAdapter
Method to return the statement necessary to drop a database with this RDBMS. Note that some RDBMS don't support this.- Specified by:
getDropDatabaseStatement
in interfaceDatastoreAdapter
- Overrides:
getDropDatabaseStatement
in classBaseDatastoreAdapter
- Parameters:
catalogName
- Name of the catalogschemaName
- Name of the schema- Returns:
- The DDL statement
-
getCreateIndexStatement
Returns the appropriate DDL to create an index. Overrides the superclass variant since Postgresql doesn't support having index names specified in a particular schema (i.e "{schema}.{indexName}").- Specified by:
getCreateIndexStatement
in interfaceDatastoreAdapter
- Overrides:
getCreateIndexStatement
in classBaseDatastoreAdapter
- Parameters:
idx
- An object describing the index.factory
- Identifier factory- Returns:
- The text of the SQL statement.
-
getSelectNewUUIDStmt
The function to creates a unique value of type uniqueidentifier.- Specified by:
getSelectNewUUIDStmt
in interfaceDatastoreAdapter
- Overrides:
getSelectNewUUIDStmt
in classBaseDatastoreAdapter
- Returns:
- The function. e.g. "SELECT NEWID()"
-
getNewUUIDFunction
The function to creates a unique value of type uniqueidentifier.- Overrides:
getNewUUIDFunction
in classBaseDatastoreAdapter
- Returns:
- The function. e.g. "NEWID()"
-
supportsQueryFetchSize
public boolean supportsQueryFetchSize(int size) Whether the datastore will support setting the query fetch size to the supplied value.- Specified by:
supportsQueryFetchSize
in interfaceDatastoreAdapter
- Overrides:
supportsQueryFetchSize
in classBaseDatastoreAdapter
- Parameters:
size
- The value to set to- Returns:
- Whether it is supported.
-
newRDBMSColumnInfo
Method to create a column info for the current row. Overrides the dataType/columnSize/decimalDigits to cater for SQLServer particularities.- Specified by:
newRDBMSColumnInfo
in interfaceDatastoreAdapter
- Overrides:
newRDBMSColumnInfo
in classBaseDatastoreAdapter
- Parameters:
rs
- ResultSet from DatabaseMetaData.getColumns()- Returns:
- column info
-
newSQLTypeInfo
Description copied from interface:DatastoreAdapter
Create a new SQL type info from the current row of the passed ResultSet. Allows an adapter to override particular types where the JDBC driver is known to be buggy.- Specified by:
newSQLTypeInfo
in interfaceDatastoreAdapter
- Overrides:
newSQLTypeInfo
in classBaseDatastoreAdapter
- Parameters:
rs
- ResultSet- Returns:
- The SQL type info
-
getDropTableStatement
Description copied from class:BaseDatastoreAdapter
Returns the appropriate SQL to drop the given table. It should return something like:DROP TABLE FOO CASCADE
- Specified by:
getDropTableStatement
in interfaceDatastoreAdapter
- Overrides:
getDropTableStatement
in classBaseDatastoreAdapter
- Parameters:
table
- The table to drop.- Returns:
- The text of the SQL statement.
-
getDeleteTableStatement
Method to return the basic SQL for a DELETE TABLE statement. Returns the String asDELETE MYTABLE FROM MYTABLE t1
.- Specified by:
getDeleteTableStatement
in interfaceDatastoreAdapter
- Overrides:
getDeleteTableStatement
in classBaseDatastoreAdapter
- Parameters:
tbl
- The SQLTable to delete- Returns:
- The delete table string
-
getUpdateTableStatement
Method to return the SQLText for an UPDATE TABLE statement. Returns the SQLText forUPDATE T1 SET x1 = val1, x2 = val2 FROM MYTBL T1
. Override if the datastore doesn't support that standard syntax.- Specified by:
getUpdateTableStatement
in interfaceDatastoreAdapter
- Overrides:
getUpdateTableStatement
in classBaseDatastoreAdapter
- Parameters:
tbl
- The primary tablesetSQL
- The SQLText for the SET component- Returns:
- SQLText for the update statement
-
getIdentityLastValueStmt
Accessor for the auto-increment sql statement for this datastore.- Specified by:
getIdentityLastValueStmt
in interfaceDatastoreAdapter
- Overrides:
getIdentityLastValueStmt
in classBaseDatastoreAdapter
- Parameters:
table
- Name of the table that the autoincrement is forcolumnName
- Name of the column that the autoincrement is for- Returns:
- The statement for getting the latest auto-increment key
-
getIdentityKeyword
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).- Specified by:
getIdentityKeyword
in interfaceDatastoreAdapter
- Overrides:
getIdentityKeyword
in classBaseDatastoreAdapter
- Parameters:
storeMgr
- The Store Manager- Returns:
- The keyword for a column using auto-increment
-
isIdentityFieldDataType
Verifies if the givencolumnDef
is auto incremented by the datastore.- Specified by:
isIdentityFieldDataType
in interfaceDatastoreAdapter
- Overrides:
isIdentityFieldDataType
in classBaseDatastoreAdapter
- Parameters:
columnDef
- the datastore type name- Returns:
- true when the
columnDef
has values auto incremented by the datastore
-
getInsertStatementForNoColumns
Method to return the INSERT statement to use when inserting into a table that has no columns specified. This is the case when we have a single column in the table and that column is autoincrement/identity (and so is assigned automatically in the datastore).- Specified by:
getInsertStatementForNoColumns
in interfaceDatastoreAdapter
- Overrides:
getInsertStatementForNoColumns
in classBaseDatastoreAdapter
- Parameters:
table
- The table- Returns:
- The statement for the INSERT
-
getSelectWithLockOption
Description copied from class:BaseDatastoreAdapter
The option to specify in "SELECT ... FROM TABLE ... WITH (option)" to lock instances Returns null if not supported.- Specified by:
getSelectWithLockOption
in interfaceDatastoreAdapter
- Overrides:
getSelectWithLockOption
in classBaseDatastoreAdapter
- Returns:
- The option to specify with "SELECT ... FROM TABLE ... WITH (option)"
-
validToSelectMappingInStatement
Method to return if it is valid to select the specified mapping for the specified statement for this datastore adapter. Sometimes, dependent on the type of the column(s), and what other components are present in the statement, it may be invalid to select the mapping. This implementation returns true, so override in database-specific subclass as required.- Specified by:
validToSelectMappingInStatement
in interfaceDatastoreAdapter
- Overrides:
validToSelectMappingInStatement
in classBaseDatastoreAdapter
- Parameters:
stmt
- The statementm
- The mapping that we want to select- Returns:
- Whether it is valid
-
isStatementTimeout
Description copied from class:BaseDatastoreAdapter
return whether this exception represents a timed out statement.- Specified by:
isStatementTimeout
in interfaceDatastoreAdapter
- Overrides:
isStatementTimeout
in classBaseDatastoreAdapter
- Parameters:
sqle
- the exception- Returns:
- whether it is a timeout
-
getRangeByLimitEndOfStatementClause
Method to return the SQL to append to the WHERE clause of a SELECT statement to handle restriction of ranges using the OFFSET/FETCH keywords.- Specified by:
getRangeByLimitEndOfStatementClause
in interfaceDatastoreAdapter
- Overrides:
getRangeByLimitEndOfStatementClause
in classBaseDatastoreAdapter
- Parameters:
offset
- The offset to return fromcount
- The number of items to returnhasOrdering
- Whether there is ordering present- Returns:
- The SQL to append to allow for ranges using OFFSET/FETCH.
-
getSequenceCreateStmt
public 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:
getSequenceCreateStmt
in interfaceDatastoreAdapter
- Overrides:
getSequenceCreateStmt
in classBaseDatastoreAdapter
- Parameters:
sequenceName
- 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 sequence- Returns:
- The statement for getting the next id from the sequence
-
getSequenceNextStmt
Accessor for the statement for getting the next id from the sequence for this datastore.- Specified by:
getSequenceNextStmt
in interfaceDatastoreAdapter
- Overrides:
getSequenceNextStmt
in classBaseDatastoreAdapter
- Parameters:
sequenceName
- Name of the sequence- Returns:
- The statement for getting the next id for the sequence
-
getSQLOperationClass
Description copied from interface:DatastoreAdapter
Accessor for the SQLOperation class for the specified operation (if available for this datastore).- Specified by:
getSQLOperationClass
in interfaceDatastoreAdapter
- Overrides:
getSQLOperationClass
in classBaseDatastoreAdapter
- Parameters:
operationName
- operation name- Returns:
- SQLOperation class (or null if none available)
-
getSQLMethodClass
public Class<? extends SQLMethod> getSQLMethodClass(String className, String methodName, org.datanucleus.ClassLoaderResolver clr) Description copied from interface:DatastoreAdapter
Accessor for the SQLMethod class for the query invocation of specified class + method name (if available for this datastore).- Specified by:
getSQLMethodClass
in interfaceDatastoreAdapter
- Overrides:
getSQLMethodClass
in classBaseDatastoreAdapter
- Parameters:
className
- 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 type- Returns:
- The SQLMethod class (or null if not defined for this datastore).
-
loadColumnMappings
protected void loadColumnMappings(org.datanucleus.plugin.PluginManager mgr, org.datanucleus.ClassLoaderResolver clr) Load all datastore mappings for this RDBMS database.- Overrides:
loadColumnMappings
in classBaseDatastoreAdapter
- Parameters:
mgr
- the PluginManagerclr
- the ClassLoaderResolver
-