NAME
Couchbase::Client::Return - Common return datatype for Couchbase
DESCRIPTION
This is the common datatype for couchbase operations. Each operation (e.g. get, set etc.) will typically have complex return types to facilitate various types of errors and status reports.
The object is implemented as a simple array whose constants are available in Couchbase::Client::IDXConst if performance is an issue for calling the methods
FIELDS
- errnum
- is_ok
-
errnumis the Couchbase specific error code indicating stataus. An operation is successful iferrnumis equal toCOUCHBASE_SUCCESS.The
is_okfunction does this check internally, and will probably look nicer in your code.Some error definitions and explanations can be found in Couchbase::Client::Errors
- errstr
-
A human-readable representation of
errnum - value
-
only valid for get operations
The returned value for the request. If this is
undefit might be advisable to check error status. - cas
-
only valid for get operations
The opaque CAS item used for atomic updates.
While the protocol itself defines CAS as a <unit64_t>, in perl it is stored as the equivalent of a
pack("Q", $casval)(this is not the actual code used, but anunpack("Q", $casval)will yield the numeric value)CAS values will always be returned for
get-like functions. - <ERRNAME>
-
Some nice magic in this module.
Instead of doing this:
if($ret->errnum == COUCHBASE_KEY_EEXISTS) { ... }you can do this
if($ret->KEY_EEXISTS) { ... }In other words, you can call any error 'basename' (that is, the error without the
COUCHBASE_prefix) as a method on this object, and its return value will be a boolean indicating whethererrnumis equal toCOUCHBASE_$name