[ https://issues.apache.org/jira/browse/CASSANDRA-8178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tyler Hobbs updated CASSANDRA-8178: ----------------------------------- Attachment: 8178-2.0.txt The least-hacky solution was to introduce Selectable.Raw and ColumnIdentifier.Raw classes. When these are {{prepared()}}, they use the comparator's {{fromString()}} method to parse the identifier (when the schema warrants it). There was one minor catch, though: the key aliases are normal strings, so we have to make sure the identifier isn't a key alias before using {{fromString()}} on it. In addition to the patch, I also have a [branch|https://github.com/thobbs/cassandra/tree/CASSANDRA-8178]. > Column names are not converted correctly for non-text comparators > ----------------------------------------------------------------- > > Key: CASSANDRA-8178 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8178 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: Tyler Hobbs > Assignee: Tyler Hobbs > Fix For: 2.0.12, 2.1.2 > > Attachments: 8178-2.0.txt > > > If a column family is created with a non-text comparator through Thrift (or > cassandra-cli) and column metadata is defined, those column names cannot be > queried through cql3. > For example: > {noformat} > [default@ks1] create column family entity_data > ... with column_type = 'Standard' > ... and comparator = 'BytesType' > ... and default_validation_class = 'BytesType' > ... and key_validation_class = 'UTF8Type' > ... and column_metadata = [ > ... {column_name : '0008', > ... validation_class : UTF8Type, > ... index_name : 'entity_data_0008_idx', > ... index_type : 0}]; > {noformat} > When you attempt to query that column through cqlsh, you'll get an error like > this: > {noformat} > cqlsh:ks1> select "0008" FROM entity_data ; > Bad Request: Undefined name 0008 in selection clause > {noformat} > The problem is that we aren't taking the comparator type into account when > converting column names in cql3 statements to their internal (ByteBuffer) > representation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)