db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2936) Use java.nio.ByteBuffer for buffering in DDMWriter
Date Sun, 19 Aug 2007 16:41:32 GMT

     [ https://issues.apache.org/jira/browse/DERBY-2936?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Knut Anders Hatlen updated DERBY-2936:

    Attachment: derby-2936-3.stat

Attaching a partial patch (derby-2936-3) which removes some uses of the bytes field.

Description of the patch:
  * replaces all occurrences of bytes[xxx] with absolute buffer.get/put methods
  * replaces calls to Arrays.fill() + buffer.position() with calls to the existing padBytes()
  * makes CcsidManager.convertFromUCS2() take a ByteBuffer instead of byte array + offset
  * removes the original writeBigDecimal() method and renames bigDecimalToPackedDecimalBytes()
to writeBigDecimal()

Derbyall and suites.All ran cleanly (except a known, intermittent failure in ProcedureInTriggerTest).

> Use java.nio.ByteBuffer for buffering in DDMWriter
> --------------------------------------------------
>                 Key: DERBY-2936
>                 URL: https://issues.apache.org/jira/browse/DERBY-2936
>             Project: Derby
>          Issue Type: Improvement
>          Components: Network Server
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For:
>         Attachments: d2936-1.diff, derby-2936-2.diff, derby-2936-2.stat, derby-2936-3.diff,
> org.apache.derby.impl.drda.DDMWriter uses a byte array as a buffer. Wrapping the array
in a java.nio.ByteBuffer has some advantages, for instance:
>   - utility methods for encoding primitive types into the byte array could be used instead
of manually encoding the values
>   - it allows us to encode strings directly into the buffer (using a CharsetEncoder)
without doing an expensive String.getBytes(String encoding) in an intermediate step
> By using a utility class, the code becomes easier to maintain. Also, ByteBuffer allows
us to access the backing byte array without going through the ByteBuffer interface, so we
still have the possibility to modify the byte array directly in cases where that's more convenient.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message