Merge pull request #505 from joshink/master

Reverse before limit
This commit is contained in:
Steve Pulec 2016-01-10 00:31:13 -05:00
commit 96479bf1dc
2 changed files with 28 additions and 4 deletions

View File

@ -320,14 +320,14 @@ class DynamoHandler(BaseResponse):
er = 'com.amazonaws.dynamodb.v20111205#ResourceNotFoundException'
return self.error(er)
limit = self.body.get("Limit")
if limit:
items = items[:limit]
reversed = self.body.get("ScanIndexForward")
if reversed is False:
items.reverse()
limit = self.body.get("Limit")
if limit:
items = items[:limit]
result = {
"Count": len(items),
"ConsumedCapacityUnits": 1,

View File

@ -570,6 +570,30 @@ def test_query_with_global_indexes():
list(results).should.have.length_of(0)
@mock_dynamodb2
def test_reverse_query():
conn = boto.dynamodb2.layer1.DynamoDBConnection()
table = Table.create('messages', schema=[
HashKey('subject'),
RangeKey('created_at', data_type='N')
])
for i in range(10):
table.put_item({
'subject': "Hi",
'created_at': i
})
results = table.query_2(subject__eq="Hi",
created_at__lt=6,
limit=4,
reverse=True)
expected = [Decimal(5), Decimal(4), Decimal(3), Decimal(2)]
[r['created_at'] for r in results].should.equal(expected)
@mock_dynamodb2
def test_lookup():
from decimal import Decimal