|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.openjpa.jdbc.sql.DBDictionary
org.apache.openjpa.jdbc.sql.OracleDictionary
public class OracleDictionary
Dictionary for Oracle.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.apache.openjpa.jdbc.sql.DBDictionary |
|---|
DBDictionary.SerializedData |
| Field Summary | |
|---|---|
String |
autoAssignSequenceName
The global sequence name to use for autoassign simulation. |
boolean |
openjpa3GeneratedKeyNames
Flag to use OpenJPA 0.3 style naming for auto assign sequence name and trigger name for backwards compatibility. |
static String |
SELECT_HINT
|
boolean |
useSetFormOfUseForUnicode
If true, then OpenJPA will attempt to use the special OraclePreparedStatement.setFormOfUse method to configure statements that it detects are operating on unicode fields. |
boolean |
useTriggersForAutoAssign
If true, then simulate auto-assigned values in Oracle by using a trigger that inserts a sequence value into the primary key value when a row is inserted. |
static String |
VENDOR_ORACLE
|
| Fields inherited from interface org.apache.openjpa.jdbc.sql.JoinSyntaxes |
|---|
SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL |
| Constructor Summary | |
|---|---|
OracleDictionary()
|
|
| Method Summary | |
|---|---|
void |
appendXmlComparison(SQLBuffer buf,
String op,
FilterValue lhs,
FilterValue rhs,
boolean lhsxml,
boolean rhsxml)
If this dictionary supports XML type, use this method to append xml predicate. |
boolean |
canOuterJoin(int syntax,
ForeignKey fk)
Returns if the given foreign key can be eagerly loaded using other joins. |
void |
connectedConfiguration(Connection conn)
This method is called when the dictionary first sees any connection. |
void |
endConfiguration()
Invoked upon completion of bean property configuration for this object. |
void |
ensureDriverVendor()
Ensure that the driver vendor has been set, and if not, set it now. |
String |
getClobString(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper java type. |
Column[] |
getColumns(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
String columnName,
Connection conn)
Reflect on the schema to find columns matching the given table and column patterns. |
String[] |
getCreateSequenceSQL(Sequence seq)
Return a series of SQL statements to create the given sequence. |
String[] |
getCreateTableSQL(Table table)
Return a series of SQL statements to create the given table, complete with columns. |
Object |
getGeneratedKey(Column col,
Connection conn)
Return the last generated value for the given column. |
protected String |
getGeneratedKeyTriggerName(Column col)
Trigger name for simulating auto-assign values on the given column. |
ForeignKey[] |
getImportedKeys(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
Connection conn)
Reflect on the schema to return foreign keys imported by the given table pattern. |
Index[] |
getIndexInfo(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
boolean unique,
boolean approx,
Connection conn)
Reflect on the schema to find indexes matching the given table pattern. |
Object |
getObject(ResultSet rs,
int column,
Map map)
Convert the specified column of the SQL ResultSet to the proper java type. |
protected String |
getOpenJPA3GeneratedKeySequenceName(Column col)
Returns a OpenJPA 3-compatible name for an auto-assign sequence. |
protected String |
getOpenJPA3GeneratedKeyTriggerName(Column col)
Returns a OpenJPA 3-compatible name for an auto-assign trigger. |
PrimaryKey[] |
getPrimaryKeys(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
Connection conn)
Reflect on the schema to find primary keys for the given table pattern. |
String |
getSelectOperation(JDBCFetchConfiguration fetch)
Check to see if we have set the SELECT_HINT in the
fetch configuraiton, and if so, append the Orache hint after the
"SELECT" part of the query. |
protected SQLBuffer |
getSelects(Select sel,
boolean distinctIdentifiers,
boolean forUpdate)
Return the portion of the select statement between the SELECT keyword and the FROM keyword. |
protected String |
getSequencesSQL(String schemaName,
String sequenceName)
Return the SQL needed to select the list of sequences. |
Timestamp |
getTimestamp(ResultSet rs,
int column,
Calendar cal)
Convert the specified column of the SQL ResultSet to the proper java type. |
void |
insertBlobForStreamingLoad(Row row,
Column col,
Object ob)
|
void |
insertClobForStreamingLoad(Row row,
Column col,
Object ob)
|
boolean |
isSystemSequence(String name,
String schema,
boolean targetSchema)
This method is used to filter system sequences from database metadata. |
void |
putBytes(Object blob,
byte[] data)
Invoke Oracle's putBytes method on the given BLOB object. |
void |
putChars(Object clob,
char[] data)
Invoke Oracle's putChars method on the given CLOB
object. |
void |
putString(Object clob,
String data)
Invoke Oracle's putString method on the given CLOB object. |
void |
setNull(PreparedStatement stmnt,
int idx,
int colType,
Column col)
Set the given value as a parameters to the statement. |
void |
setString(PreparedStatement stmnt,
int idx,
String val,
Column col)
Set the given value as a parameter to the statement. |
boolean |
supportsLocking(Select sel)
Returns true if a "FOR UPDATE" clause can be used for the specified Select object. |
SQLBuffer |
toNativeJoin(Join join)
Use the given join instance to create SQL joining its tables in the database's native syntax. |
SQLBuffer |
toSelect(SQLBuffer select,
JDBCFetchConfiguration fetch,
SQLBuffer tables,
SQLBuffer where,
SQLBuffer group,
SQLBuffer having,
SQLBuffer order,
boolean distinct,
boolean forUpdate,
long start,
long end,
Select sel)
Combine the given components into a SELECT statement. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String SELECT_HINT
public static final String VENDOR_ORACLE
public boolean useTriggersForAutoAssign
public String autoAssignSequenceName
public boolean openjpa3GeneratedKeyNames
public boolean useSetFormOfUseForUnicode
| Constructor Detail |
|---|
public OracleDictionary()
| Method Detail |
|---|
public void endConfiguration()
Configurable
endConfiguration in interface ConfigurableendConfiguration in class DBDictionary
public void connectedConfiguration(Connection conn)
throws SQLException
DBDictionarysuper.connectedConfiguration.
connectedConfiguration in class DBDictionarySQLExceptionpublic void ensureDriverVendor()
public boolean supportsLocking(Select sel)
DBDictionary
supportsLocking in class DBDictionary
protected SQLBuffer getSelects(Select sel,
boolean distinctIdentifiers,
boolean forUpdate)
DBDictionary
getSelects in class DBDictionary
public boolean canOuterJoin(int syntax,
ForeignKey fk)
DBDictionary
canOuterJoin in class DBDictionarypublic SQLBuffer toNativeJoin(Join join)
DBDictionary
toNativeJoin in class DBDictionary
public SQLBuffer toSelect(SQLBuffer select,
JDBCFetchConfiguration fetch,
SQLBuffer tables,
SQLBuffer where,
SQLBuffer group,
SQLBuffer having,
SQLBuffer order,
boolean distinct,
boolean forUpdate,
long start,
long end,
Select sel)
DBDictionary
toSelect in class DBDictionarypublic String getSelectOperation(JDBCFetchConfiguration fetch)
SELECT_HINT in the
fetch configuraiton, and if so, append the Orache hint after the
"SELECT" part of the query.
getSelectOperation in class DBDictionary
public void setString(PreparedStatement stmnt,
int idx,
String val,
Column col)
throws SQLException
DBDictionary
setString in class DBDictionarySQLException
public void setNull(PreparedStatement stmnt,
int idx,
int colType,
Column col)
throws SQLException
DBDictionaryTypes.
setNull in class DBDictionarySQLException
public String getClobString(ResultSet rs,
int column)
throws SQLException
DBDictionary
getClobString in class DBDictionarySQLException
public Timestamp getTimestamp(ResultSet rs,
int column,
Calendar cal)
throws SQLException
DBDictionary
getTimestamp in class DBDictionarySQLException
public Object getObject(ResultSet rs,
int column,
Map map)
throws SQLException
DBDictionary
getObject in class DBDictionarySQLException
public Column[] getColumns(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
String columnName,
Connection conn)
throws SQLException
DBDictionary
getColumns in class DBDictionarySQLException
public PrimaryKey[] getPrimaryKeys(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
Connection conn)
throws SQLException
DBDictionary
getPrimaryKeys in class DBDictionarySQLException
public Index[] getIndexInfo(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
boolean unique,
boolean approx,
Connection conn)
throws SQLException
DBDictionary
getIndexInfo in class DBDictionarySQLException
public ForeignKey[] getImportedKeys(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
Connection conn)
throws SQLException
DBDictionary
getImportedKeys in class DBDictionarySQLExceptionpublic String[] getCreateTableSQL(Table table)
DBDictionary
getCreateTableSQL in class DBDictionarypublic String[] getCreateSequenceSQL(Sequence seq)
DBDictionaryCREATE SEQUENCE <sequence name>[ START WITH <start>]
[ INCREMENT BY <increment>] by default.
getCreateSequenceSQL in class DBDictionary
protected String getSequencesSQL(String schemaName,
String sequenceName)
DBDictionary
getSequencesSQL in class DBDictionary
public boolean isSystemSequence(String name,
String schema,
boolean targetSchema)
DBDictionary
isSystemSequence in class DBDictionaryname - the table nameschema - the table schema; may be nulltargetSchema - if true, then the given schema was listed by
the user as one of his schemas
public Object getGeneratedKey(Column col,
Connection conn)
throws SQLException
DBDictionaryDBDictionary.lastGeneratedKeyQuery is null.
getGeneratedKey in class DBDictionarySQLExceptionprotected String getGeneratedKeyTriggerName(Column col)
protected String getOpenJPA3GeneratedKeySequenceName(Column col)
protected String getOpenJPA3GeneratedKeyTriggerName(Column col)
public void putBytes(Object blob,
byte[] data)
throws SQLException
putBytes method on the given BLOB object.
Uses reflection in case the blob is wrapped in another
vendor-specific class; for example Weblogic wraps oracle thin driver
lobs in its own interfaces with the same methods.
putBytes in class DBDictionarySQLException
public void putString(Object clob,
String data)
throws SQLException
putString method on the given CLOB object.
Uses reflection in case the clob is wrapped in another
vendor-specific class; for example Weblogic wraps oracle thin driver
lobs in its own interfaces with the same methods.
putString in class DBDictionarySQLException
public void putChars(Object clob,
char[] data)
throws SQLException
putChars method on the given CLOB
object. Uses reflection in case the clob is wrapped in another
vendor-specific class; for example Weblogic wraps oracle thin driver
lobs in its own interfaces with the same methods.
putChars in class DBDictionarySQLException
public void appendXmlComparison(SQLBuffer buf,
String op,
FilterValue lhs,
FilterValue rhs,
boolean lhsxml,
boolean rhsxml)
appendXmlComparison in class DBDictionarybuf - the SQL buffer to write the comparisonop - the comparison operation to performlhs - the left hand side of the comparisonrhs - the right hand side of the comparison
public void insertBlobForStreamingLoad(Row row,
Column col,
Object ob)
throws SQLException
SQLException
public void insertClobForStreamingLoad(Row row,
Column col,
Object ob)
throws SQLException
insertClobForStreamingLoad in class DBDictionarySQLException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||