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
@@ -29,10 +29,14 @@
29
29
  #include <memory>
30
30
 
31
31
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
32
- namespace couchbase::core
32
+ namespace couchbase
33
+ {
34
+ namespace core
33
35
  {
34
36
  class cluster;
35
- } // namespace couchbase::core
37
+ } // namespace core
38
+ class collection_manager_impl;
39
+ } // namespace couchbase
36
40
  #endif
37
41
 
38
42
  namespace couchbase
@@ -148,13 +152,8 @@ class collection_manager
148
152
  private:
149
153
  friend class bucket;
150
154
 
151
- explicit collection_manager(std::shared_ptr<couchbase::core::cluster> core, std::string bucket_name)
152
- : core_(std::move(core))
153
- , bucket_name_(std::move(bucket_name))
154
- {
155
- }
155
+ collection_manager(core::cluster core, std::string_view bucket_name);
156
156
 
157
- std::shared_ptr<couchbase::core::cluster> core_;
158
- std::string bucket_name_;
157
+ std::shared_ptr<collection_manager_impl> impl_;
159
158
  };
160
159
  } // namespace couchbase
@@ -29,13 +29,14 @@
29
29
  #include <memory>
30
30
 
31
31
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
32
- namespace couchbase::core
32
+ namespace couchbase
33
+ {
34
+ namespace core
33
35
  {
34
36
  class cluster;
35
-
36
- class query_context;
37
-
38
- } // namespace couchbase::core
37
+ } // namespace core
38
+ class query_index_manager_impl;
39
+ } // namespace couchbase
39
40
  #endif
40
41
 
41
42
  namespace couchbase
@@ -64,7 +65,7 @@ class collection_query_index_manager
64
65
  void get_all_indexes(const get_all_query_indexes_options& options, get_all_query_indexes_handler&& handler) const;
65
66
 
66
67
  [[nodiscard]] auto get_all_indexes(const get_all_query_indexes_options& options) const
67
- -> std::future<std::pair<manager_error_context, std::vector<couchbase::management::query::index>>>;
68
+ -> std::future<std::pair<manager_error_context, std::vector<couchbase::management::query_index>>>;
68
69
  /**
69
70
  * Create an index on the collection.
70
71
  *
@@ -96,7 +97,8 @@ class collection_query_index_manager
96
97
  */
97
98
  void create_primary_index(const create_primary_query_index_options& options, create_query_index_handler&& handler) const;
98
99
 
99
- [[nodiscard]] auto create_primary_index(const create_primary_query_index_options& options) -> std::future<manager_error_context>;
100
+ [[nodiscard]] auto create_primary_index(const create_primary_query_index_options& options) const -> std::future<manager_error_context>;
101
+
100
102
  /**
101
103
  * Drop primary index on a collection.
102
104
  *
@@ -122,7 +124,8 @@ class collection_query_index_manager
122
124
  */
123
125
  void drop_index(std::string index_name, const drop_query_index_options& options, drop_query_index_handler&& handler) const;
124
126
 
