Dyre Tjeldvoll (JIRA) wrote:
A solution is to keep the commonly used SQLStates as byte[] constants that can 
be inserted into the message with writeBytes().

I think that the solution shows great promise, but the patch
that you provided seems too "open coded" for me.

It seems to me that the recently-added DRDAString class could
be used as the encapsulation vehicle for this String/byte[]
caching stuff, so that the bulk of the DRDA code didn't have
to be so involved in the details of when to use the string and
when to use the byte array.

So instead of seeing a bunch of changes like:

-               writer.writeString(server.prdId);
+        // Write the byte[] constant rather than the string, for efficiency
+        writer.writeBytes(server.prdIdBytes_);

which seems to mean that we'd have to maintain constant vigilance
into the future to make sure that we know when to use the String
versus when to use the byte[], it seems like we should turn an
object like server.prdId into a DRDAString, and then let DDMWriter
and DRDAString work out the details themselves about whether to use
the String or the byte[].

Does this make any sense? Am I barking up the wrong tree?

thanks,

bryan


Reply via email to