couchbase 3.8.1 → 3.9.0

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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/CMakeLists.txt +16 -1
  4. data/ext/cache/cpm/{CPM_0.42.0.cmake → CPM_0.43.1.cmake} +18 -2
  5. data/ext/cache/extconf_include.rb +6 -6
  6. data/ext/cache/mozilla-ca-bundle.crt +214 -155
  7. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  8. data/ext/couchbase/CMakeLists.txt +130 -21
  9. data/ext/couchbase/cmake/APKBUILD.in +25 -4
  10. data/ext/couchbase/cmake/Bundler.cmake +143 -34
  11. data/ext/couchbase/cmake/CPM.cmake +126 -12
  12. data/ext/couchbase/cmake/Cache.cmake +7 -1
  13. data/ext/couchbase/cmake/CompilerOptions.cmake +1 -1
  14. data/ext/couchbase/cmake/CompilerWarnings.cmake +17 -6
  15. data/ext/couchbase/cmake/GrpcProtobuf.cmake +481 -0
  16. data/ext/couchbase/cmake/OpenSSL.cmake +10 -3
  17. data/ext/couchbase/cmake/Packaging.cmake +519 -65
  18. data/ext/couchbase/cmake/Protostellar.cmake +250 -0
  19. data/ext/couchbase/cmake/Sanitizers.cmake +61 -50
  20. data/ext/couchbase/cmake/StaticAnalyzers.cmake +16 -5
  21. data/ext/couchbase/cmake/TestFramework.cmake +283 -0
  22. data/ext/couchbase/cmake/TestFrameworkAddTests.cmake +51 -0
  23. data/ext/couchbase/cmake/Testing.cmake +27 -9
  24. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +141 -8
  25. data/ext/couchbase/cmake/VersionInfo.cmake +50 -0
  26. data/ext/couchbase/cmake/build_config.hxx.in +2 -1
  27. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +101 -23
  28. data/ext/couchbase/cmake/couchbase_cxx_client_static-config.cmake.in +7 -0
  29. data/ext/couchbase/cmake/couchbase_cxx_client_static.pc.in +2 -0
  30. data/ext/couchbase/cmake/gRPC_Generate.cmake +58 -0
  31. data/ext/couchbase/cmake/protobuf_Generate.cmake +69 -0
  32. data/ext/couchbase/cmake/require-git-checkout.cmake +25 -0
  33. data/ext/couchbase/cmake/tarball_glob.txt +49 -0
  34. data/ext/couchbase/core/agent_group.cxx +0 -8
  35. data/ext/couchbase/core/agent_group.hxx +0 -4
  36. data/ext/couchbase/core/analytics_stream.cxx +314 -0
  37. data/ext/couchbase/core/analytics_stream.hxx +129 -0
  38. data/ext/couchbase/core/analytics_stream_component.cxx +245 -0
  39. data/ext/couchbase/core/analytics_stream_component.hxx +67 -0
  40. data/ext/couchbase/core/app_telemetry_meter.cxx +25 -3
  41. data/ext/couchbase/core/app_telemetry_meter.hxx +77 -0
  42. data/ext/couchbase/core/app_telemetry_reporter.cxx +7 -6
  43. data/ext/couchbase/core/bucket.cxx +381 -87
  44. data/ext/couchbase/core/bucket.hxx +105 -25
  45. data/ext/couchbase/core/bucket_unit_test_api.hxx +57 -0
  46. data/ext/couchbase/core/capella.hxx +91 -0
  47. data/ext/couchbase/core/cluster.cxx +1554 -398
  48. data/ext/couchbase/core/cluster.hxx +39 -8
  49. data/ext/couchbase/core/cluster_agent.cxx +0 -8
  50. data/ext/couchbase/core/cluster_agent.hxx +0 -4
  51. data/ext/couchbase/core/cluster_options.hxx +26 -3
  52. data/ext/couchbase/core/collections_component.cxx +39 -15
  53. data/ext/couchbase/core/config_profiles.cxx +1 -1
  54. data/ext/couchbase/core/crud_component.cxx +2 -2
  55. data/ext/couchbase/core/crud_options.hxx +34 -0
  56. data/ext/couchbase/core/crypto/cbcrypto.cc +18 -13
  57. data/ext/couchbase/core/document_id_redaction.hxx +81 -0
  58. data/ext/couchbase/core/error_context/base_error_context.hxx +7 -6
  59. data/ext/couchbase/core/error_context/key_value.cxx +25 -2
  60. data/ext/couchbase/core/error_context/key_value.hxx +60 -33
  61. data/ext/couchbase/core/error_context/key_value_error_context.hxx +16 -15
  62. data/ext/couchbase/core/error_context/search.hxx +5 -0
  63. data/ext/couchbase/core/error_context/search_json.hxx +3 -0
  64. data/ext/couchbase/core/error_context/subdocument_error_context.hxx +19 -18
  65. data/ext/couchbase/core/error_context/view.hxx +5 -0
  66. data/ext/couchbase/core/free_form_http_request.cxx +237 -4
  67. data/ext/couchbase/core/free_form_http_request.hxx +41 -8
  68. data/ext/couchbase/core/http_component.cxx +300 -284
  69. data/ext/couchbase/core/http_component.hxx +0 -4
  70. data/ext/couchbase/core/impl/analytics.cxx +38 -5
  71. data/ext/couchbase/core/impl/analytics.hxx +34 -0
  72. data/ext/couchbase/core/impl/bootstrap_error.hxx +0 -3
  73. data/ext/couchbase/core/impl/collection.cxx +215 -202
  74. data/ext/couchbase/core/impl/collection_manager.cxx +1 -1
  75. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +45 -18
  76. data/ext/couchbase/core/impl/error.cxx +22 -2
  77. data/ext/couchbase/core/impl/internal_analytics_stream_result.hxx +111 -0
  78. data/ext/couchbase/core/impl/internal_query_stream_result.hxx +110 -0
  79. data/ext/couchbase/core/impl/invoke_with_node_id.hxx +15 -7
  80. data/ext/couchbase/core/impl/key_value_error_category.cxx +6 -0
  81. data/ext/couchbase/core/impl/lookup_in_replica.cxx +10 -10
  82. data/ext/couchbase/core/impl/lookup_in_replica.hxx +4 -4
  83. data/ext/couchbase/core/impl/node_id.cxx +49 -13
  84. data/ext/couchbase/core/impl/observability_recorder.cxx +12 -2
  85. data/ext/couchbase/core/impl/observe_poll.cxx +63 -23
  86. data/ext/couchbase/core/impl/public_analytics_stream_result.cxx +372 -0
  87. data/ext/couchbase/core/impl/public_bucket.cxx +48 -2
  88. data/ext/couchbase/core/impl/public_cluster.cxx +325 -25
  89. data/ext/couchbase/core/impl/public_query_stream_result.cxx +380 -0
  90. data/ext/couchbase/core/impl/public_transaction_get_multi_replicas_from_preferred_server_group_result.cxx +42 -0
  91. data/ext/couchbase/core/impl/public_transaction_get_multi_result.cxx +42 -0
  92. data/ext/couchbase/core/impl/query.cxx +76 -7
  93. data/ext/couchbase/core/impl/query.hxx +36 -0
  94. data/ext/couchbase/core/impl/query_index_manager.cxx +54 -1
  95. data/ext/couchbase/core/impl/replica_utils.cxx +101 -0
  96. data/ext/couchbase/core/impl/replica_utils.hxx +64 -0
  97. data/ext/couchbase/core/impl/resolve_node_id.hxx +125 -0
  98. data/ext/couchbase/core/impl/scope.cxx +70 -0
  99. data/ext/couchbase/core/impl/search.cxx +31 -1
  100. data/ext/couchbase/core/impl/transactions.cxx +130 -0
  101. data/ext/couchbase/core/impl/wait_until_ready.cxx +439 -0
  102. data/ext/couchbase/core/impl/wait_until_ready.hxx +110 -0
  103. data/ext/couchbase/core/impl/with_bucket_config_or_timeout.hxx +180 -0
  104. data/ext/couchbase/core/impl/with_cancellation.hxx +11 -3
  105. data/ext/couchbase/core/io/configuration_belongs_to_session.hxx +66 -0
  106. data/ext/couchbase/core/io/dns_client.cxx +122 -45
  107. data/ext/couchbase/core/io/dns_codec.hxx +21 -21
  108. data/ext/couchbase/core/io/dns_config.cxx +21 -6
  109. data/ext/couchbase/core/io/http_command.hxx +149 -121
  110. data/ext/couchbase/core/io/http_error.hxx +107 -0
  111. data/ext/couchbase/core/io/http_parser.cxx +4 -0
  112. data/ext/couchbase/core/io/http_session.cxx +606 -154
  113. data/ext/couchbase/core/io/http_session.hxx +147 -30
  114. data/ext/couchbase/core/io/http_session_manager.hxx +329 -382
  115. data/ext/couchbase/core/io/http_streaming_parser.cxx +4 -0
  116. data/ext/couchbase/core/io/http_streaming_response.cxx +328 -43
  117. data/ext/couchbase/core/io/http_streaming_response.hxx +37 -3
  118. data/ext/couchbase/core/io/mcbp_buffer_pool.hxx +122 -0
  119. data/ext/couchbase/core/io/mcbp_command.hxx +150 -51
  120. data/ext/couchbase/core/io/mcbp_command_id.hxx +45 -0
  121. data/ext/couchbase/core/io/mcbp_message.cxx +9 -1
  122. data/ext/couchbase/core/io/mcbp_message.hxx +19 -0
  123. data/ext/couchbase/core/io/mcbp_output_queue.hxx +150 -0
  124. data/ext/couchbase/core/io/mcbp_parser.cxx +24 -7
  125. data/ext/couchbase/core/io/mcbp_session.cxx +316 -317
  126. data/ext/couchbase/core/io/mcbp_session.hxx +27 -18
  127. data/ext/couchbase/core/io/opaque_ring_table.hxx +145 -0
  128. data/ext/couchbase/core/io/retry_orchestrator.hxx +6 -5
  129. data/ext/couchbase/core/io/stream_deadline.hxx +50 -0
  130. data/ext/couchbase/core/io/streams.cxx +275 -14
  131. data/ext/couchbase/core/io/streams.hxx +53 -0
  132. data/ext/couchbase/core/logger/logger.cxx +36 -0
  133. data/ext/couchbase/core/logger/logger.hxx +46 -6
  134. data/ext/couchbase/core/logger/redaction.hxx +503 -0
  135. data/ext/couchbase/core/management/eventing_status.hxx +10 -0
  136. data/ext/couchbase/core/management/eventing_status_json.hxx +4 -0
  137. data/ext/couchbase/core/mcbp/big_endian.cxx +1 -1
  138. data/ext/couchbase/core/mcbp/codec.cxx +27 -18
  139. data/ext/couchbase/core/mcbp/operation_queue.cxx +2 -2
  140. data/ext/couchbase/core/mcbp/packet.hxx +2 -2
  141. data/ext/couchbase/core/mcbp/queue_request.cxx +23 -6
  142. data/ext/couchbase/core/mcbp/queue_request.hxx +21 -0
  143. data/ext/couchbase/core/meta/features.hxx +13 -0
  144. data/ext/couchbase/core/meta/version.cxx +6 -3
  145. data/ext/couchbase/core/metrics/logging_meter.cxx +5 -10
  146. data/ext/couchbase/core/metrics/meter_wrapper.cxx +63 -33
  147. data/ext/couchbase/core/metrics/meter_wrapper.hxx +55 -3
  148. data/ext/couchbase/core/operations/analytics_response_parsing.cxx +177 -0
  149. data/ext/couchbase/core/operations/analytics_response_parsing.hxx +55 -0
  150. data/ext/couchbase/core/operations/document_analytics.cxx +48 -130
  151. data/ext/couchbase/core/operations/document_analytics.hxx +14 -2
  152. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +15 -7
  153. data/ext/couchbase/core/operations/document_get_any_replica.hxx +19 -8
  154. data/ext/couchbase/core/operations/document_get_projected.cxx +1 -1
  155. data/ext/couchbase/core/{impl/get_replica.cxx → operations/document_get_replica.cxx} +21 -3
  156. data/ext/couchbase/core/{impl/get_replica.hxx → operations/document_get_replica.hxx} +31 -4
  157. data/ext/couchbase/core/operations/document_lookup_in.cxx +10 -10
  158. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +228 -198
  159. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +215 -217
  160. data/ext/couchbase/core/operations/document_query.cxx +108 -221
  161. data/ext/couchbase/core/operations/document_query.hxx +18 -4
  162. data/ext/couchbase/core/operations/document_search.cxx +52 -8
  163. data/ext/couchbase/core/operations/document_search.hxx +3 -0
  164. data/ext/couchbase/core/operations/document_view.cxx +3 -3
  165. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +15 -8
  166. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +4 -0
  167. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +11 -6
  168. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.cxx +3 -2
  169. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +10 -5
  170. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +10 -5
  171. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +2 -1
  172. data/ext/couchbase/core/operations/management/analytics_index_create.cxx +33 -8
  173. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +12 -7
  174. data/ext/couchbase/core/operations/management/analytics_index_get_all.cxx +3 -2
  175. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +11 -6
  176. data/ext/couchbase/core/operations/management/analytics_link_create.cxx +3 -3
  177. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +10 -4
  178. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +6 -4
  179. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +4 -3
  180. data/ext/couchbase/core/operations/management/analytics_link_replace.cxx +3 -3
  181. data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +1 -1
  182. data/ext/couchbase/core/operations/management/bucket_create.cxx +37 -38
  183. data/ext/couchbase/core/operations/management/bucket_update.cxx +26 -28
  184. data/ext/couchbase/core/operations/management/change_password.cxx +2 -0
  185. data/ext/couchbase/core/operations/management/collection_drop.cxx +5 -1
  186. data/ext/couchbase/core/operations/management/error_utils.cxx +59 -5
  187. data/ext/couchbase/core/operations/management/error_utils.hxx +29 -1
  188. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +9 -3
  189. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +8 -3
  190. data/ext/couchbase/core/operations/management/eventing_get_all_functions.cxx +4 -2
  191. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +5 -3
  192. data/ext/couchbase/core/operations/management/eventing_get_status.cxx +4 -2
  193. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +9 -3
  194. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +9 -3
  195. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +9 -3
  196. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +9 -3
  197. data/ext/couchbase/core/operations/management/group_drop.cxx +3 -1
  198. data/ext/couchbase/core/operations/management/group_get.cxx +3 -1
  199. data/ext/couchbase/core/operations/management/group_upsert.cxx +11 -8
  200. data/ext/couchbase/core/operations/management/query_index_build.cxx +5 -2
  201. data/ext/couchbase/core/operations/management/query_index_create.cxx +9 -3
  202. data/ext/couchbase/core/operations/management/query_index_drop.cxx +11 -4
  203. data/ext/couchbase/core/operations/management/query_index_get_all.cxx +1 -1
  204. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.cxx +1 -1
  205. data/ext/couchbase/core/operations/management/scope_drop.cxx +5 -1
  206. data/ext/couchbase/core/operations/management/scope_get_all.cxx +6 -1
  207. data/ext/couchbase/core/operations/management/search_get_stats.cxx +10 -0
  208. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +3 -2
  209. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +4 -3
  210. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +4 -3
  211. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +4 -3
  212. data/ext/couchbase/core/operations/management/search_index_drop.cxx +2 -2
  213. data/ext/couchbase/core/operations/management/search_index_get.cxx +2 -2
  214. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +3 -2
  215. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +3 -1
  216. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +2 -2
  217. data/ext/couchbase/core/operations/management/user_drop.cxx +3 -1
  218. data/ext/couchbase/core/operations/management/user_get.cxx +3 -1
  219. data/ext/couchbase/core/operations/management/user_upsert.cxx +12 -9
  220. data/ext/couchbase/core/operations/management/view_index_drop.cxx +1 -1
  221. data/ext/couchbase/core/operations/management/view_index_get.cxx +1 -1
  222. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +1 -1
  223. data/ext/couchbase/core/operations/operation_traits.hxx +18 -0
  224. data/ext/couchbase/core/operations/query_response_parsing.cxx +211 -0
  225. data/ext/couchbase/core/operations/query_response_parsing.hxx +60 -0
  226. data/ext/couchbase/core/operations_fwd.hxx +3 -3
  227. data/ext/couchbase/core/origin.cxx +54 -26
  228. data/ext/couchbase/core/origin.hxx +12 -0
  229. data/ext/couchbase/core/orphan_reporter.cxx +2 -1
  230. data/ext/couchbase/core/platform/random.cc +7 -7
  231. data/ext/couchbase/core/protocol/client_request.cxx +2 -2
  232. data/ext/couchbase/core/protocol/client_request.hxx +38 -21
  233. data/ext/couchbase/core/protocol/client_response.cxx +11 -3
  234. data/ext/couchbase/core/protocol/client_response.hxx +27 -6
  235. data/ext/couchbase/core/protocol/cmd_append.cxx +2 -2
  236. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.cxx +2 -2
  237. data/ext/couchbase/core/protocol/cmd_decrement.cxx +6 -6
  238. data/ext/couchbase/core/protocol/cmd_get.cxx +1 -1
  239. data/ext/couchbase/core/protocol/cmd_get_and_lock.cxx +2 -2
  240. data/ext/couchbase/core/protocol/cmd_get_and_touch.cxx +2 -2
  241. data/ext/couchbase/core/protocol/cmd_get_cluster_config.cxx +6 -4
  242. data/ext/couchbase/core/protocol/cmd_get_collection_id.cxx +2 -2
  243. data/ext/couchbase/core/protocol/cmd_get_error_map.cxx +1 -1
  244. data/ext/couchbase/core/protocol/cmd_get_meta.cxx +4 -4
  245. data/ext/couchbase/core/protocol/cmd_get_replica.cxx +1 -1
  246. data/ext/couchbase/core/protocol/cmd_hello.cxx +1 -1
  247. data/ext/couchbase/core/protocol/cmd_increment.cxx +6 -6
  248. data/ext/couchbase/core/protocol/cmd_insert.cxx +4 -4
  249. data/ext/couchbase/core/protocol/cmd_lookup_in.cxx +4 -3
  250. data/ext/couchbase/core/protocol/cmd_lookup_in_replica.cxx +4 -3
  251. data/ext/couchbase/core/protocol/cmd_mutate_in.cxx +10 -9
  252. data/ext/couchbase/core/protocol/cmd_mutate_in.hxx +10 -10
  253. data/ext/couchbase/core/protocol/cmd_observe_seqno.cxx +7 -7
  254. data/ext/couchbase/core/protocol/cmd_prepend.cxx +2 -2
  255. data/ext/couchbase/core/protocol/cmd_remove.cxx +2 -2
  256. data/ext/couchbase/core/protocol/cmd_replace.cxx +4 -4
  257. data/ext/couchbase/core/protocol/cmd_touch.cxx +1 -1
  258. data/ext/couchbase/core/protocol/cmd_upsert.cxx +4 -4
  259. data/ext/couchbase/core/protocol/datatype.hxx +118 -1
  260. data/ext/couchbase/core/protocol/frame_info_utils.cxx +1 -1
  261. data/ext/couchbase/core/protocol/magic.hxx +4 -0
  262. data/ext/couchbase/core/protocol/magic_fmt.hxx +3 -0
  263. data/ext/couchbase/core/protocol/server_request.hxx +3 -1
  264. data/ext/couchbase/core/protocol/status.cxx +1 -1
  265. data/ext/couchbase/core/protostellar/analytics_converter.hxx +171 -0
  266. data/ext/couchbase/core/protostellar/bucket_admin_converter.hxx +301 -0
  267. data/ext/couchbase/core/protostellar/collection_admin_converter.hxx +92 -0
  268. data/ext/couchbase/core/protostellar/component.cxx +2445 -0
  269. data/ext/couchbase/core/protostellar/component.hxx +391 -0
  270. data/ext/couchbase/core/{columnar/bootstrap_notification_subscriber.hxx → protostellar/compression_settings.hxx} +11 -10
  271. data/ext/couchbase/core/protostellar/credentials.cxx +233 -0
  272. data/ext/couchbase/core/protostellar/credentials.hxx +88 -0
  273. data/ext/couchbase/core/protostellar/dispatcher.cxx +57 -0
  274. data/ext/couchbase/core/protostellar/dispatcher.hxx +482 -0
  275. data/ext/couchbase/core/protostellar/error_utils.cxx +293 -0
  276. data/ext/couchbase/core/protostellar/error_utils.hxx +97 -0
  277. data/ext/couchbase/core/protostellar/json_payload.hxx +49 -0
  278. data/ext/couchbase/core/protostellar/kv_converter.cxx +70 -0
  279. data/ext/couchbase/core/protostellar/kv_converter.hxx +600 -0
  280. data/ext/couchbase/core/protostellar/query_converter.hxx +265 -0
  281. data/ext/couchbase/core/protostellar/query_index_admin_converter.hxx +291 -0
  282. data/ext/couchbase/core/protostellar/query_proto.hxx +73 -0
  283. data/ext/couchbase/core/protostellar/search_converter.hxx +244 -0
  284. data/ext/couchbase/core/protostellar/search_index_admin_converter.hxx +156 -0
  285. data/ext/couchbase/core/protostellar/view_converter.hxx +158 -0
  286. data/ext/couchbase/core/query_stream.cxx +447 -0
  287. data/ext/couchbase/core/query_stream.hxx +141 -0
  288. data/ext/couchbase/core/query_stream_component.cxx +243 -0
  289. data/ext/couchbase/core/query_stream_component.hxx +68 -0
  290. data/ext/couchbase/core/range_scan_load_balancer.cxx +15 -8
  291. data/ext/couchbase/core/range_scan_orchestrator.cxx +15 -3
  292. data/ext/couchbase/core/response_handler.hxx +41 -4
  293. data/ext/couchbase/core/row_streamer.cxx +332 -46
  294. data/ext/couchbase/core/row_streamer.hxx +31 -1
  295. data/ext/couchbase/core/row_streamer_options.hxx +55 -0
  296. data/ext/couchbase/core/sasl/client.h +3 -0
  297. data/ext/couchbase/core/search_scoring.hxx +66 -0
  298. data/ext/couchbase/core/stream_error_details.hxx +69 -0
  299. data/ext/couchbase/core/timeout_defaults.hxx +0 -1
  300. data/ext/couchbase/core/topology/capabilities.hxx +6 -0
  301. data/ext/couchbase/core/topology/capabilities_fmt.hxx +3 -0
  302. data/ext/couchbase/core/topology/configuration.cxx +21 -6
  303. data/ext/couchbase/core/topology/configuration.hxx +29 -8
  304. data/ext/couchbase/core/topology/configuration_json.hxx +3 -0
  305. data/ext/couchbase/core/topology/error_map_json.hxx +3 -1
  306. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +70 -4
  307. data/ext/couchbase/core/tracing/threshold_logging_tracer.hxx +10 -0
  308. data/ext/couchbase/core/transactions/active_transaction_record.cxx +0 -34
  309. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +362 -241
  310. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +24 -3
  311. data/ext/couchbase/core/transactions/error_list.hxx +2 -2
  312. data/ext/couchbase/core/transactions/get_multi_fetch.hxx +160 -0
  313. data/ext/couchbase/core/transactions/get_multi_orchestrator.cxx +326 -125
  314. data/ext/couchbase/core/transactions/get_multi_transaction_id.hxx +62 -0
  315. data/ext/couchbase/core/transactions/internal/atr_entry.hxx +22 -2
  316. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +2 -2
  317. data/ext/couchbase/core/transactions/internal/transactions_cleanup.hxx +23 -1
  318. data/ext/couchbase/core/transactions/internal/utils.hxx +50 -14
  319. data/ext/couchbase/core/transactions/staged_mutation.cxx +23 -18
  320. data/ext/couchbase/core/transactions/staged_mutation.hxx +15 -4
  321. data/ext/couchbase/core/transactions/transaction_context.cxx +55 -40
  322. data/ext/couchbase/core/transactions/transaction_get_result.hxx +16 -0
  323. data/ext/couchbase/core/transactions/transactions.cxx +3 -55
  324. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +194 -66
  325. data/ext/couchbase/core/transactions/transactions_config.cxx +0 -11
  326. data/ext/couchbase/core/transactions/utils.cxx +10 -0
  327. data/ext/couchbase/core/transactions/waitable_op_list.hxx +15 -4
  328. data/ext/couchbase/core/transactions.hxx +9 -9
  329. data/ext/couchbase/core/utils/byteswap.hxx +166 -9
  330. data/ext/couchbase/core/utils/connection_string.cxx +50 -85
  331. data/ext/couchbase/core/utils/connection_string.hxx +15 -0
  332. data/ext/couchbase/core/{columnar/backoff_calculator.hxx → utils/deadline.hxx} +13 -13
  333. data/ext/couchbase/core/utils/duration_parser.cxx +1 -1
  334. data/ext/couchbase/core/utils/json_streaming_lexer.cxx +48 -5
  335. data/ext/couchbase/core/utils/json_streaming_lexer.hxx +4 -1
  336. data/ext/couchbase/core/utils/movable_function.hxx +301 -52
  337. data/ext/couchbase/core/utils/name_codec.hxx +154 -11
  338. data/ext/couchbase/core/{columnar/retry_info.hxx → utils/process_id.hxx} +18 -13
  339. data/ext/couchbase/core/utils/url_codec.cxx +12 -51
  340. data/ext/couchbase/core/websocket_codec.cxx +3 -29
  341. data/ext/couchbase/couchbase/analytics_options.hxx +21 -10
  342. data/ext/couchbase/couchbase/analytics_row.hxx +105 -0
  343. data/ext/couchbase/couchbase/analytics_stream_result.hxx +266 -0
  344. data/ext/couchbase/couchbase/boolean_query.hxx +3 -3
  345. data/ext/couchbase/couchbase/bucket.hxx +57 -0
  346. data/ext/couchbase/couchbase/cluster.hxx +216 -5
  347. data/ext/couchbase/{core/columnar/security_options.hxx → couchbase/cluster_state.hxx} +18 -14
  348. data/ext/couchbase/couchbase/codec/lenient_json_transcoder.hxx +69 -0
  349. data/ext/couchbase/couchbase/collection.hxx +234 -14
  350. data/ext/couchbase/couchbase/common_durability_options.hxx +18 -3
  351. data/ext/couchbase/couchbase/conjunction_query.hxx +1 -1
  352. data/ext/couchbase/couchbase/create_dataset_analytics_options.hxx +6 -1
  353. data/ext/couchbase/couchbase/date_range_query.hxx +2 -2
  354. data/ext/couchbase/couchbase/decrement_options.hxx +1 -1
  355. data/ext/couchbase/couchbase/disjunction_query.hxx +1 -1
  356. data/ext/couchbase/couchbase/error.hxx +32 -0
  357. data/ext/couchbase/couchbase/error_codes.hxx +32 -0
  358. data/ext/couchbase/couchbase/geo_bounding_box_query.hxx +1 -1
  359. data/ext/couchbase/couchbase/geo_distance_query.hxx +1 -1
  360. data/ext/couchbase/couchbase/geo_polygon_query.hxx +1 -1
  361. data/ext/couchbase/couchbase/get_replica_options.hxx +68 -0
  362. data/ext/couchbase/couchbase/get_replica_result.hxx +5 -3
  363. data/ext/couchbase/couchbase/get_replica_strategy.hxx +161 -0
  364. data/ext/couchbase/couchbase/get_result.hxx +1 -0
  365. data/ext/couchbase/couchbase/increment_options.hxx +1 -1
  366. data/ext/couchbase/couchbase/insert_options.hxx +1 -1
  367. data/ext/couchbase/couchbase/match_phrase_query.hxx +1 -1
  368. data/ext/couchbase/couchbase/match_query.hxx +1 -1
  369. data/ext/couchbase/couchbase/mutate_in_options.hxx +3 -3
  370. data/ext/couchbase/couchbase/network_options.hxx +1 -1
  371. data/ext/couchbase/couchbase/node_id.hxx +42 -14
  372. data/ext/couchbase/couchbase/node_id_for_options.hxx +7 -1
  373. data/ext/couchbase/couchbase/node_ids_options.hxx +8 -2
  374. data/ext/couchbase/couchbase/numeric_range_query.hxx +1 -1
  375. data/ext/couchbase/couchbase/phrase_query.hxx +1 -1
  376. data/ext/couchbase/couchbase/prefix_query.hxx +1 -1
  377. data/ext/couchbase/couchbase/query_options.hxx +23 -12
  378. data/ext/couchbase/couchbase/query_row.hxx +111 -0
  379. data/ext/couchbase/couchbase/query_stream_result.hxx +302 -0
  380. data/ext/couchbase/couchbase/query_string_query.hxx +3 -3
  381. data/ext/couchbase/couchbase/regexp_query.hxx +1 -1
  382. data/ext/couchbase/couchbase/replace_options.hxx +3 -3
  383. data/ext/couchbase/couchbase/result.hxx +14 -3
  384. data/ext/couchbase/couchbase/scan_result_item.hxx +1 -0
  385. data/ext/couchbase/couchbase/scope.hxx +85 -2
  386. data/ext/couchbase/couchbase/search_options.hxx +58 -8
  387. data/ext/couchbase/couchbase/search_scoring.hxx +94 -0
  388. data/ext/couchbase/couchbase/search_scoring_none.hxx +51 -0
  389. data/ext/couchbase/couchbase/search_scoring_reciprocal_rank_fusion.hxx +88 -0
  390. data/ext/couchbase/couchbase/search_scoring_relative_score_fusion.hxx +70 -0
  391. data/ext/couchbase/couchbase/term_range_query.hxx +1 -1
  392. data/ext/couchbase/couchbase/tracing/request_span.hxx +46 -0
  393. data/ext/couchbase/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_result.hxx +23 -21
  394. data/ext/couchbase/couchbase/transactions/transaction_get_multi_result.hxx +24 -19
  395. data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +17 -3
  396. data/ext/couchbase/couchbase/transactions/transactions_config.hxx +4 -2
  397. data/ext/couchbase/couchbase/transactions.hxx +27 -18
  398. data/ext/couchbase/couchbase/upsert_options.hxx +3 -3
  399. data/ext/couchbase/couchbase/vector_query.hxx +1 -1
  400. data/ext/couchbase/couchbase/wait_until_ready_options.hxx +111 -0
  401. data/ext/couchbase/couchbase/wildcard_query.hxx +1 -1
  402. data/ext/extconf.rb +15 -10
  403. data/ext/rcb_analytics.cxx +82 -102
  404. data/ext/rcb_backend.cxx +42 -36
  405. data/ext/rcb_backend.hxx +2 -0
  406. data/ext/rcb_buckets.cxx +47 -59
  407. data/ext/rcb_collections.cxx +42 -52
  408. data/ext/rcb_crud.cxx +345 -224
  409. data/ext/rcb_diagnostics.cxx +117 -27
  410. data/ext/rcb_exceptions.cxx +152 -99
  411. data/ext/rcb_exceptions.hxx +25 -0
  412. data/ext/rcb_extras.cxx +18 -19
  413. data/ext/rcb_hdr_histogram.cxx +19 -4
  414. data/ext/rcb_logger.cxx +202 -27
  415. data/ext/rcb_logger.hxx +12 -0
  416. data/ext/rcb_multi.cxx +40 -40
  417. data/ext/rcb_observability.cxx +7 -5
  418. data/ext/rcb_query.cxx +99 -142
  419. data/ext/rcb_range_scan.cxx +41 -35
  420. data/ext/rcb_search.cxx +98 -99
  421. data/ext/rcb_users.cxx +36 -56
  422. data/ext/rcb_utils.cxx +100 -37
  423. data/ext/rcb_utils.hxx +287 -33
  424. data/ext/rcb_version.cxx +1 -1
  425. data/ext/rcb_views.cxx +55 -51
  426. data/lib/active_support/cache/couchbase_store.rb +77 -12
  427. data/lib/couchbase/bucket.rb +20 -0
  428. data/lib/couchbase/cluster.rb +33 -14
  429. data/lib/couchbase/collection.rb +36 -1
  430. data/lib/couchbase/errors.rb +18 -0
  431. data/lib/couchbase/fork_hooks.rb +16 -7
  432. data/lib/couchbase/get_replica_strategy.rb +89 -0
  433. data/lib/couchbase/logger.rb +1 -1
  434. data/lib/couchbase/management/analytics_index_manager.rb +15 -15
  435. data/lib/couchbase/management/bucket_manager.rb +6 -6
  436. data/lib/couchbase/management/collection_manager.rb +6 -6
  437. data/lib/couchbase/management/query_index_manager.rb +7 -7
  438. data/lib/couchbase/management/search_index_manager.rb +13 -13
  439. data/lib/couchbase/management/user_manager.rb +10 -10
  440. data/lib/couchbase/management/view_index_manager.rb +5 -5
  441. data/lib/couchbase/options.rb +181 -44
  442. data/lib/couchbase/protostellar/bucket.rb +4 -0
  443. data/lib/couchbase/protostellar/cluster.rb +4 -0
  444. data/lib/couchbase/protostellar/collection.rb +4 -0
  445. data/lib/couchbase/protostellar/error_handling.rb +2 -1
  446. data/lib/couchbase/protostellar/request.rb +1 -0
  447. data/lib/couchbase/protostellar/request_generator/kv.rb +16 -2
  448. data/lib/couchbase/protostellar/request_generator/search.rb +17 -1
  449. data/lib/couchbase/protostellar/retry/orchestrator.rb +3 -2
  450. data/lib/couchbase/protostellar/retry/strategies/fail_fast.rb +33 -0
  451. data/lib/couchbase/protostellar/retry/strategies.rb +1 -0
  452. data/lib/couchbase/search_options.rb +95 -6
  453. data/lib/couchbase/version.rb +1 -1
  454. metadata +92 -33
  455. data/ext/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch +0 -40
  456. data/ext/couchbase/core/columnar/agent.hxx +0 -71
  457. data/ext/couchbase/core/columnar/agent_config.hxx +0 -59
  458. data/ext/couchbase/core/columnar/background_bootstrap_listener.hxx +0 -42
  459. data/ext/couchbase/core/columnar/backoff_calculator.cxx +0 -62
  460. data/ext/couchbase/core/columnar/columnar_agent.cxx +0 -147
  461. data/ext/couchbase/core/columnar/columnar_agent_config.cxx +0 -48
  462. data/ext/couchbase/core/columnar/columnar_error.cxx +0 -51
  463. data/ext/couchbase/core/columnar/database_management_options.hxx +0 -56
  464. data/ext/couchbase/core/columnar/error.hxx +0 -51
  465. data/ext/couchbase/core/columnar/error_codes.cxx +0 -107
  466. data/ext/couchbase/core/columnar/error_codes.hxx +0 -75
  467. data/ext/couchbase/core/columnar/management_component.cxx +0 -300
  468. data/ext/couchbase/core/columnar/management_component.hxx +0 -56
  469. data/ext/couchbase/core/columnar/query_component.cxx +0 -523
  470. data/ext/couchbase/core/columnar/query_component.hxx +0 -57
  471. data/ext/couchbase/core/columnar/query_options.hxx +0 -59
  472. data/ext/couchbase/core/columnar/query_result.cxx +0 -130
  473. data/ext/couchbase/core/columnar/query_result.hxx +0 -78
  474. data/ext/couchbase/core/io/config_tracker.cxx +0 -687
  475. data/ext/couchbase/core/io/config_tracker.hxx +0 -123
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: couchbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.1
4
+ version: 3.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Avseyev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-01 00:00:00.000000000 Z
11
+ date: 2026-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -48,7 +48,6 @@ extra_rdoc_files: []
48
48
  files:
49
49
  - LICENSE.txt
50
50
  - README.md
51
- - ext/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch
52
51
  - ext/CMakeLists.txt
53
52
  - ext/cache/asio/c246/asio/asio/include/asio.hpp
54
53
  - ext/cache/asio/c246/asio/asio/include/asio/any_completion_executor.hpp
@@ -1651,7 +1650,7 @@ files:
1651
1650
  - ext/cache/boringssl/e31e/boringssl/win-x86_64/crypto/fipsmodule/x86_64-mont-win.asm
1652
1651
  - ext/cache/boringssl/e31e/boringssl/win-x86_64/crypto/fipsmodule/x86_64-mont5-win.asm
1653
1652
  - ext/cache/boringssl/e31e/boringssl/win-x86_64/crypto/test/trampoline-x86_64-win.asm
1654
- - ext/cache/cpm/CPM_0.42.0.cmake
1653
+ - ext/cache/cpm/CPM_0.43.1.cmake
1655
1654
  - ext/cache/extconf_include.rb
1656
1655
  - ext/cache/gsl/c569/gsl/CMakeLists.txt
1657
1656
  - ext/cache/gsl/c569/gsl/GSL.natvis
@@ -2281,14 +2280,18 @@ files:
2281
2280
  - ext/couchbase/cmake/CompilerWarnings.cmake