125
- [[nodiscard]] auto drop_index(std::string index_name, const drop_query_index_options& options) -> std::future<manager_error_context>;
127
+ [[nodiscard]] auto drop_index(std::string index_name, const drop_query_index_options& options) const
128
+ -> std::future<manager_error_context>;
126
129
  /**
127
130
  * Builds all currently deferred indexes in this collection.
128
131
  *
@@ -152,26 +155,20 @@ class collection_query_index_manager
152
155
  const watch_query_indexes_options& options,
153
156
  watch_query_indexes_handler&& handler) const;
154
157
 
155
- [[nodiscard]] auto watch_indexes(std::vector<std::string> index_names, const watch_query_indexes_options& options)
158
+ [[nodiscard]] auto watch_indexes(std::vector<std::string> index_names, const watch_query_indexes_options& options) const
156
159
  -> std::future<manager_error_context>;
157
160
 
158
161
  private:
159
162
  friend class collection;
160
163
 
161
- explicit collection_query_index_manager(std::shared_ptr<couchbase::core::cluster> core,
162
- std::string bucket_name,
163
- std::string scope_name,
164
- std::string collection_name)
165
- : core_(core)
166
- , bucket_name_(std::move(bucket_name))
167
- , scope_name_(std::move(scope_name))
168
- , collection_name_(std::move(collection_name))
169
- {
170
- }
171
-
172
- std::shared_ptr<couchbase::core::cluster> core_;
173
- std::string bucket_name_;
174
- std::string scope_name_;
175
- std::string collection_name_;
164
+ collection_query_index_manager(couchbase::core::cluster core,
165
+ std::string bucket_name,
166
+ std::string scope_name,
167
+ std::string collection_name);
168
+
169
+ std::shared_ptr<query_index_manager_impl> impl_;
170
+ std::string bucket_name_{};
171
+ std::string scope_name_{};
172
+ std::string collection_name_{};
176
173
  };
177
174
  } // namespace couchbase
@@ -0,0 +1,116 @@
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
+ #pragma once
19
+
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/error_codes.hxx>
22
+ #include <couchbase/manager_error_context.hxx>
23
+
24
+ #include <functional>
25
+ #include <optional>
26
+ #include <string>
27
+
28
+ namespace couchbase
29
+ {
30
+ class connect_link_analytics_options : public common_options<connect_link_analytics_options>
31
+ {
32
+ public:
33
+ /**
34
+ * The name of the dataverse in which the link should be disconnected.
35
+ *
36
+ * defaults to `Default`
37
+ *
38
+ * @param dataverse_name
39
+ * @return reference to this object, for use in chaining
40
+ *
41
+ * @since 1.0.0
42
+ * @committed
43
+ */
44
+ auto dataverse_name(std::string dataverse_name) -> connect_link_analytics_options&
45
+ {
46
+ dataverse_name_ = std::move(dataverse_name);
47
+ return self();
48
+ }
49
+
50
+ /**
51
+ * The name of the link
52
+ *
53
+ * defaults to `Local`
54
+ *
55
+ * @param link_name
56
+ * @return reference to this object, for use in chaining
57
+ *
58
+ * @since 1.0.0
59
+ * @committed
60
+ */
61
+ auto link_name(std::string link_name) -> connect_link_analytics_options&
62
+ {
63
+ link_name_ = std::move(link_name);
64
+ return self();
65
+ }
66
+
67
+ /**
68
+ * Whether to force link creation even if the bucket UUID changed, for example, due to the bucket being deleted and recreated.
69
+ */
70
+ auto force(bool force) -> connect_link_analytics_options&
71
+ {
72
+ force_ = force;
73
+ return self();
74
+ }
75
+
76
+ /**
77
+ * Immutable value object representing consistent options.
78
+ *
79
+ * @since 1.0.0
80
+ * @internal
81
+ */
82
+ struct built : public common_options<connect_link_analytics_options>::built {
83
+ std::optional<std::string> dataverse_name{};
84
+ std::optional<std::string> link_name{};
85
+ bool force{ false };
86
+ };
87
+
88
+ /**
89
+ * Validates options and returns them as an immutable value.
90
+ *
91
+ * @return consistent options as an immutable value
92
+ *
93
+ * @exception std::system_error with code errc::common::invalid_argument if the options are not valid
94
+ *
95
+ * @since 1.0.0
96
+ * @internal
97
+ */
98
+ [[nodiscard]] auto build() const -> built
99
+ {
100
+ return { build_common_options(), dataverse_name_, link_name_, force_ };
101
+ }
102
+
103
+ private:
104
+ bool force_{ false };
105
+ std::optional<std::string> dataverse_name_{};
106
+ std::optional<std::string> link_name_{};
107
+ };
108
+
109
+ /**
110
+ * The signature for the handler of the @ref analytics_index_manager#connect_link() operation
111
+ *
112
+ * @since 1.0.0
113
+ * @uncommitted
114
+ */
115
+ using connect_link_analytics_handler = std::function<void(couchbase::manager_error_context)>;
116
+ } // namespace couchbase
@@ -17,10 +17,10 @@
17
17
 
18
18
  #pragma once
19
19
 
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/manager_error_context.hxx>
22
+
20
23
  #include <functional>
21
- #include <memory>
22
- #include <optional>
23
- #include <string>
24
24
 
25
25
  namespace couchbase
