cacheable select in grid, thanks Anthony

This commit is contained in:
mdipierro
2012-08-30 15:26:58 -05:00
parent 53889ece3d
commit 21cf4f9024
2 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.0.2 (2012-08-30 15:20:33) stable Version 2.0.2 (2012-08-30 15:26:54) stable
+9 -5
View File
@@ -1826,14 +1826,15 @@ class SQLFORM(FORM):
try: try:
dbset = dbset(SQLFORM.build_query( dbset = dbset(SQLFORM.build_query(
fields,request.vars.get('keywords',''))) fields,request.vars.get('keywords','')))
rows = dbset.select() rows = dbset.select(cacheable=True)
except Exception, e: except Exception, e:
response.flash = T('Internal Error') response.flash = T('Internal Error')
rows = [] rows = []
else: else:
rows = dbset.select() rows = dbset.select(cacheable=True)
else: else:
rows = dbset.select(left=left,orderby=orderby,*columns) rows = dbset.select(left=left,orderby=orderby,
cacheable=True*columns)
if export_type in exportManager: if export_type in exportManager:
value = exportManager[export_type] value = exportManager[export_type]
@@ -1892,7 +1893,8 @@ class SQLFORM(FORM):
try: try:
if left or groupby: if left or groupby:
c = 'count(*)' c = 'count(*)'
nrows = dbset.select(c,left=left,groupby=groupby).first()[c] nrows = dbset.select(c,left=left,cacheable=True,
groupby=groupby).first()[c]
else: else:
nrows = dbset.count() nrows = dbset.count()
except: except:
@@ -1976,7 +1978,9 @@ class SQLFORM(FORM):
try: try:
table_fields = [f for f in fields if f._tablename in tablenames] table_fields = [f for f in fields if f._tablename in tablenames]
rows = dbset.select(left=left,orderby=orderby,groupby=groupby,limitby=limitby,*table_fields) rows = dbset.select(left=left,orderby=orderby,
groupby=groupby,limitby=limitby,
cacheable=True,*table_fields)
except SyntaxError: except SyntaxError:
rows = None rows = None
error = T("Query Not Supported") error = T("Query Not Supported")