Couchbase C++ SDK 1.0.1 (rev. 58d46d7)
Loading...
Searching...
No Matches
upsert_options Struct Reference

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

#include <couchbase/upsert_options.hxx>

Inheritance diagram for upsert_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) -> upsert_options &
 Specifies whether an existing document's expiry should be preserved.
 
auto expiry (std::chrono::seconds duration) -> upsert_options &
 Sets the expiry for the document.
 
auto expiry (std::chrono::system_clock::time_point time_point) -> upsert_options &
 Sets the expiry for the document.
 
- Public Member Functions inherited from common_durability_options< upsert_options >
auto durability (durability_level level) -> upsert_options &
 Allows to customize the enhanced durability requirements for this operation.
 
auto durability (persist_to persist_to_nodes, replicate_to replicate_to_nodes) -> upsert_options &
 Allows to customize the poll-based durability requirements for this operation.
 
- Public Member Functions inherited from common_options< derived_class >
auto timeout (const std::chrono::milliseconds timeout) -> derived_class &
 Specifies a custom per-operation timeout.
 
auto retry_strategy (const std::shared_ptr< retry_strategy > strategy) -> derived_class &
 Specifies a custom couchbase::retry_strategy for this operation.
 

Additional Inherited Members

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

Detailed Description

Options for collection::upsert().

Since
1.0.0
Committed
Generally available API and should be preferred in production
Examples
distributed_mutex.cxx.

Member Function Documentation

◆ build()

auto build ( ) const -> built
inline

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

◆ expiry() [1/2]

auto expiry ( std::chrono::seconds duration) -> upsert_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) -> upsert_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) -> upsert_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: