As an experiment, I tried commenting out the truncation logic in DRDAConnThread.buildSqlerrmc(), and instead I set maxlen to -1.
Sure enough, the entire lock table string in the exception's message text gets properly written to the SQLCAXGRP, and by stepping through the code on the client side I can see that the client successfully receives the entire message text in the sqlerrmc field of the SQLCAXGRP there. However, the message text *still* does not appear on the client side properly! I believe this is because the client's implementation of SqlException.getMessage() calls Sqlca.getMessage(), which is implemented as a call to SYSIBM.SQLCAMESSAGE. I Googled around for a while and came across http://issues.apache.org/jira/browse/DERBY-285, which seems to be touching the same areas of the code as I'm exploring, but I kind of hit a dead end at that point. How do I go about learning more about SYSIBM.SQLCAMESSAGE? thanks, bryan
