[
https://issues.apache.org/jira/browse/LUCENE-3590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Muir updated LUCENE-3590:
--------------------------------
Attachment: LUCENE-3590_equals_init.patch
patch fixes broken equals() methods and broken ctors in IntsRef and CharsRef.
IntsRef never set ints = EMPTY_INTS in its no-arg ctor, so ints would just be
null.
IntsRef and CharsRef never handled the case that 'other == null' in equals().
CharsRef had other brokenness in its equals() method where it would return
equals = true sometimes to other CharSequences that are not actually CharsRefs.
This breaks the contract of equals because its not symmetric, there is no
guarantee of this in charsequence.
> 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
> Attachments: LUCENE-3590_copyCtor.patch,
> LUCENE-3590_deprecate_comparators.patch, LUCENE-3590_equals_init.patch,
> LUCENE-3590_with_clone.patch
>
>
> 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]