Class GenericAnalyticsResponse

All Implemented Interfaces:
CouchbaseMessage, CouchbaseResponse

public class GenericAnalyticsResponse
extends AbstractCouchbaseResponse
The base response for Analytics (SQL++) requests. Response is divided into sub-sections, each of which can be asynchronously fed. They are represented as Observable, most of them of ByteBuf. Note that it is important that these streams are consumed and their ByteBuf released. In order to reuse the values of a section but still correctly release the ByteBuf, the best is to convert them into an appropriate gc-able value, release the buffer and cache the resulting stream. If one isn't interested in a particular sub-section, it should still be released by subscribing a Buffers.BYTE_BUF_RELEASER to its stream.
  • Constructor Details

  • Method Details

    • rows

      public rx.Observable<ByteBuf> rows()
      Contains one ByteBuf for each result item returned by the server. Each item is a JSON object.
    • signature

      public rx.Observable<ByteBuf> signature()
      Contains a single ByteBuf representing the Analytics json signature of the results. May not appear at all if there are no results (in case of fatal errors for example).
    • errors

      public rx.Observable<ByteBuf> errors()
      If there were errors and/or warnings while executing the query, contains a ByteBuf for each error and each warning. These are JSON objects, that should at least contain a 'msg' and a 'code'.
    • queryStatus

      public rx.Observable<String> queryStatus()
      Contains a single String denoting the status of the query (success, running, errors, completed, stopped, timeout, fatal). The status is always emitted AFTER all rows() and all errors() have been emitted.
    • info

      public rx.Observable<ByteBuf> info()
      Contains a single ByteBuf representing the JSON object of query execution metrics (or empty if metrics haven't been activated).
    • requestId

      public String requestId()
      the UUID for this request, can be used on the server side for tracing.
    • clientRequestId

      public String clientRequestId()
      the client-provided identifier if provided in the request, empty string otherwise.
    • handle

      public String handle()
      Contains the deferred handle url