Thanks David for the commit. I think you forgot to add the engine interfaces. maybe missed a svn add ?

Thanks
Sunitha.

[EMAIL PROTECTED] wrote:

Author: davidvc
Date: Wed Jul 12 15:05:50 2006
New Revision: 421435

URL: http://svn.apache.org/viewvc?rev=421435&view=rev
Log:
DERBY-1015: Define interface between network server and engine through Java interfaces. Contributed by Sunitha Kambhampati. Passes derbynetclientmats.


Modified:
   db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
   db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAStatement.java
   
db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
   
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedParameterSetMetaData.java
   
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java

Modified: 
db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
URL: 
http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java?rev=421435&r1=421434&r2=421435&view=diff
==============================================================================
--- 
db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java 
(original)
+++ 
db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java 
Wed Jul 12 15:05:50 2006
@@ -56,7 +56,7 @@
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.services.stream.HeaderPrintWriter;
import org.apache.derby.iapi.tools.i18n.LocalizedResource;
-import org.apache.derby.impl.jdbc.EmbedParameterSetMetaData;
+import org.apache.derby.iapi.jdbc.EngineParameterMetaData;
import org.apache.derby.impl.jdbc.EmbedSQLException;
import org.apache.derby.impl.jdbc.Util;

@@ -3948,7 +3948,7 @@
                String strVal;
                PreparedStatement ps = stmt.getPreparedStatement();
                int codePoint;
-               EmbedParameterSetMetaData pmeta = null;
+               EngineParameterMetaData pmeta = null;
                Vector paramDrdaTypes = new Vector();
                Vector paramLens = new Vector();
                ArrayList paramExtPositions = null;
@@ -4095,7 +4095,7 @@
     * @throws SQLException
         */
        private ArrayList readAndSetParams(int i, DRDAStatement stmt, int
-                                                                          
drdaType, EmbedParameterSetMetaData pmeta,
+                                                                          
drdaType, EngineParameterMetaData pmeta,
                                                                           
ArrayList paramExtPositions,
                                                                           int 
paramLenNumBytes)
                                throws DRDAProtocolException, SQLException
