public class OracleAdapter extends BaseDatastoreAdapter
BaseDatastoreAdapterBaseDatastoreAdapter.DatastoreTypeMappings| 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, 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, 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, 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 |
|---|
OracleAdapter(DatabaseMetaData metadata)
Constructs an Oracle adapter based on the given JDBC metadata.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAddPrimaryKeyStatement(PrimaryKey pk,
IdentifierFactory factory)
Returns the appropriate SQL to add a primary key to its table.
|
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 |
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)
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 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 |
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.
|
protected void |
loadDatastoreMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
Load all datastore mappings for this RDBMS database.
|
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(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, deregisterDatastoreMappingsForJDBCType, getAdapterTime, getAddCandidateKeyStatement, getAddColumnStatement, getAddForeignKeyStatement, getAutoIncrementJavaTypeForType, getAutoIncrementKeyword, getAutoIncrementStmt, getCatalogSeparator, getCheckConstraintForValues, getContinuationString, getCreateTableStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreMappingClass, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getIdentifierQuoteString, getInsertStatementForNoColumns, getJDBCTypeForName, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByLimitEndOfStatementClause, getRangeByRowNumberColumn, getRequiredTransactionIsolationLevel, getSelectForUpdateText, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getTime, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialise, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, registerDatastoreMapping, registerDatastoreMapping, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMappingpublic 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 DatastoreAdapterinitialiseTypes in class BaseDatastoreAdapterhandler - SchemaHandler that we initialise the types formconn - Managed connection to usepublic SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic MappingManager getMappingManager(RDBMSStoreManager storeMgr)
getMappingManager in interface DatastoreAdaptergetMappingManager in class BaseDatastoreAdapterstoreMgr - The StoreManagerpublic String getVendorID()
getVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic String getSurrogateForEmptyStrings()
getSurrogateForEmptyStrings in interface DatastoreAdaptergetSurrogateForEmptyStrings in class BaseDatastoreAdapterpublic String getCatalogName(Connection conn) throws SQLException
BaseDatastoreAdaptergetCatalogName in interface DatastoreAdaptergetCatalogName in class BaseDatastoreAdapterconn - Connection to the datastoreSQLException - Thrown if error occurs in determining the catalog name.public String getSchemaName(Connection conn) throws SQLException
BaseDatastoreAdaptergetSchemaName in interface DatastoreAdaptergetSchemaName in class BaseDatastoreAdapterconn - Connection to the datastoreSQLException - Thrown if error occurs in determining the schema name.public String getCreateDatabaseStatement(String catalogName, String schemaName)
DatastoreAdaptergetCreateDatabaseStatement in interface DatastoreAdaptergetCreateDatabaseStatement in class BaseDatastoreAdaptercatalogName - name of the catalogschemaName - Name of the schemapublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdaptergetDropDatabaseStatement in interface DatastoreAdaptergetDropDatabaseStatement in class BaseDatastoreAdaptercatalogName - Name of the catalogschemaName - Name of the schemapublic String getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)
BaseDatastoreAdapterALTER TABLE FOO ADD CONSTRAINT FOO_PK PRIMARY KEY (BAR) ALTER TABLE FOO ADD PRIMARY KEY (BAR)
getAddPrimaryKeyStatement in interface DatastoreAdaptergetAddPrimaryKeyStatement in class BaseDatastoreAdapterpk - An object describing the primary key.factory - Identifier factorypublic ResultSet getExistingIndexes(Connection conn, String catalog, String schema, String table) throws SQLException
getExistingIndexes in interface DatastoreAdaptergetExistingIndexes in class BaseDatastoreAdapterconn - the JDBC connectioncatalog - the catalog nameschema - the schema name.table - the table nameSQLException - if an error occurspublic String getDropTableStatement(Table table)
getDropTableStatement in interface DatastoreAdaptergetDropTableStatement in class BaseDatastoreAdaptertable - The tablepublic 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 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 RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
newRDBMSColumnInfo in interface DatastoreAdapternewRDBMSColumnInfo in class BaseDatastoreAdapterrs - ResultSet from DatabaseMetaData.getColumns()public int getTransactionIsolationForSchemaCreation()
getTransactionIsolationForSchemaCreation in interface DatastoreAdaptergetTransactionIsolationForSchemaCreation in class BaseDatastoreAdapterpublic ResultSet getColumns(Connection conn, String catalog, String schema, String table, String columnNamePattern) throws SQLException
getColumns in interface DatastoreAdaptergetColumns in class BaseDatastoreAdapterconn - 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 DatastoreAdaptergetDatastoreDateStatement in class BaseDatastoreAdapterpublic String getOrderString(org.datanucleus.store.StoreManager storeMgr, String orderString, SQLExpression sqlExpr)
getOrderString in interface DatastoreAdaptergetOrderString in class BaseDatastoreAdapterstoreMgr - StoreManagerorderString - The basic ordering stringsqlExpr - The sql expression being represented herepublic boolean isStatementTimeout(SQLException sqle)
BaseDatastoreAdapterisStatementTimeout in interface DatastoreAdapterisStatementTimeout in class BaseDatastoreAdaptersqle - the exceptionpublic boolean validToSelectMappingInStatement(SelectStatement stmt, JavaTypeMapping m)
validToSelectMappingInStatement in interface DatastoreAdaptervalidToSelectMappingInStatement in class BaseDatastoreAdapterstmt - The statementm - The mapping that we want to selectpublic String getRangeByRowNumberColumn2()
BaseDatastoreAdaptergetRangeByRowNumberColumn2 in interface DatastoreAdaptergetRangeByRowNumberColumn2 in class BaseDatastoreAdapterpublic 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 loadDatastoreMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
loadDatastoreMappings in class BaseDatastoreAdaptermgr - the PluginManagerclr - the ClassLoaderResolverCopyright © 2019. All rights reserved.