2282
2281
  - ext/couchbase/cmake/DetectStandardFilesystem.cmake
2283
2282
  - ext/couchbase/cmake/Documentation.cmake
2283
+ - ext/couchbase/cmake/GrpcProtobuf.cmake
2284
2284
  - ext/couchbase/cmake/OpenSSL.cmake
2285
2285
  - ext/couchbase/cmake/Packaging.cmake
2286
2286
  - ext/couchbase/cmake/PreventInSourceBuilds.cmake
2287
2287
  - ext/couchbase/cmake/Profiler.cmake
2288
+ - ext/couchbase/cmake/Protostellar.cmake
2288
2289
  - ext/couchbase/cmake/RPath.cmake
2289
2290
  - ext/couchbase/cmake/Sanitizers.cmake
2290
2291
  - ext/couchbase/cmake/StandardProjectSettings.cmake
2291
2292
  - ext/couchbase/cmake/StaticAnalyzers.cmake
2293
+ - ext/couchbase/cmake/TestFramework.cmake
2294
+ - ext/couchbase/cmake/TestFrameworkAddTests.cmake
2292
2295
  - ext/couchbase/cmake/Testing.cmake
2293
2296
  - ext/couchbase/cmake/ThirdPartyDependencies.cmake
2294
2297
  - ext/couchbase/cmake/VersionInfo.cmake
