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 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)

Mime
View raw message