couchbase 4.2.8 → 4.2.10

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.
Files changed (370) hide show
  1. package/CMakeLists.txt +1 -1
  2. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
  3. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +401 -424
  5. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +7 -3
  6. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +1 -0
  7. package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
  8. package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
  9. package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
  10. package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
  11. package/deps/couchbase-cxx-client/core/bucket.cxx +74 -10
  12. package/deps/couchbase-cxx-client/core/bucket.hxx +4 -2
  13. package/deps/couchbase-cxx-client/core/cluster.cxx +1491 -108
  14. package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
  15. package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
  16. package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
  17. package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
  18. package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
  19. package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
  20. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
  21. package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
  22. package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
  23. package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
  24. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
  25. package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
  26. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
  27. package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
  28. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +102 -0
  29. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
  30. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +299 -44
  31. package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
  32. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
  33. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
  34. package/deps/couchbase-cxx-client/core/impl/diagnostics.cxx +294 -0
  35. package/deps/couchbase-cxx-client/core/impl/diagnostics.hxx +39 -0
  36. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
  37. package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
  38. package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
  39. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
  40. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
  41. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
  42. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
  43. package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
  44. package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
  45. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
  46. package/deps/couchbase-cxx-client/core/impl/scope.cxx +187 -0
  47. package/deps/couchbase-cxx-client/core/impl/search.cxx +81 -57
  48. package/deps/couchbase-cxx-client/core/impl/search.hxx +45 -0
  49. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +712 -0
  50. package/deps/couchbase-cxx-client/core/impl/search_request.cxx +139 -0
  51. package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
  52. package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
  53. package/deps/couchbase-cxx-client/core/impl/vector_query.cxx +42 -0
  54. package/deps/couchbase-cxx-client/core/impl/vector_search.cxx +40 -0
  55. package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
  56. package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
  57. package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
  58. package/deps/couchbase-cxx-client/core/io/http_session.hxx +6 -3
  59. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
  60. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
  61. package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
  62. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +75 -53
  63. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -1
  64. package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
  65. package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
  66. package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
  67. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
  68. package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
  69. package/deps/couchbase-cxx-client/core/meta/features.hxx +38 -0
  70. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +23 -2
  71. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
  72. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +37 -1
  73. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +11 -0
  74. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
  75. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
  79. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
  83. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
  85. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
  90. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +9 -6
  91. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +1 -1
  92. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
  93. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +9 -8
  94. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +1 -1
  95. package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +9 -5
  96. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
  97. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
  98. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
  99. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
  102. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
  103. package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
  106. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
  107. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
  108. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
  109. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
  110. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
  111. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
  115. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
  116. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +19 -1
  117. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +3 -0
  118. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +23 -1
  119. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +3 -0
  120. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +23 -1
  121. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +3 -0
  122. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +23 -1
  123. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +3 -0
  124. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +19 -1
  125. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +3 -0
  126. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +19 -1
  127. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
  128. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +39 -22
  129. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +3 -0
  130. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +20 -1
  131. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +3 -0
  132. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +19 -1
  134. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +3 -0
  135. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
  136. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
  137. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
  138. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
  139. package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
  140. package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
  141. package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
  142. package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
  143. package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
  144. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
  145. package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
  146. package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
  147. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
  148. package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
  149. package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
  150. package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
  151. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
  152. package/deps/couchbase-cxx-client/core/topology/collections_manifest.hxx +1 -1
  153. package/deps/couchbase-cxx-client/core/topology/collections_manifest_json.hxx +1 -1
  154. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
  155. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
  156. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
  157. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
  158. package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
  159. package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
  160. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
  161. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
  162. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
  163. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
  164. package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
  165. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
  166. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
  167. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
  168. package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
  169. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
  170. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
  171. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
  172. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
  173. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
  174. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
  175. package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -13
  176. package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
  177. package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
  178. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
  179. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
  180. package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
  181. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
  182. package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
  183. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
  184. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
  185. package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
  186. package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
  187. package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
  188. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
  189. package/deps/couchbase-cxx-client/core/vector_query_combination.hxx +23 -0
  190. package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
  191. package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
  192. package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
  193. package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
  194. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
  195. package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
  196. package/deps/couchbase-cxx-client/couchbase/bucket.hxx +42 -30
  197. package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
  198. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
  199. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +151 -73
  200. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
  201. package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
  202. package/deps/couchbase-cxx-client/couchbase/codec/raw_binary_transcoder.hxx +2 -1
  203. package/deps/couchbase-cxx-client/couchbase/codec/raw_json_transcoder.hxx +78 -0
  204. package/deps/couchbase-cxx-client/couchbase/codec/raw_string_transcoder.hxx +72 -0
  205. package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
  206. package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
  207. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
  208. package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
  209. package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
  210. package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +32 -3
  211. package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
  212. package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
  213. package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
  214. package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
  215. package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
  216. package/deps/couchbase-cxx-client/couchbase/diagnostics_options.hxx +75 -0
  217. package/deps/couchbase-cxx-client/couchbase/diagnostics_result.hxx +124 -0
  218. package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
  219. package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
  220. package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
  221. package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
  222. package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
  223. package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
  224. package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
  225. package/deps/couchbase-cxx-client/couchbase/endpoint_diagnostics.hxx +206 -0
  226. package/deps/couchbase-cxx-client/couchbase/endpoint_ping_report.hxx +205 -0
  227. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
  228. package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
  229. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
  230. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
  231. package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
  232. package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
  233. package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
  234. package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
  235. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
  236. package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
  237. package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
  238. package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
  239. package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
  240. package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
  241. package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
  242. package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
  243. package/deps/couchbase-cxx-client/couchbase/get_options.hxx +1 -29
  244. package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
  245. package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
  246. package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
  247. package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
  248. package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
  249. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
  250. package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
  251. package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
  252. package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
  253. package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
  254. package/deps/couchbase-cxx-client/couchbase/management/collection_spec.hxx +1 -1
  255. package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
  256. package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
  257. package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
  258. package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
  259. package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
  260. package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
  261. package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
  262. package/deps/couchbase-cxx-client/couchbase/ping_options.hxx +93 -0
  263. package/deps/couchbase-cxx-client/couchbase/ping_result.hxx +118 -0
  264. package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
  265. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
  266. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
  267. package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
  268. package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
  269. package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
  270. package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
  271. package/deps/couchbase-cxx-client/couchbase/scope.hxx +37 -53
  272. package/deps/couchbase-cxx-client/couchbase/scope_search_index_manager.hxx +291 -0
  273. package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
  274. package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
  275. package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
  276. package/deps/couchbase-cxx-client/couchbase/search_request.hxx +120 -0
  277. package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
  278. package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
  279. package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
  280. package/deps/couchbase-cxx-client/couchbase/service_type.hxx +58 -0
  281. package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
  282. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
  283. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
  284. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
  285. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
  286. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
  287. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
  288. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
  289. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
  290. package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
  291. package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
  292. package/deps/couchbase-cxx-client/couchbase/update_collection_options.hxx +32 -3
  293. package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
  294. package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
  295. package/deps/couchbase-cxx-client/couchbase/vector_query.hxx +99 -0
  296. package/deps/couchbase-cxx-client/couchbase/vector_search.hxx +85 -0
  297. package/deps/couchbase-cxx-client/couchbase/vector_search_options.hxx +76 -0
  298. package/dist/binding.d.ts +16 -9
  299. package/dist/binding.js +4 -1
  300. package/dist/bindingutilities.d.ts +6 -1
  301. package/dist/bindingutilities.js +17 -1
  302. package/dist/cluster.d.ts +12 -1
  303. package/dist/cluster.js +22 -0
  304. package/dist/collection.js +3 -3
  305. package/dist/couchbase.d.ts +1 -0
  306. package/dist/couchbase.js +1 -0
  307. package/dist/errors.d.ts +9 -0
  308. package/dist/errors.js +14 -2
  309. package/dist/searchexecutor.d.ts +2 -2
  310. package/dist/searchexecutor.js +19 -3
  311. package/dist/searchtypes.d.ts +46 -0
  312. package/dist/searchtypes.js +81 -1
  313. package/dist/transactions.d.ts +2 -0
  314. package/dist/transactions.js +2 -3
  315. package/dist/usermanager.js +1 -1
  316. package/dist/vectorsearch.d.ts +99 -0
  317. package/dist/vectorsearch.js +132 -0
  318. package/package.json +7 -7
  319. package/src/binding.cpp +1 -0
  320. package/src/connection.cpp +12 -9
  321. package/src/connection.hpp +3 -3
  322. package/src/connection_autogen.cpp +7 -5
  323. package/src/constants.cpp +14 -0
  324. package/src/instance.cpp +2 -2
  325. package/src/instance.hpp +1 -1
  326. package/src/jstocbpp_autogen.hpp +45 -45
  327. package/src/jstocbpp_basic.hpp +2 -0
  328. package/src/jstocbpp_errors.hpp +1 -0
  329. package/src/jstocbpp_transactions.hpp +6 -22
  330. package/src/mutationtoken.hpp +1 -0
  331. package/tools/gen-bindings-json.py +41 -16
  332. package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
  333. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
  334. package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
  335. package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
  336. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
  337. package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
  338. package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
  339. package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
  340. package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
  341. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
  342. package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
  343. package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
  344. package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
  345. package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
  346. package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
  347. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
  348. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
  349. package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
  350. package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
  351. package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
  352. package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
  353. package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
  354. package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
  355. package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
  356. package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
  357. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
  358. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
  359. package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
  360. package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
  361. package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
  362. package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
  363. package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
  364. package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
  365. package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
  366. package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
  367. package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
  368. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
  369. package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
  370. /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
