[
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
derby-2936-3.diff
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() method
* 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: 10.4.0.0
>
> Attachments: d2936-1.diff, derby-2936-2.diff, derby-2936-2.stat,
> derby-2936-3.diff, derby-2936-3.stat
>
>
> 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.