db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6373) NPE in Statement.getWarnings()
Date Tue, 22 Oct 2013 08:03:43 GMT

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

Knut Anders Hatlen commented on DERBY-6373:

If I change the repro to use a PreparedStatement instead of a Statement, I don't see the NPE
if the server version is, but I do see it if the server version is or
The patch fixes the NPE for the PreparedStatement case too.

I think this means something was fixed in the server code in 10.9 that made the warnings propagate
to the client, and that it worked on simply because the client didn't get the warnings
and didn't exercise the buggy code.

> NPE in Statement.getWarnings()
> ------------------------------
>                 Key: DERBY-6373
>                 URL: https://issues.apache.org/jira/browse/DERBY-6373
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions:
>         Environment: JDK 7
>            Reporter: Glenn McGregor
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d6373-1a.diff, D6373.java
> After executing a batch in a prepared statement, I call getWarnings() on that statement.
A NPE is thrown.
> 	at org.apache.derby.client.am.SqlWarning.getSQLWarning(SqlWarning.java:117)
> 	at org.apache.derby.client.am.Statement.getWarnings(Statement.java:862)
> ...
> Addtional info:
> In a unit test, which worked for, a batch of 4 deletes were issued.
> They were expected to fail, as there were no matching rows. There was a SQLWarning chain
in the statement, 4 deep, one for each row that failed 
> with text:
> No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table.
> However, each warning had 'nextException_' null. When attempting to chain on the exceptions
when building the warning, a NPE is thrown.
> Perhaps something like changing line 105 of SqlWarning.java to
> if ( nextWarning_ != null && nextException_ != null )
> Of course perhaps there's always supposed to be a corresponding exception.

This message was sent by Atlassian JIRA

View raw message