[
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 10.8.2.2, but I do see it if the
server version is 10.9.1.0 or 10.10.1.1. 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 10.8.2.2 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: 10.10.1.1
> 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 10.8.2.2, 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
(v6.1#6144)