Army wrote:
I looked at this patch and it seems right, but I'd want to be able to
run your new test before giving my full "+1". That said, I'm unable to
run the test because I can't get the patch to apply to my codeline.
Could you perhaps re-generate the patch with the latest codeline and
then re-send it?
Never mind. I copied the contents of the patch to a new file and tried to apply
the new file, and that worked. That said, I ran the test with your changes and
it looks good--and in particular, the test fails without your change and passes
with it, so we know it's doing what it's supposed to do :)
My one comment is that you don't run the new ConcurrentImplicitCreateSchema.java
test against the Network Server--is there a reason for that? I tried it to see
what would happen, and the result is the following diff:
2 del
< Closed connection
3 del
< Test ConcurrentImplicitCreateSchema PASSED
3 add
> exception thrown:
> com.ibm.db2.jcc.c.SqlException: null userid not supported
> com.ibm.db2.jcc.c.SqlException: null userid not supported
> Test ConcurrentImplicitCreateSchema FAILED
This diff occurs because no user/id is provided on the "getConnection()" call
that occurs in the constructor for CreateTable. I added a dummy user and
password value to that call and re-ran the test against Network Server, and it
passed (both with the JCC client and with Derby Network Client). SO, I think
it'd be good to make this change as part of the patch and then to add
"lang/ConcurrentImplicitCreateSchema.java" to the "derbynetmats.runall" file so
that it runs against the server, as well.
Generally speaking, if it's possible to run a test in both embedded and server
modes, then we should do so--and for a test like this, we only need a single
master because the behavior is identical from embedded to JCC to Derby Network
Client.
Army