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

Reply via email to