@@ -2299,7 +2302,10 @@ files:
2299
2302
  - ext/couchbase/cmake/couchbase_cxx_client.pc.in
2300
2303
  - ext/couchbase/cmake/couchbase_cxx_client_static-config.cmake.in
2301
2304
  - ext/couchbase/cmake/couchbase_cxx_client_static.pc.in
2305
+ - ext/couchbase/cmake/gRPC_Generate.cmake
2302
2306
  - ext/couchbase/cmake/include_ssl.hxx.in
2307
+ - ext/couchbase/cmake/protobuf_Generate.cmake
2308
+ - ext/couchbase/cmake/require-git-checkout.cmake
2303
2309
  - ext/couchbase/cmake/tarball_glob.txt
2304
2310
  - ext/couchbase/cmake/test_filesystem.cpp.in
2305
2311
  - ext/couchbase/cmake/test_openssl.cxx
@@ -2315,6 +2321,10 @@ files:
2315
2321
  - ext/couchbase/core/analytics_query_options.cxx
2316
2322
  - ext/couchbase/core/analytics_query_options.hxx
2317
2323
  - ext/couchbase/core/analytics_scan_consistency.hxx
2324
+ - ext/couchbase/core/analytics_stream.cxx
2325
+ - ext/couchbase/core/analytics_stream.hxx
2326
+ - ext/couchbase/core/analytics_stream_component.cxx
2327
+ - ext/couchbase/core/analytics_stream_component.hxx
2318
2328
  - ext/couchbase/core/app_telemetry_address.cxx
