[
https://issues.apache.org/jira/browse/DERBY-6373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13801675#comment-13801675
]
Knut Anders Hatlen commented on DERBY-6373:
-------------------------------------------
It looks like it changed with DERBY-129. The server sent the warnings to the
client even before that fix, but it gave them sqlcode 100, which the client
sometimes ignores (sqlcode 100 is used by the network protocol to mark end of
data). After DERBY-129 a different sqlcode is used for warnings that should not
be ignored by the client, and the client will always see them.
> 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)