public class DerbyAdapter extends BaseDatastoreAdapter
BaseDatastoreAdapter.ColumnTypeMappingscatalogSeparator, 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, 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_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_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 |
|---|
DerbyAdapter(DatabaseMetaData metadata)
Constructs an Apache Derby adapter based on the given JDBC metadata.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAddCandidateKeyStatement(CandidateKey ck,
IdentifierFactory factory)
Returns the appropriate SQL to add a candidate key to its table.
|
String |
getCatalogName(Connection conn)
Accessor for the catalog name.
|
String |
getCreateIndexStatement(Index idx,
IdentifierFactory factory)
Returns the appropriate DDL to create an index.
|
String |
getDatastoreDateStatement()
Accessor for a statement that will return the statement to use to get the datastore date.
|
String |
getDropDatabaseStatement(String catalogName,
String schemaName)
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 |
getIdentityKeyword()
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).
|
String |
getIdentityLastValueStmt(Table table,
String columnName)
Accessor for the auto-increment SQL statement for this datastore.
|
String |
getInsertStatementForNoColumns(Table table)
Method to return the INSERT statement to use when inserting into a table that has no columns specified.
|
String |
getNumericConversionFunction()
Accessor for the function to use for converting to numeric.
|
String |
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.
|
String |
getSchemaName(Connection conn)
Accessor for the schema name.
|
String |
getSelectForUpdateText()
Method returning the text to append to the end of the SELECT to perform the equivalent of "SELECT ...
|
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.
|
void |
initialiseDatastore(Connection conn)
Creates the auxiliary functions/procedures in the schema
|
boolean |
isIdentityFieldDataType(String columnDef)
Verifies if the given
columnDef is auto incremented by the datastore. |
boolean |
isStatementCancel(SQLException sqle)
Return whether this exception represents a cancelled statement.
|
protected void |
loadColumnMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
Load all datastore mappings for this RDBMS database.
|
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet.
|
boolean |
validToSelectMappingInStatement(SelectStatement stmt,
JavaTypeMapping m)
Method to return if it is valid to select the specified mapping for the specified statement
for this datastore adapter.
|
addSQLTypeForJDBCType, deregisterColumnMappingsForJDBCType, getAdapterTime, getAddColumnStatement, getAddForeignKeyStatement, getAddPrimaryKeyStatement, getCatalogSeparator, getCheckConstraintForValues, getColumnMappingClass, getColumns, getContinuationString, getCreateDatabaseStatement, getCreateTableStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getIdentityJavaTypeForType, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getPreferredDefaultSQLTypeForJDBCType, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialise, initialiseTypes, isReservedKeyword, isStatementTimeout, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, newRDBMSColumnInfo, registerColumnMapping, registerColumnMapping, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMappingpublic DerbyAdapter(DatabaseMetaData metadata)
metadata - the database metadata.public void initialiseDatastore(Connection conn)
initialiseDatastore in interface DatastoreAdapterinitialiseDatastore in class BaseDatastoreAdapterconn - the connection to the datastorepublic String getSchemaName(Connection conn) throws SQLException
getSchemaName in interface DatastoreAdaptergetSchemaName in class BaseDatastoreAdapterconn - The Connection to useSQLException - if an error occurspublic String getCatalogName(Connection conn) throws SQLException
getCatalogName in interface DatastoreAdaptergetCatalogName in class BaseDatastoreAdapterconn - The Connection to useSQLException - if an error occurspublic String getVendorID()
getVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdaptergetDropDatabaseStatement in interface DatastoreAdaptergetDropDatabaseStatement in class BaseDatastoreAdaptercatalogName - Name of the catalogschemaName - 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 getAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory)
CREATE [UNIQUE] INDEX FOO_CK ON TBL (COL1 [, COL2])
getAddCandidateKeyStatement in interface DatastoreAdaptergetAddCandidateKeyStatement in class BaseDatastoreAdapterck - An object describing the candidate key.factory - Identifier factorypublic String getCreateIndexStatement(Index idx, IdentifierFactory factory)
BaseDatastoreAdapterCREATE INDEX FOO_N1 ON FOO (BAR,BAZ) [Extended Settings] CREATE UNIQUE INDEX FOO_U1 ON FOO (BAR,BAZ) [Extended Settings]
getCreateIndexStatement in interface DatastoreAdaptergetCreateIndexStatement in class BaseDatastoreAdapteridx - An object describing the index.factory - Identifier factorypublic String getIdentityLastValueStmt(Table table, String columnName)
getIdentityLastValueStmt in interface DatastoreAdaptergetIdentityLastValueStmt in class BaseDatastoreAdaptertable - Name of the table that the autoincrement is forcolumnName - Name of the column that the autoincrement is forpublic String getIdentityKeyword()
getIdentityKeyword in interface DatastoreAdaptergetIdentityKeyword in class BaseDatastoreAdapterpublic boolean isIdentityFieldDataType(String columnDef)
columnDef is auto incremented by the datastore.isIdentityFieldDataType in interface DatastoreAdapterisIdentityFieldDataType in class BaseDatastoreAdaptercolumnDef - the datastore type namecolumnDef has values auto incremented by the datastorepublic String getInsertStatementForNoColumns(Table table)
getInsertStatementForNoColumns in interface DatastoreAdaptergetInsertStatementForNoColumns in class BaseDatastoreAdaptertable - The tablepublic String getDatastoreDateStatement()
getDatastoreDateStatement in interface DatastoreAdaptergetDatastoreDateStatement in class BaseDatastoreAdapterpublic String getSelectForUpdateText()
getSelectForUpdateText in interface DatastoreAdaptergetSelectForUpdateText in class BaseDatastoreAdapterpublic boolean validToSelectMappingInStatement(SelectStatement stmt, JavaTypeMapping m)
validToSelectMappingInStatement in interface DatastoreAdaptervalidToSelectMappingInStatement in class BaseDatastoreAdapterstmt - The statementm - The mapping that we want to selectpublic String getNumericConversionFunction()
getNumericConversionFunction in interface DatastoreAdaptergetNumericConversionFunction in class BaseDatastoreAdapterpublic boolean isStatementCancel(SQLException sqle)
isStatementCancel in interface DatastoreAdapterisStatementCancel in class BaseDatastoreAdaptersqle - the exceptionpublic String getRangeByLimitEndOfStatementClause(long offset, long count, boolean hasOrdering)
getRangeByLimitEndOfStatementClause in interface DatastoreAdaptergetRangeByLimitEndOfStatementClause in class BaseDatastoreAdapteroffset - The offset to return fromcount - The number of items to returnhasOrdering - Whether there is ordering presentpublic 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 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 loadColumnMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
loadColumnMappings in class BaseDatastoreAdaptermgr - the PluginManagerclr - the ClassLoaderResolverCopyright © 2020. All rights reserved.