[
https://issues.apache.org/jira/browse/LUCENE-3590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156728#comment-13156728
]
Robert Muir commented on LUCENE-3590:
-------------------------------------
First step is to remove the ctor BytesRef(BytesRef other), which is not
intuitive
since it looks like a copy constructor, but doesn't copy the ref, it creates
a brand new byte array pointing to a complete copy of 'other's bytes, and then
creates a pointer to that.
I think its not obvious from the code either when i see new
BytesRef(otherBytesRef).
Instead we should do:
{copy}
BytesRef copy = new BytesRef();
copy.copyBytes(otherBytesRef);
{copy}
This makes it totally clear exactly what is going on. I'll work up a patch
> minimize bytesref to be a ref to a byte[]
> -----------------------------------------
>
> Key: LUCENE-3590
> URL: https://issues.apache.org/jira/browse/LUCENE-3590
> Project: Lucene - Java
> Issue Type: Bug
> Affects Versions: 4.0
> Reporter: Robert Muir
> Priority: Blocker
>
> Setting this as blocker for 4.0, as this class is used in every API there.
> Currently this API is a little of a everything, sometimes its like a
> stringbuffer, it
> does numeric conversions, all kinds of stuff.
> We need this to be a ref to a byte[], nothing else. This other stuff can go
> somewhere else.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]