User: schaefera
  Date: 01/11/03 22:56:18

  Modified:    src/main/org/jboss/resource/adapter/jdbc/local
                        ConnectionInPool.java PreparedStatementFactory.java
  Log:
  Fixes for bug #424768 to support ResultSetTyp and Concurrency for prepared
  Statements.
  
  Revision  Changes    Path
  1.2       +17 -4     
jbosscx/src/main/org/jboss/resource/adapter/jdbc/local/ConnectionInPool.java
  
  Index: ConnectionInPool.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/local/ConnectionInPool.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConnectionInPool.java     2001/09/08 19:32:20     1.1
  +++ ConnectionInPool.java     2001/11/04 06:56:18     1.2
  @@ -624,6 +624,13 @@
      public PreparedStatement prepareStatement(String sql)
             throws SQLException
      {
  +      return prepareStatement( new PSCacheKey( con, sql ) );
  +   }
  +   
  +   protected PreparedStatement prepareStatement( PSCacheKey pKey )
  +      throws
  +         SQLException
  +   {
         if (con == null)
         {
            throw new SQLException(CLOSED);
  @@ -633,16 +640,20 @@
            PreparedStatementInPool wrapper = null;
            if (preparedStatementCacheSize >= 0)
            {
  -            PreparedStatement ps = 
(PreparedStatement)preparedStatementCache.useObject(sql);
  +            PreparedStatement ps = 
(PreparedStatement)preparedStatementCache.useObject( pKey );
               if (ps == null)
               {
                  throw new SQLException("Unable to create PreparedStatement!");
               }
  -            wrapper = new PreparedStatementInPool(ps, this, sql);
  +            wrapper = new PreparedStatementInPool(ps, this, pKey.sql);
            }
            else
            {
  -            wrapper = new PreparedStatementInPool(con.prepareStatement(sql), this, 
sql);
  +            wrapper = new PreparedStatementInPool(
  +               con.prepareStatement( pKey.sql, pKey.rsType, pKey.rsConcur ),
  +               this,
  +               pKey.sql
  +            );
            }
            statements.add(wrapper);
            return wrapper;
  @@ -829,7 +840,9 @@
      public PreparedStatement prepareStatement(String sql, int resultSetType, int 
resultSetConcurrency)
             throws SQLException
      {
  -      return prepareStatement(sql);
  +      return prepareStatement(
  +         new PSCacheKey( con, sql, resultSetType, resultSetConcurrency )
  +      );
      }
   
      /**
  
  
  
  1.2       +14 -6     
jbosscx/src/main/org/jboss/resource/adapter/jdbc/local/PreparedStatementFactory.java
  
  Index: PreparedStatementFactory.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/local/PreparedStatementFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PreparedStatementFactory.java     2001/09/08 19:32:20     1.1
  +++ PreparedStatementFactory.java     2001/11/04 06:56:18     1.2
  @@ -7,10 +7,18 @@
   import org.jboss.pool.cache.CachedObjectFactory;
   
   /**
  - * Creates PreparedStatements for a PS cache. Doesn't yet handle different
  + * Creates PreparedStatements for a PS cache. Does now handle different
    * isolation levels, etc.
    *
    * @author   Aaron Mulder [EMAIL PROTECTED]
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
  + *
  + * <p><b>Revisions:</b></p>
  + * <p><b>20011103: Andy</b>
  + * <ul>
  + * <li>Now use PSCacheKey instead of plain SQL-Statement</li>
  + * </ul>
  + * </p>
    */
   public class PreparedStatementFactory extends CachedObjectFactory
   {
  @@ -29,15 +37,15 @@
      /**
       * Creates a PreparedStatement from a Connection & SQL String.
       *
  -    * @param sqlString  Description of Parameter
  -    * @return           Description of the Returned Value
  +    * @param pCacheKey Cache Key containing the info
  +    * @return Created prepared statement or null if creation failed
       */
  -   public Object createObject(Object sqlString)
  +   public Object createObject( Object pCacheKey )
      {
  -      String sql = (String)sqlString;
  +      PSCacheKey lKey = (PSCacheKey) pCacheKey;
         try
         {
  -         return con.prepareStatement(sql);
  +         return con.prepareStatement( lKey.sql, lKey.rsType, lKey.rsConcur );
         }
         catch (SQLException e)
         {
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to