couchbase 4.2.8-dev.1 → 4.2.9

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -30,7 +30,7 @@ class retry_strategy;
30
30
  namespace couchbase::core
31
31
  {
32
32
  struct cluster_agent_config {
33
- core_sdk_shim shim{}; // TODO: remove once refactoring will be finished.
33
+ core_sdk_shim shim; // TODO: remove once refactoring will be finished.
34
34
 
35
35
  std::string user_agent{};
36
36
  std::shared_ptr<retry_strategy> default_retry_strategy{};
@@ -16,12 +16,17 @@
16
16
  */
17
17
 
18
18
  #include "cluster_options.hxx"
19
+
19
20
  #include "config_profiles.hxx"
21
+ #include "core/transactions/attempt_context_testing_hooks.hxx"
22
+ #include "core/transactions/cleanup_testing_hooks.hxx"
23
+
24
+ #include <couchbase/best_effort_retry_strategy.hxx>
25
+
20
26
  #include <stdexcept>
21
27
 
22
28
  namespace couchbase::core
23
29
  {
24
-
25
30
  std::chrono::milliseconds
26
31
  cluster_options::default_timeout_for(service_type type) const
27
32
  {
@@ -43,8 +48,13 @@ cluster_options::default_timeout_for(service_type type) const
43
48
  throw std::runtime_error("unexpected service type");
44
49
  }
45
50
  void
46
- cluster_options::apply_profile(std::string profile_name)
51
+ cluster_options::apply_profile(std::string_view profile_name)
47
52
  {
48
53
  known_profiles().apply(profile_name, *this);
49
54
  }
55
+
56
+ cluster_options::cluster_options()
57
+ : default_retry_strategy_{ make_best_effort_retry_strategy() }
58
+ {
59
+ }
50
60
  } // namespace couchbase::core
@@ -21,14 +21,12 @@
21
21
  #include "core/io/ip_protocol.hxx"
22
22
  #include "core/metrics/logging_meter_options.hxx"
23
23
  #include "core/tracing/threshold_logging_options.hxx"
24
- #include "core/transactions/attempt_context_testing_hooks.hxx"
25
- #include "core/transactions/cleanup_testing_hooks.hxx"
26
24
  #include "service_type.hxx"
27
25
  #include "timeout_defaults.hxx"
28
26
  #include "tls_verify_mode.hxx"
29
27
 
30
- #include <couchbase/best_effort_retry_strategy.hxx>
31
28
  #include <couchbase/metrics/meter.hxx>
29
+ #include <couchbase/retry_strategy.hxx>
32
30
  #include <couchbase/tracing/request_tracer.hxx>
33
31
  #include <couchbase/transactions/transactions_config.hxx>
34
32
 
@@ -38,6 +36,12 @@
38
36
  namespace couchbase::core
39
37
  {
40
38
  struct cluster_options {
39
+ public:
40
+ cluster_options();
41
+
42
+ void apply_profile(std::string_view profile_name);
43
+ [[nodiscard]] std::chrono::milliseconds default_timeout_for(service_type type) const;
44
+
41
45
  std::chrono::milliseconds bootstrap_timeout = timeout_defaults::bootstrap_timeout;
42
46
  std::chrono::milliseconds resolve_timeout = timeout_defaults::resolve_timeout;
43
47
  std::chrono::milliseconds connect_timeout = timeout_defaults::connect_timeout;
@@ -61,7 +65,7 @@ struct cluster_options {
61
65
  io::dns::dns_config dns_config{ io::dns::dns_config::system_config() };
62
66
  bool show_queries{ false };
63
67
  bool enable_unordered_execution{ true };
64
- bool enable_clustermap_notification{ false };
68
+ bool enable_clustermap_notification{ true };
65
69
  bool enable_compression{ true };
66
70
  bool enable_tracing{ true };
67
71
  bool enable_metrics{ true };
@@ -71,7 +75,7 @@ struct cluster_options {
71
75
  tls_verify_mode tls_verify{ tls_verify_mode::peer };
72
76
  std::shared_ptr<couchbase::tracing::request_tracer> tracer{ nullptr };
73
77
  std::shared_ptr<couchbase::metrics::meter> meter{ nullptr };
74
- std::shared_ptr<retry_strategy> default_retry_strategy_{ make_best_effort_retry_strategy() };
78
+ std::shared_ptr<retry_strategy> default_retry_strategy_;
75
79
 
76
80
  std::chrono::milliseconds tcp_keep_alive_interval = timeout_defaults::tcp_keep_alive_interval;
77
81
  std::chrono::milliseconds config_poll_interval = timeout_defaults::config_poll_interval;
@@ -83,11 +87,8 @@ struct cluster_options {
83
87
  std::string user_agent_extra{};
84
88
  couchbase::transactions::transactions_config::built transactions{};
85
89
 
86
- [[nodiscard]] std::chrono::milliseconds default_timeout_for(service_type type) const;
87
-
88
90
  bool dump_configuration{ false };
89
91
  bool disable_mozilla_ca_certificates{ false };
90
- void apply_profile(std::string profile_name);
91
92
  };
92
93
 
93
94
  } // namespace couchbase::core
@@ -58,9 +58,9 @@ config_profiles::config_profiles() noexcept
58
58
  }
59
59
 
60
60
  void
61
- config_profiles::apply(const std::string& profile_name, couchbase::core::cluster_options& opts)
61
+ config_profiles::apply(std::string_view profile_name, couchbase::core::cluster_options& opts)
62
62
  {
63
- std::lock_guard<std::mutex> lock(mut_);
63
+ const std::lock_guard<std::mutex> lock(mut_);
64
64
  auto it = profiles_.find(profile_name);
65
65
  if (it != profiles_.end()) {
66
66
  it->second->apply(opts);
@@ -36,7 +36,7 @@ class config_profiles
36
36
  public:
37
37
  config_profiles() noexcept;
38
38
 
39
- void apply(const std::string& profile_name, couchbase::core::cluster_options& opts);
39
+ void apply(std::string_view profile_name, couchbase::core::cluster_options& opts);
40
40
 
41
41
  template<typename T, typename... Args>
42
42
  void register_profile(const std::string& name, Args... args)
@@ -22,7 +22,6 @@ namespace couchbase::core
22
22
  auto
23
23
  core_sdk_shim::to_string() const -> std::string
24
24
  {
25
- return fmt::format(
26
- R"(#<core_sdk_shim:{} cluster={}>)", static_cast<const void*>(this), cluster ? static_cast<const void*>(cluster.get()) : "(none)");
25
+ return fmt::format(R"(#<core_sdk_shim:{} cluster={}>)", static_cast<const void*>(this), cluster.to_string());
27
26
  }
28
27
  } // namespace couchbase::core
@@ -15,7 +15,8 @@
15
15
 
16
16
  #pragma once
17
17
 
18
- #include <memory>
18
+ #include "cluster.hxx"
19
+
19
20
  #include <string>
20
21
 
21
22
  namespace couchbase::core
@@ -23,7 +24,7 @@ namespace couchbase::core
23
24
  class cluster;
24
25
 
25
26
  struct core_sdk_shim {
26
- std::shared_ptr<core::cluster> cluster;
27
+ core::cluster cluster;
27
28
 
28
29
  [[nodiscard]] auto to_string() const -> std::string;
29
30
  };
@@ -19,7 +19,6 @@
19
19
 
20
20
  #include "service_type.hxx"
21
21
 
22
- #include <array>
23
22
  #include <chrono>
24
23
  #include <map>
25
24
  #include <optional>
@@ -27,11 +27,11 @@ dispatcher::dispatcher(std::string bucket_name, core_sdk_shim shim)
27
27
  auto
28
28
  dispatcher::direct_dispatch(std::shared_ptr<mcbp::queue_request> req) const -> std::error_code
29
29
  {
30
- return shim_.cluster->direct_dispatch(bucket_name_, std::move(req));
30
+ return shim_.cluster.direct_dispatch(bucket_name_, std::move(req));
31
31
  }
32
32
  auto
33
33
  dispatcher::direct_re_queue(std::shared_ptr<mcbp::queue_request> req, bool is_retry) const -> std::error_code
34
34
  {
35
- return shim_.cluster->direct_re_queue(bucket_name_, std::move(req), is_retry);
35
+ return shim_.cluster.direct_re_queue(bucket_name_, std::move(req), is_retry);
36
36
  }
37
37
  } // namespace couchbase::core
@@ -15,37 +15,20 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- #include <couchbase/cluster.hxx>
19
- #include <couchbase/error_codes.hxx>
20
- #include <couchbase/scope.hxx>
18
+ #include "analytics.hxx"
21
19
 
22
20
  #include "core/cluster.hxx"
23
21
  #include "core/operations/document_analytics.hxx"
22
+ #include "core/utils/binary.hxx"
23
+
24
+ #include <couchbase/cluster.hxx>
25
+ #include <couchbase/error_codes.hxx>
26
+ #include <couchbase/scope.hxx>
24
27
 
25
- namespace couchbase
28
+ namespace couchbase::core::impl
26
29
  {
27
- static analytics_error_context
28
- build_context(core::operations::analytics_response& resp)
30
+ namespace
29
31
  {
30
- return {
31
- resp.ctx.ec,
32
- resp.ctx.last_dispatched_to,
33
- resp.ctx.last_dispatched_from,
34
- resp.ctx.retry_attempts,
35
- std::move(resp.ctx.retry_reasons),
36
- resp.ctx.first_error_code,
37
- std::move(resp.ctx.first_error_message),
38
- std::move(resp.ctx.client_context_id),
39
- std::move(resp.ctx.statement),
40
- std::move(resp.ctx.parameters),
41
- std::move(resp.ctx.method),
42
- std::move(resp.ctx.path),
43
- resp.ctx.http_status,
44
- std::move(resp.ctx.http_body),
45
- std::move(resp.ctx.hostname),
46
- resp.ctx.port,
47
- };
48
- }
49
32
 
50
33
  static analytics_status
51
34
  map_status(core::operations::analytics_response::analytics_status status)
@@ -80,9 +63,9 @@ map_scan_consistency(std::optional<couchbase::analytics_scan_consistency> consis
80
63
  {
81
64
  if (consistency.has_value()) {
82
65
  switch (consistency.value()) {
83
- case analytics_scan_consistency::not_bounded:
66
+ case couchbase::analytics_scan_consistency::not_bounded:
84
67
  return couchbase::core::analytics_scan_consistency::not_bounded;
85
- case analytics_scan_consistency::request_plus:
68
+ case couchbase::analytics_scan_consistency::request_plus:
86
69
  return couchbase::core::analytics_scan_consistency::request_plus;
87
70
  }
88
71
  }
@@ -133,7 +116,32 @@ map_signature(core::operations::analytics_response& resp)
133
116
  return core::utils::to_binary(resp.meta.signature.value());
134
117
  }
135
118
 
136
- static analytics_result
119
+ } // namespace
120
+
121
+ analytics_error_context
122
+ build_context(core::operations::analytics_response& resp)
123
+ {
124
+ return {
125
+ resp.ctx.ec,
126
+ resp.ctx.last_dispatched_to,
127
+ resp.ctx.last_dispatched_from,
128
+ resp.ctx.retry_attempts,
129
+ std::move(resp.ctx.retry_reasons),
130
+ resp.ctx.first_error_code,
131
+ std::move(resp.ctx.first_error_message),
132
+ std::move(resp.ctx.client_context_id),
133
+ std::move(resp.ctx.statement),
134
+ std::move(resp.ctx.parameters),
135
+ std::move(resp.ctx.method),
136
+ std::move(resp.ctx.path),
137
+ resp.ctx.http_status,
138
+ std::move(resp.ctx.http_body),
139
+ std::move(resp.ctx.hostname),
140
+ resp.ctx.port,
141
+ };
142
+ }
143
+
144
+ analytics_result
137
145
  build_result(core::operations::analytics_response& resp)
138
146
  {
139
147
  return {
@@ -149,7 +157,7 @@ build_result(core::operations::analytics_response& resp)
149
157
  };
150
158
  }
151
159
 
152
- static core::operations::analytics_request
160
+ core::operations::analytics_request
153
161
  build_analytics_request(std::string statement,
154
162
  analytics_options::built options,
155
163
  std::optional<std::string> bucket_name,
@@ -188,50 +196,4 @@ build_analytics_request(std::string statement,
188
196
  return request;
189
197
  }
190
198
 
191
- void
192
- cluster::analytics_query(std::string statement, const analytics_options& options, analytics_handler&& handler) const
193
- {
194
- auto request = build_analytics_request(std::move(statement), options.build(), {}, {});
195
-
196
- core_->execute(std::move(request), [handler = std::move(handler)](core::operations::analytics_response resp) mutable {
197
- auto r = std::move(resp);
198
- return handler(build_context(r), build_result(r));
199
- });
200
- }
201
-
202
- auto
203
- cluster::analytics_query(std::string statement, const analytics_options& options) const
204
- -> std::future<std::pair<analytics_error_context, analytics_result>>
205
- {
206
- auto barrier = std::make_shared<std::promise<std::pair<analytics_error_context, analytics_result>>>();
207
- auto future = barrier->get_future();
208
- analytics_query(std::move(statement), options, [barrier](auto ctx, auto result) {
209
- barrier->set_value({ std::move(ctx), std::move(result) });
210
- });
211
- return future;
212
- }
213
-
214
- void
215
- scope::analytics_query(std::string statement, const analytics_options& options, analytics_handler&& handler) const
216
- {
217
- auto request = build_analytics_request(std::move(statement), options.build(), bucket_name_, name_);
218
-
219
- core_->execute(std::move(request), [handler = std::move(handler)](core::operations::analytics_response resp) mutable {
220
- auto r = std::move(resp);
221
- return handler(build_context(r), build_result(r));
222
- });
223
- }
224
-
225
- auto
226
- scope::analytics_query(std::string statement, const analytics_options& options) const
227
- -> std::future<std::pair<analytics_error_context, analytics_result>>
228
- {
229
- auto barrier = std::make_shared<std::promise<std::pair<analytics_error_context, analytics_result>>>();
230
- auto future = barrier->get_future();
231
- analytics_query(std::move(statement), options, [barrier](auto ctx, auto result) {
232
- barrier->set_value({ std::move(ctx), std::move(result) });
233
- });
234
- return future;
235
- }
236
-
237
- } // namespace couchbase
199
+ } // namespace couchbase::core::impl
@@ -0,0 +1,40 @@
1
+ /* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright 2020-Present Couchbase, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ #pragma once
19
+
20
+ #include "core/operations/document_analytics.hxx"
21
+
22
+ #include <couchbase/analytics_options.hxx>
23
+
24
+ #include <optional>
25
+ #include <string>
26
+
27
+ namespace couchbase::core::impl
28
+ {
29
+ analytics_error_context
30
+ build_context(core::operations::analytics_response& resp);
31
+
32
+ analytics_result
33
+ build_result(core::operations::analytics_response& resp);
34
+
35
+ core::operations::analytics_request
36
+ build_analytics_request(std::string statement,
37
+ analytics_options::built options,
38
+ std::optional<std::string> bucket_name,
39
+ std::optional<std::string> scope_name);
40
+ } // namespace couchbase::core::impl