[
https://issues.apache.org/jira/browse/PHOENIX-37?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13912498#comment-13912498
]
James Taylor commented on PHOENIX-37:
-------------------------------------
This doesn't sound right. Can you give me an example? If an element is null, we
recognize it based on it's first byte being zero. Otherwise, this logic should
hold true. We may need to adjust the logic that produces the offsets.
> Prevent deserialize and re-serialize all array elements in construction of
> array
> --------------------------------------------------------------------------------
>
> Key: PHOENIX-37
> URL: https://issues.apache.org/jira/browse/PHOENIX-37
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: James Taylor
> Assignee: ramkrishna.s.vasudevan
> Fix For: 3.0.0
>
> Attachments: Phoenix-37_final.patch
>
>
> ArrayConstructorExpression.evaluate() currently deserializes into object form
> all array elements only to serialize them back again as bytes. Instead, just
> use a TrustedByteArrayOuputStream (initially sized based on the number of
> child elements) to serialize the data into. If variable length, track the
> offset information as the data is written.
> Second, we should put the header information (offsets, length, and version)
> at the end of the array instead of the start. This will make it possible to
> compare arrays against each other in their byte form.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)