Thanks for catching that, Sunitha, I added them.

David

Sunitha Kambhampati wrote:
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