cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ed Anuff (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (CASSANDRA-2231) Add CompositeType comparer to the comparers provided in org.apache.cassandra.db.marshal
Date Fri, 18 Mar 2011 05:28:30 GMT

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

Ed Anuff edited comment on CASSANDRA-2231 at 3/18/11 5:28 AM:
--------------------------------------------------------------

-From the email conversation around this earlier today, I'm wondering if a bit in the trailing
byte at the end of each component could be used for a sort order flag?-

I'd like to suggest we put a byte just before the length/value part of the component that
if it's non-zero, reverses the comparer results for that component.  Both component parts
must have the same sort order byte (i.e. both are 0 or both are 1) or a RuntimeException is
thrown.

For context, we're looking at doing something in the JPA implementation via annotations that's
functionally similar to how App Engine defines indexes in it's index.yaml - http://code.google.com/appengine/docs/java/configyaml/indexconfig.html



      was (Author: edanuff):
    -From the email conversation around this earlier today, I'm wondering if a bit in the
trailing byte at the end of each component could be used for a sort order flag?-

I'd like to suggest we put a byte just before the length/value part that if it's non-zero,
reverses the comparer results.  Both component parts must have the same sort order byte (i.e.
both are 0 or both are 1) or a RuntimeException is thrown.

For context, we're looking at doing something in the JPA implementation via annotations that's
functionally similar to how App Engine defines indexes in it's index.yaml - http://code.google.com/appengine/docs/java/configyaml/indexconfig.html


  
> Add CompositeType comparer to the comparers provided in org.apache.cassandra.db.marshal
> ---------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-2231
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2231
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Contrib
>    Affects Versions: 0.7.3
>            Reporter: Ed Anuff
>            Priority: Minor
>         Attachments: 0001-Add-compositeType-and-DynamicCompositeType.patch, 0001-Add-compositeType.patch,
edanuff-CassandraCompositeType-1e253c4.zip
>
>
> CompositeType is a custom comparer that makes it possible to create comparable composite
values out of the basic types that Cassandra currently supports, such as Long, UUID, etc.
 This is very useful in both the creation of custom inverted indexes using columns in a skinny
row, where each column name is a composite value, and also when using Cassandra's built-in
secondary index support, where it can be used to encode the values in the columns that Cassandra
indexes.  One scenario for the usage of these is documented here: http://www.anuff.com/2010/07/secondary-indexes-in-cassandra.html.
 Source for contribution is attached and has been previously maintained on github here: https://github.com/edanuff/CassandraCompositeType

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message