62 std::map<std::string, codec::binary, std::less<>>
raw;
86 positional_parameters_,
104 priority_ = prioritized;
168 client_context_id_.reset();
201 mutation_state_.clear();
227 mutation_state_ = state.tokens();
228 scan_consistency_.reset();
243 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
246 raw_[std::move(name)] = std::move(Serializer::template serialize<const Value&>(value));
262 typename... Parameters,
263 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
266 positional_parameters_.clear();
267 encode_positional_parameters<Serializer>(parameters...);
282 typename... Parameters,
283 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
286 named_parameters_.clear();
287 encode_named_parameters<Serializer>(parameters...);
303 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
306 encode_positional_parameters<Serializer>(parameter);
323 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
326 encode_named_parameters<Serializer>(std::make_pair(name, value));
340 positional_parameters_.clear();
354 named_parameters_.clear();
375 raw_ = std::move(options);
396 positional_parameters_ = std::move(parameters);
417 named_parameters_ = std::move(parameters);
425 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
426 void encode_positional_parameters(
const Parameter& parameter, Rest... args)
428 positional_parameters_.emplace_back(
429 std::move(Serializer::template serialize<Parameter>(parameter)));
430 if constexpr (
sizeof...(args) > 0) {
431 encode_positional_parameters<Serializer>(args...);
435 template<
typename Serializer = codec::tao_json_serializer,
439 std::enable_if_t<codec::is_serializer_v<Serializer>,
bool> =
true>
440 void encode_named_parameters(
const std::pair<Name, Parameter>& parameter, Rest... args)
442 named_parameters_[parameter.first] =
443 std::move(Serializer::template serialize<Parameter>(parameter.second));
444 if constexpr (
sizeof...(args) > 0) {
445 encode_named_parameters<Serializer>(args...);
449 bool priority_{
true };
450 bool readonly_{
false };
451 std::optional<std::string> client_context_id_{};
452 std::optional<std::chrono::milliseconds> scan_wait_{};
453 std::optional<analytics_scan_consistency> scan_consistency_{};
454 std::vector<mutation_token> mutation_state_{};
455 std::vector<codec::binary> positional_parameters_{};
456 std::map<std::string, codec::binary, std::less<>> raw_{};
457 std::map<std::string, codec::binary, std::less<>> named_parameters_{};
Represents result of analytics_query() and analytics_query() calls.
Definition analytics_result.hxx:41
A streaming result handle for analytics queries.
Definition analytics_stream_result.hxx:68
Definition tao_json_serializer.hxx:42
Common options that used by most operations.
Definition common_options.hxx:38
auto self() -> analytics_options &
Definition common_options.hxx:116
auto build_common_options() const -> built
Definition common_options.hxx:103
Aggregation of one or more mutation_tokens for specifying consistency requirements of N1QL or FTS que...
Definition mutation_state.hxx:35
Definition analytics_options.hxx:36
std::vector< std::byte > binary
Definition encoded_value.hxx:25
Represents a single item from the result of scan().
Definition allow_querying_search_index_options.hxx:28
analytics_scan_consistency
Definition analytics_scan_consistency.hxx:22
@ not_bounded
The indexer will return whatever state it has to the query engine at the time of query.
Definition analytics_scan_consistency.hxx:33
std::function< void(error, analytics_stream_result)> analytics_stream_handler
The signature for the handler of the analytics_query_stream() and analytics_query_stream() operations...
Definition analytics_options.hxx:476
std::function< void(error, analytics_result)> analytics_handler
The signature for the handler of the analytics_query() and analytics_query() operations.
Definition analytics_options.hxx:467
Immutable value object representing consistent options.
Definition analytics_options.hxx:53
std::vector< mutation_token > mutation_state
Definition analytics_options.hxx:59
std::map< std::string, codec::binary, std::less<> > named_parameters
Definition analytics_options.hxx:61
const bool priority
Definition analytics_options.hxx:55
const bool readonly
Definition analytics_options.hxx:56
std::optional< std::chrono::milliseconds > scan_wait
Definition analytics_options.hxx:58
std::map< std::string, codec::binary, std::less<> > raw
Definition analytics_options.hxx:62
std::optional< std::string > client_context_id
Definition analytics_options.hxx:54
std::optional< analytics_scan_consistency > scan_consistency
Definition analytics_options.hxx:57
std::vector< codec::binary > positional_parameters
Definition analytics_options.hxx:60
Options for cluster::analytics_query() and scope::analytics_query().
Definition analytics_options.hxx:46
auto raw(std::string name, const Value &value) -> analytics_options &
Definition analytics_options.hxx:244
auto client_context_id(std::string client_context_id) -> analytics_options &
Supports providing a custom client context ID for this query.
Definition analytics_options.hxx:165
auto positional_parameters(const Parameters &... parameters) -> analytics_options &
Set list of positional parameters for a query.
Definition analytics_options.hxx:264
auto scan_consistency(analytics_scan_consistency scan_consistency) -> analytics_options &
Customizes the consistency guarantees for this query.
Definition analytics_options.hxx:198
auto encoded_raw_options(std::map< std::string, codec::binary, std::less<> > options) -> analytics_options &
Set map of raw options for a query.
Definition analytics_options.hxx:372
auto encoded_positional_parameters(std::vector< codec::binary > parameters) -> analytics_options &
Set list of positional parameters for a query.
Definition analytics_options.hxx:394
auto readonly(bool readonly) -> analytics_options &
Allows explicitly marking a query as being readonly and not mutating and documents on the server side...
Definition analytics_options.hxx:124
auto scan_wait(std::chrono::milliseconds wait) -> analytics_options &
Allows customizing how long the query engine is willing to wait until the index catches up to whateve...
Definition analytics_options.hxx:143
auto priority(bool prioritized) -> analytics_options &
Allows to give certain requests higher priority than others.
Definition analytics_options.hxx:102
auto build() const -> built
Validates options and returns them as an immutable value.
Definition analytics_options.hxx:76
auto clear_positional_parameters() -> analytics_options &
Clears the list of positional parameters.
Definition analytics_options.hxx:338
auto clear_named_parameters() -> analytics_options &
Clears the list of named parameters.
Definition analytics_options.hxx:352
auto consistent_with(const mutation_state &state) -> analytics_options &
Sets the mutation_tokens this query should be consistent with.
Definition analytics_options.hxx:225
auto add_named_parameter(const std::string &name, const Value &value) -> analytics_options &
Adds a named parameter to the current list of named parameters.
Definition analytics_options.hxx:324
auto add_positional_parameter(const Parameter ¶meter) -> analytics_options &
Adds a positional parameter to the current list of positional parameters.
Definition analytics_options.hxx:304
auto encoded_named_parameters(std::map< std::string, codec::binary, std::less<> > parameters) -> analytics_options &
Set map of named parameters for a query.
Definition analytics_options.hxx:414
auto named_parameters(const Parameters &... parameters) -> analytics_options &
Set list of named parameters for a query.
Definition analytics_options.hxx:284