db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2558) client trhows ArrayIndexOutOfBounds exception instead of parameter out of range
Date Mon, 14 May 2007 19:30:16 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495760
] 

Kathey Marsden commented on DERBY-2558:
---------------------------------------

It seems to me that since the ArrayIndexOutOfBounds exception is being thrown from within
client, we should be able to get a java reproduction for this outside of ij.  I tried, but
got  a perfectly reasonable error message with the code below, so I am not sure how to reproduce,
but it does seem like just working around the issue in ij is not the   best  solution.


import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.PreparedStatement;

public class d2558 {

    public static void main(String[] args) throws Exception {

        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/wombat;create=true;traceFile=trace.out");
        Statement s = conn.createStatement();

        try {
            s.executeUpdate("DROP TABLE t ");
        } catch (SQLException se) {}

       

        s.executeUpdate("Create table t (i int)");
        s.executeUpdate("insert into t values (3), (4)");
        PreparedStatement ps = conn.prepareStatement("select * from t where i=?");
        ps.setObject(1,new Integer(3));
        ps.setObject(2,new Integer(4));
        ResultSet rs = ps.executeQuery();
        

    }
}


> client trhows ArrayIndexOutOfBounds exception instead of parameter out of range 
> --------------------------------------------------------------------------------
>
>                 Key: DERBY-2558
>                 URL: https://issues.apache.org/jira/browse/DERBY-2558
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Bryan Pendleton
>            Priority: Minor
>         Attachments: IJCheckParms.diff
>
>
>       
> The following sql gives an ArrayIndexOutOfBoundsException with client.  With embedded
we get the expected.
> ERROR XCL13: The parameter position '2' is out of range.  The number of parameters for
this prepared  statement is '1'.
> ij> create table t (i int);
> 0 rows inserted/updated/deleted
> ij> insert into t values (3), (4);
> 2 rows inserted/updated/deleted
> ij> execute 'select * from t where i=?' using 'values (3,4)';
> IJ WARNING: Autocommit may close using result set
> JAVA ERROR: java.lang.ArrayIndexOutOfBoundsException: 1
> java.lang.ArrayIndexOutOfBoundsException: 1
>         at org.apache.derby.client.am.PreparedStatement.setObjectX(PreparedStatement.java:1506)
>         at org.apache.derby.client.am.PreparedStatement.setObject(PreparedStatement.java:1458)
>         at org.apache.derby.impl.tools.ij.util.DisplayMulti(util.java:696)
>         at org.apache.derby.impl.tools.ij.utilMain.displayResult(utilMain.java:474)
>         at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:351)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:270)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:215)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:181)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:56)
>         at org.apache.derby.tools.ij.main(ij.java:71)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message