You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2004/12/26 22:20:52 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/broker/platforms PlatformOracleImpl.java

brj         2004/12/26 13:20:52

  Modified:    src/java/org/apache/ojb/broker/platforms
                        PlatformOracleImpl.java
  Log:
  Enables usage of SequenceManagerStoredProcedureImpl when OJB
  is running under Oracle. by Vadim Gritsenko.
  
  Revision  Changes    Path
  1.22      +27 -4     db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformOracleImpl.java
  
  Index: PlatformOracleImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/platforms/PlatformOracleImpl.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- PlatformOracleImpl.java	15 Aug 2004 22:39:10 -0000	1.21
  +++ PlatformOracleImpl.java	26 Dec 2004 21:20:51 -0000	1.22
  @@ -15,9 +15,6 @@
    * limitations under the License.
    */
   
  -import org.apache.ojb.broker.util.logging.Logger;
  -import org.apache.ojb.broker.util.logging.LoggerFactory;
  -
   import java.io.ByteArrayInputStream;
   import java.io.InputStreamReader;
   import java.io.Reader;
  @@ -25,6 +22,7 @@
   import java.lang.reflect.Field;
   import java.security.AccessController;
   import java.security.PrivilegedAction;
  +import java.sql.CallableStatement;
   import java.sql.Connection;
   import java.sql.DatabaseMetaData;
   import java.sql.PreparedStatement;
  @@ -32,6 +30,9 @@
   import java.sql.Statement;
   import java.sql.Types;
   
  +import org.apache.ojb.broker.util.logging.Logger;
  +import org.apache.ojb.broker.util.logging.LoggerFactory;
  +
   /**
    * This class is a concrete implementation of <code>Platform</code>. Provides an implementation
    * that works around some issues with Oracle in general and Oracle's Thin driver in particular.
  @@ -60,6 +61,28 @@
   
       private Logger logger = LoggerFactory.getLogger(PlatformOracleImpl.class);
   
  +    /**
  +     * Method prepareNextValProcedureStatement implementation 
  +     * is simply copied over from PlatformMsSQLServerImpl class.
  +     * @see org.apache.ojb.broker.platforms.Platform#prepareNextValProcedureStatement(java.sql.Connection, java.lang.String, java.lang.String)
  +     */
  +    public CallableStatement prepareNextValProcedureStatement(Connection con, String procedureName, String sequenceName)
  +            throws PlatformException
  +    {
  +        try
  +        {
  +            String sp = "{?= call " + procedureName + " (?)}";
  +            CallableStatement cs = con.prepareCall(sp);
  +            cs.registerOutParameter(1, Types.INTEGER);
  +            cs.setString(2, sequenceName);
  +            return cs;
  +        }
  +        catch (SQLException e)
  +        {
  +            throw new PlatformException(e);
  +        }
  +    }
  +    
       /**
        * In Oracle we set escape processing explizit 'true' after a statement was created.
        */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org