couchbase 4.2.3 → 4.2.5-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CMakeLists.txt +136 -11
- package/deps/couchbase-cxx-client/CMakeLists.txt +54 -4
- package/deps/couchbase-cxx-client/README.md +1 -0
- package/deps/couchbase-cxx-client/bin/create-search-index +164 -0
- package/deps/couchbase-cxx-client/bin/init-cluster +55 -10
- package/deps/couchbase-cxx-client/bin/run-unit-tests +62 -6
- package/deps/couchbase-cxx-client/bin/travel-sample-index-v6.json +184 -0
- package/deps/couchbase-cxx-client/bin/travel-sample-index.json +188 -0
- package/deps/couchbase-cxx-client/cmake/Documentation.cmake +0 -1
- package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +98 -3
- package/deps/couchbase-cxx-client/cmake/Testing.cmake +8 -0
- package/deps/couchbase-cxx-client/cmake/build_config.hxx.in +3 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +183 -152
- package/deps/couchbase-cxx-client/core/bucket.hxx +17 -4
- package/deps/couchbase-cxx-client/core/cluster.hxx +18 -1
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +1 -0
- package/deps/couchbase-cxx-client/core/error_context/key_value.cxx +2 -1
- package/deps/couchbase-cxx-client/core/error_context/key_value.hxx +10 -12
- package/deps/couchbase-cxx-client/core/error_context/search.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/boolean_field_query.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/boolean_query.cxx +62 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/conjunction_query.cxx +51 -0
- package/deps/couchbase-cxx-client/core/impl/date_range.cxx +89 -0
- package/deps/couchbase-cxx-client/core/impl/date_range_facet.cxx +54 -0
- package/deps/couchbase-cxx-client/core/impl/date_range_facet_result.cxx +64 -0
- package/deps/couchbase-cxx-client/core/impl/date_range_query.cxx +125 -0
- package/deps/couchbase-cxx-client/core/impl/disjunction_query.cxx +51 -0
- package/deps/couchbase-cxx-client/core/impl/encoded_search_facet.hxx +29 -0
- package/deps/couchbase-cxx-client/core/impl/encoded_search_query.hxx +29 -0
- package/deps/couchbase-cxx-client/core/impl/encoded_search_sort.hxx +29 -0
- package/deps/couchbase-cxx-client/core/impl/geo_bounding_box_query.cxx +46 -0
- package/deps/couchbase-cxx-client/core/impl/geo_distance_query.cxx +43 -0
- package/deps/couchbase-cxx-client/core/impl/geo_polygon_query.cxx +46 -0
- package/deps/couchbase-cxx-client/core/impl/internal_date_range_facet_result.cxx +80 -0
- package/deps/couchbase-cxx-client/core/impl/internal_date_range_facet_result.hxx +48 -0
- package/deps/couchbase-cxx-client/core/impl/internal_numeric_range_facet_result.cxx +80 -0
- package/deps/couchbase-cxx-client/core/impl/internal_numeric_range_facet_result.hxx +48 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_error_context.cxx +141 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_error_context.hxx +61 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_meta_data.cxx +60 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_meta_data.hxx +41 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_result.cxx +84 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_result.hxx +43 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_row.cxx +82 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_row.hxx +56 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_row_location.hxx +32 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_row_locations.cxx +137 -0
- package/deps/couchbase-cxx-client/core/impl/internal_search_row_locations.hxx +45 -0
- package/deps/couchbase-cxx-client/core/impl/internal_term_facet_result.cxx +80 -0
- package/deps/couchbase-cxx-client/core/impl/internal_term_facet_result.hxx +48 -0
- package/deps/couchbase-cxx-client/core/impl/key_value_error_context.cxx +98 -0
- package/deps/couchbase-cxx-client/core/impl/match_all_query.cxx +35 -0
- package/deps/couchbase-cxx-client/core/impl/match_none_query.cxx +35 -0
- package/deps/couchbase-cxx-client/core/impl/match_phrase_query.cxx +43 -0
- package/deps/couchbase-cxx-client/core/impl/match_query.cxx +59 -0
- package/deps/couchbase-cxx-client/core/impl/numeric_range.cxx +49 -0
- package/deps/couchbase-cxx-client/core/impl/numeric_range_facet.cxx +54 -0
- package/deps/couchbase-cxx-client/core/impl/numeric_range_facet_result.cxx +64 -0
- package/deps/couchbase-cxx-client/core/impl/numeric_range_query.cxx +56 -0
- package/deps/couchbase-cxx-client/core/impl/phrase_query.cxx +42 -0
- package/deps/couchbase-cxx-client/core/impl/prefix_query.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/query_error_context.cxx +75 -0
- package/deps/couchbase-cxx-client/core/impl/query_string_query.cxx +37 -0
- package/deps/couchbase-cxx-client/core/impl/regexp_query.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +191 -0
- package/deps/couchbase-cxx-client/core/impl/search_error_context.cxx +147 -0
- package/deps/couchbase-cxx-client/core/impl/search_meta_data.cxx +46 -0
- package/deps/couchbase-cxx-client/core/impl/search_result.cxx +66 -0
- package/deps/couchbase-cxx-client/core/impl/search_row.cxx +74 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +64 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_locations.cxx +66 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_field.cxx +104 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_id.cxx +43 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_score.cxx +43 -0
- package/deps/couchbase-cxx-client/core/impl/term_facet.cxx +36 -0
- package/deps/couchbase-cxx-client/core/impl/term_facet_result.cxx +64 -0
- package/deps/couchbase-cxx-client/core/impl/term_query.cxx +56 -0
- package/deps/couchbase-cxx-client/core/impl/term_range_query.cxx +57 -0
- package/deps/couchbase-cxx-client/core/impl/wildcard_query.cxx +40 -0
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +9 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +54 -37
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +4 -3
- package/deps/couchbase-cxx-client/core/json_string.hxx +5 -0
- package/deps/couchbase-cxx-client/core/meta/version.cxx +18 -4
- package/deps/couchbase-cxx-client/core/mozilla_ca_bundle.hxx +39 -0
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -1
- package/deps/couchbase-cxx-client/core/protocol/client_request.hxx +11 -2
- package/deps/couchbase-cxx-client/core/protocol/client_response.hxx +1 -0
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +59 -46
- package/deps/couchbase-cxx-client/core/utils/connection_string.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_error_context.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/boolean_field_query.hxx +77 -0
- package/deps/couchbase-cxx-client/couchbase/boolean_query.hxx +223 -0
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +39 -0
- package/deps/couchbase-cxx-client/couchbase/conjunction_query.hxx +88 -0
- package/deps/couchbase-cxx-client/couchbase/date_range.hxx +69 -0
- package/deps/couchbase-cxx-client/couchbase/date_range_facet.hxx +56 -0
- package/deps/couchbase-cxx-client/couchbase/date_range_facet_result.hxx +55 -0
- package/deps/couchbase-cxx-client/couchbase/date_range_query.hxx +265 -0
- package/deps/couchbase-cxx-client/couchbase/disjunction_query.hxx +109 -0
- package/deps/couchbase-cxx-client/couchbase/doc_id_query.hxx +111 -0
- package/deps/couchbase-cxx-client/couchbase/error_context.hxx +17 -8
- package/deps/couchbase-cxx-client/couchbase/fmt/analytics_scan_consistency.hxx +52 -0
- package/deps/couchbase-cxx-client/{core/topology/error_map_fmt.hxx → couchbase/fmt/key_value_error_map_attribute.hxx} +21 -21
- package/deps/couchbase-cxx-client/couchbase/fmt/search_scan_consistency.hxx +49 -0
- package/deps/couchbase-cxx-client/couchbase/geo_bounding_box_query.hxx +107 -0
- package/deps/couchbase-cxx-client/couchbase/geo_distance_query.hxx +109 -0
- package/deps/couchbase-cxx-client/couchbase/geo_point.hxx +32 -0
- package/deps/couchbase-cxx-client/couchbase/geo_polygon_query.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/highlight_style.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/key_value_error_context.hxx +7 -2
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/match_all_query.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/match_none_query.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/match_operator.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/match_phrase_query.hxx +108 -0
- package/deps/couchbase-cxx-client/couchbase/match_query.hxx +163 -0
- package/deps/couchbase-cxx-client/couchbase/numeric_range.hxx +58 -0
- package/deps/couchbase-cxx-client/couchbase/numeric_range_facet.hxx +56 -0
- package/deps/couchbase-cxx-client/couchbase/numeric_range_facet_result.hxx +55 -0
- package/deps/couchbase-cxx-client/couchbase/numeric_range_query.hxx +143 -0
- package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +93 -0
- package/deps/couchbase-cxx-client/couchbase/prefix_query.hxx +82 -0
- package/deps/couchbase-cxx-client/couchbase/query_error_context.hxx +3 -1
- package/deps/couchbase-cxx-client/couchbase/query_string_query.hxx +72 -0
- package/deps/couchbase-cxx-client/couchbase/regexp_query.hxx +82 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +39 -0
- package/deps/couchbase-cxx-client/couchbase/search_date_range.hxx +68 -0
- package/deps/couchbase-cxx-client/couchbase/search_error_context.hxx +138 -0
- package/deps/couchbase-cxx-client/couchbase/search_facet.hxx +60 -0
- package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +50 -0
- package/deps/couchbase-cxx-client/couchbase/search_meta_data.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/search_metrics.hxx +127 -0
- package/deps/couchbase-cxx-client/couchbase/search_numeric_range.hxx +69 -0
- package/deps/couchbase-cxx-client/couchbase/search_options.hxx +509 -0
- package/deps/couchbase-cxx-client/couchbase/search_query.hxx +69 -0
- package/deps/couchbase-cxx-client/couchbase/search_result.hxx +77 -0
- package/deps/couchbase-cxx-client/couchbase/search_row.hxx +104 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +55 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_locations.hxx +86 -0
- package/deps/couchbase-cxx-client/couchbase/search_scan_consistency.hxx +34 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort.hxx +58 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_field.hxx +117 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_field_missing.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_field_mode.hxx +27 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_field_type.hxx +28 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_id.hxx +60 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_score.hxx +60 -0
- package/deps/couchbase-cxx-client/couchbase/search_term_range.hxx +51 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +3 -0
- package/deps/couchbase-cxx-client/couchbase/subdocument_error_context.hxx +4 -2
- package/deps/couchbase-cxx-client/couchbase/term_facet.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/term_facet_result.hxx +55 -0
- package/deps/couchbase-cxx-client/couchbase/term_query.hxx +151 -0
- package/deps/couchbase-cxx-client/couchbase/term_range_query.hxx +142 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_result.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/wildcard_query.hxx +83 -0
- package/deps/couchbase-cxx-client/docs/Doxyfile.in +1 -1
- package/deps/couchbase-cxx-client/docs/cbc-analytics.md +2 -2
- package/deps/couchbase-cxx-client/docs/cbc-get.md +3 -2
- package/deps/couchbase-cxx-client/docs/cbc-pillowfight.md +7 -2
- package/deps/couchbase-cxx-client/docs/cbc-query.md +2 -2
- package/deps/couchbase-cxx-client/docs/cbc.md +3 -3
- package/deps/couchbase-cxx-client/docs/cli.hxx +5 -5
- package/deps/couchbase-cxx-client/docs/mainpage.hxx +42 -5
- package/deps/couchbase-cxx-client/test/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +28 -6
- package/deps/couchbase-cxx-client/test/test_integration_collections.cxx +7 -3
- package/deps/couchbase-cxx-client/test/test_integration_connect.cxx +7 -3
- package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +13 -3
- package/deps/couchbase-cxx-client/test/test_integration_diagnostics.cxx +8 -2
- package/deps/couchbase-cxx-client/test/test_integration_durability.cxx +12 -7
- package/deps/couchbase-cxx-client/test/test_integration_examples.cxx +283 -11
- package/deps/couchbase-cxx-client/test/test_integration_management.cxx +140 -88
- package/deps/couchbase-cxx-client/test/test_integration_query.cxx +67 -9
- package/deps/couchbase-cxx-client/test/test_integration_range_scan.cxx +12 -12
- package/deps/couchbase-cxx-client/test/test_integration_read_replica.cxx +48 -11
- package/deps/couchbase-cxx-client/test/test_integration_search.cxx +19 -1
- package/deps/couchbase-cxx-client/test/test_integration_subdoc.cxx +60 -9
- package/deps/couchbase-cxx-client/test/test_integration_tracer.cxx +3 -0
- package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +4 -0
- package/deps/couchbase-cxx-client/test/test_transaction_examples.cxx +100 -85
- package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +29 -0
- package/deps/couchbase-cxx-client/test/test_unit_search.cxx +427 -0
- package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +2 -1
- package/deps/couchbase-cxx-client/test/utils/logger.cxx +3 -1
- package/deps/couchbase-cxx-client/test/utils/server_version.hxx +31 -15
- package/deps/couchbase-cxx-client/test/utils/test_context.cxx +8 -0
- package/deps/couchbase-cxx-client/tools/get.cxx +9 -8
- package/deps/couchbase-cxx-client/tools/pillowfight.cxx +175 -75
- package/deps/couchbase-cxx-client/tools/version.cxx +4 -2
- package/dist/binding.d.ts +1 -1
- package/dist/binding.js +3 -2
- package/package.json +96 -1
- package/scripts/createPlatformPackages.js +108 -0
- package/scripts/install.js +45 -0
- package/scripts/prebuilds.js +249 -0
- package/scripts/prune.js +124 -0
- package/src/jstocbpp_autogen.hpp +3 -2
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include <couchbase/cluster.hxx>
|
|
19
|
+
#include <couchbase/error_codes.hxx>
|
|
20
|
+
#include <couchbase/scope.hxx>
|
|
21
|
+
|
|
22
|
+
#include "core/cluster.hxx"
|
|
23
|
+
#include "core/operations/document_search.hxx"
|
|
24
|
+
#include "core/utils/json.hxx"
|
|
25
|
+
#include "encoded_search_facet.hxx"
|
|
26
|
+
#include "encoded_search_query.hxx"
|
|
27
|
+
#include "encoded_search_sort.hxx"
|
|
28
|
+
#include "internal_date_range_facet_result.hxx"
|
|
29
|
+
#include "internal_numeric_range_facet_result.hxx"
|
|
30
|
+
#include "internal_search_error_context.hxx"
|
|
31
|
+
#include "internal_search_meta_data.hxx"
|
|
32
|
+
#include "internal_search_result.hxx"
|
|
33
|
+
#include "internal_search_row.hxx"
|
|
34
|
+
#include "internal_search_row_location.hxx"
|
|
35
|
+
#include "internal_search_row_locations.hxx"
|
|
36
|
+
#include "internal_term_facet_result.hxx"
|
|
37
|
+
|
|
38
|
+
namespace couchbase
|
|
39
|
+
{
|
|
40
|
+
static std::optional<core::search_highlight_style>
|
|
41
|
+
map_highlight_style(const std::optional<couchbase::highlight_style>& style)
|
|
42
|
+
{
|
|
43
|
+
if (style) {
|
|
44
|
+
switch (style.value()) {
|
|
45
|
+
case highlight_style::html:
|
|
46
|
+
return core::search_highlight_style::html;
|
|
47
|
+
case highlight_style::ansi:
|
|
48
|
+
return core::search_highlight_style::ansi;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static std::optional<core::search_scan_consistency>
|
|
55
|
+
map_scan_consistency(const std::optional<couchbase::search_scan_consistency>& scan_consistency)
|
|
56
|
+
{
|
|
57
|
+
if (scan_consistency == search_scan_consistency::not_bounded) {
|
|
58
|
+
return core::search_scan_consistency::not_bounded;
|
|
59
|
+
}
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static std::vector<std::string>
|
|
64
|
+
map_sort(const std::vector<std::shared_ptr<search_sort>>& sort, const std::vector<std::string>& sort_string)
|
|
65
|
+
{
|
|
66
|
+
std::vector<std::string> sort_specs{};
|
|
67
|
+
sort_specs.reserve(sort.size() + sort_string.size());
|
|
68
|
+
|
|
69
|
+
for (const auto& s : sort) {
|
|
70
|
+
auto encoded = s->encode();
|
|
71
|
+
if (encoded.ec) {
|
|
72
|
+
throw std::system_error(encoded.ec, "unable to encode search sort object");
|
|
73
|
+
}
|
|
74
|
+
sort_specs.emplace_back(core::utils::json::generate(encoded.sort));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
for (const auto& s : sort_string) {
|
|
78
|
+
sort_specs.emplace_back(core::utils::json::generate(s));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return sort_specs;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static std::map<std::string, std::string>
|
|
85
|
+
map_facets(const std::map<std::string, std::shared_ptr<search_facet>, std::less<>>& facets)
|
|
86
|
+
{
|
|
87
|
+
std::map<std::string, std::string> core_facets{};
|
|
88
|
+
|
|
89
|
+
for (const auto& [name, f] : facets) {
|
|
90
|
+
auto encoded = f->encode();
|
|
91
|
+
if (encoded.ec) {
|
|
92
|
+
throw std::system_error(encoded.ec, "unable to encode search facet object in request");
|
|
93
|
+
}
|
|
94
|
+
core_facets[name] = core::utils::json::generate(encoded.facet);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return core_facets;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
static std::map<std::string, couchbase::core::json_string>
|
|
101
|
+
map_raw(std::map<std::string, codec::binary, std::less<>>& raw)
|
|
102
|
+
{
|
|
103
|
+
std::map<std::string, couchbase::core::json_string> core_raw{};
|
|
104
|
+
for (const auto& [name, value] : raw) {
|
|
105
|
+
core_raw[name] = value;
|
|
106
|
+
}
|
|
107
|
+
return core_raw;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static core::operations::search_request
|
|
111
|
+
build_search_request(std::string index_name,
|
|
112
|
+
const search_query& query,
|
|
113
|
+
search_options::built options,
|
|
114
|
+
std::optional<std::string> /* bucket_name */,
|
|
115
|
+
std::optional<std::string> /* scope_name */)
|
|
116
|
+
{
|
|
117
|
+
auto encoded = query.encode();
|
|
118
|
+
if (encoded.ec) {
|
|
119
|
+
throw std::system_error(encoded.ec, fmt::format("unable to encode search query for index \"{}\"", index_name));
|
|
120
|
+
}
|
|
121
|
+
core::operations::search_request request{
|
|
122
|
+
std::move(index_name),
|
|
123
|
+
core::utils::json::generate_binary(encoded.query),
|
|
124
|
+
options.limit,
|
|
125
|
+
options.skip,
|
|
126
|
+
options.explain,
|
|
127
|
+
options.disable_scoring,
|
|
128
|
+
options.include_locations,
|
|
129
|
+
map_highlight_style(options.highlight_style),
|
|
130
|
+
options.highlight_fields,
|
|
131
|
+
options.fields,
|
|
132
|
+
options.collections,
|
|
133
|
+
map_scan_consistency(options.scan_consistency),
|
|
134
|
+
options.mutation_state,
|
|
135
|
+
map_sort(options.sort, options.sort_string),
|
|
136
|
+
map_facets(options.facets),
|
|
137
|
+
map_raw(options.raw),
|
|
138
|
+
{},
|
|
139
|
+
options.client_context_id,
|
|
140
|
+
options.timeout,
|
|
141
|
+
};
|
|
142
|
+
return request;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
void
|
|
146
|
+
cluster::search_query(std::string index_name,
|
|
147
|
+
const class search_query& query,
|
|
148
|
+
const search_options& options,
|
|
149
|
+
search_handler&& handler) const
|
|
150
|
+
{
|
|
151
|
+
auto request = build_search_request(std::move(index_name), query, options.build(), {}, {});
|
|
152
|
+
|
|
153
|
+
core_->execute(std::move(request), [handler = std::move(handler)](core::operations::search_response resp) mutable {
|
|
154
|
+
handler(search_error_context{ internal_search_error_context{ resp } }, search_result{ internal_search_result{ resp } });
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
auto
|
|
159
|
+
cluster::search_query(std::string index_name, const class search_query& query, const search_options& options) const
|
|
160
|
+
-> std::future<std::pair<search_error_context, search_result>>
|
|
161
|
+
{
|
|
162
|
+
auto barrier = std::make_shared<std::promise<std::pair<search_error_context, search_result>>>();
|
|
163
|
+
search_query(std::move(index_name), query, options, [barrier](auto ctx, auto result) mutable {
|
|
164
|
+
barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
|
|
165
|
+
});
|
|
166
|
+
return barrier->get_future();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
void
|
|
170
|
+
scope::search_query(std::string index_name, const class search_query& query, const search_options& options, search_handler&& handler) const
|
|
171
|
+
{
|
|
172
|
+
auto request = build_search_request(std::move(index_name), query, options.build(), bucket_name_, name_);
|
|
173
|
+
|
|
174
|
+
core_->execute(std::move(request), [handler = std::move(handler)](core::operations::search_response resp) mutable {
|
|
175
|
+
return handler(search_error_context{ internal_search_error_context{ resp } }, search_result{ internal_search_result{ resp } });
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
auto
|
|
180
|
+
scope::search_query(std::string index_name, const class search_query& query, const search_options& options) const
|
|
181
|
+
-> std::future<std::pair<search_error_context, search_result>>
|
|
182
|
+
{
|
|
183
|
+
auto barrier = std::make_shared<std::promise<std::pair<search_error_context, search_result>>>();
|
|
184
|
+
auto future = barrier->get_future();
|
|
185
|
+
search_query(std::move(index_name), query, options, [barrier](auto ctx, auto result) {
|
|
186
|
+
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
187
|
+
});
|
|
188
|
+
return future;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_error_context.hxx"
|
|
19
|
+
|
|
20
|
+
#include <couchbase/search_error_context.hxx>
|
|
21
|
+
|
|
22
|
+
namespace couchbase
|
|
23
|
+
{
|
|
24
|
+
search_error_context::search_error_context()
|
|
25
|
+
: internal_{ nullptr }
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
search_error_context::search_error_context(internal_search_error_context ctx)
|
|
30
|
+
: internal_{ std::make_unique<internal_search_error_context>(std::move(ctx)) }
|
|
31
|
+
{
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
search_error_context::search_error_context(search_error_context&& other) = default;
|
|
35
|
+
|
|
36
|
+
search_error_context&
|
|
37
|
+
search_error_context::operator=(search_error_context&& other) = default;
|
|
38
|
+
|
|
39
|
+
search_error_context::~search_error_context() = default;
|
|
40
|
+
|
|
41
|
+
auto
|
|
42
|
+
search_error_context::ec() const -> std::error_code
|
|
43
|
+
{
|
|
44
|
+
return internal_->ec();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
auto
|
|
48
|
+
search_error_context::last_dispatched_to() const -> const std::optional<std::string>&
|
|
49
|
+
{
|
|
50
|
+
return internal_->last_dispatched_to();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
auto
|
|
54
|
+
search_error_context::last_dispatched_from() const -> const std::optional<std::string>&
|
|
55
|
+
{
|
|
56
|
+
return internal_->last_dispatched_from();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
auto
|
|
60
|
+
search_error_context::retry_attempts() const -> std::size_t
|
|
61
|
+
{
|
|
62
|
+
return internal_->retry_attempts();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
auto
|
|
66
|
+
search_error_context::retry_reasons() const -> const std::set<retry_reason>&
|
|
67
|
+
{
|
|
68
|
+
return internal_->retry_reasons();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
auto
|
|
72
|
+
search_error_context::retried_because_of(retry_reason reason) const -> bool
|
|
73
|
+
{
|
|
74
|
+
return internal_->retried_because_of(reason);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
auto
|
|
78
|
+
search_error_context::index_name() const -> const std::string&
|
|
79
|
+
{
|
|
80
|
+
return internal_->index_name();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
auto
|
|
84
|
+
search_error_context::client_context_id() const -> const std::string&
|
|
85
|
+
{
|
|
86
|
+
return internal_->client_context_id();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
auto
|
|
90
|
+
search_error_context::query() const -> const std::string&
|
|
91
|
+
{
|
|
92
|
+
return internal_->query();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
auto
|
|
96
|
+
search_error_context::parameters() const -> const std::optional<std::string>&
|
|
97
|
+
{
|
|
98
|
+
return internal_->parameters();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
auto
|
|
102
|
+
search_error_context::method() const -> const std::string&
|
|
103
|
+
{
|
|
104
|
+
return internal_->method();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
auto
|
|
108
|
+
search_error_context::path() const -> const std::string&
|
|
109
|
+
{
|
|
110
|
+
return internal_->path();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
auto
|
|
114
|
+
search_error_context::http_status() const -> std::uint32_t
|
|
115
|
+
{
|
|
116
|
+
return internal_->http_status();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
auto
|
|
120
|
+
search_error_context::http_body() const -> const std::string&
|
|
121
|
+
{
|
|
122
|
+
return internal_->http_body();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
auto
|
|
126
|
+
search_error_context::hostname() const -> const std::string&
|
|
127
|
+
{
|
|
128
|
+
return internal_->hostname();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
auto
|
|
132
|
+
search_error_context::port() const -> std::uint16_t
|
|
133
|
+
{
|
|
134
|
+
return internal_->port();
|
|
135
|
+
}
|
|
136
|
+
auto
|
|
137
|
+
search_error_context::error() const -> const std::string&
|
|
138
|
+
{
|
|
139
|
+
return internal_->error();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
auto
|
|
143
|
+
search_error_context::status() const -> const std::string&
|
|
144
|
+
{
|
|
145
|
+
return internal_->status();
|
|
146
|
+
}
|
|
147
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_meta_data.hxx"
|
|
19
|
+
|
|
20
|
+
#include <couchbase/search_meta_data.hxx>
|
|
21
|
+
|
|
22
|
+
namespace couchbase
|
|
23
|
+
{
|
|
24
|
+
search_meta_data::search_meta_data(internal_search_meta_data internal)
|
|
25
|
+
: internal_{ std::make_unique<internal_search_meta_data>(std::move(internal)) }
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
auto
|
|
30
|
+
search_meta_data::client_context_id() const -> const std::string&
|
|
31
|
+
{
|
|
32
|
+
return internal_->client_context_id();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
auto
|
|
36
|
+
search_meta_data::errors() const -> const std::map<std::string, std::string>&
|
|
37
|
+
{
|
|
38
|
+
return internal_->errors();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
auto
|
|
42
|
+
search_meta_data::metrics() const -> const search_metrics&
|
|
43
|
+
{
|
|
44
|
+
return internal_->metrics();
|
|
45
|
+
}
|
|
46
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_result.hxx"
|
|
19
|
+
|
|
20
|
+
#include "internal_date_range_facet_result.hxx"
|
|
21
|
+
#include "internal_numeric_range_facet_result.hxx"
|
|
22
|
+
#include "internal_search_meta_data.hxx"
|
|
23
|
+
#include "internal_search_row.hxx"
|
|
24
|
+
#include "internal_search_row_location.hxx"
|
|
25
|
+
#include "internal_search_row_locations.hxx"
|
|
26
|
+
#include "internal_term_facet_result.hxx"
|
|
27
|
+
|
|
28
|
+
#include <couchbase/search_result.hxx>
|
|
29
|
+
|
|
30
|
+
namespace couchbase
|
|
31
|
+
{
|
|
32
|
+
search_result::search_result()
|
|
33
|
+
: internal_{ nullptr }
|
|
34
|
+
{
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
search_result::search_result(internal_search_result internal)
|
|
38
|
+
: internal_{ std::make_unique<internal_search_result>(std::move(internal)) }
|
|
39
|
+
{
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
search_result::~search_result() = default;
|
|
43
|
+
|
|
44
|
+
search_result&
|
|
45
|
+
search_result::operator=(search_result&&) noexcept = default;
|
|
46
|
+
|
|
47
|
+
search_result::search_result(search_result&&) noexcept = default;
|
|
48
|
+
|
|
49
|
+
auto
|
|
50
|
+
search_result::meta_data() const -> const search_meta_data&
|
|
51
|
+
{
|
|
52
|
+
return internal_->meta_data();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
auto
|
|
56
|
+
search_result::rows() const -> const std::vector<search_row>&
|
|
57
|
+
{
|
|
58
|
+
return internal_->rows();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
auto
|
|
62
|
+
search_result::facets() const -> const std::map<std::string, std::shared_ptr<search_facet_result>>&
|
|
63
|
+
{
|
|
64
|
+
return internal_->facets();
|
|
65
|
+
}
|
|
66
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_row.hxx"
|
|
19
|
+
|
|
20
|
+
#include "internal_search_row_location.hxx"
|
|
21
|
+
#include "internal_search_row_locations.hxx"
|
|
22
|
+
|
|
23
|
+
#include <couchbase/search_row.hxx>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
search_row::search_row(internal_search_row internal)
|
|
28
|
+
: internal_{ std::make_unique<internal_search_row>(std::move(internal)) }
|
|
29
|
+
|
|
30
|
+
{
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
auto
|
|
34
|
+
search_row::index() const -> const std::string&
|
|
35
|
+
{
|
|
36
|
+
return internal_->index();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
auto
|
|
40
|
+
search_row::id() const -> const std::string&
|
|
41
|
+
{
|
|
42
|
+
return internal_->id();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
auto
|
|
46
|
+
search_row::score() const -> double
|
|
47
|
+
{
|
|
48
|
+
return internal_->score();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
auto
|
|
52
|
+
search_row::fields() const -> const codec::binary&
|
|
53
|
+
{
|
|
54
|
+
return internal_->fields();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
auto
|
|
58
|
+
search_row::explanation() const -> const codec::binary&
|
|
59
|
+
{
|
|
60
|
+
return internal_->explanation();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
auto
|
|
64
|
+
search_row::locations() const -> const std::optional<search_row_locations>&
|
|
65
|
+
{
|
|
66
|
+
return internal_->locations();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
auto
|
|
70
|
+
search_row::fragments() const -> const std::map<std::string, std::vector<std::string>>&
|
|
71
|
+
{
|
|
72
|
+
return internal_->fragments();
|
|
73
|
+
}
|
|
74
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_row_location.hxx"
|
|
19
|
+
|
|
20
|
+
#include <couchbase/search_row_location.hxx>
|
|
21
|
+
|
|
22
|
+
namespace couchbase
|
|
23
|
+
{
|
|
24
|
+
search_row_location::search_row_location(internal_search_row_location internal)
|
|
25
|
+
: internal_{ std::make_unique<internal_search_row_location>(std::move(internal)) }
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
auto
|
|
30
|
+
search_row_location::field() const -> const std::string&
|
|
31
|
+
{
|
|
32
|
+
return internal_->location.field;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
auto
|
|
36
|
+
search_row_location::term() const -> const std::string&
|
|
37
|
+
{
|
|
38
|
+
return internal_->location.term;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
auto
|
|
42
|
+
search_row_location::position() const -> const std::uint64_t&
|
|
43
|
+
{
|
|
44
|
+
return internal_->location.position;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
auto
|
|
48
|
+
search_row_location::start_offset() const -> const std::uint64_t&
|
|
49
|
+
{
|
|
50
|
+
return internal_->location.start_offset;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
auto
|
|
54
|
+
search_row_location::end_offset() const -> const std::uint64_t&
|
|
55
|
+
{
|
|
56
|
+
return internal_->location.end_offset;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
auto
|
|
60
|
+
search_row_location::array_positions() const -> const std::optional<std::vector<std::uint64_t>>&
|
|
61
|
+
{
|
|
62
|
+
return internal_->location.array_positions;
|
|
63
|
+
}
|
|
64
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "internal_search_row_locations.hxx"
|
|
19
|
+
|
|
20
|
+
#include "internal_search_row_location.hxx"
|
|
21
|
+
|
|
22
|
+
#include <couchbase/search_row_locations.hxx>
|
|
23
|
+
|
|
24
|
+
namespace couchbase
|
|
25
|
+
{
|
|
26
|
+
search_row_locations::search_row_locations(internal_search_row_locations internal)
|
|
27
|
+
: internal_{ std::make_unique<internal_search_row_locations>(std::move(internal)) }
|
|
28
|
+
{
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
auto
|
|
32
|
+
search_row_locations::get(const std::string& field) const -> std::vector<search_row_location>
|
|
33
|
+
{
|
|
34
|
+
return internal_->get(field);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
auto
|
|
38
|
+
search_row_locations::get(const std::string& field, const std::string& term) const -> std::vector<search_row_location>
|
|
39
|
+
{
|
|
40
|
+
return internal_->get(field, term);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
auto
|
|
44
|
+
search_row_locations::get_all() const -> std::vector<search_row_location>
|
|
45
|
+
{
|
|
46
|
+
return internal_->get_all();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
auto
|
|
50
|
+
search_row_locations::fields() const -> std::vector<std::string>
|
|
51
|
+
{
|
|
52
|
+
return internal_->fields();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
auto
|
|
56
|
+
search_row_locations::terms() const -> std::set<std::string>
|
|
57
|
+
{
|
|
58
|
+
return internal_->terms();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
auto
|
|
62
|
+
search_row_locations::terms_for(const std::string& field) const -> std::vector<std::string>
|
|
63
|
+
{
|
|
64
|
+
return internal_->terms_for(field);
|
|
65
|
+
}
|
|
66
|
+
} // namespace couchbase
|