So reading your comments again I think the best way how to implement a test is to add a check to DRDAConnThread object and throw an exception when the server receives a different RDBNAM in PKGNAMCSN codepoint than the default values of a connection. The test program then could be the program specified in JIRA - when the client sends different package name, the exception will be thrown ("RDBNAM Mismatch") and query won't be processed. It is sufficient to add this check only to parsePKGNAMCSN function.
This sounds like an excellent solution to me. The server-side check seems reasonable and appropriate, and the test sounds like it will be short, sweet, and to the point. Very good!
One thing we should be very careful about, is whether this new server-side check introduces a compatibility problem. We don't want the new server to refuse to work with older clients, because they still have the bug of sending the wrong database name in certain circumstances. Since we know that using the wrong database name on the server side is harmless, we should be forgiving with these old clients and allow them to work without requiring that they be patched for this issue. So we should code the server-side check such that it only applies to a 10.3 client or above. I think that with a bit of hunting, you can find some similar version-compat checks on the server side that we can mimic for this new check. And then you'll want to run your test program in two configurations: 1) Your new repro test in 10.3 should trip the check, and get the expected failure 2) The original repro program, if built and run using the 10.2 or 10.1 clients, should quietly not trip your new check, but of course it will run with the wrong database name so the traces, etc. will be wrong. thanks, bryan