2319
2329
  - ext/couchbase/core/app_telemetry_address.hxx
2320
2330
  - ext/couchbase/core/app_telemetry_meter.cxx
@@ -2323,6 +2333,8 @@ files:
2323
2333
  - ext/couchbase/core/app_telemetry_reporter.hxx
2324
2334
  - ext/couchbase/core/bucket.cxx
2325
2335
  - ext/couchbase/core/bucket.hxx
2336
+ - ext/couchbase/core/bucket_unit_test_api.hxx
2337
+ - ext/couchbase/core/capella.hxx
2326
2338
  - ext/couchbase/core/capella_ca.hxx
2327
2339
  - ext/couchbase/core/cluster.cxx
2328
2340
  - ext/couchbase/core/cluster.hxx
@@ -2343,28 +2355,6 @@ files:
2343
2355
  - ext/couchbase/core/collections_component.hxx
2344
2356
  - ext/couchbase/core/collections_component_unit_test_api.hxx
2345
2357
  - ext/couchbase/core/collections_options.hxx
2346
- - ext/couchbase/core/columnar/agent.hxx
2347
- - ext/couchbase/core/columnar/agent_config.hxx
2348
- - ext/couchbase/core/columnar/background_bootstrap_listener.hxx
2349
- - ext/couchbase/core/columnar/backoff_calculator.cxx
2350
- - ext/couchbase/core/columnar/backoff_calculator.hxx
2351
- - ext/couchbase/core/columnar/bootstrap_notification_subscriber.hxx
2352
- - ext/couchbase/core/columnar/columnar_agent.cxx
2353
- - ext/couchbase/core/columnar/columnar_agent_config.cxx
2354
- - ext/couchbase/core/columnar/columnar_error.cxx
2355
- - ext/couchbase/core/columnar/database_management_options.hxx
2356
- - ext/couchbase/core/columnar/error.hxx
2357
- - ext/couchbase/core/columnar/error_codes.cxx
2358
- - ext/couchbase/core/columnar/error_codes.hxx
2359
- - ext/couchbase/core/columnar/management_component.cxx
2360
- - ext/couchbase/core/columnar/management_component.hxx
2361
- - ext/couchbase/core/columnar/query_component.cxx
2362
- - ext/couchbase/core/columnar/query_component.hxx
2363
- - ext/couchbase/core/columnar/query_options.hxx
2364
- - ext/couchbase/core/columnar/query_result.cxx
2365
- - ext/couchbase/core/columnar/query_result.hxx
2366
- - ext/couchbase/core/columnar/retry_info.hxx
2367
- - ext/couchbase/core/columnar/security_options.hxx
2368
2358
  - ext/couchbase/core/config_listener.hxx
2369
2359
  - ext/couchbase/core/config_profile.hxx
2370
2360
  - ext/couchbase/core/config_profiles.cxx
@@ -2389,6 +2379,7 @@ files:
2389
2379
  - ext/couchbase/core/document_id.cxx
2390
2380
  - ext/couchbase/core/document_id.hxx
2391
2381
  - ext/couchbase/core/document_id_fmt.hxx
2382
+ - ext/couchbase/core/document_id_redaction.hxx
2392
2383
  - ext/couchbase/core/durability_options.hxx
2393
2384
  - ext/couchbase/core/error.hxx
2394
2385
  - ext/couchbase/core/error_context/analytics.hxx
@@ -2464,14 +2455,14 @@ files:
2464
2455
  - ext/couchbase/core/impl/geo_polygon_query.cxx
2465
2456
  - ext/couchbase/core/impl/get_all_replicas.hxx
2466
2457
  - ext/couchbase/core/impl/get_any_replica.hxx
2467
- - ext/couchbase/core/impl/get_replica.cxx
2468
- - ext/couchbase/core/impl/get_replica.hxx
2458
+ - ext/couchbase/core/impl/internal_analytics_stream_result.hxx
2469
2459
  - ext/couchbase/core/impl/internal_date_range_facet_result.cxx
2470
2460
  - ext/couchbase/core/impl/internal_date_range_facet_result.hxx
2471
2461
  - ext/couchbase/core/impl/internal_error_context.cxx
2472
2462
  - ext/couchbase/core/impl/internal_error_context.hxx
2473
2463
  - ext/couchbase/core/impl/internal_numeric_range_facet_result.cxx
2474
2464
  - ext/couchbase/core/impl/internal_numeric_range_facet_result.hxx
2465
+ - ext/couchbase/core/impl/internal_query_stream_result.hxx
2475
2466
  - ext/couchbase/core/impl/internal_scan_result.hxx
2476
2467
  - ext/couchbase/core/impl/internal_search_error_context.cxx
2477
2468
  - ext/couchbase/core/impl/internal_search_error_context.hxx
@@ -2513,10 +2504,14 @@ files:
2513
2504
  - ext/couchbase/core/impl/observe_seqno.hxx
2514
2505
  - ext/couchbase/core/impl/phrase_query.cxx
2515
2506
  - ext/couchbase/core/impl/prefix_query.cxx
2507
+ - ext/couchbase/core/impl/public_analytics_stream_result.cxx
2516
2508
  - ext/couchbase/core/impl/public_bucket.cxx
