Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }