public ActionResult ShowPlan(string sitename, int revisionId) { Query query = QueryUtil.GetQueryForRevision(revisionId); if (query == null) { return(PageNotFound()); } var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params); if (!parsedQuery.IsExecutionReady) { return(PageBadRequest()); } CachedResult cache = QueryUtil.GetCachedResults( parsedQuery, Site.Id ); if (cache == null || cache.ExecutionPlan == null) { return(PageNotFound()); } return(new QueryPlanResult(cache.ExecutionPlan)); }
private ActionResult GetCsv(string sitename, int revisionId, TargetSites targetSites) { Query query = QueryUtil.GetQueryForRevision(revisionId); if (query == null) { return(PageNotFound()); } var results = QueryRunner.GetResults( new ParsedQuery(query.QueryBody, Request.Params, executionPlan: false, targetSites: targetSites), null, CurrentUser ); return(new CsvResult(results.ResultSets)); }
public ActionResult ShowSingleSiteCsv(string sitename, int revisionId, string slug) { Query query = QueryUtil.GetQueryForRevision(revisionId); if (query == null) { return(PageNotFound()); } Site site; if (!TryGetSite(sitename, out site)) { return(site == null ? (ActionResult)PageNotFound() : RedirectPermanent(string.Format("/{0}/csv/{1}{2}{3}", site.TinyName.ToLower(), revisionId, slug.HasValue() ? "/" + slug : "", Request.Url.Query ))); } var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params); if (!parsedQuery.IsExecutionReady) { return(PageBadRequest()); } CachedResult cachedResults = QueryUtil.GetCachedResults( parsedQuery, Site.Id ); List <ResultSet> resultSets; if (cachedResults != null) { resultSets = JsonConvert.DeserializeObject <List <ResultSet> >(cachedResults.Results, QueryResults.GetSettings()); } else { resultSets = QueryRunner.GetResults( parsedQuery, site, CurrentUser ).ResultSets; } return(new CsvResult(resultSets)); }
public ActionResult ShowSingleSiteCsv(string sitename, int revisionId) { Query query = QueryUtil.GetQueryForRevision(revisionId); if (query == null) { return(PageNotFound()); } var site = GetSite(sitename); if (sitename == null) { return(PageNotFound()); } var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params); if (!parsedQuery.IsExecutionReady) { return(PageBadRequest()); } CachedResult cachedResults = QueryUtil.GetCachedResults( parsedQuery, Site.Id ); List <ResultSet> resultSets; if (cachedResults != null) { resultSets = JsonConvert.DeserializeObject <List <ResultSet> >(cachedResults.Results); } else { resultSets = QueryRunner.GetResults( parsedQuery, site, CurrentUser ).ResultSets; } return(new CsvResult(resultSets)); }
public ActionResult ShowPlan(string sitename, int revisionId, string slug) { Query query = QueryUtil.GetQueryForRevision(revisionId); if (query == null) { return(PageNotFound()); } Site site; if (!TryGetSite(sitename, out site)) { return(site == null ? (ActionResult)PageNotFound() : RedirectPermanent(string.Format("/{0}/plan/{1}{2}{3}", site.TinyName.ToLower(), revisionId, slug.HasValue() ? "/" + slug : "", Request.Url.Query ))); } var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params); if (!parsedQuery.IsExecutionReady) { return(PageBadRequest()); } CachedResult cache = QueryUtil.GetCachedResults( parsedQuery, site.Id ); if (cache == null || cache.ExecutionPlan == null) { return(PageNotFound()); } return(new QueryPlanResult(cache.ExecutionPlan)); }