db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Satheesh Bandaram <sathe...@Sourcery.Org>
Subject Re: [jira] Commented: (DERBY-186) isFirst() returns true when relative(x) goes beyond result set
Date Wed, 06 Apr 2005 01:08:29 GMT
This patch is committed.

Satheesh

Sending       
java\engine\org\apache\derby\impl\sql\execute\ScrollInsensitiveResultSet.java
Adding        
java\testing\org\apache\derbyTesting\functionTests\master\testRelative.out
Sending       
java\testing\org\apache\derbyTesting\functionTests\suites\jdbcapi.runall
Adding        
java\testing\org\apache\derbyTesting\functionTests\tests\jdbcapi\testRelative.java
Transmitting file data ....
Committed revision 160247.

Shreyas Kaushik wrote:

> Did anyone get  a chance to look at this and commit it?
>
> ~ Shreyas
>
> Shreyas Kaushik wrote:
>
>> Attached the latest patch. This addition to this patch from the old
>> one is that I have added the test
>> in the jdbcapi.runall file for it to run in both Embedded and Network
>> Server mode.
>>
>> ~ Shreyas
>>
>> Shreyas Kaushik wrote:
>>
>>> Hi Mamta,
>>>
>>> Thanks for all the info. This definitely gave more insight into this
>>> test framework.
>>> I recently submitted a patch for Derby-174 and Derby-175 for which I
>>> have just submitted a
>>> patch for for jdbcapi.runall file. After that gets in I will
>>> definitely add this one as well
>>> and submit all of it in a fresh patch. I am waiting for that to go
>>> in as there could be conflicts
>>> in the jdbcapi.runall file.
>>>
>>> ~ Shreyas
>>>
>>> Mamta Satoor wrote:
>>>
>>>> On Tue, 29 Mar 2005 22:45:24 +0530, Shreyas Kaushik
>>>> <Shreyas.Kaushik@sun.com> wrote:
>>>>  
>>>>
>>>>> Hi Mamta,
>>>>>
>>>>> Thanks for all the info.
>>>>> From this I see that adding it in jdbcapi will run in both
>>>>> embedded and
>>>>> netwrok server mode.
>>>>> Should I add some properties file specifically for my test?
>>>>> I'm sorry I ask this again, I'm not clear what changes I have to
>>>>> do to
>>>>> my patch ?
>>>>>
>>>>> ~ Shreyas
>>>>>
>>>>>   
>>>>
>>>>
>>>>
>>>>
>>>> Hi Shreyas,
>>>>
>>>> You will see that each of the directories under functionTests/tests
>>>> have their own default properties file. If a newly added test does not
>>>> have a test specific properties file, then the default properties file
>>>> gets picked up. For eg, test declareGlobalTempTableJavaJDBC30.java has
>>>> its own properties file because we do not want the test to be run with
>>>> some jdks and we speify that
>>>> declareGlobalTempTableJavaJDBC30_app.properties. Since the test you
>>>> are adding has no special requirements, you donot need a properties
>>>> file for it and harness will automatically use the default properties
>>>> file for your test.
>>>>
>>>> Feel free to ask more questions if you have any. Since I have been
>>>> working on this test harness for so long, I might not be visualizing
>>>> some questions that a new developer might have.
>>>>
>>>> thanks,
>>>> Mamta
>>>>  
>>>>
>> ------------------------------------------------------------------------
>>
>> Index:
>> java/engine/org/apache/derby/impl/sql/execute/ScrollInsensitiveResultSet.java
>>
>> ===================================================================
>> ---
>> java/engine/org/apache/derby/impl/sql/execute/ScrollInsensitiveResultSet.java   
>> (revision 159474)
>> +++
>> java/engine/org/apache/derby/impl/sql/execute/ScrollInsensitiveResultSet.java   
>> (working copy)
>> @@ -750,6 +750,7 @@
>>             else
>>             {
>>                 afterLast = true;
>> +                currentPosition = positionInSource + 1;
>>             }
>>         }
>>
>> Index:
>> java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/testRelative.java
>>
>> ===================================================================
>> ---
>> java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/testRelative.java
  
>> (revision 0)
>> +++
>> java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/testRelative.java
  
