Ejemplo n.º 1
0
        private void SetAutoPage(RowSet rs, ISession session, IStatement statement)
        {
            rs.AutoPage = statement != null && statement.AutoPage;
            if (rs.AutoPage && rs.PagingState != null && _request is IQueryRequest)
            {
                // Automatic paging is enabled and there are following result pages
                rs.SetFetchNextPageHandler(pagingState =>
                {
                    if (_session.IsDisposed)
                    {
                        Logger.Warning("Trying to page results using a Session already disposed.");
                        return(Task.FromResult(RowSet.Empty()));
                    }

                    var request = (IQueryRequest)RequestHandler.GetRequest(statement, _parent.Serializer,
                                                                           session.Cluster.Configuration);
                    request.PagingState = pagingState;
                    return(new RequestHandler(session, _parent.Serializer, request, statement).Send());
                }, _session.Cluster.Configuration.ClientOptions.QueryAbortTimeout);
            }
        }
Ejemplo n.º 2
0
 private void SetAutoPage(RowSet rs, ISession session, IStatement statement)
 {
     rs.AutoPage = statement != null && statement.AutoPage;
     if (rs.AutoPage && rs.PagingState != null && _request is IQueryRequest)
     {
         //Automatic paging is enabled and there are following result pages
         //Set the Handler for fetching the next page.
         rs.FetchNextPage = pagingState =>
         {
             if (_session.IsDisposed)
             {
                 Logger.Warning("Trying to page results using a Session already disposed.");
                 return(new RowSet());
             }
             var request = (IQueryRequest)RequestHandler.GetRequest(statement, _parent.Serializer, session.Cluster.Configuration);
             request.PagingState = pagingState;
             var task = new RequestHandler(session, _parent.Serializer, request, statement).Send();
             TaskHelper.WaitToComplete(task, session.Cluster.Configuration.ClientOptions.QueryAbortTimeout);
             return((RowSet)(object)task.Result);
         };
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates a new instance using the statement to build the request.
 /// Statement can not be null.
 /// </summary>
 public RequestHandler(IInternalSession session, Serializer serializer, IStatement statement)
     : this(session, serializer, RequestHandler.GetRequest(statement, serializer, session.Cluster.Configuration), statement)
 {
 }
Ejemplo n.º 4
0
 /// <inheritdoc />
 public IRequest BuildRequest(IStatement statement, Serializer serializer, Configuration config)
 {
     return(RequestHandler.GetRequest(statement, serializer, config));
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Creates a new instance using the statement to build the request.
 /// Statement can not be null.
 /// </summary>
 public RequestHandler(IInternalSession session, ISerializer serializer, IStatement statement, IRequestOptions requestOptions)
     : this(session, serializer, RequestHandler.GetRequest(statement, serializer, requestOptions), statement, requestOptions)
 {
 }
Ejemplo n.º 6
0
 /// <inheritdoc />
 public IRequest BuildRequest()
 {
     return(RequestHandler.GetRequest(Statement, Serializer, RequestOptions));
 }