|
Oracle9i Business Components for Java API Reference Oracle9i Jdeveloper (9.0.4) B10391-01 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--oracle.jbo.server.BaseSQLBuilderImpl
|
+--oracle.jbo.server.OracleSQLBuilderImpl
Oracle-specific implementation of the SQLBuilder interface.
| Field Summary | |
protected static java.lang.String |
ORACLE_ROWID_COLUMN |
| Fields inherited from interface oracle.jbo.server.SQLBuilder |
BINDING_STYLE_JDBC, BINDING_STYLE_ORACLE, BINDING_STYLE_UNKNOWN, DML_DELETE, DML_INSERT, DML_UPDATE |
| Constructor Summary | |
protected |
OracleSQLBuilderImpl()This is a singleton class |
| Method Summary | |
protected static java.lang.String |
addSqlTypeText(java.lang.String sqlText, java.lang.String inputType)helper for getTableList |
int |
bindInsertStatement(EntityImpl entityContext, java.sql.PreparedStatement stmt, AttributeDefImpl[] cols, AttributeDefImpl[] retrCols, AttributeDefImpl[] retrKeyCols, com.sun.java.util.collections.HashMap retrList, boolean batchMode)DOCTD: Method declaration |
int |
bindUpdateStatement(EntityImpl entityContext, java.sql.PreparedStatement stmt, AttributeDefImpl[] cols, AttributeDefImpl[] retrCols, AttributeDefImpl[] retrKeyCols, com.sun.java.util.collections.HashMap retrList, boolean batchMode)DOCTD: Method declaration |
int |
bindWhereClause(EntityImpl entityContext, java.sql.PreparedStatement stmt, AttributeDefImpl[] keyCols, java.lang.Object rowid, int bindIndex) |
int |
bindWhereClause(EntityImpl entityContext, java.sql.PreparedStatement stmt, java.lang.Object rowid, int bindIndex)Bind the Primary key values for the designated Statement. |
java.lang.StringBuffer |
buildDeleteStatement(EntityImpl entityContext)Construct a SQL INSERT statement |
java.lang.StringBuffer |
buildInsertStatement(EntityImpl entityContext, AttributeDefImpl[] cols, AttributeDefImpl[] retrCols, AttributeDefImpl[] retrKeyCols, boolean batchMode)Construct a SQL INSERT statement |
protected void |
buildReturningClause(java.lang.StringBuffer sqlBuffer, DBTransactionImpl trans, AttributeDefImpl[] retrCols, AttributeDefImpl[] retrKeyCols, boolean batchMode, boolean oracleBinding) |
void |
buildSelectString(DBTransactionImpl trans, java.lang.StringBuffer buffer, java.lang.String sourceName, java.lang.String sourceAlias, AttributeDefImpl[] attrs, boolean withIntoClause, int bindingStyle)Construct a SQL SELECT statement for the Entity into the designated Buffer. |
java.lang.StringBuffer |
buildUpdateStatement(EntityImpl entityContext, AttributeDefImpl[] cols, AttributeDefImpl[] retrCols, AttributeDefImpl[] retrKeyCols, boolean batchMode)DOCTD: Method declaration TODO: KM _ don't like the fact that this requires an entitydef |
void |
buildWhereClause(EntityImpl entityContext, java.lang.StringBuffer buffer, AttributeDefImpl[] keyCols, java.lang.Object rowid)Construct a SQL WHERE clause for the Entity into the designated Buffer, based upon the Source Columns. |
void |
doEntityDML(EntityImpl entityContext, int operation, TransactionEvent e)Performs the appropriate SQL Data Manipulation Language (DML) operations on the database to reflect an update, delete or insert operation on an Entity Object. |
void |
doEntitySelect(EntityImpl entityContext, boolean lock)Perform the appropriate SQL operations to execute a select operation on an Entity Object. |
java.lang.Object[] |
doLoadBulkFromResultSet(AttributeDefImpl[] attrDefs, int attrIndex, java.sql.ResultSet rs, int index, DBTransactionImpl trans)Loads an array of objects from a result set. |
java.lang.Object |
doLoadFromResultSet(java.lang.Object theTypeFactory, java.lang.Object theElemFactory, java.lang.Class theJavaType, byte attrLoad, java.sql.ResultSet rs, int index, DBTransactionImpl trans)Loads an object from a result set. |
java.lang.Object |
doLoadFromStatement(java.lang.Object theTypeFactory, java.lang.Object theElemFactory, java.lang.Class theJavaType, java.sql.PreparedStatement ps, int index, Transaction trans)Loads an object from a result set. |
void |
doPreparedStatementDefineColumnType(java.sql.PreparedStatement ps, int colnum, int sqltype)Performs the equivalent of defineColumnType() on a prepared statement. |
void |
doPreparedStatementDefines(java.sql.PreparedStatement stmt, AttributeDefImpl[] columns)Performs the equivalent of clearDefines() on a prepared statement. |
void |
doStatementSetBindingStyle(java.sql.Statement ps, int bindingStyle)Sets the binding style for the statement. |
void |
doStatementSetBindingStyleDefault(java.sql.Statement ps) |
void |
doStatementSetRowPrefetch(java.sql.Statement ps, int prefetchSize)Performs the equivalent of setRowPrefetch() on a statement. |
void |
executeBatch(java.sql.PreparedStatement stmt) |
java.lang.Object |
generatePKBasedRef(EntityImpl entityContext)Initial (temporay) value for ROWID, so that entity can be added in cache TODO: this is an awkward piece of non-generic JDBC - not sure how to emulate rowids in the generic case |
java.lang.Object[] |
generateRefAndOID(EntityImpl entityContext)Generates an object Ref and OID for an Entity Object. |
java.lang.String |
getBaseTable(java.sql.Connection conn, java.lang.String schema, java.lang.String name)unroll any synonyms that may be present, and get the real objectname |
com.sun.java.util.collections.ArrayList |
getConstraintsList(java.sql.Connection conn, java.lang.String catalog, java.lang.String schema, java.lang.String table)return vector of with constraint details for this table where each detail is in a String array with this structure: 0 String owner |
java.lang.String |
getCreateSequenceInsertTriggerSQL(java.lang.String triggerName, java.lang.String tableName, java.lang.String sequenceName, java.lang.String colName) |
java.lang.String |
getCreateSequenceSQL(java.lang.String sequenceName, int startVal) |
java.lang.String |
getDbTimeQuery() |
java.lang.String |
getDbType()returns a string uniquely identifying this type of SQLBuilder. |
int |
getDefaultBindingStyle()unless overridden, the binding style is set to JDBC (Oracle versions change this) |
java.lang.String |
getDropSequenceSQL(java.lang.String sequenceName) |
java.lang.String |
getDropTableSQL(java.lang.String dbObjectName) |
protected java.lang.String |
getFormattedLHSCompareFragment(AttributeDef attrDef, int sqltype, java.lang.String lhs, java.lang.Object rhs)Override this method to provide a formatted left-hand-comparator fragment of a comparision in a where clause for the given column. |
protected java.lang.String |
getFormattedRHSCompareFragment(AttributeDef attrDef, int sqlType, java.lang.String rhs) |
static SQLBuilder |
getInterface()Gets the singleton instance of this class. |
protected java.lang.String |
getJDBCDriverClassName()concrete implementations of SQLBuilder must elect a default driver name |
java.lang.String |
getPersistManagerClassName()Returns the name of default PersistManager class name. |
protected java.lang.Object |
getROWID(EntityImpl entityContext)Get the ROWID attribute. |
java.util.Vector |
getSchemaList(java.sql.Connection connection)return a list of schemas for this database (note that for Oracle this is synonymous with users) |
protected java.lang.String |
getSqlVariantLockTrailer()This defines the string that will be post-fixed to SQL ststements to have the rows locked - if the DB is incapable of this then is should return null. |
protected static java.lang.String |
getTableListSqlStatement(java.lang.String defaultUserName, java.lang.String userName, boolean bTable, boolean bAlias, boolean bView, boolean bSnap, boolean bCount)helper for getTableList |
com.sun.java.util.collections.ArrayList |
getTables(java.sql.Connection conn, java.lang.String defaultUserName, java.lang.String userName, boolean bTable, boolean bAlias, boolean bView, boolean bSnap)return a list of tables visible in this connection |
java.lang.String |
getTypeMapName()Returns a String identifying the preferred type map to use. |
java.lang.String |
getVersion()Gets a string describing the version of this implentation of this interface. |
boolean |
isConnectionAlive(java.sql.Connection conn) |
boolean |
isDataSourceJTABased(javax.sql.DataSource ds) |
boolean |
isDisplayBindValueUI() |
boolean |
isStreamType(int sqlTypeId)Provides streaming support. |
javax.sql.DataSource |
lookupDataSource(java.lang.String nsUrl, java.lang.String nsUser, java.lang.String nsPasswd, java.lang.String dataSourceName) |
void |
releaseSavePoint(java.sql.Connection conn, java.lang.String id) |
void |
rollbackToSavepoint(java.sql.Connection conn, java.lang.String id)rollback to SAVEPOINT - if possible |
void |
setSavepoint(java.sql.Connection conn, java.lang.String id)issue a SAVEPOINT - if possible |
boolean |
supportsReturningClause() |
boolean |
supportsRowNumQuery() |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected static final java.lang.String ORACLE_ROWID_COLUMN
| Constructor Detail |
protected OracleSQLBuilderImpl()
| Method Detail |
public static SQLBuilder getInterface()
public java.lang.String getVersion()
SQLBuildergetVersion in interface SQLBuildergetVersion in class BaseSQLBuilderImplpublic java.lang.String getDbType()
SQLBuildergetDbType in interface SQLBuildergetDbType in class BaseSQLBuilderImplpublic java.lang.String getTypeMapName()
SQLBuildergetTypeMapName in interface SQLBuildergetTypeMapName in class BaseSQLBuilderImplpublic java.lang.String getPersistManagerClassName()
SQLBuildergetPersistManagerClassName in interface SQLBuildergetPersistManagerClassName in class BaseSQLBuilderImplpublic int getDefaultBindingStyle()
BaseSQLBuilderImplgetDefaultBindingStyle in interface SQLBuildergetDefaultBindingStyle in class BaseSQLBuilderImpl
public void executeBatch(java.sql.PreparedStatement stmt)
throws java.sql.SQLException
executeBatch in interface SQLBuilderexecuteBatch in class BaseSQLBuilderImpljava.sql.SQLException
public void doEntityDML(EntityImpl entityContext,
int operation,
TransactionEvent e)
SQLBuilderNote: this method is subject to change.
doEntityDML in interface SQLBuilderdoEntityDML in class BaseSQLBuilderImplentityContext - the Entity Object.operation - one of DML_INSERT, DML_UPDATE, or DML_DELETE.e - the transaction.
public void doEntitySelect(EntityImpl entityContext,
boolean lock)
SQLBuilderNote: this method is subject to change.
doEntitySelect in interface SQLBuilderdoEntitySelect in class BaseSQLBuilderImpllock - if true, a "SELECT for UPDATE" statement is used.
public void doStatementSetRowPrefetch(java.sql.Statement ps,
int prefetchSize)
throws java.sql.SQLException
SQLBuilderdoStatementSetRowPrefetch in interface SQLBuilderdoStatementSetRowPrefetch in class BaseSQLBuilderImpljava.sql.SQLException
public void doStatementSetBindingStyle(java.sql.Statement ps,
int bindingStyle)
SQLBuilderdoStatementSetBindingStyle in interface SQLBuilderdoStatementSetBindingStyle in class BaseSQLBuilderImplpublic void doStatementSetBindingStyleDefault(java.sql.Statement ps)
doStatementSetBindingStyleDefault in interface SQLBuilderdoStatementSetBindingStyleDefault in class BaseSQLBuilderImpl
public void doPreparedStatementDefineColumnType(java.sql.PreparedStatement ps,
int colnum,
int sqltype)
throws java.sql.SQLException
SQLBuilderdoPreparedStatementDefineColumnType in interface SQLBuilderdoPreparedStatementDefineColumnType in class BaseSQLBuilderImpljava.sql.SQLExceptionpublic void doPreparedStatementDefines(java.sql.PreparedStatement stmt, AttributeDefImpl[] columns)
SQLBuilderdoPreparedStatementDefines in interface SQLBuilderdoPreparedStatementDefines in class BaseSQLBuilderImpl
public java.lang.Object doLoadFromResultSet(java.lang.Object theTypeFactory,
java.lang.Object theElemFactory,
java.lang.Class theJavaType,
byte attrLoad,
java.sql.ResultSet rs,
int index,
DBTransactionImpl trans)
SQLBuilderNote: this method is subject to change.
doLoadFromResultSet in interface SQLBuilderdoLoadFromResultSet in class BaseSQLBuilderImpltheTypeFactory - a custom factory to be used for constructing new instances.index - the index of the object to be loaded.
public java.lang.Object[] doLoadBulkFromResultSet(AttributeDefImpl[] attrDefs,
int attrIndex,
java.sql.ResultSet rs,
int index,
DBTransactionImpl trans)
SQLBuilderNote: this method is subject to change.
doLoadBulkFromResultSet in interface SQLBuilderdoLoadBulkFromResultSet in class BaseSQLBuilderImpl
public java.lang.Object doLoadFromStatement(java.lang.Object theTypeFactory,
java.lang.Object theElemFactory,
java.lang.Class theJavaType,
java.sql.PreparedStatement ps,
int index,
Transaction trans)
SQLBuilderNote: this method is subject to change.
doLoadFromStatement in interface SQLBuilderdoLoadFromStatement in class BaseSQLBuilderImpltheTypeFactory - a custom factory to be used for constructing new instances.index - the index of the object to be loaded.
public void setSavepoint(java.sql.Connection conn,
java.lang.String id)
throws java.sql.SQLException
SQLBuildersetSavepoint in interface SQLBuildersetSavepoint in class BaseSQLBuilderImplid - = the id for a savepointjava.sql.SQLException
public void rollbackToSavepoint(java.sql.Connection conn,
java.lang.String id)
throws java.sql.SQLException
SQLBuilderrollbackToSavepoint in interface SQLBuilderrollbackToSavepoint in class BaseSQLBuilderImplid - = the id for a savepointjava.sql.SQLException
public void releaseSavePoint(java.sql.Connection conn,
java.lang.String id)
throws java.sql.SQLException
java.sql.SQLExceptionpublic boolean supportsReturningClause()
supportsReturningClause in interface SQLBuildersupportsReturningClause in class BaseSQLBuilderImplpublic boolean supportsRowNumQuery()
supportsRowNumQuery in interface SQLBuildersupportsRowNumQuery in class BaseSQLBuilderImpl
public java.lang.StringBuffer buildUpdateStatement(EntityImpl entityContext,
AttributeDefImpl[] cols,
AttributeDefImpl[] retrCols,
AttributeDefImpl[] retrKeyCols,
boolean batchMode)
buildUpdateStatement in interface SQLBuilderbuildUpdateStatement in class BaseSQLBuilderImplcols -retrCols -retrKeyCols -
protected void buildReturningClause(java.lang.StringBuffer sqlBuffer,
DBTransactionImpl trans,
AttributeDefImpl[] retrCols,
AttributeDefImpl[] retrKeyCols,
boolean batchMode,
boolean oracleBinding)
public int bindInsertStatement(EntityImpl entityContext,
java.sql.PreparedStatement stmt,
AttributeDefImpl[] cols,
AttributeDefImpl[] retrCols,
AttributeDefImpl[] retrKeyCols,
com.sun.java.util.collections.HashMap retrList,
boolean batchMode)
throws java.sql.SQLException
bindInsertStatement in interface SQLBuilderbindInsertStatement in class BaseSQLBuilderImplstmt -cols -retrCols -retrKeyCols -retrList -java.sql.SQLException
public int bindUpdateStatement(EntityImpl entityContext,
java.sql.PreparedStatement stmt,
AttributeDefImpl[] cols,
AttributeDefImpl[] retrCols,
AttributeDefImpl[] retrKeyCols,
com.sun.java.util.collections.HashMap retrList,
boolean batchMode)
throws java.sql.SQLException
bindUpdateStatement in interface SQLBuilderbindUpdateStatement in class BaseSQLBuilderImplstmt -cols -retrCols -retrKeyCols -retrList -java.sql.SQLException
public int bindWhereClause(EntityImpl entityContext,
java.sql.PreparedStatement stmt,
java.lang.Object rowid,
int bindIndex)
throws java.sql.SQLException
For now it's private. We'll only consider it public when we sort out all of the issues with Sources/Sinks.
The presence or absence of the ROWID value determines whether the ROWID will be used for Row access.
bindWhereClause in interface SQLBuilderbindWhereClause in class BaseSQLBuilderImplstmt - the statement to bind the columns to.rowid - the ROWID for the ROW if known.bindIndex - the baseline idx for performing the bind operations.java.sql.SQLException
public int bindWhereClause(EntityImpl entityContext,
java.sql.PreparedStatement stmt,
AttributeDefImpl[] keyCols,
java.lang.Object rowid,
int bindIndex)
throws java.sql.SQLException
bindWhereClause in interface SQLBuilderbindWhereClause in class BaseSQLBuilderImpljava.sql.SQLExceptionprotected java.lang.Object getROWID(EntityImpl entityContext)
getROWID in class BaseSQLBuilderImpl
public void buildWhereClause(EntityImpl entityContext,
java.lang.StringBuffer buffer,
AttributeDefImpl[] keyCols,
java.lang.Object rowid)
For now it's private. We'll only consider it public when we sort out all of the issues with Sources/Sinks.
The presence or absence of the ROWID value determines whether the ROWID will be used for Row access.
buildWhereClause in interface SQLBuilderbuildWhereClause in class BaseSQLBuilderImplbuffer - the area into which the WHERE Clause will be placed.keyCols - the Primary key columns.rowid - the ROWID for the ROW if known.
public java.lang.StringBuffer buildInsertStatement(EntityImpl entityContext,
AttributeDefImpl[] cols,
AttributeDefImpl[] retrCols,
AttributeDefImpl[] retrKeyCols,
boolean batchMode)
buildInsertStatement in interface SQLBuilderbuildInsertStatement in class BaseSQLBuilderImplpublic java.lang.StringBuffer buildDeleteStatement(EntityImpl entityContext)
buildDeleteStatement in interface SQLBuilderbuildDeleteStatement in class BaseSQLBuilderImpl
public void buildSelectString(DBTransactionImpl trans,
java.lang.StringBuffer buffer,
java.lang.String sourceName,
java.lang.String sourceAlias,
AttributeDefImpl[] attrs,
boolean withIntoClause,
int bindingStyle)
buildSelectString in interface SQLBuilderbuildSelectString in class BaseSQLBuilderImplbuffer - the area into which the SELECT statement will be placed.public java.lang.Object generatePKBasedRef(EntityImpl entityContext)
BaseSQLBuilderImplgeneratePKBasedRef in interface SQLBuildergeneratePKBasedRef in class BaseSQLBuilderImplpublic java.lang.Object[] generateRefAndOID(EntityImpl entityContext)
SQLBuildergenerateRefAndOID in interface SQLBuildergenerateRefAndOID in class BaseSQLBuilderImplpublic boolean isStreamType(int sqlTypeId)
SQLBuilderisStreamType in interface SQLBuilderisStreamType in class BaseSQLBuilderImpl
public java.util.Vector getSchemaList(java.sql.Connection connection)
throws java.lang.Exception
getSchemaList in interface SQLBuildergetSchemaList in class BaseSQLBuilderImpljava.lang.Exception
public com.sun.java.util.collections.ArrayList getTables(java.sql.Connection conn,
java.lang.String defaultUserName,
java.lang.String userName,
boolean bTable,
boolean bAlias,
boolean bView,
boolean bSnap)
throws java.lang.Exception
SQLBuildergetTables in interface SQLBuildergetTables in class BaseSQLBuilderImpljava.lang.Exception
protected static java.lang.String getTableListSqlStatement(java.lang.String defaultUserName,
java.lang.String userName,
boolean bTable,
boolean bAlias,
boolean bView,
boolean bSnap,
boolean bCount)
protected static java.lang.String addSqlTypeText(java.lang.String sqlText,
java.lang.String inputType)
public com.sun.java.util.collections.ArrayList getConstraintsList(java.sql.Connection conn,
java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
SQLBuilder1 String constraint_name
2 String constraint_type
3 String table_name
4 String search_condition
5 Integer delete_rule (cascade)
6 Integer status (enabled)
7 Integerdeferrable
8 Integer deferred
9 Integer validated
10 String column_name
11 Integer position
12 String fkname
13 String fkother <>
getConstraintsList in interface SQLBuildergetConstraintsList in class BaseSQLBuilderImpljava.sql.SQLException
public java.lang.String getBaseTable(java.sql.Connection conn,
java.lang.String schema,
java.lang.String name)
throws java.sql.SQLException
SQLBuildergetBaseTable in interface SQLBuildergetBaseTable in class BaseSQLBuilderImpljava.sql.SQLExceptionprotected java.lang.String getJDBCDriverClassName()
BaseSQLBuilderImplgetJDBCDriverClassName in class BaseSQLBuilderImpl
public javax.sql.DataSource lookupDataSource(java.lang.String nsUrl,
java.lang.String nsUser,
java.lang.String nsPasswd,
java.lang.String dataSourceName)
throws JboException
lookupDataSource in interface SQLBuilderlookupDataSource in class BaseSQLBuilderImplJboExceptionpublic boolean isDataSourceJTABased(javax.sql.DataSource ds)
isDataSourceJTABased in interface SQLBuilderisDataSourceJTABased in class BaseSQLBuilderImpl
protected java.lang.String getFormattedRHSCompareFragment(AttributeDef attrDef,
int sqlType,
java.lang.String rhs)
getFormattedRHSCompareFragment in class BaseSQLBuilderImpl
protected java.lang.String getFormattedLHSCompareFragment(AttributeDef attrDef,
int sqltype,
java.lang.String lhs,
java.lang.Object rhs)
getFormattedLHSCompareFragment in class BaseSQLBuilderImplprotected java.lang.String getSqlVariantLockTrailer()
BaseSQLBuilderImplgetSqlVariantLockTrailer in class BaseSQLBuilderImplpublic java.lang.String getDbTimeQuery()
getDbTimeQuery in class BaseSQLBuilderImplpublic java.lang.String getDropTableSQL(java.lang.String dbObjectName)
getDropTableSQL in interface SQLBuildergetDropTableSQL in class BaseSQLBuilderImplpublic boolean isDisplayBindValueUI()
isDisplayBindValueUI in interface SQLBuilderisDisplayBindValueUI in class BaseSQLBuilderImpl
public java.lang.String getCreateSequenceInsertTriggerSQL(java.lang.String triggerName,
java.lang.String tableName,
java.lang.String sequenceName,
java.lang.String colName)
getCreateSequenceInsertTriggerSQL in interface SQLBuildergetCreateSequenceInsertTriggerSQL in class BaseSQLBuilderImpl
public java.lang.String getCreateSequenceSQL(java.lang.String sequenceName,
int startVal)
getCreateSequenceSQL in interface SQLBuildergetCreateSequenceSQL in class BaseSQLBuilderImplpublic java.lang.String getDropSequenceSQL(java.lang.String sequenceName)
getDropSequenceSQL in interface SQLBuildergetDropSequenceSQL in class BaseSQLBuilderImplpublic boolean isConnectionAlive(java.sql.Connection conn)
isConnectionAlive in interface SQLBuilderisConnectionAlive in class BaseSQLBuilderImpl
|
Oracle9i Business Components for Java API Reference Oracle9i Jdeveloper (9.0.4) B10391-01 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
Copyright © 1997, 2003, Oracle. All rights reserved.