db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Korneliussen <Andreas.Kornelius...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-707) providing RowLocation for deleted+purged row to GenericConglomerateController causes nullpointerexception
Date Wed, 16 Nov 2005 15:05:22 GMT
Mike Matrigali wrote:
> This looks like a reasonable fix, it would be nice if you added a test
> case which showed the problem (to make sure it does not get broken again
> in the future).  If it were me I would add a short new test case to the
> T_AccessFactory tests in
> opensource/java/testing/org/apache/derbyTesting/unitTests/store.  I know
> you have a test case you can't check in as it is the feature you are
> working on.  If you are not interested in doing this, let me know.
> 

Hi,
I have now updated one of the testcases in T_AccessFactory to test this 
problem, and it reproduced the nullpointerexception (when running on 
unpatched derby)

I also noticed that after my patch, the method:

boolean fetch(
     RowLocation             loc,
     DataValueDescriptor[]   row,
     FormatableBitSet        validColumns )

is functionally equivalent to:

boolean fetch(
     RowLocation             loc,
     DataValueDescriptor[]   row,
     FormatableBitSet        validColumns,
     boolean                 waitForLock=true)


Previously, this bug had been fixed in the first method, not the other. 
To improve code-reuse, I would like to implement:

fetch(
     RowLocation             loc,
     DataValueDescriptor[]   row,
     FormatableBitSet        validColumns )

as:
{
    return fetch(loc, row, validColumns, true /* waitForLock */ );
}

.. unless there are any good reasons not to do it.

Andreas

Mime
View raw message