|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface RDBMSAdapter
Adapter for relational databases.
| Field Summary | |
|---|---|
static String |
ACCESS_PARENTQUERY_IN_SUBQUERY_JOINED
Whether this database supports joining outer and inner queries using columns. |
static String |
ALTER_TABLE_DROP_CONSTRAINT_SYNTAX
Whether this datastore supports ALTER TABLE DROP constraints |
static String |
ALTER_TABLE_DROP_FOREIGN_KEY_CONSTRAINT
Whether this datastore supports ALTER TABLE DROP FOREIGN KEY constraints |
static String |
ANSI_CROSSJOIN_SYNTAX
Accessor for whether the RDBMS supports ANSI cross-join syntax. |
static String |
ANSI_JOIN_SYNTAX
Accessor for whether the RDBMS supports ANSI join syntax. |
static String |
AUTO_INCREMENT_COLUMN_TYPE_SPECIFICATION
Whether we support auto-increment/identity keys with column type specification. |
static String |
AUTO_INCREMENT_KEYS_NULL_SPECIFICATION
Whether we support auto-increment/identity keys with nullability specification. |
static String |
AUTO_INCREMENT_PK_IN_CREATE_TABLE_COLUMN_DEF
Whether this adapter requires any specification of primary key in the column definition of CREATE TABLE. |
static String |
BLOB_SET_USING_SETSTRING
Accessor for whether setting a BLOB value allows use of PreparedStatement.setString() |
static String |
CHAR_COLUMNS_PADDED_WITH_SPACES
Some databases store character strings in CHAR(XX) columns and when read back in have been padded with spaces. |
static String |
CHECK_IN_CREATE_STATEMENTS
Whether this datastore supports the use of "CHECK" in CREATE TABLE statements (DDL). |
static String |
CHECK_IN_END_CREATE_STATEMENTS
Whether this datastore supports the use of CHECK after the column definitions in the CREATE TABLE statements (DDL). |
static String |
CLOB_SET_USING_SETSTRING
Accessor for whether setting a CLOB value allows use of PreparedStatement.setString() |
static String |
CREATE_INDEXES_BEFORE_FOREIGN_KEYS
Whether to create indexes before foreign keys. |
static String |
CROSSJOIN_ASINNER11_SYNTAX
Accessor for whether the RDBMS supports cross-join as "INNER 1=1" syntax. |
static String |
DATETIME_STORES_MILLISECS
Whether DATETIME stores milliseconds. |
static String |
DEFAULT_BEFORE_NULL_IN_COLUMN_OPTIONS
Whether any DEFAULT tag will be before any NULL/NOT NULL in the column options. |
static String |
DEFAULT_KEYWORD_IN_COLUMN_OPTIONS
Whether we support DEFAULT tag in CREATE TABLE statements |
static String |
DEFAULT_KEYWORD_WITH_NOT_NULL_IN_COLUMN_OPTIONS
Whether we support DEFAULT tag together with NOT NULL in CREATE TABLE statements. |
static String |
DEFERRED_CONSTRAINTS
Whether this datastore supports deferred constraints. |
static String |
DISTINCT_WITH_SELECT_FOR_UPDATE
Whether this datastore supports using DISTINCT when using SELECT ... |
static String |
EXISTS_SYNTAX
Whether the RDBMS supports use of EXISTS syntax. |
static String |
FK_DELETE_ACTION_CASCADE
|
static String |
FK_DELETE_ACTION_DEFAULT
|
static String |
FK_DELETE_ACTION_NULL
|
static String |
FK_DELETE_ACTION_RESTRICT
|
static String |
FK_IN_END_CREATE_STATEMENTS
Whether this datastore supports the use of FOREIGN KEY after the column definitions in CREATE TABLE statements (DDL). |
static String |
FK_UPDATE_ACTION_CASCADE
|
static String |
FK_UPDATE_ACTION_DEFAULT
|
static String |
FK_UPDATE_ACTION_NULL
|
static String |
FK_UPDATE_ACTION_RESTRICT
|
static String |
GET_GENERATED_KEYS_STATEMENT
Whether the datastore supports "Statement.getGeneratedKeys". |
static String |
INCLUDE_ORDERBY_COLS_IN_SELECT
Whether to include any ORDER BY columns in a SELECT. |
static String |
LOCK_OPTION_PLACED_AFTER_FROM
Whether the lock option (when doing SELECT FOR UPDATE) is to be placed after the FROM. |
static String |
LOCK_OPTION_PLACED_WITHIN_JOIN
Whether the lock option (when doing SELECT FOR UPDATE) is to be placed within the JOIN clause. |
static String |
LOCK_WITH_SELECT_FOR_UPDATE
Whether this datastore supports SELECT ... |
static String |
NULL_EQUALS_EMPTY_STRING
Some databases, Oracle, treats an empty string (0 length) equals null. |
static String |
NULLS_IN_CANDIDATE_KEYS
Whether we support NULLs in candidate keys. |
static String |
NULLS_KEYWORD_IN_COLUMN_OPTIONS
Whether the database support NULLs in the column options for table creation. |
static String |
ORDERBY_USING_SELECT_COLUMN_INDEX
In SAPDB any orderby has to be using the index(es) of any SELECT column(s) rather than their name(s). |
static String |
PERSIST_OF_UNASSIGNED_CHAR
Whether the database server supports persist of an unassigned character ("0x0"). |
static String |
PRIMARYKEY_IN_CREATE_STATEMENTS
Whether the datastore supports specification of the primary key in CREATE TABLE statements. |
static String |
STATEMENT_BATCHING
Whether this datastore supports batching of statements. |
static String |
STORED_PROCEDURES
Whether this datastore supports stored procedures. |
static String |
TX_ISOLATION_NONE
|
static String |
TX_ISOLATION_READ_COMMITTED
|
static String |
TX_ISOLATION_READ_UNCOMMITTED
|
static String |
TX_ISOLATION_REPEATABLE_READ
|
static String |
TX_ISOLATION_SERIALIZABLE
|
static String |
UNION_SYNTAX
Whether the RDBMS supports UNION syntax. |
static String |
UNIQUE_IN_END_CREATE_STATEMENTS
Whether this datastore supports the use of UNIQUE after the column definitions in CREATE TABLE statements (DDL). |
static String |
UPDATE_MULTITABLE
Whether this datastore supports multiple table update statements. |
static String |
USE_UNION_ALL
Union combines the results of two or more queries into a single result set. |
static String |
VIEWS
Whether the RDBMS supports SQL VIEWs. |
| Fields inherited from interface org.datanucleus.store.mapped.DatastoreAdapter |
|---|
ANALYSIS_METHODS, BIT_IS_REALLY_BOOLEAN, BOOLEAN_COMPARISON, CATALOGS_IN_TABLE_DEFINITIONS, ESCAPE_EXPRESSION_IN_LIKE_PREDICATE, IDENTIFIERS_LOWERCASE, IDENTIFIERS_LOWERCASE_QUOTED, IDENTIFIERS_MIXEDCASE, IDENTIFIERS_MIXEDCASE_QUOTED, IDENTIFIERS_MIXEDCASE_QUOTED_SENSITIVE, IDENTIFIERS_MIXEDCASE_SENSITIVE, IDENTIFIERS_UPPERCASE, IDENTIFIERS_UPPERCASE_QUOTED, IDENTITY_COLUMNS, PROJECTION_IN_TABLE_REFERENCE_JOINS, SCHEMAS_IN_TABLE_DEFINITIONS, SEQUENCES |
| Method Summary | |
|---|---|
String |
getAddCandidateKeyStatement(CandidateKey ck,
org.datanucleus.store.mapped.IdentifierFactory factory)
Returns the appropriate SQL to add a candidate key to its table. |
String |
getAddColumnStatement(org.datanucleus.store.mapped.DatastoreContainerObject table,
Column col)
Accessor for the SQL statement to add a column to a table. |
String |
getAddForeignKeyStatement(ForeignKey fk,
org.datanucleus.store.mapped.IdentifierFactory factory)
Returns the appropriate SQL to add a foreign key to its table. |
String |
getAddPrimaryKeyStatement(PrimaryKey pk,
org.datanucleus.store.mapped.IdentifierFactory factory)
Returns the appropriate SQL to add a primary key to its table. |
String |
getAutoIncrementKeyword()
Accessor for the auto-increment/identity keyword for generating DDLs. |
String |
getAutoIncrementStmt(Table table,
String columnName)
Accessor for the auto-increment/identity sql statement for this datastore. |
String |
getCatalogName(Connection conn)
Accessor for the Catalog Name for this datastore. |
String |
getCheckConstraintForValues(org.datanucleus.store.mapped.DatastoreIdentifier identifier,
Object[] values,
boolean nullable)
Creates a CHECK constraint definition based on the given values e.g. |
ResultSet |
getColumns(Connection conn,
String catalog,
String schema,
String table,
String columnNamePattern)
Accessor for table and column information for a catalog/schema in this datastore. |
String |
getCreateIndexStatement(Index idx,
org.datanucleus.store.mapped.IdentifierFactory factory)
Returns the appropriate SQL to add an index to its table. |
String |
getCreateTableStatement(TableImpl table,
Column[] columns,
Properties props,
org.datanucleus.store.mapped.IdentifierFactory factory)
Returns the appropriate SQL to create the given table having the given columns. |
String |
getDatastoreDateStatement()
Accessor for a statement that will return the statement to use to get the datastore date. |
String |
getDeleteTableStatement(SQLTable tbl)
Method to return the basic SQL for a DELETE TABLE statement. |
String |
getDropTableStatement(org.datanucleus.store.mapped.DatastoreContainerObject table)
Returns the appropriate SQL to drop the given table. |
String |
getDropViewStatement(ViewImpl view)
Returns the appropriate SQL to drop the given view. |
ResultSet |
getExistingIndexes(Connection conn,
String catalog,
String schema,
String table)
Provide the existing indexes in the database for the table |
String |
getInsertStatementForNoColumns(Table table)
Method to retutn the INSERT statement to use when inserting into a table that has no columns specified. |
String |
getOrderString(org.datanucleus.store.StoreManager storeMgr,
String orderString,
SQLExpression sqlExpr)
Convenience method to allow adaption of an ordering string before applying it. |
String |
getRangeByLimitEndOfStatementClause(long offset,
long count)
Method to return the SQL to append to the end of the SELECT statement to handle restriction of ranges using the LIMIT keyword. |
String |
getRangeByRowNumberColumn()
Method to return the column name to use when handling ranges via a rownumber on the select using the original method (DB2). |
String |
getRangeByRowNumberColumn2()
Method to return the column name to use when handling ranges via a rownumber on the select using the second method (Oracle). |
int |
getRequiredTransactionIsolationLevel()
Accessor for the "required" transaction isolation level if it has to be a certain value for this adapter. |
String |
getSchemaName(Connection conn)
Accessor for the Schema Name for this datastore. |
String |
getSelectNewUUIDStmt()
The function to creates a unique value of type uniqueidentifier. |
String |
getSelectWithLockOption()
The option to specify in "SELECT ... |
String |
getSequenceCreateStmt(String sequence_name,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cache_size)
Accessor for the sequence create statement for this datastore. |
String |
getSequenceNextStmt(String sequence_name)
Accessor for the sequence statement to get the next id for this datastore. |
String |
getSurrogateForEmptyStrings()
Some databases, Oracle, treats an empty string (0 length) equals null |
int |
getTransactionIsolationForSchemaCreation()
Accessor for the transaction isolation level to use during schema creation. |
int |
getUnlimitedLengthPrecisionValue(SQLTypeInfo typeInfo)
Returns the precision value to be used when creating string columns of "unlimited" length. |
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. |
boolean |
isValidPrimaryKeyType(int datatype)
Method to return whether the specified JDBC type is valid for use in a PrimaryKey. |
Iterator |
iteratorReservedWords()
Iterator for the reserved words constructed from the method DataBaseMetaData.getSQLKeywords + standard SQL reserved words |
ForeignKeyInfo |
newFKInfo(ResultSet rs)
Method to return ForeignKeyInfo for the current row of the ResultSet which will have been obtained from a call to DatabaseMetaData.getImportedKeys() or DatabaseMetaData.getExportedKeys(). |
RDBMSColumnInfo |
newRDBMSColumnInfo(ResultSet rs)
Create a new column info from the current row of the passed ResultSet. |
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet. |
boolean |
supportsTransactionIsolation(int level)
Accessor for whether this database adapter supports the specified transaction isolation. |
boolean |
validToSelectMappingInStatement(SQLStatement stmt,
org.datanucleus.store.mapped.mapping.JavaTypeMapping m)
Method to return if it is valid to select the specified mapping for the specified statement for this datastore adapter. |
| Methods inherited from interface org.datanucleus.store.mapped.DatastoreAdapter |
|---|
getAdapterTime, getCatalogSeparator, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getIdentifierQuoteString, getMappingManager, getMaxForeignKeys, getMaxIndexes, getSupportedOptions, getVendorID, initialiseDatastore, initialiseTypes, isIdentityFieldDataType, isReservedKeyword, removeUnsupportedMappings, setProperties, supportsOption, supportsQueryFetchSize, toString |
| Field Detail |
|---|
static final String VIEWS
static final String UNION_SYNTAX
static final String USE_UNION_ALL
static final String EXISTS_SYNTAX
static final String ALTER_TABLE_DROP_CONSTRAINT_SYNTAX
static final String ALTER_TABLE_DROP_FOREIGN_KEY_CONSTRAINT
static final String DEFERRED_CONSTRAINTS
static final String DISTINCT_WITH_SELECT_FOR_UPDATE
static final String PERSIST_OF_UNASSIGNED_CHAR
static final String CHAR_COLUMNS_PADDED_WITH_SPACES
static final String NULL_EQUALS_EMPTY_STRING
static final String STATEMENT_BATCHING
static final String CHECK_IN_CREATE_STATEMENTS
static final String CHECK_IN_END_CREATE_STATEMENTS
CREATE TABLE MYTABLE
(
COL_A int,
COL_B char(1),
PRIMARY KEY (COL_A),
CHECK (COL_B IN ('Y','N'))
)
static final String UNIQUE_IN_END_CREATE_STATEMENTS
CREATE TABLE MYTABLE
(
COL_A int,
COL_B char(1),
PRIMARY KEY (COL_A),
UNIQUE (COL_B ...)
)
static final String FK_IN_END_CREATE_STATEMENTS
CREATE TABLE MYTABLE
(
COL_A int,
COL_B char(1),
FOREIGN KEY (COL_A) REFERENCES TBL2(COL_X)
)
static final String PRIMARYKEY_IN_CREATE_STATEMENTS
static final String GET_GENERATED_KEYS_STATEMENT
static final String NULLS_IN_CANDIDATE_KEYS
static final String NULLS_KEYWORD_IN_COLUMN_OPTIONS
static final String DEFAULT_KEYWORD_IN_COLUMN_OPTIONS
static final String DEFAULT_KEYWORD_WITH_NOT_NULL_IN_COLUMN_OPTIONS
CREATE TABLE X ( MEMORY_SIZE BIGINT DEFAULT 0 NOT NULL )Some databases only support DEFAULT {ConstantExpression | NULL}
static final String DEFAULT_BEFORE_NULL_IN_COLUMN_OPTIONS
static final String ANSI_JOIN_SYNTAX
static final String ANSI_CROSSJOIN_SYNTAX
static final String CROSSJOIN_ASINNER11_SYNTAX
static final String AUTO_INCREMENT_KEYS_NULL_SPECIFICATION
static final String AUTO_INCREMENT_COLUMN_TYPE_SPECIFICATION
static final String AUTO_INCREMENT_PK_IN_CREATE_TABLE_COLUMN_DEF
static final String LOCK_WITH_SELECT_FOR_UPDATE
static final String LOCK_OPTION_PLACED_AFTER_FROM
static final String LOCK_OPTION_PLACED_WITHIN_JOIN
static final String BLOB_SET_USING_SETSTRING
static final String CLOB_SET_USING_SETSTRING
static final String CREATE_INDEXES_BEFORE_FOREIGN_KEYS
static final String INCLUDE_ORDERBY_COLS_IN_SELECT
static final String DATETIME_STORES_MILLISECS
static final String ACCESS_PARENTQUERY_IN_SUBQUERY_JOINED
static final String ORDERBY_USING_SELECT_COLUMN_INDEX
static final String STORED_PROCEDURES
static final String FK_UPDATE_ACTION_CASCADE
static final String FK_UPDATE_ACTION_DEFAULT
static final String FK_UPDATE_ACTION_NULL
static final String FK_UPDATE_ACTION_RESTRICT
static final String FK_DELETE_ACTION_CASCADE
static final String FK_DELETE_ACTION_DEFAULT
static final String FK_DELETE_ACTION_NULL
static final String FK_DELETE_ACTION_RESTRICT
static final String TX_ISOLATION_NONE
static final String TX_ISOLATION_READ_COMMITTED
static final String TX_ISOLATION_READ_UNCOMMITTED
static final String TX_ISOLATION_REPEATABLE_READ
static final String TX_ISOLATION_SERIALIZABLE
static final String UPDATE_MULTITABLE
| Method Detail |
|---|
boolean supportsTransactionIsolation(int level)
level - The isolation level (as defined by Connection enums).
String getRangeByLimitEndOfStatementClause(long offset,
long count)
offset - The offset to return fromcount - The number of items to return
String getRangeByRowNumberColumn()
String getRangeByRowNumberColumn2()
ResultSet getColumns(Connection conn,
String catalog,
String schema,
String table,
String columnNamePattern)
throws SQLException
conn - Connection to usecatalog - The catalog (null if none)schema - The schema (null if none)table - The table (null if all)columnNamePattern - The column name (null if all)
SQLException - Thrown if an error occursString getInsertStatementForNoColumns(Table table)
table - The table
int getUnlimitedLengthPrecisionValue(SQLTypeInfo typeInfo)
typeInfo - the typeInfo object for which the precision value is needed.
String getAutoIncrementStmt(Table table,
String columnName)
table - Table (that the autoincrement is for)columnName - (that the autoincrement is for)
String getAutoIncrementKeyword()
String getDropTableStatement(org.datanucleus.store.mapped.DatastoreContainerObject table)
DROP TABLE FOO CASCADE
table - The table to drop.
String getDeleteTableStatement(SQLTable tbl)
DELETE FROM tbl t1. Doesn't include any where clause.
tbl - The SQLTable to delete
String getAddCandidateKeyStatement(CandidateKey ck,
org.datanucleus.store.mapped.IdentifierFactory factory)
ALTER TABLE FOO ADD CONSTRAINT FOO_CK UNIQUE (BAZ)
ck - An object describing the candidate key.factory - Identifier factory
boolean isValidPrimaryKeyType(int datatype)
datatype - The JDBC type.
String getAddColumnStatement(org.datanucleus.store.mapped.DatastoreContainerObject table,
Column col)
table - The tablecol - The column
String getCreateIndexStatement(Index idx,
org.datanucleus.store.mapped.IdentifierFactory factory)
CREATE INDEX FOO_N1 ON FOO (BAR,BAZ) CREATE UNIQUE INDEX FOO_U1 ON FOO (BAR,BAZ)
idx - An object describing the index.factory - Identifier factory
ResultSet getExistingIndexes(Connection conn,
String catalog,
String schema,
String table)
throws SQLException
conn - the JDBC connectioncatalog - the catalog nameschema - the schema nametable - the table name
SQLException
String getCreateTableStatement(TableImpl table,
Column[] columns,
Properties props,
org.datanucleus.store.mapped.IdentifierFactory factory)
CREATE TABLE FOO (BAR VARCHAR(30), BAZ INTEGER)
table - The table to create.columns - The columns of the table.props - Properties for controlling the table creationfactory - Identifier factory
String getAddPrimaryKeyStatement(PrimaryKey pk,
org.datanucleus.store.mapped.IdentifierFactory factory)
ALTER TABLE FOO ADD CONSTRAINT FOO_PK PRIMARY KEY (BAR)
pk - An object describing the primary key.factory - Identifier factory
String getAddForeignKeyStatement(ForeignKey fk,
org.datanucleus.store.mapped.IdentifierFactory factory)
ALTER TABLE FOO ADD CONSTRAINT FOO_FK1 FOREIGN KEY (BAR, BAZ) REFERENCES ABC (COL1, COL2)
fk - An object describing the foreign key.factory - Identifier factory
String getDropViewStatement(ViewImpl view)
DROP VIEW FOO
view - The view to drop.
String getSurrogateForEmptyStrings()
int getTransactionIsolationForSchemaCreation()
int getRequiredTransactionIsolationLevel()
String getCatalogName(Connection conn)
throws SQLException
conn - Connection to the datastore
SQLException - Thrown if error occurs in determining the
catalog name.
String getSchemaName(Connection conn)
throws SQLException
conn - Connection to the datastore
SQLException - Thrown if error occurs in determining the
schema name.String getSelectWithLockOption()
String getSelectNewUUIDStmt()
String getSequenceNextStmt(String sequence_name)
sequence_name - Name of the sequence
String getSequenceCreateStmt(String sequence_name,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cache_size)
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 sequence
Iterator iteratorReservedWords()
String getDatastoreDateStatement()
String getCheckConstraintForValues(org.datanucleus.store.mapped.DatastoreIdentifier identifier,
Object[] values,
boolean nullable)
CHECK ("COLUMN" IN ('VAL1','VAL2') OR "COLUMN" IS NULL)
identifier - Column identifiervalues - valid valuesnullable - whether the datastore identifier is null
SQLTypeInfo newSQLTypeInfo(ResultSet rs)
rs - ResultSet
RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
rs - Result Set
ForeignKeyInfo newFKInfo(ResultSet rs)
rs - The result set returned from DatabaseMetaData.get??portedKeys()
String getOrderString(org.datanucleus.store.StoreManager storeMgr,
String orderString,
SQLExpression sqlExpr)
storeMgr - StoreManagerorderString - The basic ordering stringsqlExpr - The sql expression being represented here
boolean validToSelectMappingInStatement(SQLStatement stmt,
org.datanucleus.store.mapped.mapping.JavaTypeMapping m)
stmt - The statementm - The mapping that we want to select
boolean isStatementCancel(SQLException sqle)
sqle - the exception
boolean isStatementTimeout(SQLException sqle)
sqle - the exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||