get_range_slice() behavior is inconsistent with get_slice() and
multiget_slice() when super_column is set in ColumnParent
-------------------------------------------------------------------------------------------------------------------------
Key: CASSANDRA-649
URL: https://issues.apache.org/jira/browse/CASSANDRA-649
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.5
Environment: Linux
Reporter: Jonathan Hseu
Here's an example using my python library ( http://github.com/vomjom/pycasso ):
>>> import pycasso
>>> connect = pycasso.connect()
>>> cf = pycasso.ColumnFamily(connect, 'Test Keyspace', 'Test Super',
>>> super=True)
>>> cf.insert('key1', {'2': {'sub3': 'val3', 'sub4': 'val4'}})
>>> cf.get('key1')
{'2': {'sub4': 'val4', 'sub3': 'val3'}}
>>> cf.get('key1', super_column='2')
{'sub4': 'val4', 'sub3': 'val3'}
>>> cf.multiget(['key1'])
{'key1': {'2': {'sub4': 'val4', 'sub3': 'val3'}}}
>>> cf.multiget(['key1'], super_column='2')
{'key1': {'sub4': 'val4', 'sub3': 'val3'}}
>>> list(cf.get_range())
[('key1', {'2': {'sub4': 'val4', 'sub3': 'val3'}})]
>>> list(cf.get_range(super_column='2'))
[('key1', {'2': {'sub4': 'val4', 'sub3': 'val3'}})]
In the last case, I expected:
[('key1', {'sub4': 'val4', 'sub3': 'val3'})]
If the super_column argument is supplied, then all of these make a ColumnParent
with:
cp = ColumnParent(column_family=self.column_family, super_column=super_column)
Or basically, in the KeySlice returned by get_range_slice(), if super_column
was set in the passed in the ColumnParent, the columns member should be a list
of respective SuperColumn.columns and not a list of SuperColumn.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.