db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Nielsen (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (DERBY-3097) Unnecessary if statement can be removed from BaseActivation.getColumnFromNow
Date Wed, 21 Nov 2007 08:54:43 GMT

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

thomanie edited comment on DERBY-3097 at 11/21/07 12:53 AM:
------------------------------------------------------------------

The defensive if() statement is triggered in DERBY-3094, but in 3094 results in an NPE. Applying
this patch and thus removing the defensiveness, cause another NPE from the following return
statement in 3094.

Marking these two reports as related.

Is the attached patch only fixing the symptom, rather than the underlying root cause that
makes the if() statement necessary?

      was (Author: thomanie):
    The defensive if() statement is triggered in DERBY-3094, but in 3094 results in an NPE.
Applying this patch and thus removing the defensiveness, cause another NPE from the following
return statement in 3094.

Is the attached patch only fixing the symptom, rather than the underlying root cause that
makes the if() statement necessary?
  
> Unnecessary if statement can be removed from BaseActivation.getColumnFromNow
> ----------------------------------------------------------------------------
>
>                 Key: DERBY-3097
>                 URL: https://issues.apache.org/jira/browse/DERBY-3097
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.4.0.0
>            Reporter: Bryan Pendleton
>            Assignee: Bryan Pendleton
>            Priority: Minor
>         Attachments: checkNumOpens.diff
>
>
> In BaseActivation.java there is the following code:
> protected final DataValueDescriptor getColumnFromRow(int rsNumber, int colId)
> throws StandardException {
>         if( row[rsNumber] == null)
>         {
>             /* This actually happens. NoPutResultSetImpl.clearOrderableCache attempts
to prefetch invariant values
>              * into a cache. This fails in some deeply nested joins. See Beetle 4736
and 4880.
>              */
>             return null;
>         }
> return row[rsNumber].getColumn(colId);
> }
> During the investigation of DERBY-3033, I came to the conclusion that this "if" statement
is no longer necessary, and in fact is counter-productive, for it makes diagnosing other problems
harder by delaying the point at which data structure problems are exposed as errors in the
code.
> This JIRA issue requests that this code be evaluated, to determine whether or not it
truly is necessary, and, if it is not necessary, suggests that it should be removed, to result
in simpler, clearer code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message