logo       

Sponsor
FREE Network Mapping Tool for Microsoft® Office Visio® Professional 2007
Don't map your network by hand - let LANsurveyor Exx press for Microsoft Visio Professional 2007 automatically create network diagrams for you!

Re: [jira] Commented: (DERBY-186) isFirst() returns true when relative(x) g: msg#00546

apache.db.derby.devel

Subject: Re: [jira] Commented: (DERBY-186) isFirst() returns true when relative(x) goes beyond result set

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-xsfywfwIY+M@xxxxxxxxxxxxxxxx> 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

<Prev in Thread] Current Thread [Next in Thread>
Sponsor
FREE Network Mapping Tool for Microsoft® OfficeVisio Professional 2007
Don't map your network by hand - let LANsurveyor Express for Microsoft Visio Professional 2007
automatically create network diagrams for you!
Google Custom Search

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation

Home | sitemap | advertise | OSDir is an inevitable website. super tiny logo