>> (revision 0)
>> @@ -0,0 +1,98 @@
>> +package org.apache.derbyTesting.functionTests.tests.jdbcapi;
>> +
>> +
>> +import java.sql.*;
>> +
>> +import org.apache.derby.tools.ij;
>> +import org.apache.derby.tools.JDBCDisplayUtil;
>> +
>> +public class testRelative {
>> +   public static void main(String[] args) {
>> +        test1(args);        +    }
>> +    +    public static void test1(String []args) {  
>> +                Connection con;
>> +                ResultSet rs;
>> +                PreparedStatement stmt = null;
>> +                PreparedStatement pStmt = null;
>> +                Statement stmt1 = null;
>> +                String returnValue = null;
>> +
>> +                System.out.println("Test testRelative starting");
>> +
>> +                try
>> +                {
>> +                        // use the ij utility to read the property
>> file and
>> +                        // make the initial connection.
>> +                        ij.getPropertyArg(args);
>> +                        con = ij.startJBMS();
>> +                   
>> +           
>> con.setAutoCommit(false);                                                 
>> +                        +                        stmt =
>> con.prepareStatement("create table testRelative(name varchar(10), i
>> int)");
>> +               stmt.executeUpdate();
>> +               con.commit();
>> +              
>> +               pStmt = con.prepareStatement("insert into
>> testRelative values (?,?)");
>> +                             
>> +               pStmt.setString(1,"work1");
>> +            pStmt.setNull(2,1);
>> +            pStmt.addBatch();
>> +           
>> +            pStmt.setString(1,"work2");
>> +            pStmt.setNull(2,2);
>> +            pStmt.addBatch();
>> +           
>> +            pStmt.setString(1,"work3");
>> +            pStmt.setNull(2,3);
>> +            pStmt.addBatch();
>> +           
>> +            pStmt.setString(1,"work4");
>> +            pStmt.setNull(2,4);
>> +            pStmt.addBatch();
>> +
>> +       
>> +            pStmt.executeBatch();
>> +            con.commit();
>> +
>> +            stmt1 =
>> con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
>>
>> +                rs = stmt1.executeQuery("select * from
>> testRelative");                       
>> +
>> +               rs.next(); // First Record
>> +               returnValue = rs.getString("name");
>> +               System.out.println("Value="+returnValue);
>> +
>> +               rs.relative(2);
>> +               System.out.println("isFirst=" + rs.isFirst() + "
>> isLast=" + rs.isLast() + " isAfterLast=" + rs.isAfterLast());
>> +               returnValue = rs.getString("name");
>> +               System.out.println("Value="+returnValue);
>> +
>> +               rs.relative(-2);
>> +               returnValue = rs.getString("name");
>> +               System.out.println("Value="+returnValue);
>> +
>> +               rs.relative(10);
>> +               System.out.println("isFirst=" + rs.isFirst() + "
>> isLast=" + rs.isLast() + " isAfterLast=" + rs.isAfterLast());
>> +
>> +               returnValue = rs.getString("name");
>> +               System.out.println("Value="+returnValue);
>> +
>> +         } catch(SQLException sqle) {
>> +            dumpSQLExceptions(sqle);
>> +            sqle.printStackTrace();
>> +         } catch(Throwable e) {
>> +            System.out.println("FAIL -- unexpected exception: "+e);
>> +                   e.printStackTrace();
>> +
>> +         }
>> +      }
>> +      +      static private void dumpSQLExceptions (SQLException se) {
>> +                System.out.println("FAIL -- unexpected exception");
>> +                while (se != null) {
>> +                       
>> System.out.println("SQLSTATE("+se.getSQLState()+"): "+se);
>> +                        se = se.getNextException();
>> +                }
>> +        }
>> +}
>> \ No newline at end of file
>> Index:
>> java/testing/org/apache/derbyTesting/functionTests/master/testRelative.out
>>
>> ===================================================================
>> ---
>> java/testing/org/apache/derbyTesting/functionTests/master/testRelative.out   
>> (revision 0)
>> +++
>> java/testing/org/apache/derbyTesting/functionTests/master/testRelative.out   
>> (revision 0)
>> @@ -0,0 +1,9 @@
>> +Test testRelative starting
>> +Value=work1
>> +isFirst=false isLast=false isAfterLast=false
>> +Value=work3
>> +Value=work1
>> +isFirst=false isLast=false isAfterLast=true
>> +FAIL -- unexpected exception
>> +SQLSTATE(24000): SQL Exception: Invalid cursor state - no current row.
>> +SQL Exception: Invalid cursor state - no current row.
>> Index:
>> java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall
>> ===================================================================
>> ---
>> java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall   
>> (revision 159474)
>> +++
>> java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall   
>> (working copy)
>> @@ -14,4 +14,5 @@
>> jdbcapi/parameterMapping.java
>> jdbcapi/setTransactionIsolation.java
>> jdbcapi/prepStmtNull.java
>> +jdbcapi/testRelative.java
>>
>>  
>>
>
>
>


Mime
View raw message