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 "Raghavendra Neelekani (JIRA)" <ji...@apache.org> on 2013/06/28 08:11:24 UTC

[jira] [Commented] (DERBY-4993) Nested connection not marked as closed after session level error

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

Raghavendra Neelekani commented on DERBY-4993:
----------------------------------------------

Hi Dag
what is the above comment means ? Has this issue been triaged ?
                
> Nested connection not marked as closed after session level error
> ----------------------------------------------------------------
>
>                 Key: DERBY-4993
>                 URL: https://issues.apache.org/jira/browse/DERBY-4993
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.7.1.1
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>              Labels: derby_triage10_8
>
> Inside a stored procedure, with a nested connection:
>  Connection c = DriverManager.getConnection("jdbc:default:connection");
> I see a session level error:
>   } catch (SQLException e) {
>       assertSQLState("expected CONN_INTERRUPT", "08000", e);
>       assertTrue(c.isClosed());
> However, the second assert above fails. Granted, we are still executing
> inside the stored routine, but the statement is now "dead"; the calling
> statment will see exception 40XC0 (dead statement) and the parent
> connection will then be marked as closed (as expected).
> But shouldn't the nested connection also be marked closed at this time?
> If I try to do something with the connection at this point, e.g. trying
> to prepare a new statement I see a NPE because the lcc is already gone:
> Caused by: java.lang.NullPointerException
> 	at org.apache.derby.impl.sql.compile.CompilerContextImpl.initRequiredPriv(CompilerContextImpl.java:717)
> 	at org.apache.derby.impl.sql.compile.CompilerContextImpl.<init>(CompilerContextImpl.java:702)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.pushCompilerContext(GenericLanguageConnectionContext.java:2355)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:236)
> 	at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:91)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:1101)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:610)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira