some GAE optimization, thanks Quint

This commit is contained in:
mdipierro
2013-11-17 13:36:35 -06:00
parent f8f91c6a6a
commit 8696a01eda
2 changed files with 12 additions and 10 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.7.4-stable+timestamp.2013.11.17.12.02.33
Version 2.7.4-stable+timestamp.2013.11.17.13.35.32
+11 -9
View File
@@ -4979,16 +4979,18 @@ class GoogleDatastoreAdapter(NoSQLAdapter):
def truncate(self,table,mode):
self.db(self.db._adapter.id_query(table)).delete()
GAE_FILTER_OPTIONS = {
'=': lambda q, t, p, v: q.filter(getattr(t,p) == v),
'>': lambda q, t, p, v: q.filter(getattr(t,p) > v),
'<': lambda q, t, p, v: q.filter(getattr(t,p) < v),
'<=': lambda q, t, p, v: q.filter(getattr(t,p) <= v),
'>=': lambda q, t, p, v: q.filter(getattr(t,p) >= v),
'!=': lambda q, t, p, v: q.filter(getattr(t,p) != v),
'in': lambda q, t, p, v: q.filter(getattr(t,p).IN(v)),
}
def filter(self, query, tableobj, prop, op, value):
return {
'=': query.filter(getattr(tableobj, prop) == value),
'>': query.filter(getattr(tableobj, prop) > value),
'<': query.filter(getattr(tableobj, prop) < value),
'<=': query.filter(getattr(tableobj, prop) <= value),
'>=': query.filter(getattr(tableobj, prop) >= value),
'!=': query.filter(getattr(tableobj, prop) != value),
'in': query.filter(getattr(tableobj, prop).IN(value)),
}[op]
return self.GAE_FILTER_OPTIONS[op](query, tableobj, prop, value)
def select_raw(self,query,fields=None,attributes=None):
db = self.db