You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stu Hood (JIRA)" <ji...@apache.org> on 2010/06/30 18:33:51 UTC

[jira] Commented: (CASSANDRA-1232) UTF8Type.compare() is slow and dangerous

    [ https://issues.apache.org/jira/browse/CASSANDRA-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12883971#action_12883971 ] 

Stu Hood commented on CASSANDRA-1232:
-------------------------------------

If we're never going to decode UTF8Type values internally (which is awesome by the way), we might want to consider adding a 'validate' method to AbstractType for (optional?) use within CassandraServer.

> 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
>
>
> 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.