Class GenericQueryResponse

All Implemented Interfaces:
CouchbaseMessage, CouchbaseResponse

public class GenericQueryResponse
extends AbstractCouchbaseResponse
The base response for Query (N1QL) 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 N1QL 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).
    • profileInfo

      public rx.Observable<ByteBuf> profileInfo()
      Contains a single ByteBuf representing the JSON object of query profile information (or empty if profile 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.