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


Reply via email to