some GAE optimization, thanks Quint
This commit is contained in:
@@ -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
@@ -4979,16 +4979,18 @@ class GoogleDatastoreAdapter(NoSQLAdapter):
|
|||||||
def truncate(self,table,mode):
|
def truncate(self,table,mode):
|
||||||
self.db(self.db._adapter.id_query(table)).delete()
|
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):
|
def filter(self, query, tableobj, prop, op, value):
|
||||||
return {
|
return self.GAE_FILTER_OPTIONS[op](query, 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),
|
|
||||||
'!=': query.filter(getattr(tableobj, prop) != value),
|
|
||||||
'in': query.filter(getattr(tableobj, prop).IN(value)),
|
|
||||||
}[op]
|
|
||||||
|
|
||||||
def select_raw(self,query,fields=None,attributes=None):
|
def select_raw(self,query,fields=None,attributes=None):
|
||||||
db = self.db
|
db = self.db
|
||||||
|
|||||||
Reference in New Issue
Block a user