couchbase 4.2.8-dev.1 → 4.2.9

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 (317) 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 +397 -424
  5. package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
  6. package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
  7. package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
  8. package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
  9. package/deps/couchbase-cxx-client/core/bucket.cxx +22 -8
  10. package/deps/couchbase-cxx-client/core/bucket.hxx +3 -1
  11. package/deps/couchbase-cxx-client/core/cluster.cxx +1453 -108
  12. package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
  13. package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
  14. package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
  15. package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
  16. package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
  17. package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
  18. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
  19. package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
  20. package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
  21. package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
  22. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
  23. package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
  24. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
  25. package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
  26. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +78 -0
  27. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
  28. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +226 -44
  29. package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
  30. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
  31. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
  32. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
  33. package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
  34. package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
  35. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
  36. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
  37. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
  38. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
  39. package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
  40. package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
  41. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
  42. package/deps/couchbase-cxx-client/core/impl/scope.cxx +172 -0
  43. package/deps/couchbase-cxx-client/core/impl/search.cxx +12 -61
  44. package/deps/couchbase-cxx-client/core/impl/search.hxx +37 -0
  45. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +469 -0
  46. package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
  47. package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
  48. package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
  49. package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
  50. package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
  51. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
  52. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
  53. package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
  54. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +51 -21
  55. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +2 -1
  56. package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
  57. package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
  58. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
  59. package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
  60. package/deps/couchbase-cxx-client/core/meta/features.hxx +28 -0
  61. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +17 -1
  62. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
  63. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
  64. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
  65. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
  66. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
  67. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
  68. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
  69. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
  70. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
  71. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
  72. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
  73. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
  74. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
  75. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
  79. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +6 -5
  83. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
  85. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
  90. package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
  91. package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
  92. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
  93. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
  94. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
  95. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
  96. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
  97. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
  98. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
  99. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
  102. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
  103. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +2 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +2 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +2 -0
  106. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +2 -0
  107. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +2 -0
  108. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +2 -0
  109. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +1 -1
  110. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +2 -0
  111. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
  115. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
  116. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
  117. package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
  118. package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
  119. package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
  120. package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
  121. package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
  122. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
  123. package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
  124. package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
  125. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
  126. package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
  127. package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
  128. package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
  129. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
  130. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
  131. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
  132. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
  133. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
  134. package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
  135. package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
  136. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
  137. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
  138. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
  139. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
  140. package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
  141. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
  142. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
  143. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
  144. package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
  145. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
  146. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
  147. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
  148. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
  149. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
  150. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
  151. package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +1 -13
  152. package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
  153. package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
  154. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
  155. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
  156. package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
  157. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
  158. package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
  159. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
  160. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
  161. package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
  162. package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
  163. package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
  164. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
  165. package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
  166. package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
  167. package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
  168. package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
  169. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
  170. package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
  171. package/deps/couchbase-cxx-client/couchbase/bucket.hxx +13 -30
  172. package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
  173. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
  174. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +41 -73
  175. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
  176. package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
  177. package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
  178. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
  179. package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
  180. package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
  181. package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +3 -2
  182. package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
  183. package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
  184. package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
  185. package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
  186. package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
  187. package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
  188. package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
  189. package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
  190. package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
  191. package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
  192. package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
  193. package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
  194. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
  195. package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
  196. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
  197. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
  198. package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
  199. package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
  200. package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
  201. package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
  202. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
  203. package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
  204. package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
  205. package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
  206. package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
  207. package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
  208. package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
  209. package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
  210. package/deps/couchbase-cxx-client/couchbase/get_options.hxx +0 -23
  211. package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
  212. package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
  213. package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
  214. package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
  215. package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
  216. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
  217. package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
  218. package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
  219. package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
  220. package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
  221. package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
  222. package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
  223. package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
  224. package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
  225. package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
  226. package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
  227. package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
  228. package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
  229. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
  230. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
  231. package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
  232. package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
  233. package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
  234. package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
  235. package/deps/couchbase-cxx-client/couchbase/scope.hxx +13 -45
  236. package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
  237. package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
  238. package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
  239. package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
  240. package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
  241. package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
  242. package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
  243. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
  244. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
  245. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
  246. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
  247. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
  248. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
  249. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
  250. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
  251. package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
  252. package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
  253. package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
  254. package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
  255. package/dist/binding.d.ts +7 -9
  256. package/dist/bindingutilities.js +2 -0
  257. package/dist/collection.js +3 -3
  258. package/dist/errors.d.ts +9 -0
  259. package/dist/errors.js +14 -2
  260. package/dist/transactions.d.ts +2 -0
  261. package/dist/transactions.js +2 -3
  262. package/dist/usermanager.js +1 -1
  263. package/package.json +7 -7
  264. package/src/binding.cpp +1 -0
  265. package/src/connection.cpp +12 -9
  266. package/src/connection.hpp +3 -3
  267. package/src/connection_autogen.cpp +7 -5
  268. package/src/constants.cpp +3 -0
  269. package/src/instance.cpp +2 -2
  270. package/src/instance.hpp +1 -1
  271. package/src/jstocbpp_autogen.hpp +21 -38
  272. package/src/jstocbpp_basic.hpp +2 -0
  273. package/src/jstocbpp_errors.hpp +1 -0
  274. package/src/jstocbpp_transactions.hpp +6 -22
  275. package/src/mutationtoken.hpp +1 -0
  276. package/tools/gen-bindings-json.py +39 -16
  277. package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/CMakeLists.txt +0 -23
  278. package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/example.cpp +0 -398
  279. package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
  280. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
  281. package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
  282. package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
  283. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
  284. package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
  285. package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
  286. package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
  287. package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
  288. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
  289. package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
  290. package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
  291. package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
  292. package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
  293. package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
  294. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
  295. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
  296. package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
  297. package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
  298. package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
  299. package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
  300. package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
  301. package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
  302. package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
  303. package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
  304. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
  305. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
  306. package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
  307. package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
  308. package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
  309. package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
  310. package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
  311. package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
  312. package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
  313. package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
  314. package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
  315. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
  316. package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
  317. /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