2517
2509
  - ext/couchbase/core/impl/public_cluster.cxx
2518
2510
  - ext/couchbase/core/impl/public_logger.cxx
2511
+ - ext/couchbase/core/impl/public_query_stream_result.cxx
2519
2512
  - ext/couchbase/core/impl/public_scan_result.cxx
2513
+ - ext/couchbase/core/impl/public_transaction_get_multi_replicas_from_preferred_server_group_result.cxx
2514
+ - ext/couchbase/core/impl/public_transaction_get_multi_result.cxx
2520
2515
  - ext/couchbase/core/impl/public_transaction_get_result.cxx
2521
2516
  - ext/couchbase/core/impl/query.cxx
2522
2517
  - ext/couchbase/core/impl/query.hxx
@@ -2527,6 +2522,7 @@ files:
2527
2522
  - ext/couchbase/core/impl/regexp_query.cxx
2528
2523
  - ext/couchbase/core/impl/replica_utils.cxx
2529
2524
  - ext/couchbase/core/impl/replica_utils.hxx
2525
+ - ext/couchbase/core/impl/resolve_node_id.hxx
2530
2526
  - ext/couchbase/core/impl/retry_action.cxx
2531
2527
  - ext/couchbase/core/impl/retry_reason.cxx
2532
2528
  - ext/couchbase/core/impl/retry_reason.hxx
@@ -2576,14 +2572,17 @@ files:
2576
2572
  - ext/couchbase/core/impl/transaction_get_multi_replicas_from_preferred_server_group_spec.cxx
2577
2573
  - ext/couchbase/core/impl/transaction_get_multi_spec.cxx
2578
2574
  - ext/couchbase/core/impl/transaction_op_error_category.cxx
2575
+ - ext/couchbase/core/impl/transactions.cxx
2579
2576
  - ext/couchbase/core/impl/vector_query.cxx
2580
2577
  - ext/couchbase/core/impl/vector_search.cxx
2581
2578
  - ext/couchbase/core/impl/view_error_category.cxx
2579
+ - ext/couchbase/core/impl/wait_until_ready.cxx
2580
+ - ext/couchbase/core/impl/wait_until_ready.hxx
2582
2581
  - ext/couchbase/core/impl/wildcard_query.cxx
2582
+ - ext/couchbase/core/impl/with_bucket_config_or_timeout.hxx
2583
2583
  - ext/couchbase/core/impl/with_cancellation.hxx
2584
2584
  - ext/couchbase/core/impl/with_legacy_durability.hxx
2585
- - ext/couchbase/core/io/config_tracker.cxx
2586
- - ext/couchbase/core/io/config_tracker.hxx
2585
+ - ext/couchbase/core/io/configuration_belongs_to_session.hxx
2587
2586
  - ext/couchbase/core/io/dns_client.cxx
2588
2587
  - ext/couchbase/core/io/dns_client.hxx
2589
2588
  - ext/couchbase/core/io/dns_codec.hxx
@@ -2592,6 +2591,7 @@ files:
2592
2591
  - ext/couchbase/core/io/dns_message.hxx
2593
2592
  - ext/couchbase/core/io/http_command.hxx
2594
2593
  - ext/couchbase/core/io/http_context.hxx
2594
+ - ext/couchbase/core/io/http_error.hxx
2595
2595
  - ext/couchbase/core/io/http_message.hxx
2596
2596
  - ext/couchbase/core/io/http_parser.cxx
2597
2597
  - ext/couchbase/core/io/http_parser.hxx
@@ -2604,18 +2604,23 @@ files:
2604
2604
  - ext/couchbase/core/io/http_streaming_response.hxx
2605
2605
  - ext/couchbase/core/io/http_traits.hxx
2606
2606
  - ext/couchbase/core/io/ip_protocol.hxx
2607
+ - ext/couchbase/core/io/mcbp_buffer_pool.hxx
2607
2608
  - ext/couchbase/core/io/mcbp_command.hxx
2609
+ - ext/couchbase/core/io/mcbp_command_id.hxx
2608
2610
  - ext/couchbase/core/io/mcbp_context.hxx
2609
2611
  - ext/couchbase/core/io/mcbp_message.cxx
2610
2612
  - ext/couchbase/core/io/mcbp_message.hxx
2613
+ - ext/couchbase/core/io/mcbp_output_queue.hxx
2611
2614
  - ext/couchbase/core/io/mcbp_parser.cxx
2612
2615
  - ext/couchbase/core/io/mcbp_parser.hxx
2613
2616
  - ext/couchbase/core/io/mcbp_session.cxx
2614
2617
  - ext/couchbase/core/io/mcbp_session.hxx
2615
2618
  - ext/couchbase/core/io/mcbp_traits.hxx
2619
+ - ext/couchbase/core/io/opaque_ring_table.hxx
2616
2620
  - ext/couchbase/core/io/query_cache.hxx
2617
2621
  - ext/couchbase/core/io/retry_context.hxx
2618
2622
  - ext/couchbase/core/io/retry_orchestrator.hxx
2623
+ - ext/couchbase/core/io/stream_deadline.hxx
2619
2624
  - ext/couchbase/core/io/streams.cxx
2620
2625
  - ext/couchbase/core/io/streams.hxx
2621
2626
  - ext/couchbase/core/json_string.hxx
@@ -2627,6 +2632,7 @@ files:
2627
2632
  - ext/couchbase/core/logger/level.hxx
2628
2633
  - ext/couchbase/core/logger/logger.cxx
2629
2634
  - ext/couchbase/core/logger/logger.hxx
2635
+ - ext/couchbase/core/logger/redaction.hxx
2630
2636
  - ext/couchbase/core/management/analytics_dataset.hxx
2631
2637
  - ext/couchbase/core/management/analytics_index.hxx
2632
2638
  - ext/couchbase/core/management/analytics_link.hxx
@@ -2703,6 +2709,8 @@ files:
2703
2709
  - ext/couchbase/core/n1ql_query_options.hxx
2704
2710
  - ext/couchbase/core/operation_map.hxx
2705
2711
  - ext/couchbase/core/operations.hxx
2712
+ - ext/couchbase/core/operations/analytics_response_parsing.cxx
2713
+ - ext/couchbase/core/operations/analytics_response_parsing.hxx
2706
2714
  - ext/couchbase/core/operations/document_analytics.cxx
2707
2715
  - ext/couchbase/core/operations/document_analytics.hxx
2708
2716
  - ext/couchbase/core/operations/document_append.cxx
@@ -2721,6 +2729,8 @@ files:
2721
2729
  - ext/couchbase/core/operations/document_get_any_replica.hxx
2722
2730
  - ext/couchbase/core/operations/document_get_projected.cxx
2723
2731
  - ext/couchbase/core/operations/document_get_projected.hxx
2732
+ - ext/couchbase/core/operations/document_get_replica.cxx
2733
+ - ext/couchbase/core/operations/document_get_replica.hxx
2724
2734
  - ext/couchbase/core/operations/document_increment.cxx
2725
2735
  - ext/couchbase/core/operations/document_increment.hxx
2726
2736
  - ext/couchbase/core/operations/document_insert.cxx
@@ -2908,6 +2918,8 @@ files:
2908
2918
  - ext/couchbase/core/operations/management/view_index_upsert.cxx
2909
2919
  - ext/couchbase/core/operations/management/view_index_upsert.hxx
2910
2920
  - ext/couchbase/core/operations/operation_traits.hxx
2921
+ - ext/couchbase/core/operations/query_response_parsing.cxx
2922
+ - ext/couchbase/core/operations/query_response_parsing.hxx
2911
2923
  - ext/couchbase/core/operations_fwd.hxx
2912
2924
  - ext/couchbase/core/origin.cxx
2913
2925
  - ext/couchbase/core/origin.hxx
@@ -3015,8 +3027,33 @@ files:
3015
3027
  - ext/couchbase/core/protocol/server_request.hxx
3016
3028
  - ext/couchbase/core/protocol/status.cxx
3017
3029
  - ext/couchbase/core/protocol/status.hxx
3030
+ - ext/couchbase/core/protostellar/analytics_converter.hxx
3031
+ - ext/couchbase/core/protostellar/bucket_admin_converter.hxx
3032
+ - ext/couchbase/core/protostellar/collection_admin_converter.hxx
3033
+ - ext/couchbase/core/protostellar/component.cxx
3034
+ - ext/couchbase/core/protostellar/component.hxx
3035
+ - ext/couchbase/core/protostellar/compression_settings.hxx
3036
+ - ext/couchbase/core/protostellar/credentials.cxx
3037
+ - ext/couchbase/core/protostellar/credentials.hxx
3038
+ - ext/couchbase/core/protostellar/dispatcher.cxx
3039
+ - ext/couchbase/core/protostellar/dispatcher.hxx
3040
+ - ext/couchbase/core/protostellar/error_utils.cxx
3041
+ - ext/couchbase/core/protostellar/error_utils.hxx
3042
+ - ext/couchbase/core/protostellar/json_payload.hxx
3043
+ - ext/couchbase/core/protostellar/kv_converter.cxx
3044
+ - ext/couchbase/core/protostellar/kv_converter.hxx
3045
+ - ext/couchbase/core/protostellar/query_converter.hxx
3046
+ - ext/couchbase/core/protostellar/query_index_admin_converter.hxx
3047
+ - ext/couchbase/core/protostellar/query_proto.hxx
3048
+ - ext/couchbase/core/protostellar/search_converter.hxx
3049
+ - ext/couchbase/core/protostellar/search_index_admin_converter.hxx
3050
+ - ext/couchbase/core/protostellar/view_converter.hxx
3018
3051
  - ext/couchbase/core/public_fwd.hxx
