Gotcha, I probably should have guessed that much.  Does CQL have any
functions to convert ascii to hex so that I don't have to do that
conversion elsewhere (I don't see one in the docs)?

On Thu, May 3, 2012 at 2:09 PM, paul cannon <p...@datastax.com> wrote:

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

Reply via email to