@@ -25,17 +25,17 @@
25
25
  #include <future>
26
26
  #include <memory>
27
27
 
28
+ namespace couchbase
29
+ {
30
+ class collection;
28
31
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
29
- namespace couchbase::core
32
+ namespace core
30
33
  {
31
34
  class cluster;
32
- } // namespace couchbase::core
35
+ } // namespace core
36
+ class binary_collection_impl;
33
37
  #endif
34
38
 
35
- namespace couchbase
36
- {
37
- class collection;
38
-
39
39
  /**
40
40
  * Allows to perform certain operations on non-JSON documents.
41
41
  *
@@ -53,10 +53,7 @@ class binary_collection
53
53
  * @since 1.0.0
54
54
  * @committed
55
55
  */
56
- [[nodiscard]] auto bucket_name() const noexcept -> const std::string&
57
- {
58
- return bucket_name_;
59
- }
56
+ [[nodiscard]] auto bucket_name() const -> const std::string&;
60
57
 
61
58
  /**
62
59
  * Returns name of the scope where the collection is defined.
@@ -66,10 +63,7 @@ class binary_collection
66
63
  * @since 1.0.0
67
64
  * @committed
68
65
  */
69
- [[nodiscard]] auto scope_name() const noexcept -> const std::string&
70
- {
71
- return scope_name_;
72
- }
66
+ [[nodiscard]] auto scope_name() const -> const std::string&;
73
67
 
74
68
  /**
75
69
  * Returns name of the collection.
@@ -79,16 +73,11 @@ class binary_collection
79
73
  * @since 1.0.0
80
74
  * @committed
81
75
  */
82
- [[nodiscard]] auto name() const noexcept -> const std::string&
83
- {
84
- return name_;
85
- }
76
+ [[nodiscard]] auto name() const -> const std::string&;
86
77
 
87
78
  /**
88
79
  * Appends binary content to the document.
89
80
  *
90
- * @tparam Handler type of the handler that implements @ref append_handler
91
- *
92
81
  * @param document_id the document id which is used to uniquely identify it.
93
82
  * @param data the document content to append.
94
83
  * @param options custom options to customize the append behavior.
@@ -102,18 +91,7 @@ class binary_collection
102
91
  * @since 1.0.0
103
92
  * @committed
104
93
  */
105
- template<typename Handler>
106
- void append(std::string document_id, std::vector<std::byte> data, const append_options& options, Handler&& handler) const
107
- {
108
- return core::impl::initiate_append_operation(core_,
109
- bucket_name_,
110
- scope_name_,
111
- name_,
112
- std::move(document_id),
113
- std::move(data),
114
- options.build(),
115
- std::forward<Handler>(handler));
116
- }
94
+ void append(std::string document_id, std::vector<std::byte> data, const append_options& options, append_handler&& handler) const;
117
95
 
118
96
  /**
119
97
  * Appends binary content to the document.
@@ -132,15 +110,7 @@ class binary_collection
132
110
  * @committed
133
111
  */
134
112
  [[nodiscard]] auto append(std::string document_id, std::vector<std::byte> data, const append_options& options) const
135
- -> std::future<std::pair<key_value_error_context, mutation_result>>
136
- {
137
- auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, mutation_result>>>();
138
- auto future = barrier->get_future();
139
- append(std::move(document_id), std::move(data), options, [barrier](auto ctx, auto result) {
140
- barrier->set_value({ std::move(ctx), std::move(result) });
141
- });
142
- return future;
143
- }
113
+ -> std::future<std::pair<key_value_error_context, mutation_result>>;
144
114
 
145
115
  /**
146
116
  * Prepends binary content to the document.
@@ -160,18 +130,7 @@ class binary_collection
160
130
  * @since 1.0.0
161
131
  * @committed
162
132
  */
163
- template<typename Handler>
164
- void prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options, Handler&& handler) const
165
- {
166
- return core::impl::initiate_prepend_operation(core_,
167
- bucket_name_,
168
- scope_name_,
169
- name_,
170
- std::move(document_id),
171
- std::move(data),
172
- options.build(),
173
- std::forward<Handler>(handler));
174
- }
133
+ void prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options, prepend_handler&& handler) const;
175
134
 
176
135
  /**
177
136
  * Prepends binary content to the document.
@@ -190,15 +149,7 @@ class binary_collection
190
149
  * @committed
191
150
  */
192
151
  [[nodiscard]] auto prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options) const
193
- -> std::future<std::pair<key_value_error_context, mutation_result>>
194
- {
195
- auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, mutation_result>>>();
196
- auto future = barrier->get_future();
197
- prepend(std::move(document_id), std::move(data), options, [barrier](auto ctx, auto result) {
198
- barrier->set_value({ std::move(ctx), std::move(result) });
199
- });
200
- return future;
201
- }
152
+ -> std::future<std::pair<key_value_error_context, mutation_result>>;
202
153
 
203
154
  /**
204
155
  * Increments the counter document by one or the number defined in the options.
@@ -216,12 +167,7 @@ class binary_collection
216
167
  * @since 1.0.0
217
168
  * @committed
218
169
  */
219
- template<typename Handler>
220
- void increment(std::string document_id, const increment_options& options, Handler&& handler) const
221
- {
222
- return core::impl::initiate_increment_operation(
223
- core_, bucket_name_, scope_name_, name_, std::move(document_id), options.build(), std::forward<Handler>(handler));
224
- }
170
+ void increment(std::string document_id, const increment_options& options, increment_handler&& handler) const;
225
171
 
226
172
  /**
227
173
  * Increments the counter document by one or the number defined in the options.
@@ -238,15 +184,7 @@ class binary_collection
238
184
  * @committed
239
185
  */
240
186
  [[nodiscard]] auto increment(std::string document_id, const increment_options& options) const
241
- -> std::future<std::pair<key_value_error_context, counter_result>>
242
- {
243
- auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, counter_result>>>();
244
- auto future = barrier->get_future();
245
- increment(std::move(document_id), options, [barrier](auto ctx, auto result) {
246
- barrier->set_value({ std::move(ctx), std::move(result) });
247
- });
248
- return future;
249
- }
187
+ -> std::future<std::pair<key_value_error_context, counter_result>>;
250
188
 
251
189
  /**
252
190
  * Decrements the counter document by one or the number defined in the options.
@@ -264,12 +202,7 @@ class binary_collection
264
202
  * @since 1.0.0
265
203
  * @committed
266
204
  */
267
- template<typename Handler>
268
- void decrement(std::string document_id, const decrement_options& options, Handler&& handler) const
269
- {
270
- return core::impl::initiate_decrement_operation(
271
- core_, bucket_name_, scope_name_, name_, std::move(document_id), options.build(), std::forward<Handler>(handler));
272
- }
205
+ void decrement(std::string document_id, const decrement_options& options, decrement_handler&& handler) const;
273
206
 
274
207
  /**
275
208
  * Decrements the counter document by one or the number defined in the options.
@@ -286,42 +219,13 @@ class binary_collection
286
219
  * @committed
287
220
  */
288
221
  [[nodiscard]] auto decrement(std::string document_id, const decrement_options& options) const
289
- -> std::future<std::pair<key_value_error_context, counter_result>>
290
- {
291
- auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, counter_result>>>();
292
- auto future = barrier->get_future();
293
- decrement(std::move(document_id), options, [barrier](auto ctx, auto result) {
294
- barrier->set_value({ std::move(ctx), std::move(result) });
295
- });
296
- return future;
297
- }
222
+ -> std::future<std::pair<key_value_error_context, counter_result>>;
298
223
 
299
224
  private:
300
225
  friend class collection;
301
226
 
302
- /**
303
- * @param core
304
- * @param bucket_name
305
- * @param scope_name
306
- * @param name
307
- *
308
- * @since 1.0.0
309
- * @internal
310
- */
311
- binary_collection(std::shared_ptr<couchbase::core::cluster> core,
312
- std::string_view bucket_name,
313
- std::string_view scope_name,
314
- std::string_view name)
315
- : core_(std::move(core))
316
- , bucket_name_(bucket_name)
317
- , scope_name_(scope_name)
318
- , name_(name)
319
- {
320
- }
227
+ binary_collection(core::cluster core, std::string_view bucket_name, std::string_view scope_name, std::string_view name);
321
228
 
322
- std::shared_ptr<couchbase::core::cluster> core_;
323
- std::string bucket_name_;
324
- std::string scope_name_;
325
- std::string name_;
229
+ std::shared_ptr<binary_collection_impl> impl_;
326
230
  };
327
231
  } // namespace couchbase
@@ -23,16 +23,16 @@
23
23
 
24
24
  #include <memory>
25
25
 
26
+ namespace couchbase
27
+ {
26
28
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
27
- namespace couchbase::core
29
+ namespace core
28
30
  {
29
31
  class cluster;
30
- } // namespace couchbase::core
31
- #endif
32
-
33
- namespace couchbase
34
- {
32
+ } // namespace core
35
33
  class cluster;
34
+ class bucket_impl;
35
+ #endif
36
36
 
37
37
  /**
38
38
  * Provides access to Couchbase bucket
@@ -51,10 +51,7 @@ class bucket
51
51
  * @since 1.0.0
52
52
  * @committed
53
53
  */
54
- [[nodiscard]] auto default_scope() const -> scope
55
- {
56
- return { core_, name_, scope::default_name };
57
- }
54
+ [[nodiscard]] auto default_scope() const -> scope;
58
55
 
59
56
  /**
60
57
  * Opens the default collection for this bucket using the default scope.
@@ -64,10 +61,7 @@ class bucket
64
61
  * @since 1.0.0
65
62
  * @committed
66
63
  */
67
- [[nodiscard]] auto default_collection() const -> collection
68
- {
69
- return { core_, name_, scope::default_name, collection::default_name };
70
- }
64
+ [[nodiscard]] auto default_collection() const -> collection;
71
65
 
72
66
  /**
73
67
  * Opens the {@link scope} with the given name.
@@ -78,10 +72,7 @@ class bucket
78
72
  * @since 1.0.0
79
73
  * @committed
80
74
  */
81
- [[nodiscard]] auto scope(std::string_view scope_name) const -> scope
82
- {
83
- return { core_, name_, scope_name };
84
- }
75
+ [[nodiscard]] auto scope(std::string_view scope_name) const -> scope;
85
76
 
86
77
  /**
87
78
  * Provides access to the collection management services.
@@ -91,21 +82,13 @@ class bucket
91
82
  * @since 1.0.0
92
83
  * @committed
93
84
  */
94
- [[nodiscard]] auto collections() const -> collection_manager
95
- {
96
- return collection_manager{ core_, name_ };
97
- }
85
+ [[nodiscard]] auto collections() const -> collection_manager;
98
86
 
99
87
  private:
100
- friend class cluster;
88
+ friend cluster;
101
89
 
102
- bucket(std::shared_ptr<couchbase::core::cluster> core, std::string_view name)
103
- : core_(std::move(core))
104
- , name_(name)
105
- {
106
- }
90
+ bucket(core::cluster core, std::string_view name);
107
91
 
108
- std::shared_ptr<couchbase::core::cluster> core_;
109
- std::string name_;
92
+ std::shared_ptr<bucket_impl> impl_;
110
93
  };
