public class OracleAdapter extends BaseDatastoreAdapter
BaseDatastoreAdapter
Modifier and Type | Field and Description |
---|---|
static String |
OJDBC_DRIVER_NAME
What the official Oracle JDBC driver uses to identify itself.
|
static String |
ORACLE_10_RESERVED_WORDS
A string containing the list of Oracle keywords
This list is normally obtained dynamically from the driver using
DatabaseMetaData.getSQLKeywords()
Based on database Oracle10g
|
static String |
ORACLE_8_RESERVED_WORDS
A string containing the list of Oracle keywords
This list is normally obtained dynamically from the driver using
DatabaseMetaData.getSQLKeywords()
Based on database Oracle8
|
static String |
ORACLE_9_RESERVED_WORDS
A string containing the list of Oracle keywords
This list is normally obtained dynamically from the driver using
DatabaseMetaData.getSQLKeywords()
Based on database Oracle9i
|
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, 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, 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, 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, VIEWS
Constructor and Description |
---|
OracleAdapter(DatabaseMetaData metadata)
Constructs an Oracle adapter based on the given JDBC metadata.
|
Modifier and Type | Method and Description |
---|---|
String |
getCatalogName(Connection conn)
Accessor for the Catalog Name for this datastore.
|
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 |
getCreateDatabaseStatement(String catalogName,
String schemaName)
Method to return the statement necessary to create a database with this RDBMS.
|
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)
Method to return the drop table statement for Oracle.
|
ResultSet |
getExistingIndexes(Connection conn,
String catalog,
String schema,
String table)
Provide the existing indexes in the database for the table.
|
MappingManager |
getMappingManager(RDBMSStoreManager storeMgr)
Accessor for a MappingManager suitable for use with this datastore adapter.
|
String |
getOrderString(org.datanucleus.store.StoreManager storeMgr,
String orderString,
SQLExpression sqlExpr)
Convenience method to allow adaption of an ordering string before applying it.
|
String |
getRangeByRowNumberColumn2()
Method to return the column name to use when handling ranges via
a rownumber on the select using the second method (Oracle).
|
String |
getSchemaName(Connection conn)
Accessor for the Schema Name for this datastore.
|
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 |
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.
|
String |
getVendorID()
Accessor for the vendor id
|
void |
initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
Initialise the types for this datastore.
|
boolean |
isStatementTimeout(SQLException sqle)
return whether this exception represents a timed out statement.
|
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.
|
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, getAddCandidateKeyStatement, getAddColumnStatement, getAddForeignKeyStatement, getAddPrimaryKeyStatement, getAutoIncrementJavaTypeForType, getAutoIncrementKeyword, getAutoIncrementStmt, getCatalogSeparator, getCheckConstraintForValues, getContinuationString, getCreateIndexStatement, getCreateTableStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getIdentifierQuoteString, getInsertStatementForNoColumns, getJDBCTypeForName, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOperatorConcat, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByLimitEndOfStatementClause, getRangeByRowNumberColumn, getRequiredTransactionIsolationLevel, getSelectForUpdateText, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getTime, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, removeUnsupportedMappings, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping
public static final String OJDBC_DRIVER_NAME
public static final String ORACLE_8_RESERVED_WORDS
public static final String ORACLE_9_RESERVED_WORDS
public static final String ORACLE_10_RESERVED_WORDS
public OracleAdapter(DatabaseMetaData metadata)
metadata
- the database metadata.public void initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler, org.datanucleus.store.connection.ManagedConnection mconn)
initialiseTypes
in interface DatastoreAdapter
initialiseTypes
in class BaseDatastoreAdapter
handler
- SchemaHandler that we initialise the types formconn
- Managed connection to usepublic SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapter
newSQLTypeInfo
in interface DatastoreAdapter
newSQLTypeInfo
in class BaseDatastoreAdapter
rs
- ResultSetpublic MappingManager getMappingManager(RDBMSStoreManager storeMgr)
getMappingManager
in interface DatastoreAdapter
getMappingManager
in class BaseDatastoreAdapter
storeMgr
- The StoreManagerpublic String getVendorID()
getVendorID
in interface DatastoreAdapter
getVendorID
in class BaseDatastoreAdapter
public String getSurrogateForEmptyStrings()
getSurrogateForEmptyStrings
in interface DatastoreAdapter
getSurrogateForEmptyStrings
in class BaseDatastoreAdapter
public String getCatalogName(Connection conn) throws SQLException
BaseDatastoreAdapter
getCatalogName
in interface DatastoreAdapter
getCatalogName
in class BaseDatastoreAdapter
conn
- Connection to the datastoreSQLException
- Thrown if error occurs in determining the catalog name.public String getSchemaName(Connection conn) throws SQLException
BaseDatastoreAdapter
getSchemaName
in interface DatastoreAdapter
getSchemaName
in class BaseDatastoreAdapter
conn
- Connection to the datastoreSQLException
- Thrown if error occurs in determining the schema name.public String getCreateDatabaseStatement(String catalogName, String schemaName)
DatastoreAdapter
getCreateDatabaseStatement
in interface DatastoreAdapter
getCreateDatabaseStatement
in class BaseDatastoreAdapter
catalogName
- name of the catalogschemaName
- Name of the schemapublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdapter
getDropDatabaseStatement
in interface DatastoreAdapter
getDropDatabaseStatement
in class BaseDatastoreAdapter
catalogName
- Name of the catalogschemaName
- Name of the schemapublic ResultSet getExistingIndexes(Connection conn, String catalog, String schema, String table) throws SQLException
getExistingIndexes
in interface DatastoreAdapter
getExistingIndexes
in class BaseDatastoreAdapter
conn
- the JDBC connectioncatalog
- the catalog nameschema
- the schema name.table
- the table nameSQLException
- if an error occurspublic String getDropTableStatement(Table table)
getDropTableStatement
in interface DatastoreAdapter
getDropTableStatement
in class BaseDatastoreAdapter
table
- The tablepublic 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 sequencepublic RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
newRDBMSColumnInfo
in interface DatastoreAdapter
newRDBMSColumnInfo
in class BaseDatastoreAdapter
rs
- ResultSet from DatabaseMetaData.getColumns()public int getTransactionIsolationForSchemaCreation()
getTransactionIsolationForSchemaCreation
in interface DatastoreAdapter
getTransactionIsolationForSchemaCreation
in class BaseDatastoreAdapter
public ResultSet getColumns(Connection conn, String catalog, String schema, String table, String columnNamePattern) throws SQLException
getColumns
in interface DatastoreAdapter
getColumns
in class BaseDatastoreAdapter
conn
- Connection to usecatalog
- The catalog (null if none)schema
- The schema (null if none)table
- The table (null if all)columnNamePattern
- Col name(s) (null if all) NOT USEDSQLException
- Thrown if an error occurspublic String getDatastoreDateStatement()
getDatastoreDateStatement
in interface DatastoreAdapter
getDatastoreDateStatement
in class BaseDatastoreAdapter
public String getOrderString(org.datanucleus.store.StoreManager storeMgr, String orderString, SQLExpression sqlExpr)
getOrderString
in interface DatastoreAdapter
getOrderString
in class BaseDatastoreAdapter
storeMgr
- StoreManagerorderString
- The basic ordering stringsqlExpr
- The sql expression being represented herepublic boolean isStatementTimeout(SQLException sqle)
BaseDatastoreAdapter
isStatementTimeout
in interface DatastoreAdapter
isStatementTimeout
in class BaseDatastoreAdapter
sqle
- the exceptionpublic 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 getRangeByRowNumberColumn2()
BaseDatastoreAdapter
getRangeByRowNumberColumn2
in interface DatastoreAdapter
getRangeByRowNumberColumn2
in class BaseDatastoreAdapter
Copyright © 2017. All rights reserved.