public class DerbyAdapter extends BaseDatastoreAdapter
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, properties, reservedKeywords, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesById
ACCESS_PARENTQUERY_IN_SUBQUERY_JOINED, ALLOW_TABLE_ALIAS_IN_UPDATE_SET_CLAUSE, 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, 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, NULL_EQUALS_EMPTY_STRING, NULLS_IN_CANDIDATE_KEYS, NULLS_KEYWORD_IN_COLUMN_OPTIONS, ORDERBY_NULLS_DIRECTIVES, ORDERBY_USING_SELECT_COLUMN_INDEX, 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, SCHEMAS_IN_TABLE_DEFINITIONS, SEQUENCES, STATEMENT_BATCHING, STORED_PROCEDURES, 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, USE_UNION_ALL, 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 |
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 |
getCatalogName(Connection conn)
Accessor for the catalog name.
|
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 |
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)
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 sequence_name,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cache_size)
Accessor for the sequence statement to create the sequence.
|
String |
getSequenceNextStmt(String sequence_name)
Accessor for the statement for getting the next id from the sequence for this datastore.
|
String |
getVendorID()
Accessor for the vendor id.
|
void |
initialiseDatastore(Object 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.
|
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet.
|
boolean |
validToSelectMappingInStatement(SQLStatement stmt,
JavaTypeMapping m)
Method to return if it is valid to select the specified mapping for the specified statement
for this datastore adapter.
|
addSQLTypeForJDBCType, getAdapterTime, getAddColumnStatement, getAddForeignKeyStatement, getAddPrimaryKeyStatement, getAutoIncrementJavaTypeForType, getCatalogSeparator, getCheckConstraintForValues, getColumns, getContinuationString, getCreateDatabaseStatement, getCreateIndexStatement, getCreateTableStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getOperatorConcat, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialiseTypes, isReservedKeyword, isStatementTimeout, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, newRDBMSColumnInfo, removeUnsupportedMappings, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString
public DerbyAdapter(DatabaseMetaData metadata)
metadata
- the database metadata.public void initialiseDatastore(Object conn)
initialiseDatastore
in interface DatastoreAdapter
initialiseDatastore
in class BaseDatastoreAdapter
conn
- the connection to the datastorepublic String getSchemaName(Connection conn) throws SQLException
getSchemaName
in interface DatastoreAdapter
getSchemaName
in class BaseDatastoreAdapter
conn
- The Connection to useSQLException
- if an error occurspublic String getCatalogName(Connection conn) throws SQLException
getCatalogName
in interface DatastoreAdapter
getCatalogName
in class BaseDatastoreAdapter
conn
- The Connection to useSQLException
- if an error occurspublic String getVendorID()
getVendorID
in interface DatastoreAdapter
getVendorID
in class BaseDatastoreAdapter
public SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapter
newSQLTypeInfo
in interface DatastoreAdapter
newSQLTypeInfo
in class BaseDatastoreAdapter
rs
- ResultSetpublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdapter
getDropDatabaseStatement
in interface DatastoreAdapter
getDropDatabaseStatement
in class BaseDatastoreAdapter
catalogName
- Name of the catalogschemaName
- Name of the schemapublic String getDropTableStatement(Table table)
BaseDatastoreAdapter
DROP TABLE FOO CASCADE
getDropTableStatement
in interface DatastoreAdapter
getDropTableStatement
in class BaseDatastoreAdapter
table
- The table to drop.public String getAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory)
CREATE [UNIQUE] INDEX FOO_CK ON TBL (COL1 [, COL2])
getAddCandidateKeyStatement
in interface DatastoreAdapter
getAddCandidateKeyStatement
in class BaseDatastoreAdapter
ck
- An object describing the candidate key.factory
- Identifier factorypublic String getAutoIncrementStmt(Table table, String columnName)
getAutoIncrementStmt
in interface DatastoreAdapter
getAutoIncrementStmt
in class BaseDatastoreAdapter
table
- Name of the table that the autoincrement is forcolumnName
- Name of the column that the autoincrement is forpublic String getAutoIncrementKeyword()
getAutoIncrementKeyword
in interface DatastoreAdapter
getAutoIncrementKeyword
in class BaseDatastoreAdapter
public boolean isIdentityFieldDataType(String columnDef)
columnDef
is auto incremented by the datastore.isIdentityFieldDataType
in interface DatastoreAdapter
isIdentityFieldDataType
in class BaseDatastoreAdapter
columnDef
- the datastore type namecolumnDef
has values auto incremented by the datastorepublic String getInsertStatementForNoColumns(Table table)
getInsertStatementForNoColumns
in interface DatastoreAdapter
getInsertStatementForNoColumns
in class BaseDatastoreAdapter
table
- The tablepublic String getDatastoreDateStatement()
getDatastoreDateStatement
in interface DatastoreAdapter
getDatastoreDateStatement
in class BaseDatastoreAdapter
public String getSelectForUpdateText()
getSelectForUpdateText
in interface DatastoreAdapter
getSelectForUpdateText
in class BaseDatastoreAdapter
public boolean validToSelectMappingInStatement(SQLStatement stmt, JavaTypeMapping m)
validToSelectMappingInStatement
in interface DatastoreAdapter
validToSelectMappingInStatement
in class BaseDatastoreAdapter
stmt
- The statementm
- The mapping that we want to selectpublic String getNumericConversionFunction()
getNumericConversionFunction
in interface DatastoreAdapter
getNumericConversionFunction
in class BaseDatastoreAdapter
public boolean isStatementCancel(SQLException sqle)
isStatementCancel
in interface DatastoreAdapter
isStatementCancel
in class BaseDatastoreAdapter
sqle
- the exceptionpublic String getRangeByLimitEndOfStatementClause(long offset, long count)
getRangeByLimitEndOfStatementClause
in interface DatastoreAdapter
getRangeByLimitEndOfStatementClause
in class BaseDatastoreAdapter
offset
- The offset to return fromcount
- The number of items to returnpublic String getSequenceCreateStmt(String sequence_name, Integer min, Integer max, Integer start, Integer increment, Integer cache_size)
getSequenceCreateStmt
in interface DatastoreAdapter
getSequenceCreateStmt
in class BaseDatastoreAdapter
sequence_name
- Name of the sequencemin
- Minimum value for the sequencemax
- Maximum value for the sequencestart
- Start value for the sequenceincrement
- Increment value for the sequencecache_size
- Cache size for the sequencepublic String getSequenceNextStmt(String sequence_name)
getSequenceNextStmt
in interface DatastoreAdapter
getSequenceNextStmt
in class BaseDatastoreAdapter
sequence_name
- Name of the sequenceCopyright © 2015. All rights reserved.