111
94
  } // namespace couchbase
@@ -28,10 +28,14 @@
28
28
  #include <memory>
29
29
 
30
30
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
31
- namespace couchbase::core
31
+ namespace couchbase
32
+ {
33
+ namespace core
32
34
  {
33
35
  class cluster;
34
- } // namespace couchbase::core
36
+ } // namespace core
37
+ class bucket_manager_impl;
38
+ } // namespace couchbase
35
39
  #endif
36
40
 
37
41
  namespace couchbase
@@ -125,11 +129,8 @@ class bucket_manager
125
129
  private:
126
130
  friend class cluster;
127
131
 
128
- explicit bucket_manager(std::shared_ptr<couchbase::core::cluster> core)
129
- : core_(std::move(core))
130
- {
131
- }
132
+ explicit bucket_manager(core::cluster core);
132
133
 
133
- std::shared_ptr<couchbase::core::cluster> core_;
134
+ std::shared_ptr<bucket_manager_impl> impl_;
134
135
  };
135
136
  } // namespace couchbase
@@ -22,7 +22,6 @@
22
22
  #include <couchbase/manager_error_context.hxx>
23
23
 
24
24
  #include <functional>
25
- #include <memory>
26
25
  #include <optional>
27
26
  #include <string>
28
27
 
@@ -17,32 +17,30 @@
17
17
 
18
18
  #pragma once
19
19
 
20
+ #include <couchbase/analytics_index_manager.hxx>
20
21
  #include <couchbase/analytics_options.hxx>
21
22
  #include <couchbase/bucket.hxx>
22
23
  #include <couchbase/bucket_manager.hxx>
23
24
  #include <couchbase/cluster_options.hxx>
24
25
  #include <couchbase/query_index_manager.hxx>
25
26
  #include <couchbase/query_options.hxx>
27
+ #include <couchbase/search_index_manager.hxx>
26
28
  #include <couchbase/search_options.hxx>
27
29
  #include <couchbase/search_query.hxx>
28
30
  #include <couchbase/transactions.hxx>
29
31
 
30
32
  #include <memory>
31
33
 
32
- #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
33
- namespace couchbase::core
34
+ namespace couchbase
34
35
  {
35
- namespace transactions
36
+ #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
37
+ namespace core
36
38
  {
37
- class transactions;
38
- } // namespace transactions
39
-
40
39
  class cluster;
41
- } // namespace couchbase::core
40
+ } // namespace core
41
+ class cluster_impl;
42
42
  #endif
43
43
 