@@ -0,0 +1,712 @@
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 "core/cluster.hxx"
19
+
20
+ #include "core/operations/management/search_index_analyze_document.hxx"
21
+ #include "core/operations/management/search_index_control_ingest.hxx"
22
+ #include "core/operations/management/search_index_control_plan_freeze.hxx"
23
+ #include "core/operations/management/search_index_control_query.hxx"
24
+ #include "core/operations/management/search_index_drop.hxx"
25
+ #include "core/operations/management/search_index_get.hxx"
26
+ #include "core/operations/management/search_index_get_all.hxx"
27
+ #include "core/operations/management/search_index_get_documents_count.hxx"
28
+ #include "core/operations/management/search_index_upsert.hxx"
29
+ #include "core/utils/json.hxx"
30
+ #include "internal_manager_error_context.hxx"
31
+
32
+ #include <couchbase/scope_search_index_manager.hxx>
33
+ #include <couchbase/search_index_manager.hxx>
34
+
35
+ #include <memory>
36
+ #include <utility>
37
+
38
+ namespace couchbase
39
+ {
40
+ namespace
41
+ {
42
+ template<typename Response>
43
+ manager_error_context
44
+ build_context(Response& resp)
45
+ {
46
+ return manager_error_context(internal_manager_error_context{ resp.ctx.ec,
47
+ resp.ctx.last_dispatched_to,
48
+ resp.ctx.last_dispatched_from,
49
+ resp.ctx.retry_attempts,
50
+ std::move(resp.ctx.retry_reasons),
51
+ std::move(resp.ctx.client_context_id),
52
+ resp.ctx.http_status,
53
+ std::move(resp.ctx.http_body),
54
+ std::move(resp.ctx.path) });
55
+ }
56
+
57
+ couchbase::management::search::index
58
+ map_search_index(const couchbase::core::management::search::index& index)
59
+ {
60
+ couchbase::management::search::index public_index{};
61
+ public_index.uuid = index.uuid;
62
+ public_index.name = index.name;
63
+ public_index.type = index.type;
64
+ public_index.params_json = index.params_json;
65
+
66
+ public_index.source_name = index.source_name;
67
+ public_index.source_type = index.source_type;
68
+ public_index.source_uuid = index.source_uuid;
69
+ public_index.source_params_json = index.source_params_json;
70
+
71
+ public_index.plan_params_json = index.plan_params_json;
72
+
73
+ return public_index;
74
+ }
75
+
76
+ std::vector<couchbase::management::search::index>
77
+ map_all_search_indexes(const std::vector<couchbase::core::management::search::index>& indexes)
78
+ {
79
+ std::vector<couchbase::management::search::index> search_indexes{};
80
+ for (const auto& index : indexes) {
81
+ auto converted_index = map_search_index(index);
82
+ search_indexes.emplace_back(converted_index);
83
+ }
84
+ return search_indexes;
85
+ }
86
+
87
+ couchbase::core::management::search::index
88
+ map_search_index(const couchbase::management::search::index& index)
89
+ {
90
+ couchbase::core::management::search::index search_index{};
91
+ search_index.name = index.name;
92
+ search_index.type = index.type;
93
+ search_index.source_type = index.source_type;
94
+
95
+ if (index.uuid.has_value()) {
96
+ search_index.uuid = index.uuid.value();
97
+ }
98
+ if (index.params_json.has_value()) {
99
+ search_index.params_json = index.params_json.value();
100
+ }
101
+ // Below marked as omitempty
102
+ if (!index.source_name.empty()) {
103
+ search_index.source_name = index.source_name;
104
+ }
105
+ if (index.source_uuid.has_value()) {
106
+ if (!index.source_uuid.value().empty()) {
107
+ search_index.source_uuid = index.source_uuid.value();
108
+ }
109
+ }
110
+ if (index.source_params_json.has_value()) {
111
+ if (index.source_params_json.value() != "{}" && !index.source_params_json.value().empty()) {
112
+ search_index.source_params_json = index.source_params_json.value();
113
+ }
114
+ }
115
+ if (index.plan_params_json.has_value()) {
116
+ if (index.plan_params_json.value() != "{}" && !index.plan_params_json->empty()) {
117
+ search_index.plan_params_json = index.plan_params_json.value();
118
+ }
119
+ }
120
+ return search_index;
121
+ }
122
+
123
+ std::vector<std::string>
124
+ convert_analysis(const std::string& analysis)
125
+ {
126
+ std::vector<std::string> result;
127
+
128
+ if (analysis.empty()) {
129
+ return result;
130
+ }
131
+
132
+ auto parsed = core::utils::json::parse(analysis);
133
+ auto analyses = parsed.get_array();
134
+ for (auto const& object : analyses) {
135
+ result.emplace_back(core::utils::json::generate(object));
136
+ }
137
+ return result;
138
+ }
139
+ } // namespace
140
+
141
+ class search_index_manager_impl
142
+ {
143
+ public:
144
+ explicit search_index_manager_impl(core::cluster core)
145
+ : core_{ std::move(core) }
146
+ {
147
+ }
148
+
149
+ explicit search_index_manager_impl(core::cluster core, std::string bucket_name, std::string scope_name)
150
+ : core_{ std::move(core) }
151
+ , bucket_name_{ std::move(bucket_name) }
152
+ , scope_name_{ std::move(scope_name) }
153
+ {
154
+ }
155
+
156
+ void get_index(std::string index_name,
157
+ const couchbase::get_search_index_options::built& options,
158
+ get_search_index_handler&& handler) const
159
+ {
160
+ core_.execute(
161
+ core::operations::management::search_index_get_request{ std::move(index_name), bucket_name_, scope_name_, {}, options.timeout },
162
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp), map_search_index(resp.index)); });
163
+ }
164
+
165
+ void get_all_indexes(const get_all_search_indexes_options::built& options, get_all_search_indexes_handler&& handler) const
166
+ {
167
+ core_.execute(
168
+ core::operations::management::search_index_get_all_request{ bucket_name_, scope_name_, {}, options.timeout },
169
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp), map_all_search_indexes(resp.indexes)); });
170
+ }
171
+
172
+ void upsert_index(const management::search::index& search_index,
173
+ const upsert_search_index_options::built& options,
174
+ upsert_search_index_handler&& handler) const
175
+ {
176
+ core_.execute(
177
+ core::operations::management::search_index_upsert_request{
178
+ map_search_index(search_index), bucket_name_, scope_name_, {}, options.timeout },
179
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
180
+ }
181
+
182
+ void drop_index(std::string index_name, const drop_search_index_options::built& options, drop_search_index_handler&& handler) const
183
+ {
184
+ core_.execute(
185
+ core::operations::management::search_index_drop_request{ std::move(index_name), bucket_name_, scope_name_, {}, options.timeout },
186
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
187
+ }
188
+
189
+ void get_indexed_documents_count(std::string index_name,
190
+ const get_indexed_search_index_options::built& options,
191
+ get_indexed_search_index_handler&& handler) const
192
+ {
193
+ core_.execute(
194
+ core::operations::management::search_index_get_documents_count_request{
195
+ std::move(index_name), bucket_name_, scope_name_, {}, options.timeout },
196
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp), resp.count); });
197
+ }
198
+
199
+ void pause_ingest(std::string index_name,
200
+ const pause_ingest_search_index_options::built& options,
201
+ pause_ingest_search_index_handler&& handler) const
202
+ {
203
+ core_.execute(
204
+ core::operations::management::search_index_control_ingest_request{
205
+ std::move(index_name), true, bucket_name_, scope_name_, {}, options.timeout },
206
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
207
+ }
208
+
209
+ void resume_ingest(std::string index_name,
210
+ const resume_ingest_search_index_options::built& options,
211
+ resume_ingest_search_index_handler&& handler) const
212
+ {
213
+ core_.execute(
214
+ core::operations::management::search_index_control_ingest_request{
215
+ std::move(index_name), false, bucket_name_, scope_name_, {}, options.timeout },
216
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
217
+ }
218
+
219
+ void allow_querying(std::string index_name,
220
+ const allow_querying_search_index_options::built& options,
221
+ allow_querying_search_index_handler&& handler) const
222
+ {
223
+ core_.execute(
224
+ core::operations::management::search_index_control_query_request{
225
+ std::move(index_name), true, bucket_name_, scope_name_, {}, options.timeout },
226
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
227
+ }
228
+
229
+ void disallow_querying(std::string index_name,
230
+ const disallow_querying_search_index_options::built& options,
231
+ disallow_querying_search_index_handler&& handler) const
232
+ {
233
+ core_.execute(
234
+ core::operations::management::search_index_control_query_request{
235
+ std::move(index_name), false, bucket_name_, scope_name_, {}, options.timeout },
236
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
237
+ }
238
+
239
+ void freeze_plan(std::string index_name,
240
+ const freeze_plan_search_index_options::built& options,
241
+ freeze_plan_search_index_handler&& handler) const
242
+ {
243
+ core_.execute(
244
+ core::operations::management::search_index_control_plan_freeze_request{
245
+ std::move(index_name), true, bucket_name_, scope_name_, {}, options.timeout },
246
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
247
+ }
248
+
249
+ void unfreeze_plan(std::string index_name,
250
+ const unfreeze_plan_search_index_options::built& options,
251
+ unfreeze_plan_search_index_handler&& handler) const
252
+ {
253
+ core_.execute(
254
+ core::operations::management::search_index_control_plan_freeze_request{
255
+ std::move(index_name), false, bucket_name_, scope_name_, {}, options.timeout },
256
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp)); });
257
+ }
258
+
259
+ void analyze_document(std::string index_name,
260
+ std::string document,
261
+ const analyze_document_options::built& options,
262
+ analyze_document_handler&& handler) const
263
+ {
264
+ core_.execute(
265
+ core::operations::management::search_index_analyze_document_request{
266
+ std::move(index_name), std::move(document), bucket_name_, scope_name_, {}, options.timeout },
267
+ [handler = std::move(handler)](auto resp) mutable { return handler(build_context(resp), convert_analysis(resp.analysis)); });
268
+ }
269
+
270
+ private:
271
+ core::cluster core_;
272
+ std::optional<std::string> bucket_name_{};
273
+ std::optional<std::string> scope_name_{};
274
+ };
275
+
276
+ search_index_manager::search_index_manager(core::cluster core)
277
+ : impl_(std::make_shared<search_index_manager_impl>(std::move(core)))
278
+ {
279
+ }
280
+
281
+ void
282
+ search_index_manager::get_index(std::string index_name,
283
+ const couchbase::get_search_index_options& options,
284
+ get_search_index_handler&& handler) const
285
+ {
286
+ return impl_->get_index(std::move(index_name), options.build(), std::move(handler));
287
+ }
288
+
289
+ auto
290
+ search_index_manager::get_index(std::string index_name, const couchbase::get_search_index_options& options) const
291
+ -> std::future<std::pair<manager_error_context, management::search::index>>
292
+ {
293
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, management::search::index>>>();
294
+ get_index(std::move(index_name), options, [barrier](auto ctx, auto result) mutable {
295
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
296
+ });
297
+ return barrier->get_future();
298
+ }
299
+
300
+ void
301
+ search_index_manager::get_all_indexes(const couchbase::get_all_search_indexes_options& options,
302
+ get_all_search_indexes_handler&& handler) const
303
+ {
304
+ return impl_->get_all_indexes(options.build(), std::move(handler));
305
+ }
306
+
307
+ auto
308
+ search_index_manager::get_all_indexes(const couchbase::get_all_search_indexes_options& options) const
309
+ -> std::future<std::pair<manager_error_context, std::vector<management::search::index>>>
310
+ {
311
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::vector<management::search::index>>>>();
312
+ get_all_indexes(options,
313
+ [barrier](auto ctx, auto result) mutable { barrier->set_value(std::make_pair(std::move(ctx), std::move(result))); });
314
+ return barrier->get_future();
315
+ }
316
+
317
+ void
318
+ search_index_manager::upsert_index(const management::search::index& search_index,
319
+ const couchbase::upsert_search_index_options& options,
320
+ couchbase::upsert_search_index_handler&& handler) const
321
+ {
322
+ return impl_->upsert_index(search_index, options.build(), std::move(handler));
323
+ }
324
+
325
+ auto
326
+ search_index_manager::upsert_index(const management::search::index& search_index,
327
+ const couchbase::upsert_search_index_options& options) const -> std::future<manager_error_context>
328
+ {
329
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
330
+ upsert_index(search_index, options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
331
+ return barrier->get_future();
332
+ }
333
+
334
+ void
335
+ search_index_manager::drop_index(std::string index_name,
336
+ const couchbase::drop_search_index_options& options,
337
+ couchbase::drop_search_index_handler&& handler) const
338
+ {
339
+ return impl_->drop_index(std::move(index_name), options.build(), std::move(handler));
340
+ }
341
+
342
+ auto
343
+ search_index_manager::drop_index(std::string index_name, const couchbase::drop_search_index_options& options) const
344
+ -> std::future<manager_error_context>
345
+ {
346
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
347
+ drop_index(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
348
+ return barrier->get_future();
349
+ }
350
+
351
+ void
352
+ search_index_manager::get_indexed_documents_count(std::string index_name,
353
+ const couchbase::get_indexed_search_index_options& options,
354
+ couchbase::get_indexed_search_index_handler&& handler) const
355
+ {
356
+ return impl_->get_indexed_documents_count(std::move(index_name), options.build(), std::move(handler));
357
+ }
358
+
359
+ auto
360
+ search_index_manager::get_indexed_documents_count(std::string index_name, const get_indexed_search_index_options& options) const
361
+ -> std::future<std::pair<manager_error_context, std::uint64_t>>
362
+ {
363
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::uint64_t>>>();
364
+ get_indexed_documents_count(std::move(index_name), options, [barrier](auto ctx, auto result) mutable {
365
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
366
+ });
367
+ return barrier->get_future();
368
+ }
369
+
370
+ void
371
+ search_index_manager::pause_ingest(std::string index_name,
372
+ const couchbase::pause_ingest_search_index_options& options,
373
+ couchbase::pause_ingest_search_index_handler&& handler) const
374
+ {
375
+ return impl_->pause_ingest(std::move(index_name), options.build(), std::move(handler));
376
+ }
377
+
378
+ auto
379
+ search_index_manager::pause_ingest(std::string index_name, const couchbase::pause_ingest_search_index_options& options) const
380
+ -> std::future<manager_error_context>
381
+ {
382
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
383
+ pause_ingest(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
384
+ return barrier->get_future();
385
+ }
386
+
387
+ void
388
+ search_index_manager::resume_ingest(std::string index_name,
389
+ const couchbase::resume_ingest_search_index_options& options,
390
+ couchbase::resume_ingest_search_index_handler&& handler) const
391
+ {
392
+ return impl_->resume_ingest(std::move(index_name), options.build(), std::move(handler));
393
+ }
394
+
395
+ auto
396
+ search_index_manager::resume_ingest(std::string index_name, const couchbase::resume_ingest_search_index_options& options) const
397
+ -> std::future<manager_error_context>
398
+ {
399
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
400
+ resume_ingest(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
401
+ return barrier->get_future();
402
+ }
403
+
404
+ void
405
+ search_index_manager::allow_querying(std::string index_name,
406
+ const couchbase::allow_querying_search_index_options& options,
407
+ couchbase::allow_querying_search_index_handler&& handler) const
408
+ {
409
+ return impl_->allow_querying(std::move(index_name), options.build(), std::move(handler));
410
+ }
411
+
412
+ auto
413
+ search_index_manager::allow_querying(std::string index_name, const couchbase::allow_querying_search_index_options& options) const
414
+ -> std::future<manager_error_context>
415
+ {
416
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
417
+ allow_querying(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
418
+ return barrier->get_future();
419
+ }
420
+
421
+ void
422
+ search_index_manager::disallow_querying(std::string index_name,
423
+ const couchbase::disallow_querying_search_index_options& options,
424
+ couchbase::disallow_querying_search_index_handler&& handler) const
425
+ {
426
+ return impl_->disallow_querying(std::move(index_name), options.build(), std::move(handler));
427
+ }
428
+
429
+ auto
430
+ search_index_manager::disallow_querying(std::string index_name, const couchbase::disallow_querying_search_index_options& options) const
431
+ -> std::future<manager_error_context>
432
+ {
433
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
434
+ disallow_querying(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
435
+ return barrier->get_future();
436
+ }
437
+
438
+ void
439
+ search_index_manager::freeze_plan(std::string index_name,
440
+ const couchbase::freeze_plan_search_index_options& options,
441
+ couchbase::freeze_plan_search_index_handler&& handler) const
442
+ {
443
+ return impl_->freeze_plan(std::move(index_name), options.build(), std::move(handler));
444
+ }
445
+
446
+ auto
447
+ search_index_manager::freeze_plan(std::string index_name, const couchbase::freeze_plan_search_index_options& options) const
448
+ -> std::future<manager_error_context>
449
+ {
450
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
451
+ freeze_plan(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
452
+ return barrier->get_future();
453
+ }
454
+
455
+ void
456
+ search_index_manager::unfreeze_plan(std::string index_name,
457
+ const couchbase::unfreeze_plan_search_index_options& options,
458
+ couchbase::unfreeze_plan_search_index_handler&& handler) const
459
+ {
460
+ return impl_->unfreeze_plan(std::move(index_name), options.build(), std::move(handler));
461
+ }
462
+
463
+ auto
464
+ search_index_manager::unfreeze_plan(std::string index_name, const couchbase::unfreeze_plan_search_index_options& options) const
465
+ -> std::future<manager_error_context>
466
+ {
467
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
468
+ unfreeze_plan(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
469
+ return barrier->get_future();
470
+ }
471
+
472
+ void
473
+ search_index_manager::analyze_document(std::string index_name,
474
+ std::string document,
475
+ const couchbase::analyze_document_options& options,
476
+ couchbase::analyze_document_handler&& handler) const
477
+ {
478
+ return impl_->analyze_document(std::move(index_name), std::move(document), options.build(), std::move(handler));
479
+ }
480
+
481
+ auto
482
+ search_index_manager::analyze_document(std::string index_name,
483
+ std::string document,
484
+ const couchbase::analyze_document_options& options) const
485
+ -> std::future<std::pair<manager_error_context, std::vector<std::string>>>
486
+ {
487
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::vector<std::string>>>>();
488
+ analyze_document(std::move(index_name), std::move(document), options, [barrier](auto ctx, auto result) mutable {
489
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
490
+ });
491
+ return barrier->get_future();
492
+ }
493
+
494
+ scope_search_index_manager::scope_search_index_manager(core::cluster core, std::string bucket_name, std::string scope_name)
495
+ : impl_(std::make_shared<search_index_manager_impl>(std::move(core), std::move(bucket_name), std::move(scope_name)))
496
+ {
497
+ }
498
+
499
+ void
500
+ scope_search_index_manager::get_index(std::string index_name,
501
+ const couchbase::get_search_index_options& options,
502
+ couchbase::get_search_index_handler&& handler) const
503
+ {
504
+ return impl_->get_index(std::move(index_name), options.build(), std::move(handler));
505
+ }
506
+
507
+ auto
508
+ scope_search_index_manager::get_index(std::string index_name, const couchbase::get_search_index_options& options) const
509
+ -> std::future<std::pair<manager_error_context, management::search::index>>
510
+ {
511
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, management::search::index>>>();
512
+ get_index(std::move(index_name), options, [barrier](auto ctx, auto result) mutable {
513
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
514
+ });
515
+ return barrier->get_future();
516
+ }
517
+
518
+ void
519
+ scope_search_index_manager::get_all_indexes(const couchbase::get_all_search_indexes_options& options,
520
+ get_all_search_indexes_handler&& handler) const
521
+ {
522
+ return impl_->get_all_indexes(options.build(), std::move(handler));
523
+ }
524
+
525
+ auto
526
+ scope_search_index_manager::get_all_indexes(const couchbase::get_all_search_indexes_options& options) const
527
+ -> std::future<std::pair<manager_error_context, std::vector<management::search::index>>>
528
+ {
529
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::vector<management::search::index>>>>();
530
+ get_all_indexes(options,
531
+ [barrier](auto ctx, auto result) mutable { barrier->set_value(std::make_pair(std::move(ctx), std::move(result))); });
532
+ return barrier->get_future();
533
+ }
534
+
535
+ void
536
+ scope_search_index_manager::upsert_index(const management::search::index& search_index,
537
+ const couchbase::upsert_search_index_options& options,
538
+ couchbase::upsert_search_index_handler&& handler) const
539
+ {
540
+ return impl_->upsert_index(search_index, options.build(), std::move(handler));
541
+ }
542
+
543
+ auto
544
+ scope_search_index_manager::upsert_index(const management::search::index& search_index,
545
+ const couchbase::upsert_search_index_options& options) const -> std::future<manager_error_context>
546
+ {
547
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
548
+ upsert_index(search_index, options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
549
+ return barrier->get_future();
550
+ }
551
+
552
+ void
553
+ scope_search_index_manager::drop_index(std::string index_name,
554
+ const couchbase::drop_search_index_options& options,
555
+ couchbase::drop_search_index_handler&& handler) const
556
+ {
557
+ return impl_->drop_index(std::move(index_name), options.build(), std::move(handler));
558
+ }
559
+
560
+ auto
561
+ scope_search_index_manager::drop_index(std::string index_name, const couchbase::drop_search_index_options& options) const
562
+ -> std::future<manager_error_context>
563
+ {
564
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
565
+ drop_index(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
566
+ return barrier->get_future();
567
+ }
568
+
569
+ void
570
+ scope_search_index_manager::get_indexed_documents_count(std::string index_name,
571
+ const couchbase::get_indexed_search_index_options& options,
572
+ couchbase::get_indexed_search_index_handler&& handler) const
573
+ {
574
+ return impl_->get_indexed_documents_count(std::move(index_name), options.build(), std::move(handler));
575
+ }
576
+
577
+ auto
578
+ scope_search_index_manager::get_indexed_documents_count(std::string index_name, const get_indexed_search_index_options& options) const
579
+ -> std::future<std::pair<manager_error_context, std::uint64_t>>
580
+ {
581
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::uint64_t>>>();
582
+ get_indexed_documents_count(std::move(index_name), options, [barrier](auto ctx, auto result) mutable {
583
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
584
+ });
585
+ return barrier->get_future();
586
+ }
587
+
588
+ void
589
+ scope_search_index_manager::pause_ingest(std::string index_name,
590
+ const couchbase::pause_ingest_search_index_options& options,
591
+ couchbase::pause_ingest_search_index_handler&& handler) const
592
+ {
593
+ return impl_->pause_ingest(std::move(index_name), options.build(), std::move(handler));
594
+ }
595
+
596
+ auto
597
+ scope_search_index_manager::pause_ingest(std::string index_name, const couchbase::pause_ingest_search_index_options& options) const
598
+ -> std::future<manager_error_context>
599
+ {
600
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
601
+ pause_ingest(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
602
+ return barrier->get_future();
603
+ }
604
+
605
+ void
606
+ scope_search_index_manager::resume_ingest(std::string index_name,
607
+ const couchbase::resume_ingest_search_index_options& options,
608
+ couchbase::resume_ingest_search_index_handler&& handler) const
609
+ {
610
+ return impl_->resume_ingest(std::move(index_name), options.build(), std::move(handler));
611
+ }
612
+
613
+ auto
614
+ scope_search_index_manager::resume_ingest(std::string index_name, const couchbase::resume_ingest_search_index_options& options) const
615
+ -> std::future<manager_error_context>
616
+ {
617
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
618
+ resume_ingest(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
619
+ return barrier->get_future();
620
+ }
621
+
622
+ void
623
+ scope_search_index_manager::allow_querying(std::string index_name,
624
+ const couchbase::allow_querying_search_index_options& options,
625
+ couchbase::allow_querying_search_index_handler&& handler) const
626
+ {
627
+ return impl_->allow_querying(std::move(index_name), options.build(), std::move(handler));
628
+ }
629
+
630
+ auto
631
+ scope_search_index_manager::allow_querying(std::string index_name, const couchbase::allow_querying_search_index_options& options) const
632
+ -> std::future<manager_error_context>
633
+ {
634
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
635
+ allow_querying(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
636
+ return barrier->get_future();
637
+ }
638
+
639
+ void
640
+ scope_search_index_manager::disallow_querying(std::string index_name,
641
+ const couchbase::disallow_querying_search_index_options& options,
642
+ couchbase::disallow_querying_search_index_handler&& handler) const
643
+ {
644
+ return impl_->disallow_querying(std::move(index_name), options.build(), std::move(handler));
645
+ }
646
+
647
+ auto
648
+ scope_search_index_manager::disallow_querying(std::string index_name,
649
+ const couchbase::disallow_querying_search_index_options& options) const
650
+ -> std::future<manager_error_context>
651
+ {
652
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
653
+ disallow_querying(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
654
+ return barrier->get_future();
655
+ }
656
+
657
+ void
658
+ scope_search_index_manager::freeze_plan(std::string index_name,
659
+ const couchbase::freeze_plan_search_index_options& options,
660
+ couchbase::freeze_plan_search_index_handler&& handler) const
661
+ {
662
+ return impl_->freeze_plan(std::move(index_name), options.build(), std::move(handler));
663
+ }
664
+
665
+ auto
666
+ scope_search_index_manager::freeze_plan(std::string index_name, const couchbase::freeze_plan_search_index_options& options) const
667
+ -> std::future<manager_error_context>
668
+ {
669
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
670
+ freeze_plan(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
671
+ return barrier->get_future();
672
+ }
673
+
674
+ void
675
+ scope_search_index_manager::unfreeze_plan(std::string index_name,
676
+ const couchbase::unfreeze_plan_search_index_options& options,
677
+ couchbase::unfreeze_plan_search_index_handler&& handler) const
678
+ {
679
+ return impl_->unfreeze_plan(std::move(index_name), options.build(), std::move(handler));
680
+ }
681
+
682
+ auto
683
+ scope_search_index_manager::unfreeze_plan(std::string index_name, const couchbase::unfreeze_plan_search_index_options& options) const
684
+ -> std::future<manager_error_context>
685
+ {
686
+ auto barrier = std::make_shared<std::promise<manager_error_context>>();
687
+ unfreeze_plan(std::move(index_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
688
+ return barrier->get_future();
689
+ }
690
+
691
+ void
692
+ scope_search_index_manager::analyze_document(std::string index_name,
693
+ std::string document,
694
+ const couchbase::analyze_document_options& options,
695
+ couchbase::analyze_document_handler&& handler) const
696
+ {
697
+ return impl_->analyze_document(std::move(index_name), std::move(document), options.build(), std::move(handler));
698
+ }
699
+
700
+ auto
701
+ scope_search_index_manager::analyze_document(std::string index_name,
702
+ std::string document,
703
+ const couchbase::analyze_document_options& options) const
704
+ -> std::future<std::pair<manager_error_context, std::vector<std::string>>>
705
+ {
706
+ auto barrier = std::make_shared<std::promise<std::pair<manager_error_context, std::vector<std::string>>>>();
707
+ analyze_document(std::move(index_name), std::move(document), options, [barrier](auto ctx, auto result) mutable {
708
+ barrier->set_value(std::make_pair(std::move(ctx), std::move(result)));
709
+ });
710
+ return barrier->get_future();
711
+ }
712
+ } // namespace couchbase