On Thu, May 3, 2012 at 12:46 PM, Eric Czech <e...@nextbigsound.com> wrote:
> I can't believe I have to ask this but I have a CF with about 10 rows and > the keys are literally 1 through 9. > > Why does this not work if I want the row where the key is ascii('5')? > > cqlsh:Keyspace1> select first 1 * from CF where key = '5'; > KEY > ----- > 05 > This depends on the configured type (key_validation) of the key. From what you've posted, it looks like CQL is treating it as 'blob', not 'ascii'. * I saw the Jira about the sort of phantom row with no values so I know why > that's there > > Listing the keys shows something like this: > > cqlsh:Keyspace1> select key from CF ; > key > ------ > 33 > 36 > 35 > 38 > 32 > 31 > 39 > 34 > 37 > > If I prepend a '3' to my key queries it works but I can't possibly see why > I would have to do that. > > cqlsh:Keyspace1> select first 1 * from CF where key = '35'; > ( Returns the right rows for key '5') > Cause 35 is hex for ascii(5), as you pointed out. Changing the validator appears to make no material difference beyond the > key listing: > This is because ASSUME is only a cqlsh feature, and only affects how data is deserialized. There is a ticket out for cqlsh also to mangle your outgoing CQL statements to match ASSUMEd types too, but that's not there yet. HTH, p