26
26
  {
@@ -17,10 +17,11 @@
17
17
 
18
18
  #pragma once
19
19
 
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/manager_error_context.hxx>
22
+
20
23
  #include <functional>
21
- #include <memory>
22
24
  #include <optional>
23
- #include <string>
24
25
 
25
26
  namespace couchbase
26
27
  {
@@ -0,0 +1,120 @@
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
+ #pragma once
19
+
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/error_codes.hxx>
22
+ #include <couchbase/manager_error_context.hxx>
23
+
24
+ #include <functional>
25
+ #include <optional>
26
+ #include <string>
27
+
28
+ namespace couchbase
29
+ {
30
+ class create_dataset_analytics_options : public common_options<create_dataset_analytics_options>
31
+ {
32
+ public:
33
+ /**
34
+ * Ignore error if the dataset already exists.
35
+ *
36
+ * defaults to `false`
37
+ *
38
+ * @param ignore_if_exists
39
+ * @return reference to this object, for use in chaining
40
+ *
41
+ * @since 1.0.0
42
+ * @committed
43
+ */
44
+ auto ignore_if_exists(bool ignore_if_exists) -> create_dataset_analytics_options&
45
+ {
46
+ ignore_if_exists_ = ignore_if_exists;
47
+ return self();
48
+ }
49
+
50
+ /**
51
+ * WHERE clause to use for creating the dataset
52
+ *
53
+ * @param condition
54
+ * @return reference to this object, for use in chaining
55
+ *
56
+ * @since 1.0.0
57
+ * @committed
58
+ */
59
+ auto condition(std::string condition) -> create_dataset_analytics_options&
60
+ {
61
+ condition_ = std::move(condition);
62
+ return self();
63
+ }
64
+
65
+ /**
66
+ * The name of the dataverse the dataset should be created into
67
+ *
68
+ * @param dataverse_name
69
+ * @return reference to this object, for use in chaining
70
+ *
71
+ * @since 1.0.0
72
+ * @committed
73
+ */
74
+ auto dataverse_name(std::string dataverse_name) -> create_dataset_analytics_options&
75
+ {
76
+ dataverse_name_ = std::move(dataverse_name);
77
+ return self();
78
+ }
79
+
80
+ /**
81
+ * Immutable value object representing consistent options.
82
+ *
83
+ * @since 1.0.0
84
+ * @internal
85
+ */
86
+ struct built : public common_options<create_dataset_analytics_options>::built {
87
+ bool ignore_if_exists{};
88
+ std::optional<std::string> condition{};
89
+ std::optional<std::string> dataverse_name{};
90
+ };
91
+
92
+ /**
93
+ * Validates options and returns them as an immutable value.
94
+ *
95
+ * @return consistent options as an immutable value
96
+ *
97
+ * @exception std::system_error with code errc::common::invalid_argument if the options are not valid
98
+ *
99
+ * @since 1.0.0
100
+ * @internal
101
+ */
102
+ [[nodiscard]] auto build() const -> built
103
+ {
104
+ return { build_common_options(), ignore_if_exists_, condition_, dataverse_name_ };
105
+ }
106
+
107
+ private:
108
+ bool ignore_if_exists_{ false };
109
+ std::optional<std::string> condition_{};
110
+ std::optional<std::string> dataverse_name_{};
111
+ };
112
+
113
+ /**
114
+ * The signature for the handler of the @ref analytics_index_manager#create_dataset() operation
115
+ *
116
+ * @since 1.0.0
117
+ * @uncommitted
118
+ */
119
+ using create_dataset_analytics_handler = std::function<void(couchbase::manager_error_context)>;
120
+ } // namespace couchbase
@@ -0,0 +1,85 @@
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
+ #pragma once
19
+
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/error_codes.hxx>
22
+ #include <couchbase/manager_error_context.hxx>
23
+
24
+ #include <functional>
25
+
26
+ namespace couchbase
27
+ {
28
+ class create_dataverse_analytics_options : public common_options<create_dataverse_analytics_options>
29
+ {
30
+ public:
31
+ /**
32
+ * Ignore error if the dataverse already exists.
33
+ *
34
+ * defaults to `false`
35
+ *
36
+ * @param ignore_if_exists
37
+ * @return reference to this object, for use in chaining
38
+ *
39
+ * @since 1.0.0
40
+ * @committed
41
+ */
42
+ auto ignore_if_exists(bool ignore_if_exists) -> create_dataverse_analytics_options&
43
+ {
44
+ ignore_if_exists_ = ignore_if_exists;
45
+ return self();
46
+ }
47
+
48
+ /**
49
+ * Immutable value object representing consistent options.
50
+ *
51
+ * @since 1.0.0
52
+ * @internal
53
+ */
54
+ struct built : public common_options<create_dataverse_analytics_options>::built {
55
+ bool ignore_if_exists{};
56
+ };
57
+
58
+ /**
59
+ * Validates options and returns them as an immutable value.
60
+ *
61
+ * @return consistent options as an immutable value
62
+ *
63
+ * @exception std::system_error with code errc::common::invalid_argument if the options are not valid
64
+ *
65
+ * @since 1.0.0
66
+ * @internal
67
+ */
68
+ [[nodiscard]] auto build() const -> built
69
+ {
70
+ return { build_common_options(), ignore_if_exists_ };
71
+ }
72
+
73
+ private:
74
+ bool ignore_if_exists_{ false };
75
+ };
76
+
77
+ /**
78
+ * The signature for the handler of the @ref analytics_index_manager#create_dataverse() operation
79
+ *
80
+ * @since 1.0.0
81
+ * @uncommitted
82
+ */
83
+
84
+ using create_dataverse_analytics_handler = std::function<void(couchbase::manager_error_context)>;
85
+ } // namespace couchbase
@@ -0,0 +1,103 @@
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
+ #pragma once
19
+
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/error_codes.hxx>
22
+ #include <couchbase/manager_error_context.hxx>
23
+
24
+ #include <functional>
25
+ #include <optional>
26
+ #include <string>
27
+
28
+ namespace couchbase
29
+ {
30
+ class create_index_analytics_options : public common_options<create_index_analytics_options>
31
+ {
32
+ public:
33
+ /**
34
+ * Ignore error if the index already exists.
35
+ *
36
+ * defaults to `false`
37
+ *
38
+ * @param ignore_if_exists
39
+ * @return reference to this object, for use in chaining
40
+ *
41
+ * @since 1.0.0
42
+ * @committed
43
+ */
44
+ auto ignore_if_exists(bool ignore_if_exists) -> create_index_analytics_options&
45
+ {
46
+ ignore_if_exists_ = ignore_if_exists;
47
+ return self();
48
+ }
49
+
50
+ /**
51
+ * The name of the dataverse the index should be created into
52
+ *
53
+ * @param dataverse_name
54
+ * @return reference to this object, for use in chaining
55
+ *
56
+ * @since 1.0.0
57
+ * @committed
58
+ */
59
+ auto dataverse_name(std::string dataverse_name) -> create_index_analytics_options&
60
+ {
61
+ dataverse_name_ = std::move(dataverse_name);
62
+ return self();
63
+ }
64
+
65
+ /**
66
+ * Immutable value object representing consistent options.
67
+ *
68
+ * @since 1.0.0
69
+ * @internal
70
+ */
71
+ struct built : public common_options<create_index_analytics_options>::built {
72
+ bool ignore_if_exists{};
73
+ std::optional<std::string> dataverse_name{};
74
+ };
75
+
76
+ /**
77
+ * Validates options and returns them as an immutable value.
78
+ *
79
+ * @return consistent options as an immutable value
80
+ *
81
+ * @exception std::system_error with code errc::common::invalid_argument if the options are not valid
82
+ *
83
+ * @since 1.0.0
84
+ * @internal
85
+ */
86
+ [[nodiscard]] auto build() const -> built
87
+ {
88
+ return { build_common_options(), ignore_if_exists_, dataverse_name_ };
89
+ }
90
+
91
+ private:
92
+ bool ignore_if_exists_{ false };
93
+ std::optional<std::string> dataverse_name_{};
94
+ };
95
+
96
+ /**
97
+ * The signature for the handler of the @ref analytics_index_manager#create_index() operation
98
+ *
99
+ * @since 1.0.0
100
+ * @uncommitted
101
+ */
102
+ using create_index_analytics_handler = std::function<void(couchbase::manager_error_context)>;
103
+ } // namespace couchbase
@@ -0,0 +1,63 @@
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
+ #pragma once
19
+
20
+ #include <couchbase/common_options.hxx>
21
+ #include <couchbase/error_codes.hxx>
22
+ #include <couchbase/manager_error_context.hxx>
23
+
24
+ #include <functional>
25
+
26
+ namespace couchbase
27
+ {
28
+ class create_link_analytics_options : public common_options<create_link_analytics_options>
29
+ {
30
+ public:
31
+ /**
32
+ * Immutable value object representing consistent options.
33
+ *
34
+ * @since 1.0.0
35
+ * @internal
36
+ */
37
+ struct built : public common_options<create_link_analytics_options>::built {
38
+ };
39
+
40
+ /**
41
+ * Validates options and returns them as an immutable value.
42
+ *
43
+ * @return consistent options as an immutable value
44
+ *
45
+ * @exception std::system_error with code errc::common::invalid_argument if the options are not valid
46
+ *
47
+ * @since 1.0.0
48
+ * @internal
49
+ */
50
+ [[nodiscard]] auto build() const -> built
51
+ {
52
+ return { build_common_options() };
53
+ }
54
+ };
55
+
56
+ /**
57
+ * The signature for the handler of the @ref analytics_index_manager#create_link() operation
58
+ *
59
+ * @since 1.0.0
60
+ * @uncommitted
61
+ */
62
+ using create_link_analytics_handler = std::function<void(couchbase::manager_error_context)>;
63
+ } // namespace couchbase
@@ -140,27 +140,4 @@ struct decrement_options : public common_durability_options<decrement_options> {
140
140
  * @uncommitted
141
141
  */
142
142
  using decrement_handler = std::function<void(couchbase::key_value_error_context, counter_result)>;
143
-
144
- #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
145
- namespace core
146
- {
147
- class cluster;
148
- namespace impl
149
- {
150
-
151
- /**
152
- * @since 1.0.0
153
- * @internal
154
- */
155
- void
156
- initiate_decrement_operation(std::shared_ptr<couchbase::core::cluster> core,
157
- std::string bucket_name,
158
- std::string scope_name,
159
- std::string collection_name,
160
- std::string document_key,
161
- decrement_options::built options,
162
- decrement_handler&& handler);
163
- #endif
164
- } // namespace impl
165
- } // namespace core
166
143
  } // namespace couchbase