예제 #1
0
        public Dictionary <string, FacetResult> Execute()
        {
            var command = GetCommand(isAsync: false);

            _session.IncrementRequestCount();
            _session.RequestExecutor.Execute(command, _session.Context);

            return(ProcessResults(command.Result, _session.Conventions));
        }
예제 #2
0
        public Dictionary <string, SuggestionResult> Execute()
        {
            var command = GetCommand(isAsync: false);

            _duration = Stopwatch.StartNew();
            _session.IncrementRequestCount();
            _session.RequestExecutor.Execute(command, _session.Context, sessionInfo: _session.SessionInfo);

            return(ProcessResults(command.Result, _session.Conventions));
        }
예제 #3
0
        public SingleNodeBatchCommand CreateRequest()
        {
            var result = _session.PrepareForSaveChanges();

            _onSuccessfulRequest  = result.OnSuccess;
            _sessionCommandsCount = result.SessionCommands.Count;

            result.SessionCommands.AddRange(result.DeferredCommands);
            _session.ValidateClusterTransaction(result);

            _allCommandsCount = result.SessionCommands.Count;

            if (_allCommandsCount == 0)
            {
                return(null);
            }

            _session.IncrementRequestCount();

            _entities = result.Entities;

            if (_session.TransactionMode == TransactionMode.ClusterWide)
            {
                return(new ClusterWideBatchCommand(_session.Conventions, _session.Context, result.SessionCommands, result.Options));
            }

            return(new SingleNodeBatchCommand(_session.Conventions, _session.Context, result.SessionCommands, result.Options));
        }
예제 #4
0
        public QueryCommand CreateRequest()
        {
            _session.IncrementRequestCount();
            LogQuery();

            return(new QueryCommand(_session.Conventions, _indexQuery, _metadataOnly, _indexEntriesOnly));
        }
예제 #5
0
        public GetDocumentsCommand CreateRequest()
        {
            if (_idsToCheckOnServer.Count == 0)
            {
                return(null);
            }

            if (_session.CheckIfIdAlreadyIncluded(_ids, _includes))
            {
                return(null);
            }

            _session.IncrementRequestCount();
            if (Logger.IsInfoEnabled)
            {
                Logger.Info($"Requesting the following ids '{string.Join(", ", _idsToCheckOnServer)}' from {_session.StoreIdentifier}");
            }

            if (_includeAllCounters)
            {
                return(new GetDocumentsCommand(_idsToCheckOnServer.ToArray(), _includes, includeAllCounters: true, metadataOnly: false));
            }

            return(_countersToInclude != null
                ? new GetDocumentsCommand(_idsToCheckOnServer.ToArray(), _includes, _countersToInclude, metadataOnly: false)
                : new GetDocumentsCommand(_idsToCheckOnServer.ToArray(), _includes, metadataOnly: false));
        }
예제 #6
0
        public GetDocumentsCommand CreateRequest()
        {
            _session.IncrementRequestCount();
            if (Logger.IsInfoEnabled)
            {
                Logger.Info($"Requesting documents with ids starting with '{_startWith}' from {_session.StoreIdentifier}");
            }

            return(new GetDocumentsCommand(_startWith, _startAfter, _matches, _exclude, _start, _pageSize, metadataOnly: false));
        }
예제 #7
0
        public QueryStreamCommand CreateRequest(IndexQuery query)
        {
            _isQueryStream = true;

            if (query.WaitForNonStaleResults)
            {
                throw new NotSupportedException(
                          "Since Stream() does not wait for indexing (by design), streaming query with WaitForNonStaleResults is not supported.");
            }

            _session.IncrementRequestCount();

            return(new QueryStreamCommand(_session.Conventions, query));
        }
예제 #8
0
        public QueryCommand CreateRequest()
        {
            _session.IncrementRequestCount();
            LogQuery();

            return(new QueryCommand
            {
                Index = _indexName,
                IndexQuery = _indexQuery,
                Convention = _session.Conventions,
                Includes = _includes,
                MetadataOnly = _metadataOnly,
                IndexEntriesOnly = _indexEntriesOnly,
                Context = _session.Context
            });
        }
예제 #9
0
        public BatchCommand CreateRequest()
        {
            var result = _session.PrepareForSaveChanges();

            _sessionCommandsCount = result.SessionCommands.Count;
            result.SessionCommands.AddRange(result.DeferredCommands);
            if (result.SessionCommands.Count == 0)
            {
                return(null);
            }

            _session.IncrementRequestCount();

            _entities = result.Entities;

            return(new BatchCommand(_session.Conventions, _session.Context, result.SessionCommands, result.Options));
        }
예제 #10
0
        public BatchCommand CreateRequest()
        {
            var result = _session.PrepareForSaveChanges();

            _session.IncrementRequestCount();
            LogBatch();

            _entities = result.Entities;
            _deferredCommandsCount = result.DeferredCommandsCount;

            return(new BatchCommand()
            {
                Commands = result.Commands,
                Context = _session.Context,
                Options = result?.Options,
                IsReadRequest = false
            });
        }
예제 #11
0
        public GetDocumentsCommand CreateRequest()
        {
            if (_session.CheckIfIdAlreadyIncluded(_ids, _includes))
            {
                return(null);
            }

            _session.IncrementRequestCount();
            if (Logger.IsInfoEnabled)
            {
                Logger.Info($"Requesting the following ids '{string.Join(", ", _ids)}' from {_session.StoreIdentifier}");
            }

            if (_includeAllCounters)
            {
                return(new GetDocumentsCommand(_ids, _includes, includeAllCounters: true, timeSeriesIncludes: _timeSeriesToInclude, compareExchangeValueIncludes: _compareExchangeValuesToInclude, metadataOnly: false));
            }

            return(new GetDocumentsCommand(_ids, _includes, _countersToInclude, _timeSeriesToInclude, _compareExchangeValuesToInclude, metadataOnly: false));
        }
        public GetDocumentCommand CreateRequest()
        {
            _session.IncrementRequestCount();
            if (_logger.IsInfoEnabled)
            {
                _logger.Info($"Requesting documents with ids starting with '{_startWith}' from {_session.StoreIdentifier}");
            }

            return(new GetDocumentCommand
            {
                StartWith = _startWith,
                Matches = _matches,
                Start = _start,
                PageSize = _pageSize,
                Exclude = _exclude,
                PagingInformation = _pagingInformation,
                SkipAfter = _skipAfter,

                Transformer = _transformer,
                TransformerParameters = _transformerParameters
            });
        }
        public GetDocumentCommand CreateRequest()
        {
            if (_idsToCheckOnServer.Count == 0)
            {
                return(null);
            }

            _session.IncrementRequestCount();
            if (_logger.IsInfoEnabled)
            {
                _logger.Info($"Requesting the following ids '{string.Join(", ", _idsToCheckOnServer)}' from {_session.StoreIdentifier}");
            }

            return(new GetDocumentCommand
            {
                Ids = _idsToCheckOnServer.ToArray(),
                Includes = _includes,
                Transformer = _transformer,
                TransformerParameters = _transformerParameters,
                Context = _session.Context
            });
        }
예제 #14
0
        public SuggestionCommand CreateRequest()
        {
            _session.IncrementRequestCount();

            return(new SuggestionCommand(_session.Conventions, _query));
        }
예제 #15
0
        public MoreLikeThisCommand CreateRequest()
        {
            _session.IncrementRequestCount();

            return(new MoreLikeThisCommand(_session.Conventions, _query));
        }
예제 #16
0
 public GetRevisionsCommand CreateRequest()
 {
     _session.IncrementRequestCount();
     return(_command);
 }