Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Saller <bcsaller@objectrealms.net>2007-07-16 15:48:22 (GMT)
committer Benjamin Saller <bcsaller@objectrealms.net>2007-07-16 15:48:22 (GMT)
commit777d545f4ac03adb8f49b802e01eecb46a345593 (patch)
tree6e232ad8698e6a7059ba198a6651b757f8432139
parent0e1df235572599b6272ea1b5889ec60c3f519add (diff)
temporary limit/offset fix
-rw-r--r--src/olpc/datastore/backingstore.py1
-rw-r--r--src/olpc/datastore/datastore.py9
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):