boost()
boost(float $boost) : \Couchbase\PhraseSearchQuery
Parameters
float | $boost |
A FTS query that matches several terms (a "phrase") as is. The order of the terms mater and no further processing is applied to them, so they must appear in the index exactly as provided. Usually for debugging purposes, prefer MatchPhraseQuery.
boost(float $boost) : \Couchbase\PhraseSearchQuery
float | $boost |
field(string $field) : \Couchbase\PhraseSearchQuery
string | $field |
<?php
/**
* INI entries:
*
* * `couchbase.log_level` (string), default: `"WARN"`
*
* controls amount of information, the module will send to PHP error log. Accepts the following values in order of
* increasing verbosity: `"FATAL"`, `"ERROR"`, `"WARN"`, `"INFO"`, `"DEBUG"`, `"TRACE"`.
*
* * `couchbase.encoder.format` (string), default: `"json"`
*
* selects serialization format for default encoder (\Couchbase\defaultEncoder). Accepts the following values:
* * `"json"` - encodes objects and arrays as JSON object (using `json_encode()`), primitives written in stringified form,
* which is allowed for most of the JSON parsers as valid values. For empty arrays JSON array preferred, if it is
* necessary, use `new stdClass()` to persist empty JSON object. Note, that only JSON format considered supported by
* all Couchbase SDKs, everything else is private implementation (i.e. `"php"` format won't be readable by .NET SDK).
* * `"php"` - uses PHP serialize() method to encode the document.
* * `"igbinary"` - uses pecl/igbinary to encode the document in even more efficient than `"php"` format. Might not be
* available, if the Couchbase PHP SDK didn't find it during build phase, in this case constant
* \Couchbase\HAVE_IGBINARY will be false.
*
* * `couchbase.encoder.compression` (string), default: `"none"`
*
* selects compression algorithm. Also see related compression options below. Accepts the following values:
* * `"fastlz"` - uses FastLZ algorithm. The module might be configured to use system fastlz library during build,
* othewise vendored version will be used. This algorithm is always available.
* * `"zlib"` - uses compression implemented by libz. Might not be available, if the system didn't have libz headers
* during build phase. In this case \Couchbase\HAVE_ZLIB will be false.
* * `"off"` or `"none"` - compression will be disabled, but the library will still read compressed values.
*
* * `couchbase.encoder.compression_threshold` (long), default: `0`
*
* controls minimum size of the document value in bytes to use compression. For example, if threshold 100 bytes,
* and the document size is 50, compression will be disabled for this particular document.
*
* * `couchbase.encoder.compression_factor` (float), default: `0.0`
*
* controls the minimum ratio of the result value and original document value to proceed with persisting compressed
* bytes. For example, the original document consists of 100 bytes. In this case factor 1.0 will require compressor
* to yield values not larger than 100 bytes (100/1.0), and 1.5 -- not larger than 66 bytes (100/1.5).
*
* * `couchbase.decoder.json_arrays` (boolean), default: `false`
*
* controls the form of the documents, returned by the server if they were in JSON format. When true, it will generate
* arrays of arrays, otherwise instances of stdClass.
*
* * `couchbase.pool.max_idle_time_sec` (long), default: `60`
*
* controls the maximum interval the underlying connection object could be idle, i.e. without any data/query
* operations. All connections which idle more than this interval will be closed automatically. Cleanup function
* executed after each request using RSHUTDOWN hook.
*
* @package Couchbase
*/
namespace Couchbase {
/** If igbinary extension was not found during build phase this constant will store 0 */
define("Couchbase\\HAVE_IGBINARY", 1);
/** If libz headers was not found during build phase this constant will store 0 */
define("Couchbase\\HAVE_ZLIB", 1);
/** Encodes documents as JSON objects (see INI section for details)
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_FORMAT_JSON", 0);
/** Encodes documents using pecl/igbinary encoder (see INI section for details)
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_FORMAT_IGBINARY", 1);
/** Encodes documents using PHP serialize() (see INI section for details)
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_FORMAT_PHP", 2);
/** Do not use compression for the documents
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_COMPRESSION_NONE", 0);
/** Use zlib compressor for the documents
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_COMPRESSION_ZLIB", 1);
/** Use FastLZ compressor for the documents
* @see \Couchbase\basicEncoderV1
*/
define("Couchbase\\ENCODER_COMPRESSION_FASTLZ", 2);
/**
* Compress input using FastLZ algorithm.
*
* @param string $data original data
* @return string compressed binary string
*/
function fastlzCompress($data) {}
/**
* Decompress input using FastLZ algorithm.
*
* @param string $data compressed binary string
* @return string original data
*/
function fastlzDecompress($data) {}
/**
* Compress input using zlib. Raises Exception when extension compiled without zlib support.
*
* @see \Couchbase\HAVE_ZLIB
* @param string $data original data
* @return string compressed binary string
*/
function zlibCompress($data) {}
/**
* Compress input using zlib. Raises Exception when extension compiled without zlib support.
*
* @see \Couchbase\HAVE_ZLIB
* @param string $data compressed binary string
* @return string original data
*/
function zlibDecompress($data) {}
/**
* Returns value as it received from the server without any transformations.
*
* It is useful for debug purpose to inspect bare value.
*
* @param string $bytes
* @param int $flags
* @param int $datatype
* @return string Document as it received from the Couchbase.
*
* @example examples/api/couchbase.passthruDecoder.php
* @see \Couchbase\Bucket::setTranscoder()
*/
function passthruDecoder($bytes, $flags, $datatype) {}
/**
* Returns the value, which has been passed and zero as flags and datatype.
*
* It is useful for debug purposes, or when the value known to be a string, otherwise behavior is not defined (most
* likely it will generate error).
*
* @param string $value document to be stored in the Couchbase
* @return array Array with three values: [bytes, 0, 0]
*
* @see \Couchbase\Bucket::setTranscoder()
*/
function passthruEncoder($value) {}
/**
* Decodes value using \Couchbase\basicDecoderV1.
*
* It passes `couchbase.decoder.*` INI properties as $options.
*
* @param string $bytes Binary string received from the Couchbase, which contains encoded document
* @param int $flags Flags which describes document encoding
* @param int $datatype Extra field for datatype (not used at the moment)
* @return mixed Decoded document object
*
* @see \Couchbase\basicDecoderV1
* @see \Couchbase\Bucket::setTranscoder()
*/
function defaultDecoder($bytes, $flags, $datatype) {}
/**
* Encodes value using \Couchbase\basicDecoderV1.
*
* It passes `couchbase.encoder.*` INI properties as $options.
*
* @param mixed $value document to be stored in the Couchbase
* @return array Array with three values: [bytes, flags, datatype]
*
* @see \Couchbase\basicDecoderV1
* @see \Couchbase\Bucket::setTranscoder()
*/
function defaultEncoder($value) {}
/**
* Decodes value according to Common Flags (RFC-20)
*
* @param string $bytes Binary string received from the Couchbase, which contains encoded document
* @param int $flags Flags which describes document encoding
* @param int $datatype Extra field for datatype (not used at the moment)
* @param array $options
* @return mixed Decoded document object
*
* @see https://github.com/couchbaselabs/sdk-rfcs RFC-20 at SDK RFCs repository
*/
function basicDecoderV1($bytes, $flags, $datatype, $options) {}
/**
* Encodes value according to Common Flags (RFC-20)
*
* @param mixed $value document to be stored in the Couchbase
* @param array $options Encoder options (see detailed description in INI section)
* * "sertype" (default: \Couchbase::ENCODER_FORMAT_JSON) encoding format to use
* * "cmprtype" (default: \Couchbase::ENCODER_COMPRESSION_NONE) compression type
* * "cmprthresh" (default: 0) compression threshold
* * "cmprfactor" (default: 0) compression factor
* @return array Array with three values: [bytes, flags, datatype]
*
* @see https://github.com/couchbaselabs/sdk-rfcs RFC-20 at SDK RFCs repository
*/
function basicEncoderV1($value, $options) {}
/**
* Exception represeting all errors generated by the extension
*/
class Exception extends \Exception {
}
/**
* Represents Couchbase Document, which stores metadata and the value.
*
* The instances of this class returned by K/V commands of the \Couchbase\Bucket
*
* @see \Couchbase\Bucket
*/
class Document {
/**
* @var Exception exception object in case of error, or NULL
*/
public $error;
/**
* @var mixed The value stored in the Couchbase.
*/
public $value;
/**
* @var int Flags, describing the encoding of the document on the server side.
*/
public $flags;
/**
* @var string The last known CAS value of the document
*/
public $cas;
/**
* @var MutationToken
* The optional, opaque mutation token set after a successful mutation.
*
* Note that the mutation token is always NULL, unless they are explicitly enabled on the
* connection string (`?fetch_mutation_tokens=true`), the server version is supported (>= 4.0.0)
* and the mutation operation succeeded.
*
* If set, it can be used for enhanced durability requirements, as well as optimized consistency
* for N1QL queries.
*/
public $token;
}
/**
* A fragment of a JSON Document returned by the sub-document API.
*
* @see \Couchbase\Bucket::mutateIn()
* @see \Couchbase\Bucket::lookupIn()
*/
class DocumentFragment {
/**
* @var Exception exception object in case of error, or NULL
*/
public $error;
/**
* @var mixed The value sub-document command returned.
*/
public $value;
/**
* @var string The last known CAS value of the document
*/
public $cas;
/**
* @var MutationToken
* The optional, opaque mutation token related to updated document the environment.
*
* Note that the mutation token is always NULL, unless they are explicitly enabled on the
* connection string (`?fetch_mutation_tokens=true`), the server version is supported (>= 4.0.0)
* and the mutation operation succeeded.
*
* If set, it can be used for enhanced durability requirements, as well as optimized consistency
* for N1QL queries.
*/
public $token;
}
/**
* Represents a Couchbase Server Cluster.
*
* It is an entry point to the library, and in charge of opening connections to the Buckets.
* In addition it can instantiate \Couchbase\ClusterManager to peform cluster-wide operations.
*
* @see \Couchbase\Bucket
* @see \Couchbase\ClusterManager
* @see \Couchbase\Authenticator
*/
class Cluster {
/**
* Create cluster object
*
* @param string $connstr connection string
*/
public function __construct($connstr) {}
/**
* Open connection to the Couchbase bucket
*
* @param string $name Name of the bucket.
* @param string $password Password of the bucket to override authenticator.
* @return Bucket
*
* @see \Couchbase\Authenticator
*/
public function openBucket($name = "default", $password = "") {}
/**
* Open management connection to the Couchbase cluster.
*
* @param string $username Name of the administrator to override authenticator or NULL.
* @param string $password Password of the administrator to override authenticator or NULL.
* @return ClusterManager
*
* @see \Couchbase\Authenticator
*/
public function manager($username = null, $password = null) {}
/**
* Associate authenticator with Cluster
*
* @param Authenticator $authenticator
* @return null
*
* @see \Couchbase\Authenticator
* @see \Couchbase\ClassicAuthenticator
* @see \Couchbase\PasswordAuthenticator
* @see \Couchbase\CertAuthenticator
*/
public function authenticate($authenticator) {}
/**
* Create \Couchbase\PasswordAuthenticator from given credentials and associate it with Cluster
*
* @param string $username
* @param string $password
* @return null
*
* @see \Couchbase\Authenticator
* @see \Couchbase\PasswordAuthenticator
*/
public function authenticateAs($username, $password) {}
}
/**
* Provides management capabilities for a Couchbase Server Cluster
*
* @see \Couchbase\Cluster
*/
class ClusterManager {
/**
* The user account managed by Couchbase Cluster.
*/
const RBAC_DOMAIN_LOCAL = 1;
/**
* The user account managed by external system (e.g. LDAP).
*/
const RBAC_DOMAIN_EXTERNAL = 2;
/** @ignore */
final private function __construct() {}
/**
* Lists all buckets on this cluster.
*
* @return array
*/
public function listBuckets() {}
/**
* Creates new bucket
*
* @param string $name Name of the bucket
* @param array $options Bucket options
* * "authType" (default: "sasl") type of the bucket authentication
* * "bucketType" (default: "couchbase") type of the bucket
* * "ramQuotaMB" (default: 100) memory quota of the bucket
* * "replicaNumber" (default: 1) number of replicas.
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-bucket-create.html
* More options and details
*/
public function createBucket($name, $options = []) {}
/**
* Removes a bucket identified by its name.
*
* @param string $name name of the bucket
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-bucket-delete.html
* More details
*/
public function removeBucket($name) {}
/**
* Provides information about the cluster.
*
* Returns an associative array of status information as seen on the cluster. The exact structure of the returned
* data can be seen in the Couchbase Manual by looking at the cluster /info endpoint.
*
* @return array
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-cluster-get.html
* Retrieving Cluster Information
*/
public function info() {}
/**
* Lists all users on this cluster.
*
* @param int $domain RBAC domain
*
* @return array
*
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_LOCAL
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_EXTERNAL
*/
public function listUsers($domain = RBAC_DOMAIN_LOCAL) {}
/**
* Fetch single user by its name
*
* @param string $username The user's identifier
* @param int $domain RBAC domain
*
* @return array
*
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_LOCAL
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_EXTERNAL
*/
public function getUser($username, $domain = RBAC_DOMAIN_LOCAL) {}
/**
* Creates new user
*
* @param string $name Name of the user
* @param \Couchbase\UserSettings $settings settings (credentials and roles)
* @param int $domain RBAC domain
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
* More options and details
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_LOCAL
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_EXTERNAL
*/
public function upsertUser($name, $settings, $domain = RBAC_DOMAIN_LOCAL) {}
/**
* Removes a user identified by its name.
*
* @param string $name name of the bucket
* @param int $domain RBAC domain
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
* More details
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_LOCAL
* @see \Couchbase\ClusterManager::RBAC_DOMAIN_EXTERNAL
*/
public function removeUser($name, $domain = RBAC_DOMAIN_LOCAL) {}
}
/**
* Represents settings for new/updated user.
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
*/
class UserSettings {
/**
* Sets full name of the user (optional).
*
* @param string $fullName Full name of the user
*
* @return \Couchbase\UserSettings
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
* More details
*/
public function fullName($fullName) {}
/**
* Sets password of the user.
*
* @param string $password Password of the user
*
* @return \Couchbase\UserSettings
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
* More details
*/
public function password($password) {}
/**
* Adds role to the list of the accessible roles of the user.
*
* @param string $role identifier of the role
* @param string $bucket the bucket where this role applicable (or `*` for all buckets)
*
* @return \Couchbase\UserSettings
*
* @see https://developer.couchbase.com/documentation/server/5.0/rest-api/rbac.html
* More details
*/
public function role($role, $bucket = NULL) {}
}
/**
* Represents connection to the Couchbase Server
*
* @property int $operationTimeout
* The operation timeout (in microseconds) is the maximum amount of time the
* library will wait for an operation to receive a response before invoking
* its callback with a failure status.
*
* An operation may timeout if:
*
* * A server is taking too long to respond
* * An updated cluster configuration has not been promptly received
*
* @property int $viewTimeout
* The I/O timeout (in microseconds) for HTTP requests to Couchbase Views API
*
* @property int $n1qlTimeout
* The I/O timeout (in microseconds) for N1QL queries.
*
* @property int $httpTimeout
* The I/O timeout (in microseconds) for HTTP queries (management API).
*
* @property int $configTimeout
* How long (in microseconds) the client will wait to obtain the initial
* configuration.
*
* @property int $configNodeTimeout
* Per-node configuration timeout (in microseconds).
*
* This timeout sets the amount of time to wait for each node within
* the bootstrap/configuration process. This interval is a subset of
* the $configTimeout option mentioned above and is intended to ensure
* that the bootstrap process does not wait too long for a given node.
* Nodes that are physically offline may never respond and it may take
* a long time until they are detected as being offline.
*
* @property int $configDelay
* Config refresh throttling
*
* Modify the amount of time (in microseconds) before the configiration
* error threshold will forcefully be set to its maximum number forcing
* a configuration refresh.
*
* Note that if you expect a high number of timeouts in your operations,
* you should set this to a high number. If you are using the default
* timeout setting, then this value is likely optimal.
*
* @property int $htconfigIdleTimeout
* Idling/Persistence for HTTP bootstrap (in microseconds)
*
* By default the behavior of the library for HTTP bootstrap is to keep
* the stream open at all times (opening a new stream on a different host
* if the existing one is broken) in order to proactively receive
* configuration updates.
*
* The default value for this setting is -1. Changing this to another
* number invokes the following semantics:
*
* * The configuration stream is not kept alive indefinitely. It is kept
* open for the number of seconds specified in this setting. The socket
* is closed after a period of inactivity (indicated by this setting).
*
* * If the stream is broken (and no current refresh was requested by
* the client) then a new stream is not opened.
*
* @property int $durabilityInterval
* The time (in microseconds) the client will wait between repeated probes
* to a given server.
*
* @property int $durabilityTimeout
* The time (in microseconds) the client will spend sending repeated probes
* to a given key's vBucket masters and replicas before they are deemed not
* to have satisfied the durability requirements
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/start-using-sdk.html
* Start Using SDK
*/
class Bucket {
/** Ping data (Key/Value) service. */
const PINGSVC_KV = 0x01;
/** Ping query (N1QL) service. */
const PINGSVC_N1QL = 0x02;
/** Ping views (Map/Reduce) service. */
const PINGSVC_VIEWS = 0x04;
/** Ping full text search (FTS) service. */
const PINGSVC_FTS = 0x08;
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @param string $name
* @return int
*/
final private function __get($name) {}
/**
* @ignore
* @param string $name
* @param int $value
* @return int
*/
final private function __set($name, $value) {}
/**
* Returns the name of the bucket for current connection
*
* @return string
*/
public function getName() {}
/**
* Returns an instance of a CouchbaseBucketManager for performing management operations against a bucket.
*
* @return BucketManager
*/
public function manager() {}
/**
* Sets custom encoder and decoder functions for handling serialization.
*
* @param callable $encoder
* @param callable $decoder
*
* @example examples/api/couchbase.passthruDecoder.php
* @see \Couchbase\defaultEncoder
* @see \Couchbase\defaultDecoder
* @see \Couchbase\passthruEncoder
* @see \Couchbase\passthruDecoder
*/
public function setTranscoder($encoder, $decoder) {}
/**
* Retrieves a document
*
* @param string|array $ids one or more IDs
* @param array $options options
* * "lockTime" non zero if the documents have to be locked
* * "expiry" non zero if the expiration time should be updated
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see \Couchbase\Bucket::getAndLock()
* @see \Couchbase\Bucket::getAndTouch()
* @see \Couchbase\Bucket::unlock()
* @see \Couchbase\Bucket::touch()
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function get($ids, $options = []) {}
/**
* Retrieves a document and locks it.
*
* After the document has been locked on the server, its CAS would be masked,
* and all mutations of it will be rejected until the server unlocks the document
* automatically or it will be done manually with \Couchbase\Bucket::unlock() operation.
*
* @param string|array $ids one or more IDs
* @param int $lockTime time to lock the documents
* @param array $options options
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see \Couchbase\Bucket::unlock()
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
* @see https://forums.couchbase.com/t/is-there-a-way-to-do-pessimistic-locking-for-more-than-30-seconds/10666/3
* Forum post about getting server defaults for the $lockTime
*/
public function getAndLock($ids, $lockTime, $options = []) {}
/**
* Retrieves a document and updates its expiration time.
*
* @param string|array $ids one or more IDs
* @param int $expiry time after which the document will not be accessible.
* If larger than 30 days (60*60*24*30), it will be interpreted by the
* server as absolute UNIX time (seconds from epoch 1970-01-01T00:00:00).
* @param array $options options
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function getAndTouch($ids, $expiry, $options = []) {}
/**
* Retrieves a document from a replica.
*
* @param string|array $ids one or more IDs
* @param array $options options
* * "index" the replica index. If the index is zero, it will return
* first successful replica, otherwise it will read only selected node.
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/failure-considerations.html
* More about failure considerations.
*/
public function getFromReplica($ids, $options = []) {}
/**
* Inserts or updates a document, depending on whether the document already exists on the cluster.
*
* @param string|array $ids one or more IDs
* @param mixed $value value of the document
* @param array $options options
* * "expiry" document expiration time in seconds. If larger than 30 days (60*60*24*30),
* it will be interpreted by the server as absolute UNIX time (seconds from epoch
* 1970-01-01T00:00:00).
* * "persist_to" how many nodes the key should be persisted to (including master).
* If set to 0 then persistence will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which persistence
* is possible (which will always contain at least the master node).
* * "replicate_to" how many nodes the key should be persisted to (excluding master).
* If set to 0 then replication will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which replication
* is possible (which may be 0 if the bucket is not configured for replicas).
* * "flags" override flags (not recommended to use)
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function upsert($ids, $value, $options = []) {}
/**
* Inserts a document. This operation will fail if the document already exists on the cluster.
*
* @param string|array $ids one or more IDs
* @param mixed $value value of the document
* @param array $options options
* * "expiry" document expiration time in seconds. If larger than 30 days (60*60*24*30),
* it will be interpreted by the server as absolute UNIX time (seconds from epoch
* 1970-01-01T00:00:00).
* * "persist_to" how many nodes the key should be persisted to (including master).
* If set to 0 then persistence will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which persistence
* is possible (which will always contain at least the master node).
* * "replicate_to" how many nodes the key should be persisted to (excluding master).
* If set to 0 then replication will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which replication
* is possible (which may be 0 if the bucket is not configured for replicas).
* * "flags" override flags (not recommended to use)
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function insert($ids, $value, $options = []) {}
/**
* Replaces a document. This operation will fail if the document does not exists on the cluster.
*
* @param string|array $ids one or more IDs
* @param mixed $value value of the document
* @param array $options options
* * "cas" last known document CAS, which serves for optimistic locking.
* * "expiry" document expiration time in seconds. If larger than 30 days (60*60*24*30),
* it will be interpreted by the server as absolute UNIX time (seconds from epoch
* 1970-01-01T00:00:00).
* * "persist_to" how many nodes the key should be persisted to (including master).
* If set to 0 then persistence will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which persistence
* is possible (which will always contain at least the master node).
* * "replicate_to" how many nodes the key should be persisted to (excluding master).
* If set to 0 then replication will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which replication
* is possible (which may be 0 if the bucket is not configured for replicas).
* * "flags" override flags (not recommended to use)
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function replace($ids, $value, $options = []) {}
/**
* Appends content to a document.
*
* On the server side it just contatenate passed value to the existing one.
* Note that this might make the value un-decodable. Consider sub-document API
* for partial updates of the JSON documents.
*
* @param string|array $ids one or more IDs
* @param mixed $value value of the document
* @param array $options options
* * "cas" last known document CAS, which serves for optimistic locking.
* * "expiry" document expiration time in seconds. If larger than 30 days (60*60*24*30),
* it will be interpreted by the server as absolute UNIX time (seconds from epoch
* 1970-01-01T00:00:00).
* * "persist_to" how many nodes the key should be persisted to (including master).
* If set to 0 then persistence will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which persistence
* is possible (which will always contain at least the master node).
* * "replicate_to" how many nodes the key should be persisted to (excluding master).
* If set to 0 then replication will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which replication
* is possible (which may be 0 if the bucket is not configured for replicas).
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see \Couchbase\Bucket::mutateIn()
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function append($ids, $value, $options = []) {}
/**
* Prepends content to a document.
*
* On the server side it just contatenate existing value to the passed one.
* Note that this might make the value un-decodable. Consider sub-document API
* for partial updates of the JSON documents.
*
* @param string|array $ids one or more IDs
* @param mixed $value value of the document
* @param array $options options
* * "cas" last known document CAS, which serves for optimistic locking.
* * "expiry" document expiration time in seconds. If larger than 30 days (60*60*24*30),
* it will be interpreted by the server as absolute UNIX time (seconds from epoch
* 1970-01-01T00:00:00).
* * "persist_to" how many nodes the key should be persisted to (including master).
* If set to 0 then persistence will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which persistence
* is possible (which will always contain at least the master node).
* * "replicate_to" how many nodes the key should be persisted to (excluding master).
* If set to 0 then replication will not be checked. If set to a negative
* number, will be set to the maximum number of nodes to which replication
* is possible (which may be 0 if the bucket is not configured for replicas).
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see \Couchbase\Bucket::mutateIn()
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function prepend($ids, $value, $options = []) {}
/**
* Removes the document.
*
* @param string|array $ids one or more IDs
* @param array $options options
* * "cas" last known document CAS, which serves for optimistic locking.
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function remove($ids, $options = []) {}
/**
* Unlocks previously locked document
*
* @param string|array $ids one or more IDs
* @param array $options options
* * "cas" last known document CAS, which has been returned by locking command.
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see \Couchbase\Bucket::get()
* @see \Couchbase\Bucket::getAndLock()
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function unlock($ids, $options = []) {}
/**
* Updates document's expiration time.
*
* @param string|array $ids one or more IDs
* @param int $expiry time after which the document will not be accessible.
* If larger than 30 days (60*60*24*30), it will be interpreted by the
* server as absolute UNIX time (seconds from epoch 1970-01-01T00:00:00).
* @param array $options options
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function touch($ids, $expiry, $options = []) {}
/**
* Increments or decrements a key (based on $delta)
*
* @param string|array $ids one or more IDs
* @param int $delta the number whih determines the sign (positive/negative) and the value of the increment
* @param array $options options
* * "initial" initial value of the counter if it does not exist
* * "expiry" time after which the document will not be accessible.
* If larger than 30 days (60*60*24*30), it will be interpreted by the
* server as absolute UNIX time (seconds from epoch 1970-01-01T00:00:00).
* * "groupid" override value for hashing (not recommended to use)
* @return \Couchbase\Document|array document or list of the documents
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/core-operations.html
* Overview of K/V operations
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/document-operations.html
* More details about K/V operations for PHP SDK
*/
public function counter($ids, $delta = 1, $options = []) {}
/**
* Returns a builder for reading subdocument API.
*
* @param string $id The ID of the JSON document
* @return LookupInBuilder
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function lookupIn($id) {}
/**
* Retrieves specified paths in JSON document
*
* This is essentially a shortcut for `lookupIn($id)->get($paths)->execute()`.
*
* @param string $id The ID of the JSON document
* @param string ...$paths List of the paths inside JSON documents (see "Path syntax" section of the
* "Sub-Document Operations" documentation).
* @return \Couchbase\DocumentFragment
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function retrieveIn($id, ...$paths) {}
/**
* Returns a builder for writing subdocument API.
*
* @param string $id The ID of the JSON document
* @param string $cas Last known document CAS value for optimisti locking
* @return MutateInBuilder
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function mutateIn($id, $cas) {}
/**
* Performs a query to Couchbase Server
*
* @param N1qlQuery|ViewQuery|SpatialViewQuery|SearchQuery|AnalyticsQuery $query
* @param bool $jsonAsArray if true, the values in the result rows (or hits) will be represented as
* PHP arrays, otherwise they will be instances of the `stdClass`
* @return object Query-specific result object.
*
* @see \Couchbase\N1qlQuery
* @see \Couchbase\SearchQuery
* @see \Couchbase\ViewQuery
* @see \Couchbase\SpatialViewQuery
*/
public function query($query, $jsonAsArray = false) {}
/**
* Returns size of the map
*
* @param string $id ID of the document
* @return int number of the key-value pairs
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function mapSize($id) {}
/**
* Add key to the map
*
* @param string $id ID of the document
* @param string $key key
* @param mixed $value value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function mapAdd($id, $key, $value) {}
/**
* Removes key from the map
*
* @param string $id ID of the document
* @param string $key key
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function mapRemove($id, $key) {}
/**
* Get an item from a map
*
* @param string $id ID of the document
* @param string $key key
* @return mixed value associated with the key
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function mapGet($id, $key) {}
/**
* Returns size of the set
*
* @param string $id ID of the document
* @return int number of the elements
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function setSize($id) {}
/**
* Add value to the set
*
* Note, that currently only primitive values could be stored in the set (strings, integers and booleans).
*
* @param string $id ID of the document
* @param string|int|float|bool $value new value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function setAdd($id, $value) {}
/**
* Check if the value exists in the set
*
* @param string $id ID of the document
* @param string|int|float|bool $value value to check
* @return bool true if the value exists in the set
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function setExists($id, $value) {}
/**
* Remove value from the set
*
* @param string $id ID of the document
* @param string|int|float|bool $value value to remove
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function setRemove($id, $value) {}
/**
* Returns size of the list
*
* @param string $id ID of the document
* @return int number of the elements
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listSize($id) {}
/**
* Add an element to the end of the list
*
* @param string $id ID of the document
* @param mixed $value new value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listPush($id, $value) {}
/**
* Add an element to the beginning of the list
*
* @param string $id ID of the document
* @param mixed $value new value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listShift($id, $value) {}
/**
* Remove an element at the given position
*
* @param string $id ID of the document
* @param int $index index of the element to be removed
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listRemove($id, $index) {}
/**
* Get an element at the given position
*
* @param string $id ID of the document
* @param int $index index of the element
* @return mixed the value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listGet($id, $index) {}
/**
* Set an element at the given position
*
* @param string $id ID of the document
* @param int $index index of the element
* @param mixed $value new value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listSet($id, $index, $value) {}
/**
* Check if the list contains specified value
*
* @param string $id ID of the document
* @param mixed $value value to look for
* @reuturn bool true if the list contains the value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function listExists($id, $value) {}
/**
* Returns size of the queue
*
* @param string $id ID of the document
* @return int number of the elements in the queue
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function queueSize($id) {}
/**
* Checks if the queue contains specified value
*
* @param string $id ID of the document
* @param mixed $value value to look for
* @return bool true if the queue contains the value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function queueExists($id, $value) {}
/**
* Add an element to the beginning of the queue
*
* @param string $id ID of the document
* @param mixed $value new value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function queueAdd($id, $value) {}
/**
* Remove the element at the end of the queue and return it
*
* @param string $id ID of the document
* @return mixed removed value
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/datastructures.html
* More details on Data Structures
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Overview of Sub-Document Operations
*/
public function queueRemove($id) {}
/**
* Try to reach specified services, and measure network latency.
*
* @param int $services bitwise mask of required services (and all services when zero)
* @param string $reportId custom identifier, which will be appended to "id" property in report
* @return array the report object
*
* @see \Couchbase\Bucket::PINGSVC_KV
* @see \Couchbase\Bucket::PINGSVC_N1QL
* @see \Couchbase\Bucket::PINGSVC_VIEWS
* @see \Couchbase\Bucket::PINGSVC_FTS
*
* @see https://github.com/couchbaselabs/sdk-rfcs/blob/master/rfc/0034-health-check.md
* SDK RFC #34, which describes the feature and report layout.
*/
public function ping($services = 0, $reportId = NULL) {}
/**
* Collect and return information about state of internal network connections.
*
* @param string $reportId custom identifier, which will be appended to "id" property in report
* @return array the report object
*
* @see https://github.com/couchbaselabs/sdk-rfcs/blob/master/rfc/0034-health-check.md
* SDK RFC #34, which describes the feature and report layout.
*/
public function diag($reportId = NULL) {}
/**
* Encrypt fields inside specified document.
*
* @param array $document document structure
* @param array $options specification for fields needed to be encrypted. Where 'alg' contains
* a string with alias of the registed crypto provider, and 'name' contains the name of the field.
* @param string $prefix optional prefix for modified field (when null, the library will use "__crypt")
*
* @return array where the fields encrypted
*
* @see https://github.com/couchbase/php-couchbase-encryption
*/
public function encryptFields($document, $fieldOptions, $prefix = null) {}
/**
* Decrypt fields inside specified document.
*
* @param array $document document structure
* @param array $options specification for fields needed to be decrypted. Where 'alg' contains
* a string with alias of the registed crypto provider, and 'name' contains the name of the field.
* @param string $prefix optional prefix for modified field (when null, the library will use "__crypt")
*
* @return array where the fields decrypted
*
* @see https://github.com/couchbase/php-couchbase-encryption
*/
public function decryptFields($document, $fieldOptions, $prefix = null) {}
}
/**
* Provides management capabilities for the Couchbase Bucket
*/
class BucketManager {
/** @ignore */
final private function __construct() {}
/**
* Returns information about the bucket
*
* Returns an associative array of status information as seen by the cluster for
* this bucket. The exact structure of the returned data can be seen in the Couchbase
* Manual by looking at the bucket /info endpoint.
*
* @return array
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-bucket-info.html
* Getting Single Bucket Information
*/
public function info() {}
/**
* Flushes the bucket (clears all data)
*/
public function flush() {}
/**
* Returns all design documents of the bucket.
*
* @return array
*/
public function listDesignDocuments() {}
/**
* Get design document by its name
*
* @param string $name name of the design document (without _design/ prefix)
* @return array
*/
public function getDesignDocument($name) {}
/**
* Removes design document by its name
*
* @param string $name name of the design document (without _design/ prefix)
*/
public function removeDesignDocument($name) {}
/**
* Creates or replaces design document.
*
* @param string $name name of the design document (without _design/ prefix)
* @param array $document
*/
public function upsertDesignDocument($name, $document) {}
/**
* Inserts design document and fails if it is exist already.
*
* @param string $name name of the design document (without _design/ prefix)
* @param array $document
*/
public function insertDesignDocument($name, $document) {}
/**
* List all N1QL indexes that are registered for the current bucket.
*
* @return array
*/
public function listN1qlIndexes() {}
/**
* Create a primary N1QL index.
*
* @param string $customName the custom name for the primary index.
* @param bool $ignoreIfExist if a primary index already exists, an exception
* will be thrown unless this is set to true.
* @param bool $defer true to defer index building.
*/
public function createN1qlPrimaryIndex($customName = '', $ignoreIfExist = false, $defer = false) {}
/**
* Create secondary N1QL index.
*
* @param string $name name of the index
* @param array $fields list of JSON fields to index
* @param string $whereClause the WHERE clause of the index.
* @param bool $ignoreIfExist if a secondary index already exists, an exception
* will be thrown unless this is set to true.
* @param bool $defer true to defer index building.
*/
public function createN1qlIndex($name, $fields, $whereClause = '', $ignoreIfExist = false, $defer = false) {}
/**
* Drop the given primary index
*
* @param string $customName the custom name for the primary index
* @param bool $ignoreIfNotExist if a primary index does not exist, an exception
* will be thrown unless this is set to true.
*/
public function dropN1qlPrimaryIndex($customName = '', $ignoreIfNotExist = false) {}
/**
* Drop the given secondary index
*
* @param string $name the index name
* @param bool $ignoreIfNotExist if a secondary index does not exist, an exception
* will be thrown unless this is set to true.
*/
public function dropN1qlIndex($name, $ignoreIfNotExist = false) {}
}
/**
* Interface of authentication containers.
*
* @see \Couchbase\Cluster::authenticate()
* @see \Couchbase\ClassicAuthenticator
* @see \Couchbase\PasswordAuthenticator
* @see \Couchbase\CertAuthenticator
*/
interface Authenticator {}
/**
* Authenticator based on login/password credentials.
*
* This authenticator uses separate credentials for Cluster management interface
* as well as for each bucket.
*
* @example examples/api/couchbase.Authenticator.php Cluster authentication
*
* @example examples/api/couchbase.N1qlQuery.crossBucket.php Cross-bucket N1QL query
*
* @see \Couchbase\Cluster::authenticate()
* @see \Couchbase\Authenticator
*/
class ClassicAuthenticator implements Authenticator {
/**
* Registers cluster management credentials in the container
*
* @param string $username admin username
* @param string $password admin password
*/
public function cluster($username, $password) {}
/**
* Registers bucket credentials in the container
*
* @param string $name bucket name
* @param string $password bucket password
*/
public function bucket($name, $password) {}
}
/**
* Authenticator based on RBAC feature of Couchbase Server 5+.
*
* This authenticator uses single credentials for all operations (data and management).
*
* @see \Couchbase\Cluster::authenticate()
* @see \Couchbase\Authenticator
*/
class PasswordAuthenticator implements Authenticator {
/**
* Sets username
*
* @param string $username username
* @return \Couchbase\PasswordAuthenticator
*/
public function username($username) {}
/**
* Sets password
*
* @param string $password password
* @return \Couchbase\PasswordAuthenticator
*/
public function password($password) {}
}
/**
* Authenticator for Client Certificate authentication feature of Couchbase Server 5+.
*
* This authenticator does not have any attributes, but ensures that
* "certpath" and "keypath" options specified in the connection string
*
* @see \Couchbase\Cluster::authenticate()
* @see \Couchbase\Authenticator
*/
class CertAuthenticator implements Authenticator {
}
/**
* An object which contains meta information of the document needed to enforce query consistency.
*/
class MutationToken {
/** @ignore */
final private function __construct() {}
/**
* Creates new mutation token
*
* @param string $bucketName name of the bucket
* @param int $vbucketId partition number
* @param string $vbucketUuid UUID of the partition
* @param string $sequenceNumber sequence number inside partition
*/
public static function from($bucketName, $vbucketId, $vbucketUuid, $sequenceNumber) {}
/**
* Returns bucket name
*
* @return string
*/
public function bucketName() {}
/**
* Returns partition number
*
* @return int
*/
public function vbucketId() {}
/**
* Returns UUID of the partition
*
* @return string
*/
public function vbucketUuid() {}
/**
* Returns the sequence number inside partition
*
* @return string
*/
public function sequenceNumber() {}
}
/**
* Container for mutation tokens.
*/
class MutationState {
/** @ignore */
final private function __construct() {}
/**
* Create container from the given mutation token holders.
*
* @param array|Document|DocumentFragment $source anything that can have attached MutationToken
* @return MutationState
*
* @see \Couchbase\MutationToken
*/
public static function from($source) {}
/**
* Update container with the given mutation token holders.
*
* @param array|Document|DocumentFragment $source anything that can have attached MutationToken
*
* @see \Couchbase\MutationToken
*/
public function add($source) {}
}
/**
* Common interface for all View queries
*
* @see \Couchbase\ViewQuery
* @see \Couchbase\SpatialViewQuery
*/
interface ViewQueryEncodable {
/**
* Returns associative array, representing the View query.
*
* @return array object which is ready to be serialized.
*/
function encode();
}
/**
* Represents regular Couchbase Map/Reduce View query
*
* @see \Couchbase\Bucket::query()
* @see \Couchbase\SpatialViewQuery
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/view-queries-with-sdk.html
* MapReduce Views
* @see https://developer.couchbase.com/documentation/server/current/architecture/querying-data-with-views.html
* Quering Data with Views
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-views-get.html
* Getting Views Information
*/
class ViewQuery implements ViewQueryEncodable {
/** Force a view update before returning data */
const UPDATE_BEFORE = 1;
/** Allow stale views */
const UPDATE_NONE = 2;
/** Allow stale view, update view after it has been accessed. */
const UPDATE_AFTER = 3;
const ORDER_ASCENDING = 1;
const ORDER_DESCENDING = 2;
/** @ignore */
final private function __construct() {}
/**
* Creates a new Couchbase ViewQuery instance for performing a view query.
*
* @param string $designDocumentName the name of the design document to query
* @param string $viewName the name of the view to query
* @return ViewQuery
*/
public static function from($designDocumentName, $viewName) {}
/**
* Creates a new Couchbase ViewQuery instance for performing a spatial query.
* @param string $designDocumentName the name of the design document to query
* @param string $viewName the name of the view to query
* @return SpatialViewQuery
*/
public static function fromSpatial($designDocumentName, $viewName) {}
/**
* Returns associative array, representing the View query.
*
* @return array object which is ready to be serialized.
*/
function encode() {}
/**
* Limits the result set to a specified number rows.
*
* @param int $limit maximum number of records in the response
* @return ViewQuery
*/
public function limit($limit) {}
/**
* Skips a number o records rom the beginning of the result set
*
* @param int $skip number of records to skip
* @return ViewQuery
*/
public function skip($skip) {}
/**
* Specifies the mode of updating to perorm before and after executing the query
*
* @param int $consistency use constants UPDATE_BEFORE, UPDATE_NONE, UPDATE_AFTER
* @return ViewQuery
*
* @see \Couchbase\ViewQuery::UPDATE_BEFORE
* @see \Couchbase\ViewQuery::UPDATE_NONE
* @see \Couchbase\ViewQuery::UPDATE_AFTER
*/
public function consistency($consistency) {}
/**
* Orders the results by key as specified
*
* @param int $order use contstants ORDER_ASCENDING, ORDER_DESCENDING
* @return ViewQuery
*/
public function order($order) {}
/**
* Specifies whether the reduction function should be applied to results of the query.
*
* @param bool $reduce
* @return ViewQuery
*/
public function reduce($reduce) {}
/**
* Group the results using the reduce function to a group or single row.
*
* Important: this setter and groupLevel should not be used together in the
* same ViewQuery. It is sufficient to only set the grouping level only and
* use this setter in cases where you always want the highest group level
* implictly.
*
* @param bool $group
* @return ViewQuery
*
* @see \Couchbase\ViewQuery#groupLevel
*/
public function group($group) {}
/**
* Specify the group level to be used.
*
* Important: group() and this setter should not be used together in the
* same ViewQuery. It is sufficient to only use this setter and use group()
* in cases where you always want the highest group level implictly.
*
* @param int $groupLevel the number of elements in the keys to use
* @return ViewQuery
*
* @see \Couchbase\ViewQuery#group
*/
public function groupLevel($groupLevel) {}
/**
* Restict results of the query to the specified key
*
* @param mixed $key key
* @return ViewQuery
*/
public function key($key) {}
/**
* Restict results of the query to the specified set of keys
*
* @param array $keys set of keys
* @return ViewQuery
*/
public function keys($keys) {}
/**
* Specifies a range of the keys to return from the index.
*
* @param mixed $startKey
* @param mixed $endKey
* @param bool $inclusiveEnd
* @return ViewQuery
*/
public function range($startKey, $endKey, $inclusiveEnd = false) {}
/**
* Specifies start and end document IDs in addition to range limits.
*
* This might be needed for more precise pagination with a lot of documents
* with the same key selected into the same page.
*
* @param string $startKeyDocumentId document ID
* @param string $endKeyDocumentId document ID
* @return ViewQuery
*/
public function idRange($startKeyDocumentId, $endKeyDocumentId) {}
/**
* Specifies custom options to pass to the server.
*
* Note that these options are expected to be already encoded.
*
* @param array $customParameters parameters
* @return ViewQuery
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-views-get.html
* Getting Views Information
*/
public function custom($customParameters) {}
}
/**
* Represents spatial Couchbase Map/Reduce View query
*
* @see \Couchbase\Bucket::query()
* @see \Couchbase\ViewQuery
* @see https://developer.couchbase.com/documentation/server/current/architecture/querying-geo-data-spatial-views.html
* Querying Geographic Data with Spatial Views
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-views-get.html
* Getting Views Information
* @see https://developer.couchbase.com/documentation/server/current/views/sv-query-parameters.html
* Querying spatial views
*/
class SpatialViewQuery implements ViewQueryEncodable {
/** @ignore */
final private function __construct() {}
/**
* Returns associative array, representing the View query.
*
* @return array object which is ready to be serialized.
*/
function encode() {}
/**
* Limits the result set to a specified number rows.
*
* @param int $limit maximum number of records in the response
* @return SpatialViewQuery
*/
public function limit($limit) {}
/**
* Skips a number o records rom the beginning of the result set
*
* @param int $skip number of records to skip
* @return SpatialViewQuery
*/
public function skip($skip) {}
/**
* Specifies the mode of updating to perorm before and after executing the query
*
* @param int $consistency use constants UPDATE_BEFORE, UPDATE_NONE, UPDATE_AFTER
* @return SpatialViewQuery
*
* @see \Couchbase\ViewQuery::UPDATE_BEFORE
* @see \Couchbase\ViewQuery::UPDATE_NONE
* @see \Couchbase\ViewQuery::UPDATE_AFTER
*/
public function consistency($consistency) {}
/**
* Orders the results by key as specified
*
* @param int $order use contstants ORDER_ASCENDING, ORDER_DESCENDING
* @return SpatialViewQuery
*/
public function order($order) {}
/**
* Specifies the bounding box to search within.
*
* Note, using bbox() is discouraged, startRange/endRange is more flexible and should be preferred.
*
* @param array $bbox bounding box coordinates expressed as a list of numeric values
* @return SpatialViewQuery
*
* @see \Couchbase\SpatialViewQuery#startRange()
* @see \Couchbase\SpatialViewQuery#endRange()
*/
public function bbox($bbox) {}
/**
* Specify start range for query
*
* @param array $range
* @return SpatialViewQuery
*
* @see https://developer.couchbase.com/documentation/server/current/views/sv-query-parameters.html
* Querying spatial views
*/
public function startRange($range) {}
/**
* Specify end range for query
*
* @param array $range
* @return SpatialViewQuery
*
* @see https://developer.couchbase.com/documentation/server/current/views/sv-query-parameters.html
* Querying spatial views
*/
public function endRange($range) {}
/**
* Specifies custom options to pass to the server.
*
* Note that these options are expected to be already encoded.
*
* @param array $customParameters parameters
*
* @see https://developer.couchbase.com/documentation/server/current/rest-api/rest-views-get.html
* Getting Views Information
* @see https://developer.couchbase.com/documentation/server/current/views/sv-query-parameters.html
* Querying spatial views
*/
public function custom($customParameters) {}
}
/**
* Represents a N1QL query
*
* @see https://developer.couchbase.com/documentation/server/current/sdk/n1ql-query.html
* Querying with N1QL
* @see https://developer.couchbase.com/documentation/server/current/sdk/php/n1ql-queries-with-sdk.html
* N1QL from the SDKs
* @see https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-rest-api/index.html
* N1QL REST API
* @see https://developer.couchbase.com/documentation/server/current/performance/index-scans.html
* Understanding Index Scans
* @see https://developer.couchbase.com/documentation/server/current/performance/indexing-and-query-perf.html
* Indexing JSON Documents and Query Performance
*/
class N1qlQuery {
/**
* This is the default (for single-statement requests).
* No timestamp vector is used in the index scan.
* This is also the fastest mode, because we avoid the cost of obtaining the vector,
* and we also avoid any wait for the index to catch up to the vector.
*/
const NOT_BOUNDED = 1;
/**
* This implements strong consistency per request.
* Before processing the request, a current vector is obtained.
* The vector is used as a lower bound for the statements in the request.
* If there are DML statements in the request, RYOW is also applied within the request.
*/
const REQUEST_PLUS = 2;
/**
* This implements strong consistency per statement.
* Before processing each statement, a current vector is obtained
* and used as a lower bound for that statement.
*/
const STATEMENT_PLUS = 3;
/**
* Disables profiling. This is the default
*/
const PROFILE_NONE = 'off';
/**
* Enables phase profiling.
*/
const PROFILE_PHASES = 'phases';
/**
* Enables general timing profiling.
*/
const PROFILE_TIMINGS = 'timings';
/** @ignore */
final private function __construct() {}
/**
* Creates new N1qlQuery instance directly from the N1QL string.
*
* @param string $statement N1QL string
* @return N1qlQuery
*/
public static function fromString($statement) {}
/**
* Allows to specify if this query is adhoc or not.
*
* If it is not adhoc (so performed often), the client will try to perform optimizations
* transparently based on the server capabilities, like preparing the statement and
* then executing a query plan instead of the raw query.
*
* @param bool $adhoc if query is adhoc, default is true (plain execution)
* @return N1qlQuery
*/
public function adhoc($adhoc) {}
/**
* Allows to pull credentials from the Authenticator
*
* @param bool $crossBucket if query includes joins for multiple buckets (default is false)
* @return N1qlQuery
*
* @example examples/api/couchbase.N1qlQuery.crossBucket.php Cross-bucket N1QL query
*
* @see \Couchbase\Authenticator
* @see \Couchbase\ClassicAuthenticator
*/
public function crossBucket($crossBucket) {}
/**
* Specify array of positional parameters
*
* Previously specified positional parameters will be replaced.
* Note: carefully choose type of quotes for the query string, because PHP also uses `$`
* (dollar sign) for variable interpolation. If you are using double quotes, make sure
* that N1QL parameters properly escaped.
*
* @param array $params
* @return N1qlQuery
*
* @example examples/api/couchbase.N1qlQuery.positionalParams.php
*/
public function positionalParams($params) {}
/**
* Specify associative array of named parameters
*
* The supplied array of key/value pairs will be merged with already existing named parameters.
* Note: carefully choose type of quotes for the query string, because PHP also uses `$`
* (dollar sign) for variable interpolation. If you are using double quotes, make sure
* that N1QL parameters properly escaped.
*
* @param array $params
* @return N1qlQuery
*
* @example examples/api/couchbase.N1qlQuery.namedParams.php
*/
public function namedParams($params) {}
/**
* Specify custom parameter for query
*
* This function exists as escape hatch for cases when the Server has
* implemented some new query feature, while the SDK hasn't yet exposed
* the API on query object yet. The key must be a string, and param is
* JSON-serializable object.
*
* @param string $key
* @param mixed $param
* @return AnalyticsQuery
*/
public function rawParam($key, $value) {}
/**
* Specifies the consistency level for this query
*
* @param int $consistency consistency level
* @return N1qlQuery
*
* @see \Couchbase\N1qlQuery::NOT_BOUNDED
* @see \Couchbase\N1qlQuery::REQUEST_PLUS
* @see \Couchbase\N1qlQuery::STATEMENT_PLUS
* @see \Couchbase\N1qlQuery::consistentWith()
*/
public function consistency($consistency) {}
/**
* Controls the profiling mode used during query execution
*
* @param string $profileType
* @returns N1qlQuery
* @see \Couchbase\N1qlQuery::PROFILE_NONE
* @see \Couchbase\N1qlQuery::PROFILE_PHASES
* @see \Couchbase\N1qlQuery::PROFILE_TIMINGS
*/
public function profile($profileType) {}
/**
* Sets mutation state the query should be consistent with
*
* @param MutationState $state the container of mutation tokens
* @return N1qlQuery
*
* @see \Couchbase\MutationState
*
* @example examples/api/couchbase.N1qlQuery.consistentWith.php
*/
public function consistentWith($state) {}
/**
* If set to true, it will signal the query engine on the server that only non-data modifying requests
* are allowed. Note that this rule is enforced on the server and not the SDK side.
*
* Controls whether a query can change a resulting record set.
*
* If readonly is true, then the following statements are not allowed:
* - CREATE INDEX
* - DROP INDEX
* - INSERT
* - MERGE
* - UPDATE
* - UPSERT
* - DELETE
*
* @param bool $readonly true if readonly should be forced, false is the default and will use the server side default.
* @return N1qlQuery
*/
public function readonly($readonly) {}
/**
* Advanced: Maximum buffered channel size between the indexer client and the query service for index scans.
*
* This parameter controls when to use scan backfill. Use 0 or a negative number to disable.
*
* @param int $scanCap the scan_cap param, use 0 or negative number to disable.
* @return N1qlQuery
*/
public function scanCap($scanCap) {}
/**
* Advanced: Controls the number of items execution operators can batch for Fetch from the KV.
*
* @param int $pipelineBatch the pipeline_batch param.
* @return N1qlQuery
*/
public function pipelineBatch($pipelineBatch) {}
/**
* Advanced: Maximum number of items each execution operator can buffer between various operators.
*
* @param int $pipelineCap the pipeline_cap param.
* @return N1qlQuery
*/
public function pipelineCap($pipelineCap) {}
/**
* Allows to override the default maximum parallelism for the query execution on the server side.
*
* @param int $maxParallelism the maximum parallelism for this query, 0 or negative values disable it.
* @return N1qlQuery
*/
public function maxParallelism($maxParallelism) {}
}
/**
* Represents N1QL index definition
*
* @see https://developer.couchbase.com/documentation/server/current/performance/indexing-and-query-perf.html
* Indexing JSON Documents and Query Performance
*/
class N1qlIndex {
const UNSPECIFIED = 0;
const GSI = 1;
const VIEW = 2;
/** @ignore */
final private function __construct() {}
/**
* Name of the index
*
* @var string
*/
public $name;
/**
* Is it primary index
*
* @var boolean
*/
public $isPrimary;
/**
* Type of the index
*
* @var int
*
* @see \Couchbase\N1qlIndex::UNSPECIFIED
* @see \Couchbase\N1qlIndex::GSI
* @see \Couchbase\N1qlIndex::VIEW
*/
public $type;
/**
* The descriptive state of the index
*
* @var string
*/
public $state;
/**
* The keyspace for the index, typically the bucket name
* @var string
*/
public $keyspace;
/**
* The namespace for the index. A namespace is a resource pool that contains multiple keyspaces
* @var string
*/
public $namespace;
/**
* The fields covered by index
* @var array
*/
public $fields;
/**
* Return the string representation of the index's condition (the WHERE clause
* of the index), or an empty String if no condition was set.
*
* Note that the query service can present the condition in a slightly different
* manner from when you declared the index: for instance it will wrap expressions
* with parentheses and show the fields in an escaped format (surrounded by backticks).
*
* @var string
*/
public $condition;
}
/**
* A builder for subdocument lookups. In order to perform the final set of operations, use the
* execute() method.
*
* Instances of this builder should be obtained through \Couchbase\Bucket->lookupIn()
*
* @see \Couchbase\Bucket::lookupIn
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Sub-Document Operations
*/
class LookupInBuilder {
/** @ignore */
final private function __construct() {}
/**
* Get a value inside the JSON document.
*
* @param string $path the path inside the document where to get the value from.
* @param array $options the array with command modificators. Supported values are
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return LookupInBuilder
*/
public function get($path, $options = []) {}
/**
* Get a count of values inside the JSON document.
*
* This method is only available with Couchbase Server 5.0 and later.
*
* @param string $path the path inside the document where to get the count from.
* @param array $options the array with command modificators. Supported values are
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return LookupInBuilder
*/
public function getCount($path, $options = []) {}
/**
* Check if a value exists inside the document.
*
* This doesn't transmit the value on the wire if it exists, saving the corresponding byte overhead.
*
* @param string $path the path inside the document to check for existence
* @param array $options the array with command modificators. Supported values are
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return LookupInBuilder
*/
public function exists($path, $options = []) {}
/**
* Perform several lookup operations inside a single existing JSON document, using a specific timeout
* @return DocumentFragment
*
* @example examples/api/couchbase.LookupInBuilder.execute.php
*/
public function execute() {}
}
/**
* A builder for subdocument mutations. In order to perform the final set of operations, use the
* execute() method.
*
* Instances of this builder should be obtained through \Couchbase\Bucket->mutateIn()
*
* @see \Couchbase\Bucket::mutateIn
* @see https://developer.couchbase.com/documentation/server/current/sdk/subdocument-operations.html
* Sub-Document Operations
*/
class MutateInBuilder {
const FULLDOC_REPLACE = 0;
const FULLDOC_UPSERT = 1;
const FULLDOC_INSERT = 2;
/** @ignore */
final private function __construct() {}
/**
* Insert a fragment provided the last element of the path doesn't exists.
*
* @param string $path the path where to insert a new dictionary value.
* @param mixed $value the new dictionary value to insert.
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function insert($path, $value, $options = []) {}
/**
* Select mode for new full-document operations.
*
* It defines behaviour of MutateInBuilder#upsert() method. The $mode
* could take one of three modes:
* * FULLDOC_REPLACE: complain when document does not exist
* * FULLDOC_INSERT: complain when document does exist
* * FULLDOC_UPSERT: unconditionally set value for the document
*
* @param int $mode operation mode
*/
public function modeDocument($mode) {}
/**
* Insert a fragment, replacing the old value if the path exists.
*
* When only one argument supplied, the library will handle it as full-document
* upsert, and treat this argument as value. See MutateInBuilder#modeDocument()
*
* @param string $path the path where to insert (or replace) a dictionary value
* @param mixed $value the new dictionary value to be applied.
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function upsert($path, $value, $options = []) {}
/**
* Replace an existing value by the given fragment
*
* @param string $path the path where the value to replace is
* @param mixed $value the new value
* @param array $options the array with command modificators. Supported values are:
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function replace($path, $value, $options = []) {}
/**
* Remove an entry in a JSON document.
*
* Scalar, array element, dictionary entry, whole array or dictionary, depending on the path.
*
* @param string $path the path to remove
* @param array $options the array with command modificators. Supported values are:
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function remove($path, $options = []) {}
/**
* Prepend to an existing array, pushing the value to the front/first position in the array.
*
* @param string $path the path of the array
* @param mixed $value the value to insert at the front of the array
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayPrepend($path, $value, $options = []) {}
/**
* Prepend multiple values at once in an existing array.
*
* Push all values in the collection's iteration order to the front/start of the array.
* For example given an array [A, B, C], prepending the values X and Y yields [X, Y, A, B, C]
* and not [[X, Y], A, B, C].
*
* @param string $path the path of the array
* @param array $values the values to insert at the front of the array as individual elements
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayPrependAll($path, $values, $options = []) {}
/**
* Append to an existing array, pushing the value to the back/last position in the array.
*
* @param string $path the path of the array
* @param mixed $value the value to insert at the back of the array
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayAppend($path, $value, $options = []) {}
/**
* Append multiple values at once in an existing array.
*
* Push all values in the collection's iteration order to the back/end of the array.
* For example given an array [A, B, C], appending the values X and Y yields [A, B, C, X, Y]
* and not [A, B, C, [X, Y]].
*
* @param string $path the path of the array
* @param array $values the values to individually insert at the back of the array
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayAppendAll($path, $values, $options = []) {}
/**
* Insert into an existing array at a specific position
*
* Position denoted in the path, eg. "sub.array[2]".
*
* @param string $path the path (including array position) where to insert the value
* @param mixed $value the value to insert in the array
* @param array $options the array with command modificators. Supported values are:
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayInsert($path, $value, $options = []) {}
/**
* Insert multiple values at once in an existing array at a specified position.
*
* Position denoted in the path, eg. "sub.array[2]"), inserting all values in the collection's iteration order
* at the given position and shifting existing values beyond the position by the number of elements in the
* collection.
*
* For example given an array [A, B, C], inserting the values X and Y at position 1 yields [A, B, X, Y, C]
* and not [A, B, [X, Y], C].
* @param string $path the path of the array
* @param array $values the values to insert at the specified position of the array, each value becoming
* an entry at or after the insert position.
* @param array $options the array with command modificators. Supported values are:
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayInsertAll($path, $values, $options = []) {}
/**
* Insert a value in an existing array only if the value
* isn't already contained in the array (by way of string comparison).
*
* @param string $path the path to mutate in the JSON
* @param mixed $value the value to insert
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function arrayAddUnique($path, $value, $options = []) {}
/**
* Increment/decrement a numerical fragment in a JSON document.
*
* If the value (last element of the path) doesn't exist the counter
* is created and takes the value of the delta.
*
* @param string $path the path to the counter (must be containing a number).
* @param int $delta the value to increment or decrement the counter by
* @param array|bool $options the array with command modificators.
* The boolean value, controls "createPath" option. Supported values are:
* * "createPath" (default: false) true to create missing intermediary nodes.
* * "xattr" (default: false) if true, the path refers to a location
* within the document's extended attributes, not the document body.
* @return MutateInBuilder
*/
public function counter($path, $delta, $options = []) {}
/**
* Change the expiry of the enclosing document as part of the mutation.
*
* @param expiry the new expiry to apply (or 0 to avoid changing the expiry)
* @return MutateInBuilder
*/
public function withExpiry($expiry) {}
/**
* Perform several mutation operations inside a single existing JSON document.
* @return DocumentFragment
*
* @example examples/api/couchbase.MutateInBuilder.execute.php
*/
public function execute() {}
}
/**
* Represents full text search query
*
* @see https://developer.couchbase.com/documentation/server/4.6/sdk/php/full-text-searching-with-sdk.html
* Searching from the SDK
*/
class SearchQuery implements \JsonSerializable {
const HIGHLIGHT_HTML = 'html';
const HIGHLIGHT_ANSI = 'ansi';
const HIGHLIGHT_SIMPLE = 'simple';
/**
* Prepare boolean search query
*
* @return BooleanSearchQuery
*/
public static function boolean() {}
/**
* Prepare date range search query
*
* @return DateRangeSearchQuery
*/
public static function dateRange() {}
/**
* Prepare numeric range search query
*
* @return NumericRangeSearchQuery
*/
public static function numericRange() {}
/**
* Prepare term range search query
*
* @return TermRangeSearchQuery
*/
public static function termRange() {}
/**
* Prepare boolean field search query
*
* @param bool $value
* @return BooleanFieldSearchQuery
*/
public static function booleanField($value) {}
/**
* Prepare compound conjunction search query
*
* @param SearchQueryPart ...$queries list of inner query parts
* @return ConjunctionSearchQuery
*/
public static function conjuncts(...$queries) {}
/**
* Prepare compound disjunction search query
*
* @param SearchQueryPart ...$queries list of inner query parts
* @return DisjunctionSearchQuery
*/
public static function disjuncts(...$queries) {}
/**
* Prepare document ID search query
*
* @param string ...$documentIds
* @return DocIdSearchQuery
*/
public static function docId(...$documentIds) {}
/**
* Prepare match search query
*
* @param string $match
* @return MatchSearchQuery
*/
public static function match($match) {}
/**
* Prepare match all search query
*
* @return MatchAllSearchQuery
*/
public static function matchAll() {}
/**
* Prepare match non search query
*
* @return MatchNoneSearchQuery
*/
public static function matchNone() {}
/**
* Prepare phrase search query
*
* @param string ...$terms
* @return MatchPhraseSearchQuery
*/
public static function matchPhrase(...$terms) {}
/**
* Prepare prefix search query
*
* @param string $prefix
* @return PrefixSearchQuery
*/
public static function prefix($prefix) {}
/**
* Prepare query string search query
*
* @param string $queryString
* @return QueryStringSearchQuery
*/
public static function queryString($queryString) {}
/**
* Prepare regexp search query
*
* @param string $regexp
* @return RegexpSearchQuery
*/
public static function regexp($regexp) {}
/**
* Prepare term search query
*
* @param string $term
* @return TermSearchQuery
*/
public static function term($term) {}
/**
* Prepare wildcard search query
*
* @param string $wildcard
* @return WildcardSearchQuery
*/
public static function wildcard($wildcard) {}
/**
* Prepare geo distance search query
*
* @param float $longitude
* @param float $latitude
* @param string $distance e.g. "10mi"
* @return GeoDistanceSearchQuery
*/
public static function geoDistance($longitude, $latitude, $distance) {}
/**
* Prepare geo bounding box search query
*
* @param float $topLeftLongitude
* @param float $topLeftLatitude
* @param float $bottomRightLongitude
* @param float $bottomRightLatitude
* @return GeoBoundingBoxSearchQuery
*/
public static function geoBoundingBox($topLeftLongitude, $topLeftLatitude, $bottomRightLongitude, $bottomRightLatitude) {}
/**
* Prepare term search facet
*
* @param string $field
* @param int $limit
* @return TermSearchFacet
*/
public static function termFacet($field, $limit) {}
/**
* Prepare date range search facet
*
* @param string $field
* @param int $limit
* @return DateRangeSearchFacet
*/
public static function dateRangeFacet($field, $limit) {}
/**
* Prepare numeric range search facet
*
* @param string $field
* @param int $limit
* @return NumericRangeSearchFacet
*/
public static function numericRangeFacet($field, $limit) {}
/**
* Prepare an FTS SearchQuery on an index.
*
* Top level query parameters can be set after that by using the fluent API.
*
* @param string $indexName the FTS index to search in
* @param SearchQueryPart $queryPart the body of the FTS query (e.g. a match phrase query)
*/
public function __construct($indexName, $queryPart) {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* Add a limit to the query on the number of hits it can return
*
* @param int $limit the maximum number of hits to return
* @return SearchQuery
*/
public function limit($limit) {}
/**
* Set the number of hits to skip (eg. for pagination).
*
* @param int $skip the number of results to skip
* @return SearchQuery
*/
public function skip($skip) {}
/**
* Activates the explanation of each result hit in the response
*
* @param bool $explain
* @return SearchQuery
*/
public function explain($explain) {}
/**
* Sets the server side timeout in milliseconds
*
* @param int $serverSideTimeout the server side timeout to apply
* @return SearchQuery
*/
public function serverSideTimeout($serverSideTimeout) {}
/**
* Sets the consistency to consider for this FTS query to AT_PLUS and
* uses the MutationState to parameterize the consistency.
*
* This replaces any consistency tuning previously set.
*
* @param MutationState $state the mutation state information to work with
* @return SearchQuery
*/
public function consistentWith($state) {}
/**
* Configures the list of fields for which the whole value should be included in the response.
*
* If empty, no field values are included. This drives the inclusion of the fields in each hit.
* Note that to be highlighted, the fields must be stored in the FTS index.
*
* @param string ...$fields
* @return SearchQuery
*/
public function fields(...$fields) {}
/**
* Configures the highlighting of matches in the response
*
* @param string $style highlight style to apply. Use constants HIGHLIGHT_HTML,
* HIGHLIGHT_ANSI, HIGHLIGHT_SIMPLE.
* @param string ...$fields the optional fields on which to highlight.
* If none, all fields where there is a match are highlighted.
* @return SearchQuery
*
* @see \Couchbase\SearchQuery::HIGHLIGHT_HTML
* @see \Couchbase\SearchQuery::HIGHLIGHT_ANSI
* @see \Couchbase\SearchQuery::HIGHLIGHT_SIMPLE
*/
public function highlight($style, ...$fields) {}
/**
* Configures the list of fields (including special fields) which are used for sorting purposes.
* If empty, the default sorting (descending by score) is used by the server.
*
* The list of sort fields can include actual fields (like "firstname" but then they must be stored in the
* index, configured in the server side mapping). Fields provided first are considered first and in a "tie" case
* the next sort field is considered. So sorting by "firstname" and then "lastname" will first sort ascending by
* the firstname and if the names are equal then sort ascending by lastname. Special fields like "_id" and
* "_score" can also be used. If prefixed with "-" the sort order is set to descending.
*
* If no sort is provided, it is equal to sort("-_score"), since the server will sort it by score in descending
* order.
*
* @param sort the fields that should take part in the sorting.
* @return SearchQuery
*/
public function sort(...$sort) {}
/**
* Adds one SearchFacet to the query
*
* This is an additive operation (the given facets are added to any facet previously requested),
* but if an existing facet has the same name it will be replaced.
*
* Note that to be faceted, a field's value must be stored in the FTS index.
*
* @param string $name
* @param SearchFacet $facet
* @return SearchQuery
*
* @see \Couchbase\SearchFacet
* @see \Couchbase\TermSearchFacet
* @see \Couchbase\NumericRangeSearchFacet
* @see \Couchbase\DateRangeSearchFacet
*/
public function addFacet($name, $facet) {}
}
/**
* Common interface for all classes, which could be used as a body of SearchQuery
*
* @see \Couchbase\SearchQuery::__construct()
*/
interface SearchQueryPart {}
/**
* A FTS query that queries fields explicitly indexed as boolean.
*/
class BooleanFieldSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return BooleanFieldSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return BooleanFieldSearchQuery
*/
public function field($field) {}
}
/**
* A compound FTS query that allows various combinations of sub-queries.
*/
class BooleanSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return BooleanSearchQuery
*/
public function boost($boost) {}
/**
* @param SearchQueryPart ...$queries
* @return BooleanSearchQuery
*/
public function must(...$queries) {}
/**
* @param SearchQueryPart ...$queries
* @return BooleanSearchQuery
*/
public function mustNot(...$queries) {}
/**
* @param SearchQueryPart ...$queries
* @return BooleanSearchQuery
*/
public function should(...$queries) {}
}
/**
* A compound FTS query that performs a logical AND between all its sub-queries (conjunction).
*/
class ConjunctionSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return ConjunctionSearchQuery
*/
public function boost($boost) {}
/**
* @param SearchQueryPart ...$queries
* @return ConjunctionSearchQuery
*/
public function every(...$queries) {}
}
/**
* A compound FTS query that performs a logical OR between all its sub-queries (disjunction). It requires that a
* minimum of the queries match. The minimum is configurable (default 1).
*/
class DisjunctionSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return DisjunctionSearchQuery
*/
public function boost($boost) {}
/**
* @param SearchQueryPart ...$queries
* @return DisjunctionSearchQuery
*/
public function either(...$queries) {}
/**
* @param int $min
* @return DisjunctionSearchQuery
*/
public function min($min) {}
}
/**
* A FTS query that matches documents on a range of values. At least one bound is required, and the
* inclusiveness of each bound can be configured.
*/
class DateRangeSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return DateRangeSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return DateRangeSearchQuery
*/
public function field($field) {}
/**
* @param int|string $start The strings will be taken verbatim and supposed to be formatted with custom date
* time formatter (see dateTimeParser). Integers interpreted as unix timestamps and represented as RFC3339
* strings.
* @param bool $inclusive
* @return DateRangeSearchQuery
*/
public function start($start, $inclusive = true) {}
/**
* @param int|string $end The strings will be taken verbatim and supposed to be formatted with custom date
* time formatter (see dateTimeParser). Integers interpreted as unix timestamps and represented as RFC3339
* strings.
* @param bool $inclusive
* @return DateRangeSearchQuery
*/
public function end($end, $inclusive = false) {}
/**
* @param string $dateTimeParser
* @return DateRangeSearchQuery
*/
public function dateTimeParser($dateTimeParser) {}
}
/**
* A FTS query that matches documents on a range of values. At least one bound is required, and the
* inclusiveness of each bound can be configured.
*/
class NumericRangeSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return NumericRangeSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return NumericRangeSearchQuery
*/
public function field($field) {}
/**
* @param float $min
* @param bool $inclusive
* @return NumericRangeSearchQuery
*/
public function min($min, $inclusive = true) {}
/**
* @param float $max
* @param bool $inclusive
* @return NumericRangeSearchQuery
*/
public function max($max, $inclusive = false) {}
}
/**
* A FTS query that matches on Couchbase document IDs. Useful to restrict the search space to a list of keys (by using
* this in a compound query).
*/
class DocIdSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return DocIdSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return DocIdSearchQuery
*/
public function field($field) {}
/**
* @param string ...$documentIds
* @return DocIdSearchQuery
*/
public function docIds(...$documentIds) {}
}
/**
* A FTS query that matches all indexed documents (usually for debugging purposes).
*/
class MatchAllSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return MatchAllSearchQuery
*/
public function boost($boost) {}
}
/**
* A FTS query that matches 0 document (usually for debugging purposes).
*/
class MatchNoneSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return MatchNoneSearchQuery
*/
public function boost($boost) {}
}
/**
* A FTS query that matches several given terms (a "phrase"), applying further processing
* like analyzers to them.
*/
class MatchPhraseSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return MatchPhraseSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return MatchPhraseSearchQuery
*/
public function field($field) {}
/**
* @param string $analyzer
* @return MatchPhraseSearchQuery
*/
public function analyzer($analyzer) {}
}
/**
* A FTS query that matches a given term, applying further processing to it
* like analyzers, stemming and even #fuzziness(int).
*/
class MatchSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return MatchSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return MatchSearchQuery
*/
public function field($field) {}
/**
* @param string $analyzer
* @return MatchSearchQuery
*/
public function analyzer($analyzer) {}
/**
* @param int $prefixLength
* @return MatchSearchQuery
*/
public function prefixLength($prefixLength) {}
/**
* @param int $fuzziness
* @return MatchSearchQuery
*/
public function fuzziness($fuzziness) {}
}
/**
* A FTS query that matches several terms (a "phrase") as is. The order of the terms mater and no further processing is
* applied to them, so they must appear in the index exactly as provided. Usually for debugging purposes, prefer
* MatchPhraseQuery.
*/
class PhraseSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return PhraseSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return PhraseSearchQuery
*/
public function field($field) {}
}
/**
* A FTS query that allows for simple matching of regular expressions.
*/
class RegexpSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return RegexpSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return RegexpSearchQuery
*/
public function field($field) {}
}
/**
* A FTS query that allows for simple matching using wildcard characters (* and ?).
*/
class WildcardSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return WildcardSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return WildcardSearchQuery
*/
public function field($field) {}
}
/**
* A FTS query that allows for simple matching on a given prefix.
*/
class PrefixSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return PrefixSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return PrefixSearchQuery
*/
public function field($field) {}
}
/**
* A FTS query that performs a search according to the "string query" syntax.
*/
class QueryStringSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return QueryStringSearchQuery
*/
public function boost($boost) {}
}
/**
* A facet that gives the number of occurrences of the most recurring terms in all hits.
*/
class TermSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return TermSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return TermSearchQuery
*/
public function field($field) {}
/**
* @param int $prefixLength
* @return TermSearchQuery
*/
public function prefixLength($prefixLength) {}
/**
* @param int $fuzziness
* @return TermSearchQuery
*/
public function fuzziness($fuzziness) {}
}
/**
* A FTS query that matches documents on a range of values. At least one bound is required, and the
* inclusiveness of each bound can be configured.
*/
class TermRangeSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return TermRangeSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return TermRangeSearchQuery
*/
public function field($field) {}
/**
* @param string $min
* @param bool $inclusive
* @return TermRangeSearchQuery
*/
public function min($min, $inclusive = true) {}
/**
* @param string $max
* @param bool $inclusive
* @return TermRangeSearchQuery
*/
public function max($max, $inclusive = false) {}
}
/**
* A FTS query that finds all matches from a given location (point) within the given distance.
*
* Both the point and the distance are required.
*/
class GeoDistanceSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return GeoDistanceSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return GeoDistanceSearchQuery
*/
public function field($field) {}
}
/**
* A FTS query which allows to match geo bounding boxes.
*/
class GeoBoundingBoxSearchQuery implements \JsonSerializable, SearchQueryPart {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param float $boost
* @return GeoBoundingBoxSearchQuery
*/
public function boost($boost) {}
/**
* @param string $field
* @return GeoBoundingBoxSearchQuery
*/
public function field($field) {}
}
/**
* Common interface for all search facets
*
* @see \Couchbase\SearchQuery::addFacet()
* @see \Couchbase\TermSearchFacet
* @see \Couchbase\DateRangeSearchFacet
* @see \Couchbase\NumericRangeSearchFacet
*/
interface SearchFacet {}
/**
* A facet that gives the number of occurrences of the most recurring terms in all hits.
*/
class TermSearchFacet implements \JsonSerializable, SearchFacet {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
}
/**
* A facet that categorizes hits inside date ranges (or buckets) provided by the user.
*/
class DateRangeSearchFacet implements \JsonSerializable, SearchFacet {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param string $name
* @param int|string $start
* @param int|string $end
* @return DateSearchFacet
*/
public function addRange($name, $start, $end) {}
}
/**
* A facet that categorizes hits into numerical ranges (or buckets) provided by the user.
*/
class NumericRangeSearchFacet implements \JsonSerializable, SearchFacet {
/** @ignore */
final private function __construct() {}
/**
* @ignore
* @return array
*/
public function jsonSerialize() {}
/**
* @param string $name
* @param float $min
* @param float $max
* @return NumericSearchFacet
*/
public function addRange($name, $min, $max) {}
}
/**
* Base class for all FTS sort options in querying.
*/
class SearchSort {
/** @ignore */
private function __construct() {}
/**
* Sort by the document identifier.
*
* @return SearchSortId
*/
public static function id() {}
/**
* Sort by the hit score.
*
* @return SearchSortScore
*/
public static function score() {}
/**
* Sort by a field in the hits.
*
* @param string $field the field name
*
* @return SearchSortField
*/
public static function field($field) {}
/**
* Sort by geo location.
*
* @param string $field the field name
* @param float $longitude the longitude of the location
* @param float $latitude the latitude of the location
*
* @return SearchSortGeoDistance
*/
public static function geoDistance($field, $longitude, $latitude) {}
}
/**
* Sort by the document identifier.
*/
class SearchSortId extends SearchSort implements \JsonSerializable {
/** @ignore */
private function __construct() {}
/**
* Direction of the sort
*
* @param bool $descending
*
* @return SearchSortId
*/
public function descending($descending) {}
}
/**
* Sort by the hit score.
*/
class SearchSortScore extends SearchSort implements \JsonSerializable {
/** @ignore */
private function __construct() {}
/**
* Direction of the sort
*
* @param bool $descending
*
* @return SearchSortScore
*/
public function descending($descending) {}
}
/**
* Sort by a field in the hits.
*/
class SearchSortField extends SearchSort implements \JsonSerializable {
const TYPE_AUTO = "auto";
const TYPE_STRING = "string";
const TYPE_NUMBER = "number";
const TYPE_DATE = "date";
const MODE_DEFAULT = "default";
const MODE_MIN = "min";
const MODE_MAX = "max";
const MISSING_FIRST = "first";
const MISSING_LAST = "last";
/** @ignore */
private function __construct() {}
/**
* Direction of the sort
*
* @param bool $descending
*
* @return SearchSortField
*/
public function descending($descending) {}
/**
* Set type of the field
*
* @param string type the type
*
* @see SearchSortField::TYPE_AUTO
* @see SearchSortField::TYPE_STRING
* @see SearchSortField::TYPE_NUMBER
* @see SearchSortField::TYPE_DATE
*/
public function type($type) {}
/**
* Set mode of the sort
*
* @param string mode the mode
*
* @see SearchSortField::MODE_MIN
* @see SearchSortField::MODE_MAX
*/
public function mode($mode) {}
/**
* Set where the hits with missing field will be inserted
*
* @param string missing strategy for hits with missing fields
*
* @see SearchSortField::MISSING_FIRST
* @see SearchSortField::MISSING_LAST
*/
public function missing($missing) {}
}
/**
* Sort by a location and unit in the hits.
*/
class SearchSortGeoDistance extends SearchSort implements \JsonSerializable {
/** @ignore */
private function __construct() {}
/**
* Direction of the sort
*
* @param bool $descending
*
* @return SearchSortGeoDistance
*/
public function descending($descending) {}
/**
* Name of the units
*
* @param string $unit
*
* @return SearchSortGeoDistance
*/
public function unit($unit) {}
}
/**
* Represents a Analytics query (currently experimental support).
*
* @see https://developer.couchbase.com/documentation/server/4.5/analytics/quick-start.html
* Analytics quick start
*/
class AnalyticsQuery {
/** @ignore */
final private function __construct() {}
/**
* Creates new AnalyticsQuery instance directly from the string.
*
* @param string $statement statement string
* @return AnalyticsQuery
*
* @example examples/api/couchbase.AnalyticsQuery.php
*/
public static function fromString($statement) {}
/**
* Specify array of positional parameters
*
* Previously specified positional parameters will be replaced.
* Note: carefully choose type of quotes for the query string, because PHP also uses `$`
* (dollar sign) for variable interpolation. If you are using double quotes, make sure
* that N1QL parameters properly escaped.
*
* @param array $params
* @return AnalyticsQuery
*
* @example examples/api/couchbase.AnalyticsQuery.php
*/
public function positionalParams($params) {}
/**
* Specify associative array of named parameters
*
* The supplied array of key/value pairs will be merged with already existing named parameters.
* Note: carefully choose type of quotes for the query string, because PHP also uses `$`
* (dollar sign) for variable interpolation. If you are using double quotes, make sure
* that N1QL parameters properly escaped.
*
* @param array $params
* @return AnalyticsQuery
*
* @example examples/api/couchbase.AnalyticsQuery.php
*/
public function namedParams($params) {}
/**
* Specify custom parameter for query
*
* This function exists as escape hatch for cases when the Server has
* implemented some new query feature, while the SDK hasn't yet exposed
* the API on query object yet. The key must be a string, and param is
* JSON-serializable object.
*
* @param string $key
* @param mixed $param
* @return AnalyticsQuery
*/
public function rawParam($key, $value) {}
}
}