Ejemplo n.º 1
0
        public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer,
                                                OperationCancelToken token)
        {
            using (var result = new StreamDocumentQueryResult(response, writer))
            {
                documentsContext.OpenReadTransaction();

                FillCountOfResultsAndIndexEtag(result, query.Metadata, documentsContext);

                ExecuteCollectionQuery(result, query, query.Metadata.CollectionName, documentsContext, token.Token);
            }

            return(Task.CompletedTask);
        }
Ejemplo n.º 2
0
        public Task ExecuteStream(HttpResponse response, BlittableJsonTextWriter writer, string dynamicIndexName, IndexQueryServerSide query)
        {
            string collection;
            var    index = MatchIndex(dynamicIndexName, query, false, out collection);

            if (index == null)
            {
                using (var result = new StreamDocumentQueryResult(response, writer, _context))
                    ExecuteCollectionQuery(result, query, collection);

                return(Task.CompletedTask);
            }

            return(index.StreamQuery(response, writer, query, _context, _token));
        }
Ejemplo n.º 3
0
        public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamQueryResultWriter<Document> writer,
            OperationCancelToken token)
        {
            var result = new StreamDocumentQueryResult(response, writer, token);
            documentsContext.OpenReadTransaction();

            FillCountOfResultsAndIndexEtag(result, query.Metadata, documentsContext);

            var collection = GetCollectionName(query.Metadata.CollectionName, out var indexName);

            using (QueryRunner.MarkQueryAsRunning(indexName, query, token))
            {
                result.IndexName = indexName;

                ExecuteCollectionQuery(result, query, collection, documentsContext, token.Token);

                result.Flush();

                return Task.CompletedTask;
            }
        }
Ejemplo n.º 4
0
        public override async Task ExecuteStreamQuery(IndexQueryServerSide query, QueryOperationContext queryContext, HttpResponse response, IStreamQueryResultWriter <Document> writer,
                                                      OperationCancelToken token)
        {
            var result = new StreamDocumentQueryResult(response, writer, token);

            using (queryContext.OpenReadTransaction())
            {
                FillCountOfResultsAndIndexEtag(result, query.Metadata, queryContext);

                var collection = GetCollectionName(query.Metadata.CollectionName, out var indexName);

                using (QueryRunner.MarkQueryAsRunning(indexName, query, token, true))
                {
                    result.IndexName = indexName;

                    await ExecuteCollectionQueryAsync(result, query, collection, queryContext, pulseReadingTransaction : true, token.Token);

                    result.Flush();
                }
            }
        }
Ejemplo n.º 5
0
        public async Task ExecuteStream(HttpResponse response, BlittableJsonTextWriter writer, IndexQueryServerSide query)
        {
            var tuple = await MatchIndex(query, false);

            var index      = tuple.Index;
            var collection = tuple.Collection;

            if (index == null)
            {
                using (var result = new StreamDocumentQueryResult(response, writer, _context))
                {
                    _context.OpenReadTransaction();

                    FillCountOfResultsAndIndexEtag(result, collection);

                    ExecuteCollectionQuery(result, query, collection);
                }

                return;
            }

            await index.StreamQuery(response, writer, query, _context, _token);
        }