db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-902) Remove use of String(byte[]) and String(byte[], int, int) constructors in engine leading to non-portable behaviour
Date Thu, 16 Feb 2006 21:34:10 GMT
    [ http://issues.apache.org/jira/browse/DERBY-902?page=comments#action_12366690 ] 

Daniel John Debrunner commented on DERBY-902:
---------------------------------------------

I'm not sure what comment you are reacting to, but my point was that there is no need to use
String.getBytes()  to generate the String we need and thus have to throw a UnsupportedEncoding
exception.

The string created with the ascii encoding is the same as

char[] sepChars = { (char) 20, (char) 20, (char) 20};

new String(sepChars)

This is really the same as both your options, or a combination of them :-)

If we don't like the use of these ASCII control characters then as you say it can be anything
else.

Just to confirm, the contents of this String never make it across the wire to the client?

> 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


Mime
View raw message