You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2008/05/05 17:03:55 UTC

[jira] Updated: (DERBY-1183) Client java.sql.ResultSet.getCursorName() does not return the correct cursor name for Statements after the first execution

     [ https://issues.apache.org/jira/browse/DERBY-1183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-1183:
---------------------------------

    Derby Info:   (was: [Patch Available])

> Client java.sql.ResultSet.getCursorName() does not return the correct cursor name for Statements after the first execution
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1183
>                 URL: https://issues.apache.org/jira/browse/DERBY-1183
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.2.1.6
>            Reporter: Kathey Marsden
>            Assignee: Dag H. Wanvik
>             Fix For: 10.2.1.6
>
>         Attachments: derby-1183-2.diff, derby-1183-2.stat, derby-1183.diff, derby-1183.stat
>
>
> For client, if the cursor name is set with java.sql.Statement.setCursorName() the name set by the user only applies to the first execution.  Subsequent executions use the default cursor name.  To reproduce run the progam below as follows:
> D>java -Dframework=DerbyNetClient GetCursorName
> 10.2.0.0 alpha
> Apache Derby
> Apache Derby Network Client JDBC Driver
> rs.getCursorName():MyCursor
> rs.getCursorName():SQL_CURLH000C2
> With embedded it is ok:
> D>java  GetCursorName
> 10.2.0.0 alpha
> Apache Derby
> Apache Derby Embedded JDBC Driver
> rs.getCursorName():MyCursor
> rs.getCursorName():MyCursor
> import java.sql.Connection;
> import java.sql.DatabaseMetaData;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import org.apache.derbyTesting.functionTests.util.TestUtil;
> class GetCursorName
> {
>     
>     public static void main (String args [])throws Exception 
>     {
>     	testGetCursorName();
>     }
>     
>     public static void testGetCursorName() throws SQLException
>     {
> 		
> 		Connection conn = TestUtil.getConnection("wombat","create=true");
> 		Statement stmt = null;
> 		ResultSet rs = null;
> 		DatabaseMetaData md = conn.getMetaData() ;
> 		System.out.println(md.getDatabaseProductVersion());
>         System.out.println(md.getDatabaseProductName());
>         System.out.println(md.getDriverName());
> 		
> 		stmt = conn.createStatement();
> 		// Setting the cursor name works for one execution ok.
> 		stmt.setCursorName("MyCursor");
> 		rs = stmt.executeQuery("select count(*) from sys.systables");
> 		System.out.println("rs.getCursorName():" + rs.getCursorName());
> 		rs.close();
> 		//Executing another query seems to clears the cursor name.
> 		// getCursorName() will print the default cursor name SQLXXX.
> 		rs = stmt.executeQuery("select count(*) from sys.systables");
> 		System.out.println("rs.getCursorName():" + rs.getCursorName());
> 		rs.close();
> 		stmt.close();
>         conn.close();
>       }
>   
> }
> I noticed this bug when coverting the checkDataSource test for client.
> I will change that test to set the cursor name for each execution for client.

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