Class QueryRequest

    • Method Detail

      • queryContext

        public static String queryContext​(String bucket,
                                          String scope)
        Helper method to build the query context from bucket and scope.
        Parameters:
        bucket - the name of the bucket.
        scope - the name of the scope.
        Returns:
        the build query context string.
      • encode

        public com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest encode()
        Specified by:
        encode in interface Encodable<com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest>
      • target

        public NodeIdentifier target()
        Description copied from interface: Request
        Returns the node that should service this request, or null to let the service locator decide.
        Specified by:
        target in interface Request<QueryResponse>
        Returns:
        (nullable)
      • statement

        public String statement()
      • operationId

        public String operationId()
        Description copied from interface: Request
        Returns a potentially non-unique identifier that is useful for tracing output.

        Note: might be null! It depends on the type of operation. It is also different from the unqiue operation ID that increments to provide additional context (i.e in query the context uuid, in kv the opaque value).

        Specified by:
        operationId in interface Request<QueryResponse>
        Returns:
        if present, the operation id. Null otherwise.
      • idempotent

        public boolean idempotent()
        Description copied from interface: Request
        Returns if the given request is idempotent or not.

        By default, this method always returns false for data consistency reasons. Only specific idempotent operations should override this default since it impacts retry handling quite a bit. DO NOT SET THIS TO TRUE ON MUTATING OPERATIONS!

        Specified by:
        idempotent in interface Request<QueryResponse>
        Returns:
        true if idempotent.
      • bucket

        public String bucket()
        Description copied from interface: Request
        Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.
        Specified by:
        bucket in interface Request<QueryResponse>
        Returns:
        (nullable)
      • scope

        public String scope()
      • toPrepareRequest

        @Internal
        public QueryRequest toPrepareRequest​(boolean autoExecute,
                                             RequestTracer requestTracer)
        Returns a new request that creates a prepared statement using this request as a template.
      • toExecuteRequest

        @Internal
        public QueryRequest toExecuteRequest​(String preparedStatementName,
                                             String encodedPlan,
                                             RequestTracer requestTracer)
        Returns a copy of this request tailored to execute a prepared statement.
        Parameters:
        preparedStatementName - name of the prepared statement
        encodedPlan - (nullable) query plan, or null if enhanced prepared statements are enabled.
      • name

        public String name()
        Description copied from interface: Request
        The unique name of the request, usually related to the type but not necessarily.

        The default implementation is derived from the class name (i.e. FooRequest => foo), but if that does not match up it should be overridden in the actual class.

        Specified by:
        name in interface Request<QueryResponse>
        Returns:
        the name of the request type.