[ 
http://issues.apache.org/jira/browse/DERBY-902?page=comments#action_12366733 ] 

Kathey Marsden commented on DERBY-902:
--------------------------------------

As I recall, the way this works is that the contents of the String do make it 
across the wire to the client, but the client just passes the contents back as 
a parameter to the SQLCAMESSAGE stored procedure, so the client itself does not 
know what the separation characters are.   (I think )

Also note there are two different kinds of separators, one to separate the 
message tokens and one to separate the messages if there are multiple 
SQLExceptions.

These separators have  all caused a fair amount of pain over time.  I think 
that it would be good to have  an analysis of what the situation is and our 
options for th   network server Exception handling in general in the context of 
what DRDA currently has to offer. 

For the patch, I am not confident that US-ASCII is the right thing here.    I 
don't fully understand the impact of option 2 either, to change it to ";:" .  
Well,  this is an awfully long post to just still say I always have been and 
remain rather confused on this issue.   It would be a good first step to 
research and document how this all works now.



> Remove use of String(byte[]) and String(byte[], int, int) constructors in 
> engine leading to non-portable behaviour
> ------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-902
>          URL: http://issues.apache.org/jira/browse/DERBY-902
>      Project: Derby
>         Type: Bug
>   Components: Network Server
>     Reporter: Daniel John Debrunner
>      Fix For: 10.2.0.0
>  Attachments: DERBY-902_021306.stat, DERBY-902_021306_2.diff
>
> These constructors use the Java default platform encoding to convert the 
> bytes to a String, this typically leads to bugs on platforms with different 
> encodings.
> Replace with code using fixed conversion, or alternative mechanisms. 
> If the call is required its use should be commented as to why it is required.
> org.apache.derby.catalog.SystemProcedures
> I generated this list using the Java search in eclipse for references to the 
> constructors
> String(byte[])
> String(byte[],int,int) - no occurrrences in java/engine

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to