@@ -5804,7 +5804,7 @@
        {
                PreparedStatement ps = stmt.getPreparedStatement();
                ResultSetMetaData rsmeta = ps.getMetaData();
-               EmbedParameterSetMetaData pmeta = stmt.getParameterMetaData();
+               EngineParameterMetaData pmeta = stmt.getParameterMetaData();
                int numElems = 0;
                if (e == null || e instanceof SQLWarning)
                {
@@ -5856,7 +5856,7 @@

                ResultSet rs = null;
                ResultSetMetaData rsmeta = null;
-               EmbedParameterSetMetaData pmeta = null;
+               EngineParameterMetaData pmeta = null;
                if (!stmt.needsToSendParamData)
                        rs = stmt.getResultSet();
                if (rs == null)         // this is a CallableStatement, use 
parameter meta data
@@ -5952,7 +5952,7 @@
     * @throws SQLException
         */
private void writeSQLDTAGRP(DRDAStatement stmt, ResultSetMetaData rsmeta, - EmbedParameterSetMetaData pmeta,
+                                                               
EngineParameterMetaData pmeta,
                                                                int colStart, 
int colEnd, boolean first)
                throws DRDAProtocolException, SQLException
        {
@@ -6695,7 +6695,7 @@
         * @throws DRDAProtocolException
     * @throws SQLException
         */
-       private void writeSQLDAGRP(ResultSetMetaData rsmeta, 
EmbedParameterSetMetaData pmeta, int elemNum, boolean rtnOutput)
+       private void writeSQLDAGRP(ResultSetMetaData rsmeta, 
EngineParameterMetaData pmeta, int elemNum, boolean rtnOutput)
                throws DRDAProtocolException, SQLException
        {
                //jdbc uses offset of 1
@@ -6831,14 +6831,14 @@
        }

- private void writeSQLUDTGRP(ResultSetMetaData rsmeta, EmbedParameterSetMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
+       private void writeSQLUDTGRP(ResultSetMetaData rsmeta, 
EngineParameterMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
                throws DRDAProtocolException,SQLException
        {
                writer.writeByte(CodePoint.NULLDATA);

        }

-       private void writeSQLDOPTGRP(ResultSetMetaData rsmeta, 
EmbedParameterSetMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
+       private void writeSQLDOPTGRP(ResultSetMetaData rsmeta, 
EngineParameterMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
                throws DRDAProtocolException,SQLException
        {

@@ -6858,7 +6858,7 @@
        }


-       private void writeSQLDXGRP(ResultSetMetaData rsmeta, 
EmbedParameterSetMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
+       private void writeSQLDXGRP(ResultSetMetaData rsmeta, 
EngineParameterMetaData pmeta, int jdbcElemNum, boolean rtnOutput)
                throws DRDAProtocolException,SQLException
        {
                // Null indicator indicates we have data

Modified: 
db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAStatement.java
URL: 
http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAStatement.java?rev=421435&r1=421434&r2=421435&view=diff
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAStatement.java 
(original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAStatement.java 
Wed Jul 12 15:05:50 2006
@@ -39,10 +39,11 @@
import org.apache.derby.iapi.jdbc.BrokeredPreparedStatement;
import org.apache.derby.iapi.jdbc.EngineConnection;
import org.apache.derby.iapi.jdbc.EngineStatement;
+import org.apache.derby.iapi.jdbc.EnginePreparedStatement;
+import org.apache.derby.iapi.jdbc.EngineParameterMetaData;
import org.apache.derby.iapi.reference.JDBC30Translation;
import org.apache.derby.iapi.sql.execute.ExecutionContext;
import org.apache.derby.iapi.util.StringUtil;
-import org.apache.derby.impl.jdbc.EmbedParameterSetMetaData;
import org.apache.derby.impl.jdbc.Util;

/**
@@ -81,7 +82,7 @@
        protected byte [] rslsetflg;            // Result Set Flags
        protected int maxrslcnt;                        // Maximum Result set 
count
        protected PreparedStatement ps;     // Prepared statement
-       protected EmbedParameterSetMetaData stmtPmeta; // param metadata
+       protected EngineParameterMetaData stmtPmeta; // param metadata
        protected boolean isCall;
        protected String procName;                      // callable statement's 
method name
        private   int[] outputTypes;            // jdbc type for output 
parameter or NOT_OUTPUT_PARAM
@@ -537,11 +538,7 @@
         */
        protected PreparedStatement getPreparedStatement() throws SQLException
        {
-               if (ps instanceof BrokeredPreparedStatement)
-                       return (PreparedStatement)(
-                                                  ((BrokeredPreparedStatement) 
ps).getStatement());
-               else
-                       return ps;
+               return ps;
        }


@@ -1153,7 +1150,7 @@
        {
                if (ps != null && ps instanceof CallableStatement)
                {
-                       EmbedParameterSetMetaData pmeta =       
getParameterMetaData();
+                       EngineParameterMetaData pmeta =         
getParameterMetaData();

                        return Math.min(pmeta.getPrecision(index),
                                                        
FdocaConstants.NUMERIC_MAX_PRECISION);
@@ -1174,7 +1171,7 @@
        {
                if (ps != null && ps instanceof CallableStatement)
                {
-                       EmbedParameterSetMetaData pmeta =       
getParameterMetaData();
+                       EngineParameterMetaData pmeta =         
getParameterMetaData();
                        return 
Math.min(pmeta.getScale(index),FdocaConstants.NUMERIC_MAX_PRECISION);
                }
else @@ -1324,7 +1321,7 @@

        private void setupCallableStatementParams(CallableStatement cs) throws 
SQLException
        {
-               EmbedParameterSetMetaData pmeta =       getParameterMetaData();
+               EngineParameterMetaData pmeta =         getParameterMetaData();
                int numElems = pmeta.getParameterCount();

                for ( int i = 0; i < numElems; i ++)
@@ -1555,31 +1552,21 @@

        
/** - * Get parameter metadata from EmbedPreparedStatement or - * BrokeredPreparedStatement. We use reflection because we don't know which
-        * we have.
- * - * @return EmbedParameterSetMetaData for the prepared statement. + * Retrieve the ParameterMetaData for the prepared statement. + * To do so, use the engine defined interfaces:
+     * @see org.apache.derby.iapi.jdbc.EnginePreparedStatement
+ * @see org.apache.derby.iapi.jdbc.EngineParameterMetaData + * @return EngineParameterMetaData for the prepared statement. * Note: there is no separate BrokeredParameterSetMetaData.
         */
-       protected EmbedParameterSetMetaData getParameterMetaData() throws 
SQLException
+       protected EngineParameterMetaData getParameterMetaData() throws 
SQLException
        {
                if (stmtPmeta != null)
                        return stmtPmeta;

-               EmbedParameterSetMetaData pmeta = null;
-               Class[] getParameterMetaDataParam = {};
-               try {
-                       Method sh =
-                               
getPreparedStatement().getClass().getMethod("getEmbedParameterSetMetaData", 
getParameterMetaDataParam);
-                       pmeta = (EmbedParameterSetMetaData)
-                               sh.invoke(getPreparedStatement(),null);
-                       stmtPmeta = pmeta;
-               }
-               catch (Exception e) {
-                       handleReflectionException(e);
-               }
-               return stmtPmeta;
+               stmtPmeta = 
((EnginePreparedStatement)ps).getEmbedParameterSetMetaData();
+ + return stmtPmeta;
        }
        
        /**

Modified: 
db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
URL: 
http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java?rev=421435&r1=421434&r2=421435&view=diff
==============================================================================
--- 
db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
 (original)
+++ 
db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
 Wed Jul 12 15:05:50 2006
@@ -32,7 +32,7 @@
        obtained through the BrokeredStatementControl getRealPreparedStatement 
method.
 */
public class BrokeredPreparedStatement extends BrokeredStatement
-       implements PreparedStatement
+       implements EnginePreparedStatement
{

        /**
@@ -46,6 +46,21 @@
                this.sql = sql;
    }

+    /**
+     * Imitate the getParameterMetaData() function in JDBC 3.0
+     *
+     * Retrieves the number, types and properties of this PreparedStatement
+     * object's parameters.
+     *
+     * @return a EngineParameterMetaData object that contains information 
about the
+     * number, types and properties of this PreparedStatement object's 
parameters.
+     * @exception SQLException if a database access error occurs
+     */
+    public EngineParameterMetaData getEmbedParameterSetMetaData()
+    throws SQLException
+    {
+        return 
((EnginePreparedStatement)getPreparedStatement()).getEmbedParameterSetMetaData();
+    }
        /**
     * A prepared SQL query is executed and its ResultSet is returned.
     *

Modified: 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedParameterSetMetaData.java
URL: 
http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedParameterSetMetaData.java?rev=421435&r1=421434&r2=421435&view=diff
==============================================================================
--- 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedParameterSetMetaData.java
 (original)
+++ 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedParameterSetMetaData.java
 Wed Jul 12 15:05:50 2006
@@ -26,6 +26,7 @@
import org.apache.derby.iapi.types.DataTypeUtilities;
import org.apache.derby.iapi.reference.JDBC30Translation;
import org.apache.derby.iapi.reference.SQLState;
+import org.apache.derby.iapi.jdbc.EngineParameterMetaData;

import java.sql.SQLException;
import java.sql.Types;
@@ -37,13 +38,12 @@
 * It provides the parameter meta data for callable & prepared statements.
 * The subclass in Local30 actually implements ParameterMetaData interface.
 *
- * Our middle-tier servers or tools (eg. drda network server) can use it this 
way:
- * import org.apache.derby.impl.jdbc.EmbedPreparedStatement;
- * import org.apache.derby.impl.jdbc.EmbedParameterSetMetaData;
- *
- *   EmbedParameterSetMetaData pmeta = ((EmbedPreparedStatement) 
ps).getEmbedParameterSetMetaData();
+ * For use of ParameterMetaData functionality in network server, please do not 
use
+ * this class directly. Instead use the method available on 
EnginePreparedStatement
+ * @see org.apache.derby.iapi.jdbc.EngineParameterMetaData
+ * @see org.apache.derby.iapi.jdbc.EnginePreparedStatement
 */
-public class EmbedParameterSetMetaData
+public class EmbedParameterSetMetaData implements EngineParameterMetaData
    {

    private final ParameterValueSet pvs;

Modified: 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java
URL: 
http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java?rev=421435&r1=421434&r2=421435&view=diff
==============================================================================
--- 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java
 (original)
+++ 
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java
 Wed Jul 12 15:05:50 2006
@@ -70,6 +70,8 @@
import java.sql.Types;

import org.apache.derby.iapi.jdbc.BrokeredConnectionControl;
+import org.apache.derby.iapi.jdbc.EngineParameterMetaData;
+import org.apache.derby.iapi.jdbc.EnginePreparedStatement;

/**
 *
@@ -81,7 +83,7 @@
 */
public abstract class EmbedPreparedStatement
        extends EmbedStatement
-       implements java.sql.PreparedStatement
+       implements EnginePreparedStatement
{

        //Moving jdbc2.0 batch related code in this class because 
callableStatement in jdbc 20 needs
@@ -1444,11 +1446,11 @@
    * Retrieves the number, types and properties of this PreparedStatement
    * object's parameters.
    *
-    * @return a EmbedParameterSetMetaData object that contains information 
about the
+    * @return a EngineParameterMetaData object that contains information about 
the
    * number, types and properties of this PreparedStatement object's 
parameters.
    * @exception SQLException if a database access error occurs
        */
-       public EmbedParameterSetMetaData getEmbedParameterSetMetaData()
+       public EngineParameterMetaData getEmbedParameterSetMetaData()
        throws SQLException
        {
          checkExecStatus();




Reply via email to