44
- namespace couchbase
45
- {
46
44
  /**
47
45
  * The {@link cluster} is the main entry point when connecting to a Couchbase cluster.
48
46
  *
@@ -55,21 +53,18 @@ class cluster
55
53
  /**
56
54
  * Connect to a Couchbase cluster.
57
55
  *
58
- * @tparam Handler callable type that implements @ref cluster_connect_handler signature
59
- *
60
56
  * @param io IO context
61
57
  * @param connection_string connection string used to locate the Couchbase cluster object.
62
58
  * @param options options to customize connection (note, that connection_string takes precedence over this options).
63
- * @param handler the handler that implements @ref cluster_connect_handler
59
+ * @param handler the handler
64
60
  *
65
61
  * @since 1.0.0
66
62
  * @committed
67
63
  */
68
- template<typename Handler>
69
- static void connect(asio::io_context& io, const std::string& connection_string, const cluster_options& options, Handler&& handler)
70
- {
71
- return core::impl::initiate_cluster_connect(io, connection_string, options, std::forward<Handler>(handler));
72
- }
64
+ static void connect(asio::io_context& io,
65
+ const std::string& connection_string,
66
+ const cluster_options& options,
67
+ cluster_connect_handler&& handler);
73
68
 
74
69
  /**
75
70
  * Connect to a Couchbase cluster.
@@ -84,13 +79,7 @@ class cluster
84
79
  * @committed
85
80
  */
86
81
  [[nodiscard]] static auto connect(asio::io_context& io, const std::string& connection_string, const cluster_options& options)
87
- -> std::future<std::pair<cluster, std::error_code>>
88
- {
89
- auto barrier = std::make_shared<std::promise<std::pair<cluster, std::error_code>>>();
90
- auto future = barrier->get_future();
91
- connect(io, connection_string, options, [barrier](auto c, auto ec) { barrier->set_value({ std::move(c), ec }); });
92
- return future;
93
- }
82
+ -> std::future<std::pair<cluster, std::error_code>>;
94
83
 
95
84
  cluster() = default;
96
85
  cluster(const cluster& other) = default;
@@ -98,7 +87,7 @@ class cluster
98
87
  auto operator=(const cluster& other) -> cluster& = default;
99
88
  auto operator=(cluster&& other) -> cluster& = default;
100
89
 
101
- void close();
90
+ void close() const;
102
91
 
103
92
  /**
104
93
  * Wraps low-level implementation of the SDK to provide common API.
@@ -108,10 +97,7 @@ class cluster
108
97
  * @since 1.0.0
109
98
  * @volatile
110
99
  */
111
- explicit cluster(std::shared_ptr<couchbase::core::cluster> core)
112
- : core_(std::move(core))
113
- {
114
- }
100
+ explicit cluster(core::cluster core);
115
101
 
116
102
  /**
117
103
  * Opens a {@link bucket} with the given name.
@@ -122,16 +108,11 @@ class cluster
122
108
  * @since 1.0.0
123
109
  * @committed
124
110
  */
125
- [[nodiscard]] auto bucket(std::string_view bucket_name) const -> bucket
126
- {
127
- return { core_, bucket_name };
128
- }
111
+ [[nodiscard]] auto bucket(std::string_view bucket_name) const -> bucket;
129
112
 
130
113
  /**
131
114
  * Performs a query against the query (N1QL) services.
132
115
  *
133
- * @tparam Handler callable type that implements @ref query_handler signature
134
- *
135
116
  * @param statement the N1QL query statement.
136
117
  * @param options options to customize the query request.
137
118
  * @param handler the handler that implements @ref query_handler
@@ -142,11 +123,7 @@ class cluster
142
123
  * @since 1.0.0
143
124
  * @committed
144
125
  */
145
- template<typename Handler>
146
- void query(std::string statement, const query_options& options, Handler&& handler) const
147
- {
148
- return core::impl::initiate_query_operation(core_, std::move(statement), {}, options.build(), std::forward<Handler>(handler));
149
- }
126
+ void query(std::string statement, const query_options& options, query_handler&& handler) const;
150
127
 
151
128
  /**
152
129
  * Performs a query against the query (N1QL) services.
@@ -159,15 +136,7 @@ class cluster
159
136
  * @committed
160
137
  */
161
138
  [[nodiscard]] auto query(std::string statement, const query_options& options) const
162
- -> std::future<std::pair<query_error_context, query_result>>
163
- {
164
- auto barrier = std::make_shared<std::promise<std::pair<query_error_context, query_result>>>();
165
- auto future = barrier->get_future();
166
- query(std::move(statement), options, [barrier](auto ctx, auto result) {
167
- barrier->set_value({ std::move(ctx), std::move(result) });
168
- });
169
- return future;
170
- }
139
+ -> std::future<std::pair<query_error_context, query_result>>;
171
140
 
172
141
  /**
173
142
  * Performs a query against the full text search services.
@@ -246,52 +215,51 @@ class cluster
246
215
  * @since 1.0.0
247
216
  * @committed
248
217
  */
249
- [[nodiscard]] auto query_indexes() const -> query_index_manager
250
- {
251
- return query_index_manager{ core_ };
252
- }
218
+ [[nodiscard]] auto query_indexes() const -> query_index_manager;
253
219
 
254
220
  /**
255
- * Provides access to the bucket management services.
221
+ * Provides access ot the Analytics index management services.
256
222
  *
257
223
  * @return a manager instance
258
224
  *
259
225
  * @since 1.0.0
260
226
  * @committed
261
227
  */
262
- [[nodiscard]] auto buckets() const -> bucket_manager
263
- {
264
- return bucket_manager{ core_ };
265
- }
228
+ [[nodiscard]] auto analytics_indexes() const -> analytics_index_manager;
266
229
 
267
230
  /**
268
- * Provides access to transaction services.
269
- *
270
- * See {@link transactions} for details on using the transactions object.
231
+ * Provides access to the bucket management services.
271
232
  *
272
- * @return an {@link transactions} object
233
+ * @return a manager instance
273
234
  *
274
235
  * @since 1.0.0
275
236
  * @committed
276
237
  */
238
+ [[nodiscard]] auto buckets() const -> bucket_manager;
277
239
 
278
- [[nodiscard]] auto transactions() -> std::shared_ptr<couchbase::transactions::transactions>;
240
+ /**
241
+ * Provides access to search index management services
242
+ *
243
+ * @return a manager instance
244
+ *
245
+ * @since 1.0.0
246
+ * @committed
247
+ */
248
+ [[nodiscard]] auto search_indexes() const -> search_index_manager;
279
249
 
280
250
  /**
281
- * Provide access to core cluster object
251
+ * Provides access to transaction services.
282
252
  *
283
- * This is used internally, during testing, and may be removed as the API evolves.
253
+ * See {@link transactions} for details on using the transactions object.
284
254
  *
285
- * @return pointer to core cluster
286
- * @volatile
255
+ * @return an {@link transactions} object
256
+ *
257
+ * @since 1.0.0
258
+ * @committed
287
259
  */
288
- [[nodiscard]] auto core() -> std::shared_ptr<couchbase::core::cluster>
289
- {
290
- return core_;
291
- }
260
+ [[nodiscard]] auto transactions() const -> std::shared_ptr<couchbase::transactions::transactions>;
292
261
 
293
262
  private:
294
- std::shared_ptr<couchbase::core::cluster> core_{};
295
- std::shared_ptr<couchbase::core::transactions::transactions> transactions_{};
263
+ std::shared_ptr<cluster_impl> impl_{};
296
264
  };
