[ 
https://issues.apache.org/jira/browse/CASSANDRA-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Bailey updated CASSANDRA-1232:
-----------------------------------

    Attachment: 0001-Fixes-to-UTF8Type-compare-and-getString-methods.patch

Updated to extend BytesType and use a decode method from FBUtilities to catch 
encoding problems.

This patch uses the patches provided by 
[CASSANDRA-1196|https://issues.apache.org/jira/browse/CASSANDRA-1196]

> UTF8Type.compare() is slow and dangerous
> ----------------------------------------
>
>                 Key: CASSANDRA-1232
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1232
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Nick Bailey
>             Fix For: 0.6.4
>
>         Attachments: 
> 0001-Fixes-to-UTF8Type-compare-and-getString-methods.patch
>
>
> UTF8Type converts both byte arrays into Strings and then compares them. This 
> is unnecessary and slow because UTF-8 encoded Strings are already directly 
> comparable. Higher codepoints yield higher initial and subsequent bytes. One 
> can safely use BytesType.compare() for UTF-8. Maybe UTF8Type should be a 
> subclass only overriding getString().
> BTW, It's also dangerous to ignore invalid byte sequences. At this point the 
> byte array should contain valid UTF-8.

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

Reply via email to