242 # try to reconnect |
242 # try to reconnect |
243 return self.get_connection() |
243 return self.get_connection() |
244 |
244 |
245 def syntax_tree_search(self, session, union, args=None, cachekey=None, |
245 def syntax_tree_search(self, session, union, args=None, cachekey=None, |
246 varmap=None): |
246 varmap=None): |
247 assert not varmap, (varmap, union) |
247 #assert not varmap, (varmap, union) |
248 rqlkey = union.as_string(kwargs=args) |
248 rqlkey = union.as_string(kwargs=args) |
249 try: |
249 try: |
250 results = self._query_cache[rqlkey] |
250 results = self._query_cache[rqlkey] |
251 print 'cache hit', rqlkey |
|
252 except KeyError: |
251 except KeyError: |
253 results = self._syntax_tree_search(session, union, args) |
252 results = self._syntax_tree_search(session, union, args) |
254 print 'cache miss', rqlkey |
|
255 self._query_cache[rqlkey] = results |
253 self._query_cache[rqlkey] = results |
256 return results |
254 return results |
257 |
255 |
258 def _syntax_tree_search(self, session, union, args): |
256 def _syntax_tree_search(self, session, union, args): |
259 """return result from this source for a rql query (actually from a rql |
257 """return result from this source for a rql query (actually from a rql |