diff options
author | Benjamin Saller <bcsaller@objectrealms.net> | 2007-07-16 15:48:22 (GMT) |
---|---|---|
committer | Benjamin Saller <bcsaller@objectrealms.net> | 2007-07-16 15:48:22 (GMT) |
commit | 777d545f4ac03adb8f49b802e01eecb46a345593 (patch) | |
tree | 6e232ad8698e6a7059ba198a6651b757f8432139 | |
parent | 0e1df235572599b6272ea1b5889ec60c3f519add (diff) |
temporary limit/offset fix
-rw-r--r-- | src/olpc/datastore/backingstore.py | 1 | ||||
-rw-r--r-- | src/olpc/datastore/datastore.py | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/olpc/datastore/backingstore.py b/src/olpc/datastore/backingstore.py index cc8c6c4..fd7ca2f 100644 --- a/src/olpc/datastore/backingstore.py +++ b/src/olpc/datastore/backingstore.py @@ -380,6 +380,7 @@ class FileBackingStore(BackingStore): def find(self, query): limit = query.pop('limit', 50) offset = query.pop('offset', 0) + return self.indexmanager.search(query, offset, limit) def stop(self): diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py index 56b55ac..9880f43 100644 --- a/src/olpc/datastore/datastore.py +++ b/src/olpc/datastore/datastore.py @@ -257,7 +257,11 @@ class DataStore(dbus.service.Object): include_files = kwargs.pop('include_files', False) order_by = kwargs.pop('order_by', []) - + + # XXX: this is a workaround, deal properly with n backends + limit = kwargs.pop('limit', 50) + offset = kwargs.pop('offset', 0) + # distribute the search to all the mountpoints unless a # backingstore id set is specified results, count = self._multiway_search(kwargs) @@ -319,6 +323,9 @@ class DataStore(dbus.service.Object): props['filename'] = filename d.append(props) + if limit: + d = d[offset: offset+limit] + return (d, len(results)) def get(self, uid): |