|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.ojb.broker.platforms.PlatformDefaultImpl
org.apache.ojb.broker.platforms.PlatformOracleImpl
This class is a concrete implementation of Platform. Provides an implementation
that works around some issues with Oracle in general and Oracle's Thin driver in particular..
| Field Summary | |
protected static int |
THIN_BLOB_MAX_SIZE
|
protected static int |
THIN_CLOB_MAX_SIZE
|
protected static java.lang.String |
THIN_URL_PREFIX
|
| Fields inherited from class org.apache.ojb.broker.platforms.PlatformDefaultImpl |
log, m_batchUpdatesChecked, m_supportsBatchUpdates |
| Fields inherited from interface org.apache.ojb.broker.accesslayer.JoinSyntaxTypes |
ORACLE_JOIN_SYNTAX, SQL92_JOIN_SYNTAX, SQL92_NOPAREN_JOIN_SYNTAX, SYBASE_JOIN_SYNTAX |
| Constructor Summary | |
PlatformOracleImpl()
|
|
| Method Summary | |
void |
afterStatementCreate(java.sql.Statement stmt)
In Oracle we set escape processing explizit 'true' after a statement was created. |
protected void |
changePreparedStatementResultSetType(java.sql.PreparedStatement ps)
Attempts to modify a private member in the Oracle thin driver's resultset to allow proper setting of large binary streams. |
java.lang.String |
createSequenceQuery(java.lang.String sequenceName)
Override this method to enable database based sequence generation |
java.lang.String |
dropSequenceQuery(java.lang.String sequenceName)
Override this method to enable database based sequence generation |
byte |
getJoinSyntaxType()
Get join syntax type for this RDBMS - one on of the constants from JoinSyntaxType interface |
protected static boolean |
isUsingOracleThinDriver(java.sql.Connection conn)
Checks if the supplied connection is using the Oracle thin driver. |
java.lang.String |
nextSequenceQuery(java.lang.String sequenceName)
Override this method to enable database based sequence generation |
void |
setObjectForStatement(java.sql.PreparedStatement ps,
int index,
java.lang.Object value,
int sqlType)
For objects beyond 4k, weird things happen in Oracle if you try to use "setBytes", so for all cases it's better to use setBinaryStream. |
| Methods inherited from class org.apache.ojb.broker.platforms.PlatformDefaultImpl |
addBatch, addPagingSql, afterStatementClose, beforeBatch, beforeStatementClose, bindPagingParameters, bindPagingParametersFirst, changeAutoCommitState, checkForBatchSupport, concatenate, executeBatch, getConcatenationCharacter, getEscapeClause, getLastInsertIdentityQuery, initializeJdbcConnection, prepareNextValProcedureStatement, setNullForStatement, supportsBatchOperations, supportsPaging, useCountForResultsetSize |
| 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 THIN_URL_PREFIX
protected static final int THIN_BLOB_MAX_SIZE
protected static final int THIN_CLOB_MAX_SIZE
| Constructor Detail |
public PlatformOracleImpl()
| Method Detail |
public void afterStatementCreate(java.sql.Statement stmt)
throws PlatformException
afterStatementCreate in interface PlatformafterStatementCreate in class PlatformDefaultImplPlatformException
public void setObjectForStatement(java.sql.PreparedStatement ps,
int index,
java.lang.Object value,
int sqlType)
throws java.sql.SQLException
setObjectForStatement in interface PlatformsetObjectForStatement in class PlatformDefaultImpljava.sql.SQLExceptionPlatform.setObjectForStatement(java.sql.PreparedStatement, int, java.lang.Object, int)protected void changePreparedStatementResultSetType(java.sql.PreparedStatement ps)
public byte getJoinSyntaxType()
getJoinSyntaxType in interface PlatformgetJoinSyntaxType in class PlatformDefaultImplPlatform.getJoinSyntaxType()public java.lang.String createSequenceQuery(java.lang.String sequenceName)
PlatformDefaultImpl
createSequenceQuery in interface PlatformcreateSequenceQuery in class PlatformDefaultImplpublic java.lang.String nextSequenceQuery(java.lang.String sequenceName)
PlatformDefaultImpl
nextSequenceQuery in interface PlatformnextSequenceQuery in class PlatformDefaultImplpublic java.lang.String dropSequenceQuery(java.lang.String sequenceName)
PlatformDefaultImpl
dropSequenceQuery in interface PlatformdropSequenceQuery in class PlatformDefaultImplprotected static boolean isUsingOracleThinDriver(java.sql.Connection conn)
conn - database connection for which to check JDBC-driver
true if the connection is using Oracle thin driver, false
otherwise.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||