3019
3052
  - ext/couchbase/core/query_context.hxx
3053
+ - ext/couchbase/core/query_stream.cxx
3054
+ - ext/couchbase/core/query_stream.hxx
3055
+ - ext/couchbase/core/query_stream_component.cxx
3056
+ - ext/couchbase/core/query_stream_component.hxx
3020
3057
  - ext/couchbase/core/range_scan_load_balancer.cxx
3021
3058
  - ext/couchbase/core/range_scan_load_balancer.hxx
3022
3059
  - ext/couchbase/core/range_scan_options.cxx
@@ -3030,6 +3067,7 @@ files:
3030
3067
  - ext/couchbase/core/retry_orchestrator.hxx
3031
3068
  - ext/couchbase/core/row_streamer.cxx
3032
3069
  - ext/couchbase/core/row_streamer.hxx
3070
+ - ext/couchbase/core/row_streamer_options.hxx
3033
3071
  - ext/couchbase/core/sasl/CMakeLists.txt
3034
3072
  - ext/couchbase/core/sasl/client.cc
3035
3073
  - ext/couchbase/core/sasl/client.h
@@ -3053,11 +3091,13 @@ files:
3053
3091
  - ext/couchbase/core/search_query_options.cxx
3054
3092
  - ext/couchbase/core/search_query_options.hxx
3055
3093
  - ext/couchbase/core/search_scan_consistency.hxx
3094
+ - ext/couchbase/core/search_scoring.hxx
3056
3095
  - ext/couchbase/core/seed_config.cxx
3057
3096
  - ext/couchbase/core/seed_config.hxx
3058
3097
  - ext/couchbase/core/service_type.hxx
3059
3098
  - ext/couchbase/core/service_type_fmt.hxx
3060
3099
  - ext/couchbase/core/stats_options.hxx
3100
+ - ext/couchbase/core/stream_error_details.hxx
3061
3101
  - ext/couchbase/core/subdoc_options.hxx
3062
3102
  - ext/couchbase/core/timeout_defaults.hxx
3063
3103
  - ext/couchbase/core/tls_context_provider.cxx
@@ -3111,8 +3151,10 @@ files:
3111
3151
  - ext/couchbase/core/transactions/exceptions_fmt.hxx
3112
3152
  - ext/couchbase/core/transactions/forward_compat.cxx
3113
3153
  - ext/couchbase/core/transactions/forward_compat.hxx
3154
+ - ext/couchbase/core/transactions/get_multi_fetch.hxx
3114
3155
  - ext/couchbase/core/transactions/get_multi_orchestrator.cxx
3115
3156
  - ext/couchbase/core/transactions/get_multi_orchestrator.hxx
3157
+ - ext/couchbase/core/transactions/get_multi_transaction_id.hxx
3116
3158
  - ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx
3117
3159
  - ext/couchbase/core/transactions/internal/atr_entry.hxx
3118
3160
  - ext/couchbase/core/transactions/internal/client_record.hxx
@@ -3160,6 +3202,7 @@ files:
3160
3202
  - ext/couchbase/core/utils/contains_string.cxx
3161
3203
  - ext/couchbase/core/utils/contains_string.hxx
3162
3204
  - ext/couchbase/core/utils/crc32.hxx
3205
+ - ext/couchbase/core/utils/deadline.hxx
3163
3206
  - ext/couchbase/core/utils/duration_parser.cxx
3164
3207
  - ext/couchbase/core/utils/duration_parser.hxx
3165
3208
  - ext/couchbase/core/utils/join_strings.hxx
@@ -3173,6 +3216,7 @@ files:
3173
3216
  - ext/couchbase/core/utils/mutation_token.cxx
3174
3217
  - ext/couchbase/core/utils/mutation_token.hxx
3175
3218
  - ext/couchbase/core/utils/name_codec.hxx
3219
+ - ext/couchbase/core/utils/process_id.hxx
3176
3220
  - ext/couchbase/core/utils/split_string.cxx
3177
3221
  - ext/couchbase/core/utils/split_string.hxx
3178
3222
  - ext/couchbase/core/utils/unsigned_leb128.hxx
@@ -3193,8 +3237,10 @@ files:
3193
3237
  - ext/couchbase/couchbase/analytics_metrics.hxx
3194
3238
  - ext/couchbase/couchbase/analytics_options.hxx
3195
3239
  - ext/couchbase/couchbase/analytics_result.hxx
3240
+ - ext/couchbase/couchbase/analytics_row.hxx
3196
3241
  - ext/couchbase/couchbase/analytics_scan_consistency.hxx
3197
3242
  - ext/couchbase/couchbase/analytics_status.hxx
3243
+ - ext/couchbase/couchbase/analytics_stream_result.hxx
3198
3244
  - ext/couchbase/couchbase/analytics_warning.hxx
3199
3245
  - ext/couchbase/couchbase/analyze_document_options.hxx
3200
3246
  - ext/couchbase/couchbase/append_options.hxx
@@ -3211,11 +3257,13 @@ files:
3211
3257
  - ext/couchbase/couchbase/certificate_authenticator.hxx
3212
3258
  - ext/couchbase/couchbase/cluster.hxx
3213
3259
  - ext/couchbase/couchbase/cluster_options.hxx
3260
+ - ext/couchbase/couchbase/cluster_state.hxx
3214
3261
  - ext/couchbase/couchbase/codec/binary_noop_serializer.hxx
3215
3262
  - ext/couchbase/couchbase/codec/codec_flags.hxx
3216
3263
  - ext/couchbase/couchbase/codec/default_json_transcoder.hxx
3217
3264
  - ext/couchbase/couchbase/codec/encoded_value.hxx
3218
3265
  - ext/couchbase/couchbase/codec/json_transcoder.hxx
3266
+ - ext/couchbase/couchbase/codec/lenient_json_transcoder.hxx
3219
3267
  - ext/couchbase/couchbase/codec/raw_binary_transcoder.hxx
3220
3268
  - ext/couchbase/couchbase/codec/raw_json_transcoder.hxx
3221
3269
  - ext/couchbase/couchbase/codec/raw_string_transcoder.hxx
@@ -3313,7 +3361,9 @@ files:
3313
3361
  - ext/couchbase/couchbase/get_links_analytics_options.hxx
3314
3362
  - ext/couchbase/couchbase/get_options.hxx
3315
3363
  - ext/couchbase/couchbase/get_pending_mutations_analytics_options.hxx
3364
+ - ext/couchbase/couchbase/get_replica_options.hxx
3316
3365
  - ext/couchbase/couchbase/get_replica_result.hxx
3366
+ - ext/couchbase/couchbase/get_replica_strategy.hxx
3317
3367
  - ext/couchbase/couchbase/get_result.hxx
3318
3368
  - ext/couchbase/couchbase/get_search_index_options.hxx
3319
3369
  - ext/couchbase/couchbase/highlight_style.hxx
@@ -3372,8 +3422,10 @@ files:
3372
3422
  - ext/couchbase/couchbase/query_options.hxx
3373
3423
  - ext/couchbase/couchbase/query_profile.hxx
3374
3424
  - ext/couchbase/couchbase/query_result.hxx
3425
+ - ext/couchbase/couchbase/query_row.hxx
3375
3426
  - ext/couchbase/couchbase/query_scan_consistency.hxx
3376
3427
  - ext/couchbase/couchbase/query_status.hxx
3428
+ - ext/couchbase/couchbase/query_stream_result.hxx
3377
3429
  - ext/couchbase/couchbase/query_string_query.hxx
3378
3430
  - ext/couchbase/couchbase/query_warning.hxx
3379
3431
  - ext/couchbase/couchbase/read_preference.hxx
@@ -3410,6 +3462,10 @@ files:
3410
3462
  - ext/couchbase/couchbase/search_row_location.hxx
3411
3463
  - ext/couchbase/couchbase/search_row_locations.hxx
3412
3464
  - ext/couchbase/couchbase/search_scan_consistency.hxx
3465
+ - ext/couchbase/couchbase/search_scoring.hxx
3466
+ - ext/couchbase/couchbase/search_scoring_none.hxx
3467
+ - ext/couchbase/couchbase/search_scoring_reciprocal_rank_fusion.hxx
3468
+ - ext/couchbase/couchbase/search_scoring_relative_score_fusion.hxx
3413
3469
  - ext/couchbase/couchbase/search_sort.hxx
3414
3470
  - ext/couchbase/couchbase/search_sort_field.hxx
3415
3471
  - ext/couchbase/couchbase/search_sort_field_missing.hxx
@@ -3478,6 +3534,7 @@ files:
3478
3534
  - ext/couchbase/couchbase/vector_query.hxx
3479
3535
  - ext/couchbase/couchbase/vector_search.hxx
3480
3536
  - ext/couchbase/couchbase/vector_search_options.hxx
3537
+ - ext/couchbase/couchbase/wait_until_ready_options.hxx
3481
3538
  - ext/couchbase/couchbase/wan_development_configuration_profile.hxx
3482
3539
  - ext/couchbase/couchbase/watch_query_indexes_options.hxx
3483
3540
  - ext/couchbase/couchbase/wildcard_query.hxx
@@ -3548,6 +3605,7 @@ files:
3548
3605
  - lib/couchbase/diagnostics.rb
3549
3606
  - lib/couchbase/errors.rb
3550
3607
  - lib/couchbase/fork_hooks.rb
3608
+ - lib/couchbase/get_replica_strategy.rb
3551
3609
  - lib/couchbase/json_transcoder.rb
3552
3610
  - lib/couchbase/key_value_scan.rb
3553
3611
  - lib/couchbase/logger.rb
@@ -3635,6 +3693,7 @@ files:
3635
3693
  - lib/couchbase/protostellar/retry/reason.rb
3636
3694
  - lib/couchbase/protostellar/retry/strategies.rb
3637
3695
  - lib/couchbase/protostellar/retry/strategies/best_effort.rb
3696
+ - lib/couchbase/protostellar/retry/strategies/fail_fast.rb
3638
3697
  - lib/couchbase/protostellar/scope.rb
3639
3698
  - lib/couchbase/protostellar/timeout_defaults.rb
3640
3699
  - lib/couchbase/protostellar/timeouts.rb
@@ -3670,9 +3729,9 @@ metadata:
3670
3729
  homepage_uri: https://docs.couchbase.com/ruby-sdk/current/hello-world/start-using-sdk.html
3671
3730
  bug_tracker_uri: https://jira.issues.couchbase.com/browse/RCBC
3672
3731
  mailing_list_uri: https://www.couchbase.com/forums/c/ruby-sdk
3673
- source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.8.1
3674
- changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.8.1
3675
- documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.8.1/index.html
3732
+ source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.9.0
3733
+ changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.9.0
3734
+ documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.9.0/index.html
3676
3735
  github_repo: https://github.com/couchbase/couchbase-ruby-client
3677
3736
  rubygems_mfa_required: 'true'
3678
3737
  post_install_message:
@@ -1,40 +0,0 @@
1
- From 6bdc93aac66f2282823dceee802b60e2447c4ba9 Mon Sep 17 00:00:00 2001
2
- From: Sergey Avseyev <sergey.avseyev@gmail.com>
3
- Date: Fri, 20 Oct 2023 20:48:33 -0700
4
- Subject: [PATCH] fix build for mingw-w64-ucrt-x86_64-toolchain
5
-
6
- ---
7
- src/crypto/CMakeLists.txt | 4 ++++
8
- src/crypto/curve25519/internal.h | 2 +-
9
- 2 files changed, 5 insertions(+), 1 deletion(-)
10
-
11
- diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt
12
- index 68fb65b30..f53a9eee9 100644
13
- --- a/src/crypto/CMakeLists.txt
14
- +++ b/src/crypto/CMakeLists.txt
15
- @@ -335,6 +335,10 @@ if(WIN32)
16
- target_link_libraries(crypto ws2_32)
17
- endif()
18
-
19
- +if(MINGW)
20
- + target_link_libraries(crypto --static-libgcc --static-libstdc++)
21
- +endif()
22
- +
23
- if(NOT ANDROID)
24
- find_package(Threads REQUIRED)
25
- target_link_libraries(crypto Threads::Threads)
26
- diff --git a/src/crypto/curve25519/internal.h b/src/crypto/curve25519/internal.h
27
- index 0cd1a12aa..ab33badc0 100644
28
- --- a/src/crypto/curve25519/internal.h
29
- +++ b/src/crypto/curve25519/internal.h
30
- @@ -32,7 +32,7 @@ void x25519_NEON(uint8_t out[32], const uint8_t scalar[32],
31
- #endif
32
-
33
- #if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_SMALL) && \
34
- - defined(__GNUC__) && defined(__x86_64__)
35
- + defined(__GNUC__) && defined(__x86_64__) && !defined(__MINGW32__)
36
- #define BORINGSSL_FE25519_ADX
37
-
38
- // fiat_curve25519_adx_mul is defined in
39
- --
40
- 2.42.0.windows.2
@@ -1,71 +0,0 @@
1
- /* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright 2024. 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 "agent_config.hxx"
21
- #include "core/free_form_http_request.hxx"
22
- #include "core/pending_operation.hxx"
23
- #include "database_management_options.hxx"
24
- #include "error.hxx"
25
- #include "query_options.hxx"
26
-
27
- #include <asio/io_context.hpp>
28
- #include <tl/expected.hpp>
29
-
30
- #include <memory>
31
- #include <system_error>
32
-
33
- namespace couchbase
34
- {
35
- class retry_strategy;
36
- } // namespace couchbase
37
-
38
- namespace couchbase::core::columnar
39
- {
40
- class agent_impl;
41
-
42
- class agent
43
- {
44
- public:
45
- explicit agent(asio::io_context& io, agent_config config);
46
-
47
- auto free_form_http_request(const http_request& request,
48
- free_form_http_request_callback&& callback)
49
- -> tl::expected<std::shared_ptr<pending_operation>, error_union>;
50
-
51
- auto free_form_http_request_buffered(const http_request& request,
52
- buffered_free_form_http_request_callback&& callback)
53
- -> tl::expected<std::shared_ptr<pending_operation>, std::error_code>;
54
-
55
- auto execute_query(const query_options& options, query_callback&& callback)
56
- -> tl::expected<std::shared_ptr<pending_operation>, error>;
57
-
58
- auto database_fetch_all(const fetch_all_databases_options& options,
59
- fetch_all_databases_callback&& callback)
60
- -> tl::expected<std::shared_ptr<pending_operation>, error>;
61
-
62
- auto database_drop(const drop_database_options& options, drop_database_callback&& callback)
63
- -> tl::expected<std::shared_ptr<pending_operation>, error>;
64
-
65
- auto database_create(const create_database_options& options, create_database_callback&& callback)
66
- -> tl::expected<std::shared_ptr<pending_operation>, error>;
67
-
68
- private:
69
- std::shared_ptr<agent_impl> impl_;
70
- };
71
- } // namespace couchbase::core::columnar
@@ -1,59 +0,0 @@
1
- /* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright 2024. 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/core_sdk_shim.hxx"
21
- #include "core/key_value_config.hxx"
22
- #include "core/seed_config.hxx"
23
-
24
- #include <memory>
25
- #include <string>
26
-
27
- namespace couchbase
28
- {
29
- class retry_strategy;
30
- } // namespace couchbase
31
-
32
- namespace couchbase::core::columnar
33
- {
34
- struct timeout_config {
35
- static constexpr std::chrono::milliseconds default_connect_timeout{ 10'000 };
36
- static constexpr std::chrono::milliseconds default_dispatch_timeout{ 30'000 };
37
- static constexpr std::chrono::milliseconds default_query_timeout{ 600'000 };
38
- static constexpr std::chrono::milliseconds default_management_timeout{ 30'000 };
39
-
40
- // TODO(DC): Use connect_timeout and dispatch_timeout once the agent provides an entry point for
41
- // opening the cluster
42
- std::chrono::milliseconds connect_timeout{ default_connect_timeout }; // Not currently used
43
- std::chrono::milliseconds dispatch_timeout{ default_dispatch_timeout }; // Not currently used
44
-
45
- std::chrono::milliseconds query_timeout{ default_query_timeout };
46
- std::chrono::milliseconds management_timeout{ default_management_timeout };
47
-
48
- [[nodiscard]] auto to_string() const -> std::string;
49
- };
50
-
51
- struct agent_config {
52
- core_sdk_shim shim; // TODO: remove once refactoring will be finished.
53
-
54
- timeout_config timeouts{};
55
- std::string user_agent{};
56
-
57
- [[nodiscard]] auto to_string() const -> std::string;
58
- };
59
- } // namespace couchbase::core::columnar
@@ -1,42 +0,0 @@
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 "bootstrap_notification_subscriber.hxx"
21
- #include "core/impl/bootstrap_error.hxx"
22
-
23
- #include <memory>
24
- #include <string>
25
-
26
- namespace couchbase::core::columnar
27
- {
28
-
29
- class background_bootstrap_listener
30
- {
31
- public:
32
- virtual ~background_bootstrap_listener() = default;
33
- virtual void notify_bootstrap_error(const core::impl::bootstrap_error& error) = 0;
34
- virtual void notify_bootstrap_success(const std::string& session_id) = 0;
35
-
36
- virtual void register_bootstrap_notification_subscriber(
37
- std::shared_ptr<bootstrap_notification_subscriber> subscriber) = 0;
38
- virtual void unregister_bootstrap_notification_subscriber(
39
- std::shared_ptr<bootstrap_notification_subscriber> subscriber) = 0;
40
- };
41
-
42
- } // namespace couchbase::core::columnar