Thank you for following through with my previous review comments, and for rewriting your test cases to run in JUnit. That was very helpful.
Just a few minor comments on the latest patch:
1 - The Java class name at the top of the license header in the new JUnit test says "NullIfTest", when it should say "CaseExpressionTest".
2 - There are a few unnecessary imports in CaseExpressionTest:
3 - In the "suite()" method I think it might be good to use existing convenience methods on TestConfiguration, instead of calling "baseSuite" directly. Ex:
// For embedded:
// For client/server:
// For both embedded and client/server:
That said, since the changes for Jira only effect SQL processing within the engine, it's probably good enough to just run the new JUnit test in embedded mode.
4 - There are several System.out.printlns in the test. I think that the preferred approach to JUnit testing is to avoid printing anything to System.out or System.err. If the output is an important part of the test then is should be replaced with some kind of JUnit assertion. But in the new CaseExpressionTest, it looks like the System.out.println statements are purely informational, in which case I think it's best to remove them altogether. Or, if you think the output might be useful for debugging, you could move all of the System.outs into a "debug" method and add a flag that allows debugging information to be turned on/off (with default to "off"). See, for example, lang/MathTrigFunctionsTest.java.
5 - I think the new test has to be added to lang/_Suite.java in order to run as part of Derby's JUnit regression suite. This should just be a one-line addition to the "suite()" method of lang/_Suite.java, something like:
6 - It might be nice if you can name your next patch something other than "ConditionalNode.diff", in order to avoid confusion with the changes that have already been committed. For example, something like "derby1620_test.patch" would, I think, be a tad more clear.
Thanks again for your continued work (and patience) with this Jira! I think that if the above comments can be addressed, the patch will be ready for commit and we can finally close this issue...