public IndexEntriesQueryResult ExecuteIndexEntriesQuery(string indexName, IndexQueryServerSide query, long?existingResultEtag, OperationCancelToken token) { if (DynamicQueryRunner.IsDynamicIndex(indexName)) { var runner = new DynamicQueryRunner(_database.IndexStore, _database.TransformerStore, _database.DocumentsStorage, _documentsContext, token); return(runner.ExecuteIndexEntries(indexName, query, existingResultEtag)); } var index = GetIndex(indexName); if (existingResultEtag.HasValue) { var etag = index.GetIndexEtag(); if (etag == existingResultEtag) { return(IndexEntriesQueryResult.NotModifiedResult); } } return(index.IndexEntries(query, _documentsContext, token)); }
public async Task <IndexEntriesQueryResult> ExecuteIndexEntriesQuery(IndexQueryServerSide query, long?existingResultEtag, OperationCancelToken token) { if (query.Metadata.IsDynamic) { var runner = new DynamicQueryRunner(_database.IndexStore, _database, _database.DocumentsStorage, _documentsContext, _database.Configuration, token); return(await runner.ExecuteIndexEntries(query, existingResultEtag)); } var index = GetIndex(query.Metadata.IndexName); if (existingResultEtag.HasValue) { var etag = index.GetIndexEtag(); if (etag == existingResultEtag) { return(IndexEntriesQueryResult.NotModifiedResult); } } return(index.IndexEntries(query, _documentsContext, token)); }