Return-Path: Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 85345 invoked by uid 500); 16 Jul 2003 15:16:09 -0000 Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "OJB Developers List" Reply-To: "OJB Developers List" Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 85292 invoked by uid 500); 16 Jul 2003 15:16:08 -0000 Received: (qmail 85273 invoked from network); 16 Jul 2003 15:16:08 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 16 Jul 2003 15:16:08 -0000 Received: (qmail 99558 invoked by uid 1510); 16 Jul 2003 15:16:07 -0000 Date: 16 Jul 2003 15:16:07 -0000 Message-ID: <20030716151607.99557.qmail@icarus.apache.org> From: arminw@apache.org To: db-ojb-cvs@apache.org Subject: cvs commit: db-ojb/src/java/org/apache/ojb/broker/platforms PlatformDefaultImpl.java PlatformDb2Impl.java Platform.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N arminw 2003/07/16 08:16:07 Modified: src/java/org/apache/ojb/broker/platforms PlatformDefaultImpl.java PlatformDb2Impl.java Platform.java Log: remove checkForBatchSupport(...) method from Platform interface and handle this check internally Revision Changes Path 1.17 +42 -55 db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformDefaultImpl.java Index: PlatformDefaultImpl.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformDefaultImpl.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- PlatformDefaultImpl.java 25 Jun 2003 23:08:44 -0000 1.16 +++ PlatformDefaultImpl.java 16 Jul 2003 15:16:06 -0000 1.17 @@ -61,6 +61,7 @@ import org.apache.ojb.broker.util.logging.LoggerFactory; import java.io.StringReader; +import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; @@ -68,7 +69,6 @@ import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; -import java.sql.CallableStatement; /** * This class is a concrete implementation of Platform. Provides default implementations for all @@ -89,7 +89,13 @@ return m_supportsBatchUpdates; } - public void checkForBatchSupport(Connection conn) + /** + * Sets platform information for if the jdbc driver/db combo support + * batch operations. Will only be checked once, then have same batch + * support setting for the entire session. + * @param conn + */ + protected void checkForBatchSupport(Connection conn) { if (!m_batchUpdatesChecked) { @@ -99,9 +105,9 @@ meta = conn.getMetaData(); m_supportsBatchUpdates = meta.supportsBatchUpdates(); } - catch (SQLException e) + catch (Throwable th) { - log.error("batch support check failed", e); + log.error(" batch support check failed", th); m_supportsBatchUpdates = false; } finally @@ -136,35 +142,34 @@ //nothing } - public void beforeBatch(PreparedStatement stmt) throws PlatformException - { - // nothing - } - - public void addBatch(PreparedStatement stmt) throws PlatformException - { - // nothing - try - { - stmt.addBatch(); - } - catch (SQLException e) - { - throw new PlatformException(e.getMessage(), e); - } - } - - public int[] executeBatch(PreparedStatement stmt) throws PlatformException - { - try - { - return stmt.executeBatch(); - } - catch (SQLException e) - { - throw new PlatformException(e.getMessage(), e); - } - } + public void beforeBatch(PreparedStatement stmt) throws PlatformException + { + // nothing + } + + public void addBatch(PreparedStatement stmt) throws PlatformException + { + try + { + stmt.addBatch(); + } + catch (SQLException e) + { + throw new PlatformException("Failure while calling 'addBatch' on given Statement object", e); + } + } + + public int[] executeBatch(PreparedStatement stmt) throws PlatformException + { + try + { + return stmt.executeBatch(); + } + catch (SQLException e) + { + throw new PlatformException("Failure while calling 'executeBatch' on given Statement object", e); + } + } /** @@ -191,8 +196,7 @@ } else { - log.info( - "Connection initializing: setAutoCommit jdbc-driver problems. " + e.getMessage()); + log.info("Connection initializing: setAutoCommit jdbc-driver problems. " + e.getMessage()); } } break; @@ -209,8 +213,7 @@ } else { - log.info( - "Connection initializing: setAutoCommit jdbc-driver problems. " + e.getMessage()); + log.info("Connection initializing: setAutoCommit jdbc-driver problems. " + e.getMessage()); } } break; @@ -249,7 +252,7 @@ * @see Platform#setObject(PreparedStatement, int, Object, int) */ public void setObjectForStatement(PreparedStatement ps, int index, Object value, int sqlType) - throws SQLException + throws SQLException { if ((value instanceof String) && (sqlType == Types.LONGVARCHAR)) { @@ -270,22 +273,6 @@ ps.setNull(index, sqlType); } - // /* - // * @see Platform#ignoreAutocommitExceptions() - // */ - // public boolean ignoreAutocommitExceptions() - // { - // return ignoreAutocommitExceptions; - // } - // - // /* - // * @see Platform#useAutoCommit() - // */ - // public int useAutoCommit() - // { - // return useAutoCommit; - // } - /** * Get join syntax type for this RDBMS - one on of the constants from JoinSyntaxType interface * @see Platform#getJoinSyntaxType @@ -337,7 +324,7 @@ { /*@todo implementation*/ throw new UnsupportedOperationException("Not supported by this implementation"); - } + } public String getLastInsertIdentityQuery(String tableName) { 1.5 +4 -33 db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformDb2Impl.java Index: PlatformDb2Impl.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformDb2Impl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PlatformDb2Impl.java 7 Apr 2003 17:59:40 -0000 1.4 +++ PlatformDb2Impl.java 16 Jul 2003 15:16:07 -0000 1.5 @@ -54,11 +54,10 @@ * . */ -import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Types; + /** * This class extends PlatformDefaultImpl and defines specific * behavior for the DB2 platform. @@ -73,43 +72,15 @@ * DB2 handles TINYINT (for mapping a byte). */ public void setObjectForStatement(PreparedStatement ps, int index, - Object value, int sqlType) throws SQLException + Object value, int sqlType) throws SQLException { if (sqlType == Types.TINYINT) { - ps.setByte(index, ((Byte)value).byteValue()); + ps.setByte(index, ((Byte) value).byteValue()); } else { super.setObjectForStatement(ps, index, value, sqlType); } } - - public void checkForBatchSupport(Connection conn) - { - if (!m_batchUpdatesChecked) - { - DatabaseMetaData meta = null; - try - { - meta = conn.getMetaData(); - m_supportsBatchUpdates = meta.supportsBatchUpdates(); - } - catch (SQLException e) - { - log.error("batch support check failed", e); - m_supportsBatchUpdates = false; - } - catch(AbstractMethodError ame ) - { - log.error(" batch support checkfailed", ame); - m_supportsBatchUpdates = false; - } - finally - { - m_batchUpdatesChecked = true; - } - } - } - } 1.16 +30 -29 db-ojb/src/java/org/apache/ojb/broker/platforms/Platform.java Index: Platform.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/platforms/Platform.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Platform.java 25 Jun 2003 23:08:44 -0000 1.15 +++ Platform.java 16 Jul 2003 15:16:07 -0000 1.16 @@ -56,12 +56,12 @@ import org.apache.ojb.broker.metadata.JdbcConnectionDescriptor; +import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.sql.CallableStatement; /** * this interface provides callbacks that allow to perform @@ -91,26 +91,26 @@ */ public void afterStatementClose(Statement stmt, ResultSet rs) throws PlatformException; - /** - * - * @param stmt the statement you want to batch on - * @throws PlatformException - */ - public void beforeBatch(PreparedStatement stmt) throws PlatformException; - - /** - * - * @param stmt the statement you are adding to the batch - * @throws PlatformException - */ - public void addBatch(PreparedStatement stmt) throws PlatformException; - - /** - * - * @param stmt the statement you want to execute the batch on - * @throws PlatformException - */ - public int[] executeBatch(PreparedStatement stmt) throws PlatformException; + /** + * + * @param stmt the statement you want to batch on + * @throws PlatformException + */ + public void beforeBatch(PreparedStatement stmt) throws PlatformException; + + /** + * + * @param stmt the statement you are adding to the batch + * @throws PlatformException + */ + public void addBatch(PreparedStatement stmt) throws PlatformException; + + /** + * + * @param stmt the statement you want to execute the batch on + * @throws PlatformException + */ + public int[] executeBatch(PreparedStatement stmt) throws PlatformException; /** * callback called immediately after a JDBC Connection has been obtained @@ -163,13 +163,14 @@ */ public boolean supportsBatchOperations(); - /** - * Sets platform information for if the jdbc driver/db combo support - * batch operations. Will only be checked once, then have same batch - * support setting for the entire session. - * @param conn - */ - public void checkForBatchSupport(Connection conn); +// arminw: think we can handle this internally +// /** +// * Sets platform information for if the jdbc driver/db combo support +// * batch operations. Will only be checked once, then have same batch +// * support setting for the entire session. +// * @param conn +// */ +// public void checkForBatchSupport(Connection conn); /** * Returns a query to create a sequence entry. --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org