|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
this interface provides callbacks that allow to perform
RDBMS Platform specific operations whereever neccessary.
The Platform implementation is selected by the
Method Summary | |
void |
addBatch(java.sql.PreparedStatement stmt)
|
void |
addPagingSql(java.lang.StringBuffer anSqlString)
Add the LIMIT or equivalent to the SQL SQL-Paging is not yet supported |
void |
afterStatementClose(java.sql.Statement stmt,
java.sql.ResultSet rs)
Called by StatementManager implementation
after invoke stmt.close() method. |
void |
afterStatementCreate(java.sql.Statement stmt)
Called after a jdbc-m_connection statement was created. |
void |
beforeBatch(java.sql.PreparedStatement stmt)
|
void |
beforeStatementClose(java.sql.Statement stmt,
java.sql.ResultSet rs)
Called by StatementManager implementation
before invoke stmt.close() method. |
int |
bindPagingParameters(java.sql.PreparedStatement ps,
int index,
int startAt,
int endAt)
Bind the Paging Parameters SQL-Paging is not yet supported |
boolean |
bindPagingParametersFirst()
Answer true if the LIMIT parameters are bound before the query parameters SQL-Paging is not yet supported |
void |
changeAutoCommitState(JdbcConnectionDescriptor jcd,
java.sql.Connection con,
boolean newState)
Used to do a temporary change of the m_connection autoCommit state. |
java.lang.String |
concatenate(java.lang.String[] theColumns)
Concatenate the columns ie: col1 || col2 || col3 (ANSI) ie: col1 + col2 + col3 (MS SQL-Server) ie: concat(col1, col2, col3) (MySql) |
java.lang.String |
createSequenceQuery(java.lang.String sequenceName)
Returns a query to create a sequence entry. |
java.lang.String |
dropSequenceQuery(java.lang.String sequenceName)
Returns a query to drop a sequence entry. |
int[] |
executeBatch(java.sql.PreparedStatement stmt)
|
java.lang.String |
getEscapeClause(LikeCriteria aCriteria)
Answer the Clause used Escape wildcards in LIKE |
byte |
getJoinSyntaxType()
Get join syntax type for this RDBMS - one on of the constants from JoinSyntaxType interface |
java.lang.String |
getLastInsertIdentityQuery(java.lang.String tableName)
If database supports native key generation via identity column, this method should return the sql-query to obtain the last generated id. |
void |
initializeJdbcConnection(JdbcConnectionDescriptor jcd,
java.sql.Connection conn)
callback called immediately after a JDBC Connection has been obtained in ... |
java.lang.String |
nextSequenceQuery(java.lang.String sequenceName)
Returns a query to obtain the next sequence key. |
java.sql.CallableStatement |
prepareNextValProcedureStatement(java.sql.Connection con,
java.lang.String procedureName,
java.lang.String sequenceName)
Create stored procedure call for a special sequence manager implementation SequenceManagerStoredProcedureImpl ,
because it seems that jdbc-driver differ in handling of CallableStatement. |
void |
setNullForStatement(java.sql.PreparedStatement ps,
int index,
int sqlType)
some JDBC-Drivers do not support all sqlTypes this callback is used set parameters to a PreparedStatement |
void |
setObjectForStatement(java.sql.PreparedStatement ps,
int index,
java.lang.Object value,
int sqlType)
some JDBC-Drivers do not support all sqlTypes this callback is used set parameters to a PreparedStatement |
boolean |
supportsBatchOperations()
if this platform supports the batch operations jdbc 2.0 feature. |
boolean |
supportsPaging()
Answer true if LIMIT or equivalent is supported SQL-Paging is not yet supported |
boolean |
useCountForResultsetSize()
Override default ResultSet size determination (rs.last();rs.getRow()) with select count(*) operation |
Method Detail |
public void afterStatementCreate(java.sql.Statement stmt) throws PlatformException
PlatformException
public void beforeStatementClose(java.sql.Statement stmt, java.sql.ResultSet rs) throws PlatformException
StatementManager
implementation
before invoke stmt.close() method.
PlatformException
public void afterStatementClose(java.sql.Statement stmt, java.sql.ResultSet rs) throws PlatformException
StatementManager
implementation
after invoke stmt.close() method.
PlatformException
public void beforeBatch(java.sql.PreparedStatement stmt) throws PlatformException
stmt
- the statement you want to batch on
PlatformException
public void addBatch(java.sql.PreparedStatement stmt) throws PlatformException
stmt
- the statement you are adding to the batch
PlatformException
public int[] executeBatch(java.sql.PreparedStatement stmt) throws PlatformException
stmt
- the statement you want to execute the batch on
PlatformException
public void initializeJdbcConnection(JdbcConnectionDescriptor jcd, java.sql.Connection conn) throws PlatformException
conn
- the Connection to be initialized
PlatformException
public void changeAutoCommitState(JdbcConnectionDescriptor jcd, java.sql.Connection con, boolean newState)
JdbcConnectionDescriptor.getUseAutoCommit()
was set to
JdbcConnectionDescriptor.AUTO_COMMIT_SET_TRUE_AND_TEMPORARY_FALSE
the change of the autoCommit state take effect.
public void setObjectForStatement(java.sql.PreparedStatement ps, int index, java.lang.Object value, int sqlType) throws java.sql.SQLException
java.sql.SQLException
public void setNullForStatement(java.sql.PreparedStatement ps, int index, int sqlType) throws java.sql.SQLException
java.sql.SQLException
public byte getJoinSyntaxType()
public boolean useCountForResultsetSize()
public boolean supportsBatchOperations()
public java.lang.String createSequenceQuery(java.lang.String sequenceName)
public java.lang.String nextSequenceQuery(java.lang.String sequenceName)
public java.lang.String dropSequenceQuery(java.lang.String sequenceName)
public java.sql.CallableStatement prepareNextValProcedureStatement(java.sql.Connection con, java.lang.String procedureName, java.lang.String sequenceName) throws PlatformException
SequenceManagerStoredProcedureImpl
,
because it seems that jdbc-driver differ in handling of CallableStatement.
Connection con = broker.serviceConnectionManager().getConnection(); cs = getPlatform().prepareNextValProcedureStatement(con, PROCEDURE_NAME, sequenceName); cs.executeUpdate(); return cs.getLong(1);
PlatformException
public java.lang.String getLastInsertIdentityQuery(java.lang.String tableName)
public boolean supportsPaging()
public void addPagingSql(java.lang.StringBuffer anSqlString)
public boolean bindPagingParametersFirst()
public int bindPagingParameters(java.sql.PreparedStatement ps, int index, int startAt, int endAt) throws java.sql.SQLException
ps
- index
- parameter indexstartAt
- endAt
-
java.sql.SQLException
public java.lang.String concatenate(java.lang.String[] theColumns)
theColumns
-
public java.lang.String getEscapeClause(LikeCriteria aCriteria)
aCriteria
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |