def longquery(self, limit=None): """ Perform a long query and return a lazy Django result set """ query = self._do_longquery(limit) if limit: query = query.fetchmany(limit) return SeSQLResultSet(list(query), self.fields)
def shortquery(self, limit=50): """ Perform a long query and return a lazy Django result set """ table = self.get_table_name() if table == config.MASTER_TABLE_NAME: # Multitable or unprecise query ? Falling back to longquery log.warning("Query on master table will not be optimized on %s" % self.query) return self.longquery(limit) if "sesql_relevance" in self.order or "-sesql_relevance" in self.order: # Order on relevance ? Falling back to longquery log.info("Query sorting on relevance will not be optimized on %s" % self.query) return self.longquery(limit) log.debug("Trying short query for %s" % self.query) cursor = self._do_smart_query(limit) return SeSQLResultSet(list(cursor), self.fields)