db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Myrna van Lunteren <m.v.lunte...@gmail.com>
Subject Re: [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 14:38:48 GMT
I was just composing a comment when JIRA took a breather.

This is what I wanted to say:
I've looked into this (and experimented) a bit more.

This string is only ever used within NetworkServer, so I don't see how it
could be a problem in other encodings, or am I missing something in my
understanding of how this works?

It seems to me it does not matter much what the content of the String in
question is, as long as it
1. is identical to what's assigned to SQLERRMC_MESSAGE_DELIMITER  in
java/drda/org/apache/derby/impl/drda/DRDAConnThread
2. is short (comments in DRDAConnThread indicate CCC can only handle up to
70 characters of errors concatenated with this string)
3. can never be found in any error messages.

So, there are 2 alternatives:
1. leave the string as is, and add a comment indicating it's only used
internally in network server.
2. replace the string with something else, in both classes, for instance,
      String errSeparator=":;:"

Please advise, I can make another patch with whichever alternative is
preferred.

Myrna


On 2/13/06, Daniel John Debrunner (JIRA) <derby-dev@db.apache.org> wrote:
>
>    [
> http://issues.apache.org/jira/browse/DERBY-902?page=comments#action_12366266]
>
> Daniel John Debrunner commented on DERBY-902:
> ---------------------------------------------
>
> Thanks Kathey for pointing that out, I was wrong, I saw the
>
> byte[] b = {20, 20, 20};
>
> and I mentally assumed they were 0x20, which would correspond to the space
> character.
>
> > 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