コード例 #1
0
        public StreamDocumentQueryResult(HttpResponse response, IStreamDocumentQueryResultWriter writer)
        {
            if (response.HasStarted)
            {
                throw new InvalidOperationException("You cannot start streaming because response has already started.");
            }

            _writer = writer;
        }
コード例 #2
0
 public override Task StreamQuery(HttpResponse response, IStreamDocumentQueryResultWriter writer, IndexQueryServerSide query, DocumentsOperationContext documentsContext, OperationCancelToken token)
 {
     throw new NotSupportedException($"Index {Name} is in-memory implementation of a faulty index", _e);
 }
コード例 #3
0
        public override async Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer, OperationCancelToken token)
        {
            ObjectDisposedException lastException = null;

            for (var i = 0; i < NumberOfRetries; i++)
            {
                try
                {
                    documentsContext.CloseTransaction();
                    await GetRunner(query).ExecuteStreamQuery(query, documentsContext, response, writer, token);

                    return;
                }
                catch (ObjectDisposedException e)
                {
                    if (Database.DatabaseShutdown.IsCancellationRequested)
                    {
                        throw;
                    }

                    lastException = e;
                }
            }

            throw CreateRetriesFailedException(lastException);
        }
コード例 #4
0
        public override async Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer,
                                                      OperationCancelToken token)
        {
            var index = await MatchIndex(query, true, customStalenessWaitTimeout : TimeSpan.FromSeconds(60), documentsContext, token.Token);

            await index.StreamQuery(response, writer, query, documentsContext, token);
        }
コード例 #5
0
 public abstract Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response,
                                         IStreamDocumentQueryResultWriter writer, OperationCancelToken token);
コード例 #6
0
        public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer,
                                                OperationCancelToken token)
        {
            var result = new StreamDocumentQueryResult(response, writer, token);

            documentsContext.OpenReadTransaction();

            FillCountOfResultsAndIndexEtag(result, query.Metadata, documentsContext);

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

            result.Flush();

            return(Task.CompletedTask);
        }
コード例 #7
0
        public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer, OperationCancelToken token)
        {
            var index = GetIndex(query.Metadata.IndexName);

            return(index.StreamQuery(response, writer, query, documentsContext, token));
        }
コード例 #8
0
ファイル: QueryRunner.cs プロジェクト: rstonkus/ravendb
 public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer, OperationCancelToken token)
 {
     return(GetRunner(query).ExecuteStreamQuery(query, documentsContext, response, writer, token));
 }
コード例 #9
0
 public override Task ExecuteStreamQuery(IndexQueryServerSide query, DocumentsOperationContext documentsContext, HttpResponse response, IStreamDocumentQueryResultWriter writer,
                                         OperationCancelToken token)
 {
     throw new NotSupportedException(ErrorMessage);
 }