297
265
  } // namespace couchbase
@@ -25,6 +25,7 @@
25
25
  #include <couchbase/metrics_options.hxx>
26
26
  #include <couchbase/network_options.hxx>
27
27
  #include <couchbase/password_authenticator.hxx>
28
+ #include <couchbase/retry_strategy.hxx>
28
29
  #include <couchbase/security_options.hxx>
29
30
  #include <couchbase/timeout_options.hxx>
30
31
  #include <couchbase/tracing_options.hxx>
@@ -312,31 +313,4 @@ class cluster;
312
313
  * @uncommitted
313
314
  */
314
315
  using cluster_connect_handler = std::function<void(cluster, std::error_code)>;
315
-
316
- #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
317
- namespace core
318
- {
319
- class cluster;
320
- }
321
-
322
- namespace core::impl
323
- {
324
-
325
- /**
326
- * @since 1.0.0
327
- * @internal
328
- */
329
- void
330
- initiate_cluster_connect(asio::io_context& io,
331
- const std::string& connection_string,
332
- const couchbase::cluster_options& options,
333
- cluster_connect_handler&& handler);
334
- /**
335
- * @since 1.0.0
336
- * @internal
337
- */
338
- void
339
- initiate_cluster_close(std::shared_ptr<couchbase::core::cluster> core);
340
- #endif
341
- } // namespace core::impl
342
316
  } // namespace couchbase