[ 
https://issues.apache.org/jira/browse/LUCENE-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581844#action_12581844
 ] 

Michael McCandless commented on LUCENE-1241:
--------------------------------------------

{quote}
Reading commit log in svn repository, and the code base at revision 553235, I 
suspect termination with "\uffff" is introduced at 553236 referring the 
implementation of java.text.CharacterIterator. Isn't it? ( 
java.text.CharacterIterator.DONE is class static and is "\uffff". The class 
java.text.CharacterIterator is for supporting internationalization interface of 
bidirectional string scan. And we can determine whether we reached the end of a 
string by comparing what we get with java.text.CharacterIterator.DONE. )
{quote}

Indeed, CharacterIterator.DONE also uses U+FFFF as the termination
character, though I hadn't realized that until now.

{quote}
I came to the idea of introducing a new class that implements CharSequence, 
Comparable and has a good hashCode() that will use the buffer of original 
memory allocation (String, StringBuffer, char[], CharBuffer, or etc.).
{quote}

This looks neat, but, can you pull this all together into a single
workable patch that we can run some performance tests on?



> 0xffff char is not a string terminator
> --------------------------------------
>
>                 Key: LUCENE-1241
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1241
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Hiroaki Kawai
>         Attachments: ComparableCharSequence.java, LUCENE-1241.patch
>
>
> Current trunk index.DocumentWriter uses "\uffff" as a string terminator, but 
> it should not to be for some reasons. \uffff is not a terminator char itself 
> and we can't handle a string that really contains \uffff. And also, we can 
> calculate the end char position in a character sequence from the string 
> length that we already know.
> However, I agree with the usage for assertion, that "\uffff" is placed after 
> at the end of a string in a char sequence.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to