| java.lang.Object org.apache.ojb.broker.platforms.PlatformDefaultImpl org.apache.ojb.broker.platforms.PlatformOracleImpl org.apache.ojb.broker.platforms.PlatformOracle9iImpl
PlatformOracle9iImpl | public class PlatformOracle9iImpl extends PlatformOracleImpl (Code) | | This class is a concrete implementation of Platform . Provides
an implementation that works around some issues with Oracle in general and
Oracle 9i's Thin driver in particular.
NOTE: When using BEA WebLogic and BLOB/CLOB datatypes, the physical connection will be
used causing WebLogic to mark it as "infected" and discard it when
the logicical connection is closed. You can change this behavior by setting the
RemoveInfectedConnectionsEnabled attribute on a connection pool.
see WebLogic docs.
Optimization: Oracle Batching (not standard JDBC batching)
see http://technet.oracle.com/products/oracle9i/daily/jun07.html
Optimization: Oracle Prefetching
see http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/advanced/RowPrefetchSample/Readme.html
Optimization: Oracle Statement Caching
see http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/jdbc30/StmtCacheSample/Readme.html
TODO: Optimization: use ROWNUM to minimize the effects of not having server side cursors
see http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:127412348064
author: Matthew Baird author: Martin Kalén author: Contributions from: Erik Forkalsrud, Danilo Tommasina, Thierry Hanot, Don Lyon version: CVS $Id: PlatformOracle9iImpl.java,v 1.13.2.9 2005/04/26 03:41:36 mkalen Exp $ See Also: Platform See Also: PlatformDefaultImpl See Also: PlatformOracleImpl |
JBOSS_CONN_CLASS | protected static Class JBOSS_CONN_CLASS(Code) | | |
JBOSS_CONN_NAME | final protected static String JBOSS_CONN_NAME(Code) | | |
METHOD_SET_BLOB | protected static Method METHOD_SET_BLOB(Code) | | |
METHOD_SET_CLOB | protected static Method METHOD_SET_CLOB(Code) | | |
METHOD_SET_IMPLICIT_CACHING_ENABLED | protected static Method METHOD_SET_IMPLICIT_CACHING_ENABLED(Code) | | |
METHOD_SET_ROW_PREFETCH | protected static Method METHOD_SET_ROW_PREFETCH(Code) | | |
METHOD_SET_STATEMENT_CACHE_SIZE | protected static Method METHOD_SET_STATEMENT_CACHE_SIZE(Code) | | |
ORA_BLOB_CLASS | protected static Class ORA_BLOB_CLASS(Code) | | |
ORA_BLOB_HANDLING_AVAILABLE | protected static boolean ORA_BLOB_HANDLING_AVAILABLE(Code) | | |
ORA_CLOB_CLASS | protected static Class ORA_CLOB_CLASS(Code) | | |
ORA_CLOB_HANDLING_AVAILABLE | protected static boolean ORA_CLOB_HANDLING_AVAILABLE(Code) | | |
ORA_CONN_CLASS | protected static Class ORA_CONN_CLASS(Code) | | |
ORA_ROW_PREFETCH_AVAILABLE | protected static boolean ORA_ROW_PREFETCH_AVAILABLE(Code) | | |
ORA_STATEMENT_CACHING_AVAILABLE | protected static boolean ORA_STATEMENT_CACHING_AVAILABLE(Code) | | |
PARAM_BOOLEAN_TRUE | final protected static Object[] PARAM_BOOLEAN_TRUE(Code) | | |
PARAM_EMPTY | final protected static Object[] PARAM_EMPTY(Code) | | |
PARAM_ROW_PREFETCH_SIZE | final protected static Object[] PARAM_ROW_PREFETCH_SIZE(Code) | | |
PARAM_STATEMENT_BATCH_SIZE | final protected static Object[] PARAM_STATEMENT_BATCH_SIZE(Code) | | |
PARAM_STATEMENT_CACHE_SIZE | final protected static Object[] PARAM_STATEMENT_CACHE_SIZE(Code) | | |
PARAM_TYPE_BOOLEAN | final protected static Class[] PARAM_TYPE_BOOLEAN(Code) | | |
PARAM_TYPE_EMPTY | final protected static Class[] PARAM_TYPE_EMPTY(Code) | | |
PARAM_TYPE_INTEGER | final protected static Class[] PARAM_TYPE_INTEGER(Code) | | |
PARAM_TYPE_INT_ORABLOB | protected static Class[] PARAM_TYPE_INT_ORABLOB(Code) | | |
PARAM_TYPE_INT_ORACLOB | protected static Class[] PARAM_TYPE_INT_ORACLOB(Code) | | |
PARAM_TYPE_STRING | final protected static Class[] PARAM_TYPE_STRING(Code) | | |
ROW_PREFETCH_SIZE | final protected static int ROW_PREFETCH_SIZE(Code) | | Number of rows pre-fetched by the JDBC-driver for each executed query,
when using Oracle row pre-fetching with OracleConnections.
Set in
PlatformOracle9iImpl.initializeJdbcConnection .
Note: this setting can be overridden by specifying a
connection-pool attribute with name="jdbc.defaultRowPrefetch".
Oracle JDBC-driver default value=10.
|
STATEMENTS_PER_BATCH | final protected static int STATEMENTS_PER_BATCH(Code) | | |
m_batchStatementsInProgress | protected static Map m_batchStatementsInProgress(Code) | | |
PlatformOracle9iImpl | public PlatformOracle9iImpl()(Code) | | Default constructor.
|
afterStatementCreate | public void afterStatementCreate(Statement stmt)(Code) | | Performs platform-specific operations on each statement.
Parameters: stmt - the statement just created |
beforeBatch | public void beforeBatch(PreparedStatement stmt) throws PlatformException(Code) | | Try Oracle update batching and call setExecuteBatch or revert to
JDBC update batching. See 12-2 Update Batching in the Oracle9i
JDBC Developer's Guide and Reference.
Parameters: stmt - the prepared statement to be used for batching throws: PlatformException - upon JDBC failure |
executeBatch | public int[] executeBatch(PreparedStatement stmt) throws PlatformException(Code) | | Try Oracle update batching and call sendBatch or revert to
JDBC update batching.
Parameters: stmt - the batched prepared statement about to be executed always null if Oracle update batching is used,since it is impossible to dissolve total row count into distinctstatement counts. If JDBC update batching is used, an int array isreturned containing number of updated rows for each batched statement. throws: PlatformException - upon JDBC failure |
getJoinSyntaxType | public byte getJoinSyntaxType()(Code) | | Get join syntax type for this RDBMS.
SQL92_NOPAREN_JOIN_SYNTAX |
initOracleReflectedVars | protected void initOracleReflectedVars()(Code) | | Initializes static variables needed for Oracle-extensions and large BLOB/CLOB support.
|
unwrapConnection | protected Connection unwrapConnection(Connection conn)(Code) | | Return an OracleConnection after trying to unwrap from known Connection wrappers.
Parameters: conn - the connection to unwrap (if needed) OracleConnection or null if not able to unwrap |
unwrapStatement | protected Statement unwrapStatement(Statement ps)(Code) | | Return an OraclePreparedStatement after trying to unwrap from known Statement wrappers.
Parameters: ps - the PreparedStatement to unwrap (if needed) OraclePreparedStatement or null if not able to unwrap |
Methods inherited from org.apache.ojb.broker.platforms.PlatformDefaultImpl | public void addBatch(PreparedStatement stmt) throws PlatformException(Code)(Java Doc) public void addPagingSql(StringBuffer anSqlString)(Code)(Java Doc) public void afterStatementClose(Statement stmt, ResultSet rs) throws PlatformException(Code)(Java Doc) public void afterStatementCreate(Statement stmt) throws PlatformException(Code)(Java Doc) public void beforeBatch(PreparedStatement stmt) throws PlatformException(Code)(Java Doc) public void beforeStatementClose(Statement stmt, ResultSet rs) throws PlatformException(Code)(Java Doc) public int bindPagingParameters(PreparedStatement ps, int index, int startAt, int endAt) throws SQLException(Code)(Java Doc) public boolean bindPagingParametersFirst()(Code)(Java Doc) public void changeAutoCommitState(JdbcConnectionDescriptor jcd, Connection con, boolean newState)(Code)(Java Doc) protected void checkForBatchSupport(Connection conn)(Code)(Java Doc) public String concatenate(String[] theColumns)(Code)(Java Doc) public String createSequenceQuery(String sequenceName, Properties prop)(Code)(Java Doc) public String createSequenceQuery(String sequenceName)(Code)(Java Doc) public String dropSequenceQuery(String sequenceName)(Code)(Java Doc) public int[] executeBatch(PreparedStatement stmt) throws PlatformException(Code)(Java Doc) protected String getConcatenationCharacter()(Code)(Java Doc) public String getEscapeClause(LikeCriteria aCriteria)(Code)(Java Doc) public byte getJoinSyntaxType()(Code)(Java Doc) public String getLastInsertIdentityQuery(String tableName)(Code)(Java Doc) public void initializeJdbcConnection(JdbcConnectionDescriptor jcd, Connection conn) throws PlatformException(Code)(Java Doc) public String nextSequenceQuery(String sequenceName)(Code)(Java Doc) public CallableStatement prepareNextValProcedureStatement(Connection con, String procedureName, String sequenceName) throws PlatformException(Code)(Java Doc) public void registerOutResultSet(CallableStatement stmt, int position) throws SQLException(Code)(Java Doc) public void setNullForStatement(PreparedStatement ps, int index, int sqlType) throws SQLException(Code)(Java Doc) public void setObjectForStatement(PreparedStatement ps, int index, Object value, int sqlType) throws SQLException(Code)(Java Doc) public boolean supportsBatchOperations()(Code)(Java Doc) public boolean supportsMultiColumnCountDistinct()(Code)(Java Doc) public boolean supportsPaging()(Code)(Java Doc) public boolean useCountForResultsetSize()(Code)(Java Doc)
|
|
|