Couchbase C++ SDK 1.0.4 (rev. 5355b0f)
Loading...
Searching...
No Matches
replace_options Struct Reference

Options for collection::replace(). More...

#include <couchbase/replace_options.hxx>

Inheritance diagram for replace_options:
Inheritance graph

Classes

struct  built
 Immutable value object representing consistent options. More...
 

Public Member Functions

auto build () const -> built
 Validates options and returns them as an immutable value.
 
auto preserve_expiry (bool preserve) -> replace_options &
 Specifies whether an existing document's expiry should be preserved.
 
auto expiry (std::chrono::seconds duration) -> replace_options &
 Sets the expiry for the document.
 
auto expiry (std::chrono::system_clock::time_point time_point) -> replace_options &
 Sets the expiry for the document.
 
auto cas (couchbase::cas cas) -> replace_options &
 Specifies a CAS value that will be taken into account on the server side for optimistic concurrency.
 
- Public Member Functions inherited from common_durability_options< replace_options >
auto durability (durability_level level) -> replace_options &
 Allows to customize the enhanced durability requirements for this operation.
 
auto durability (persist_to persist_to_nodes, replicate_to replicate_to_nodes) -> replace_options &
 Allows to customize the poll-based durability requirements for this operation.
 
- Public Member Functions inherited from common_options< replace_options >
auto timeout (const std::chrono::milliseconds timeout) -> replace_options &
 Specifies a custom per-operation timeout.
 
auto retry_strategy (const std::shared_ptr< retry_strategy > strategy) -> replace_options &
 Specifies a custom couchbase::retry_strategy for this operation.
 
auto parent_span (std::shared_ptr< tracing::request_span > span) -> replace_options &
 

Additional Inherited Members

- Protected Member Functions inherited from common_durability_options< replace_options >
auto build_common_durability_options () const -> built
 
- Protected Member Functions inherited from common_options< replace_options >
auto build_common_options () const -> built
 
auto self () -> replace_options &
 Allows to return the right options builder instance for child implementations.
 

Detailed Description

Options for collection::replace().

Since
1.0.0
Committed
Generally available API and should be preferred in production

Member Function Documentation

◆ build()

auto build ( ) const -> built
inlinenodiscard

Validates options and returns them as an immutable value.

Returns
consistent options as an immutable value
Exceptions
std::system_errorwith code errc::common::invalid_argument if the options are not valid
Since
1.0.0
Internal
Internal interface

◆ cas()

auto cas ( couchbase::cas cas) -> replace_options&
inline

Specifies a CAS value that will be taken into account on the server side for optimistic concurrency.

The CAS value is an opaque identifier which is associated with a specific state of the document on the server. The CAS value is received on read operations (or after mutations) and can be used during a subsequent mutation to make sure that the document has not been modified in the meantime.

If document on the server has been modified in the meantime the SDK will raise a errc::common::cas_mismatch. In this case the caller is expected to re-do the whole "fetch-modify-update" cycle again. Please refer to the SDK documentation for more information on CAS mismatches and subsequent retries.

Parameters
casthe opaque CAS identifier to use for this operation.
Returns
the replace_options for chaining purposes.
Since
1.0.0
Committed
Generally available API and should be preferred in production

◆ expiry() [1/2]

auto expiry ( std::chrono::seconds duration) -> replace_options&
inline

Sets the expiry for the document.

By default the document will never expire.

The duration must be less than 50 years. For expiry further in the future, use expiry(std::chrono::system_clock::time_point).

Parameters
durationthe duration after which the document will expire (zero duration means never expire).
Returns
this options class for chaining purposes.
Since
1.0.0
Committed
Generally available API and should be preferred in production

◆ expiry() [2/2]

auto expiry ( std::chrono::system_clock::time_point time_point) -> replace_options&
inline

Sets the expiry for the document.

By default the document will never expire.

Parameters
time_pointthe point in time when the document will expire (epoch second zero means never expire).
Returns
this options class for chaining purposes.
Since
1.0.0
Committed
Generally available API and should be preferred in production

◆ preserve_expiry()

auto preserve_expiry ( bool preserve) -> replace_options&
inline

Specifies whether an existing document's expiry should be preserved.

Defaults to false.

If true, and the document exists, its expiry will not be modified. Otherwise the document's expiry is determined by expiry(std::chrono::seconds) or expiry(std::chrono::system_clock::time_point).

Requires Couchbase Server 7.0 or later.

Parameters
preservetrue to preserve expiry, false to set new expiry
Returns
this options class for chaining purposes.
Since
1.0.0
Committed
Generally available API and should be preferred in production

The documentation for this struct was generated from the following file: