couchbase 3.4.2 → 3.4.4

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 (355) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/couchbase/CMakeLists.txt +71 -7
  4. data/ext/couchbase/cmake/Documentation.cmake +0 -1
  5. data/ext/couchbase/cmake/OpenSSL.cmake +98 -3
  6. data/ext/couchbase/cmake/Testing.cmake +12 -4
  7. data/ext/couchbase/cmake/build_config.hxx.in +3 -0
  8. data/ext/couchbase/core/bucket.cxx +183 -151
  9. data/ext/couchbase/core/bucket.hxx +23 -1
  10. data/ext/couchbase/core/cluster.hxx +51 -13
  11. data/ext/couchbase/core/cluster_options.cxx +2 -2
  12. data/ext/couchbase/core/cluster_options.hxx +7 -6
  13. data/ext/couchbase/core/cluster_options_fwd.hxx +26 -0
  14. data/ext/couchbase/core/config_profile.hxx +1 -54
  15. data/ext/couchbase/core/config_profiles.cxx +79 -0
  16. data/ext/couchbase/core/config_profiles.hxx +56 -0
  17. data/ext/couchbase/core/crud_component.cxx +51 -22
  18. data/ext/couchbase/core/error_context/key_value.cxx +2 -1
  19. data/ext/couchbase/core/error_context/key_value.hxx +10 -12
  20. data/ext/couchbase/core/error_context/search.hxx +1 -1
  21. data/ext/couchbase/core/impl/analytics.cxx +1 -0
  22. data/ext/couchbase/core/impl/boolean_field_query.cxx +40 -0
  23. data/ext/couchbase/core/impl/boolean_query.cxx +62 -0
  24. data/ext/couchbase/core/impl/build_deferred_query_indexes.cxx +115 -50
  25. data/ext/couchbase/core/impl/cluster.cxx +8 -0
  26. data/ext/couchbase/core/impl/conjunction_query.cxx +51 -0
  27. data/ext/couchbase/core/impl/create_bucket.cxx +155 -0
  28. data/ext/couchbase/core/impl/create_query_index.cxx +172 -59
  29. data/ext/couchbase/core/impl/date_range.cxx +89 -0
  30. data/ext/couchbase/core/impl/date_range_facet.cxx +54 -0
  31. data/ext/couchbase/core/impl/date_range_facet_result.cxx +64 -0
  32. data/ext/couchbase/core/impl/date_range_query.cxx +125 -0
  33. data/ext/couchbase/core/impl/disjunction_query.cxx +51 -0
  34. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +2 -1
  35. data/ext/couchbase/core/impl/drop_bucket.cxx +66 -0
  36. data/ext/couchbase/core/impl/drop_query_index.cxx +138 -59
  37. data/ext/couchbase/core/impl/encoded_search_facet.hxx +29 -0
  38. data/ext/couchbase/core/impl/encoded_search_query.hxx +29 -0
  39. data/ext/couchbase/core/impl/encoded_search_sort.hxx +29 -0
  40. data/ext/couchbase/core/impl/flush_bucket.cxx +66 -0
  41. data/ext/couchbase/core/impl/geo_bounding_box_query.cxx +46 -0
  42. data/ext/couchbase/core/impl/geo_distance_query.cxx +43 -0
  43. data/ext/couchbase/core/impl/geo_polygon_query.cxx +46 -0
  44. data/ext/couchbase/core/impl/get_all_buckets.cxx +163 -0
  45. data/ext/couchbase/core/impl/get_all_query_indexes.cxx +67 -37
  46. data/ext/couchbase/core/impl/get_bucket.cxx +153 -0
  47. data/ext/couchbase/core/impl/internal_date_range_facet_result.cxx +80 -0
  48. data/ext/couchbase/core/impl/internal_date_range_facet_result.hxx +48 -0
  49. data/ext/couchbase/core/impl/internal_manager_error_context.cxx +113 -0
  50. data/ext/couchbase/core/impl/internal_manager_error_context.hxx +60 -0
  51. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.cxx +80 -0
  52. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.hxx +48 -0
  53. data/ext/couchbase/core/impl/internal_search_error_context.cxx +141 -0
  54. data/ext/couchbase/core/impl/internal_search_error_context.hxx +61 -0
  55. data/ext/couchbase/core/impl/internal_search_meta_data.cxx +60 -0
  56. data/ext/couchbase/core/impl/internal_search_meta_data.hxx +41 -0
  57. data/ext/couchbase/core/impl/internal_search_result.cxx +84 -0
  58. data/ext/couchbase/core/impl/internal_search_result.hxx +43 -0
  59. data/ext/couchbase/core/impl/internal_search_row.cxx +82 -0
  60. data/ext/couchbase/core/impl/internal_search_row.hxx +56 -0
  61. data/ext/couchbase/core/impl/internal_search_row_location.hxx +32 -0
  62. data/ext/couchbase/core/impl/internal_search_row_locations.cxx +137 -0
  63. data/ext/couchbase/core/impl/internal_search_row_locations.hxx +45 -0
  64. data/ext/couchbase/core/impl/internal_term_facet_result.cxx +80 -0
  65. data/ext/couchbase/core/impl/internal_term_facet_result.hxx +48 -0
  66. data/ext/couchbase/core/impl/key_value_error_category.cxx +2 -4
  67. data/ext/couchbase/core/impl/key_value_error_context.cxx +98 -0
  68. data/ext/couchbase/core/impl/lookup_in.cxx +1 -0
  69. data/ext/couchbase/core/impl/lookup_in_all_replicas.cxx +176 -0
  70. data/ext/couchbase/core/impl/lookup_in_all_replicas.hxx +80 -0
  71. data/ext/couchbase/core/impl/lookup_in_any_replica.cxx +167 -0
  72. data/ext/couchbase/core/impl/lookup_in_any_replica.hxx +75 -0
  73. data/ext/couchbase/core/impl/lookup_in_replica.cxx +97 -0
  74. data/ext/couchbase/core/impl/lookup_in_replica.hxx +67 -0
  75. data/ext/couchbase/core/impl/manager_error_context.cxx +100 -0
  76. data/ext/couchbase/core/impl/match_all_query.cxx +35 -0
  77. data/ext/couchbase/core/impl/match_none_query.cxx +35 -0
  78. data/ext/couchbase/core/impl/match_phrase_query.cxx +43 -0
  79. data/ext/couchbase/core/impl/match_query.cxx +59 -0
  80. data/ext/couchbase/core/impl/numeric_range.cxx +49 -0
  81. data/ext/couchbase/core/impl/numeric_range_facet.cxx +54 -0
  82. data/ext/couchbase/core/impl/numeric_range_facet_result.cxx +64 -0
  83. data/ext/couchbase/core/impl/numeric_range_query.cxx +56 -0
  84. data/ext/couchbase/core/impl/phrase_query.cxx +42 -0
  85. data/ext/couchbase/core/impl/prefix_query.cxx +40 -0
  86. data/ext/couchbase/core/impl/query.cxx +1 -0
  87. data/ext/couchbase/core/impl/query_error_context.cxx +75 -0
  88. data/ext/couchbase/core/impl/query_string_query.cxx +37 -0
  89. data/ext/couchbase/core/impl/regexp_query.cxx +40 -0
  90. data/ext/couchbase/core/impl/search.cxx +191 -0
  91. data/ext/couchbase/core/impl/search_error_context.cxx +147 -0
  92. data/ext/couchbase/core/impl/search_meta_data.cxx +46 -0
  93. data/ext/couchbase/core/impl/search_result.cxx +66 -0
  94. data/ext/couchbase/core/impl/search_row.cxx +74 -0
  95. data/ext/couchbase/core/impl/search_row_location.cxx +64 -0
  96. data/ext/couchbase/core/impl/search_row_locations.cxx +66 -0
  97. data/ext/couchbase/core/impl/search_sort_field.cxx +104 -0
  98. data/ext/couchbase/core/impl/search_sort_id.cxx +43 -0
  99. data/ext/couchbase/core/impl/search_sort_score.cxx +43 -0
  100. data/ext/couchbase/core/impl/term_facet.cxx +36 -0
  101. data/ext/couchbase/core/impl/term_facet_result.cxx +64 -0
  102. data/ext/couchbase/core/impl/term_query.cxx +56 -0
  103. data/ext/couchbase/core/impl/term_range_query.cxx +57 -0
  104. data/ext/couchbase/core/impl/update_bucket.cxx +130 -0
  105. data/ext/couchbase/core/impl/watch_query_indexes.cxx +53 -29
  106. data/ext/couchbase/core/impl/wildcard_query.cxx +40 -0
  107. data/ext/couchbase/core/io/dns_client.cxx +111 -40
  108. data/ext/couchbase/core/io/dns_config.cxx +5 -4
  109. data/ext/couchbase/core/io/http_context.hxx +1 -1
  110. data/ext/couchbase/core/io/http_session.hxx +34 -1
  111. data/ext/couchbase/core/io/http_session_manager.hxx +5 -3
  112. data/ext/couchbase/core/io/mcbp_command.hxx +9 -2
  113. data/ext/couchbase/core/io/mcbp_session.cxx +106 -42
  114. data/ext/couchbase/core/io/mcbp_session.hxx +4 -3
  115. data/ext/couchbase/core/io/retry_orchestrator.hxx +3 -2
  116. data/ext/couchbase/core/json_string.hxx +5 -0
  117. data/ext/couchbase/core/logger/custom_rotating_file_sink.cxx +1 -1
  118. data/ext/couchbase/core/logger/logger.cxx +80 -20
  119. data/ext/couchbase/core/logger/logger.hxx +31 -0
  120. data/ext/couchbase/core/meta/features.hxx +25 -0
  121. data/ext/couchbase/core/meta/version.cxx +18 -4
  122. data/ext/couchbase/core/mozilla_ca_bundle.hxx +39 -0
  123. data/ext/couchbase/core/operations/document_analytics.cxx +1 -0
  124. data/ext/couchbase/core/operations/document_analytics.hxx +1 -0
  125. data/ext/couchbase/core/operations/document_append.hxx +1 -1
  126. data/ext/couchbase/core/operations/document_decrement.hxx +1 -1
  127. data/ext/couchbase/core/operations/document_exists.hxx +1 -1
  128. data/ext/couchbase/core/operations/document_get.hxx +1 -1
  129. data/ext/couchbase/core/operations/document_get_and_lock.hxx +1 -1
  130. data/ext/couchbase/core/operations/document_get_and_touch.hxx +1 -1
  131. data/ext/couchbase/core/operations/document_get_projected.hxx +1 -1
  132. data/ext/couchbase/core/operations/document_increment.hxx +1 -1
  133. data/ext/couchbase/core/operations/document_insert.hxx +1 -1
  134. data/ext/couchbase/core/operations/document_lookup_in.hxx +1 -1
  135. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +192 -0
  136. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +188 -0
  137. data/ext/couchbase/core/operations/document_mutate_in.hxx +1 -1
  138. data/ext/couchbase/core/operations/document_prepend.hxx +1 -1
  139. data/ext/couchbase/core/operations/document_query.cxx +13 -0
  140. data/ext/couchbase/core/operations/document_query.hxx +7 -0
  141. data/ext/couchbase/core/operations/document_remove.hxx +1 -1
  142. data/ext/couchbase/core/operations/document_replace.hxx +1 -1
  143. data/ext/couchbase/core/operations/document_search.cxx +4 -1
  144. data/ext/couchbase/core/operations/document_search.hxx +2 -1
  145. data/ext/couchbase/core/operations/document_touch.hxx +1 -1
  146. data/ext/couchbase/core/operations/document_unlock.hxx +1 -1
  147. data/ext/couchbase/core/operations/document_upsert.hxx +1 -1
  148. data/ext/couchbase/core/operations/document_view.hxx +1 -0
  149. data/ext/couchbase/core/operations.hxx +2 -0
  150. data/ext/couchbase/core/origin.cxx +270 -0
  151. data/ext/couchbase/core/origin.hxx +2 -0
  152. data/ext/couchbase/core/protocol/client_request.hxx +11 -2
  153. data/ext/couchbase/core/protocol/client_response.hxx +1 -0
  154. data/ext/couchbase/core/protocol/cmd_hello.hxx +1 -0
  155. data/ext/couchbase/core/protocol/cmd_lookup_in_replica.cxx +107 -0
  156. data/ext/couchbase/core/protocol/cmd_lookup_in_replica.hxx +137 -0
  157. data/ext/couchbase/core/protocol/hello_feature.hxx +6 -0
  158. data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +3 -0
  159. data/ext/couchbase/core/protocol/status.cxx +2 -2
  160. data/ext/couchbase/core/public_fwd.hxx +21 -0
  161. data/ext/couchbase/core/range_scan_options.cxx +3 -27
  162. data/ext/couchbase/core/range_scan_options.hxx +13 -17
  163. data/ext/couchbase/core/range_scan_orchestrator.cxx +388 -170
  164. data/ext/couchbase/core/range_scan_orchestrator.hxx +13 -2
  165. data/ext/couchbase/core/range_scan_orchestrator_options.hxx +5 -3
  166. data/ext/couchbase/core/scan_options.hxx +0 -19
  167. data/ext/couchbase/core/scan_result.cxx +19 -5
  168. data/ext/couchbase/core/scan_result.hxx +5 -2
  169. data/ext/couchbase/core/timeout_defaults.hxx +2 -3
  170. data/ext/couchbase/core/tls_verify_mode.hxx +26 -0
  171. data/ext/couchbase/core/topology/capabilities.hxx +3 -0
  172. data/ext/couchbase/core/topology/capabilities_fmt.hxx +8 -0
  173. data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +1 -1
  174. data/ext/couchbase/core/topology/configuration.cxx +15 -2
  175. data/ext/couchbase/core/topology/configuration.hxx +20 -1
  176. data/ext/couchbase/core/topology/configuration_json.hxx +6 -1
  177. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.cxx +93 -0
  178. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.hxx +48 -75
  179. data/ext/couchbase/core/transactions/cleanup_testing_hooks.cxx +52 -0
  180. data/ext/couchbase/core/transactions/cleanup_testing_hooks.hxx +17 -31
  181. data/ext/couchbase/core/transactions/exceptions.hxx +12 -9
  182. data/ext/couchbase/core/utils/connection_string.cxx +75 -43
  183. data/ext/couchbase/core/utils/connection_string.hxx +1 -0
  184. data/ext/couchbase/core/utils/json.cxx +4 -1
  185. data/ext/couchbase/couchbase/analytics_error_context.hxx +1 -1
  186. data/ext/couchbase/couchbase/behavior_options.hxx +27 -1
  187. data/ext/couchbase/couchbase/boolean_field_query.hxx +77 -0
  188. data/ext/couchbase/couchbase/boolean_query.hxx +223 -0
  189. data/ext/couchbase/couchbase/bucket_manager.hxx +135 -0
  190. data/ext/couchbase/couchbase/build_query_index_options.hxx +0 -30
  191. data/ext/couchbase/couchbase/cluster.hxx +56 -1
  192. data/ext/couchbase/couchbase/collection.hxx +111 -0
  193. data/ext/couchbase/couchbase/collection_query_index_manager.hxx +7 -48
  194. data/ext/couchbase/couchbase/conjunction_query.hxx +88 -0
  195. data/ext/couchbase/couchbase/create_bucket_options.hxx +41 -0
  196. data/ext/couchbase/couchbase/create_primary_query_index_options.hxx +0 -29
  197. data/ext/couchbase/couchbase/create_query_index_options.hxx +0 -33
  198. data/ext/couchbase/couchbase/date_range.hxx +69 -0
  199. data/ext/couchbase/couchbase/date_range_facet.hxx +56 -0
  200. data/ext/couchbase/couchbase/date_range_facet_result.hxx +55 -0
  201. data/ext/couchbase/couchbase/date_range_query.hxx +265 -0
  202. data/ext/couchbase/couchbase/disjunction_query.hxx +109 -0
  203. data/ext/couchbase/couchbase/doc_id_query.hxx +111 -0
  204. data/ext/couchbase/couchbase/drop_bucket_options.hxx +41 -0
  205. data/ext/couchbase/couchbase/drop_primary_query_index_options.hxx +0 -30
  206. data/ext/couchbase/couchbase/drop_query_index_options.hxx +0 -31
  207. data/ext/couchbase/couchbase/error_codes.hxx +1 -2
  208. data/ext/couchbase/couchbase/error_context.hxx +17 -8
  209. data/ext/couchbase/couchbase/flush_bucket_options.hxx +41 -0
  210. data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +52 -0
  211. data/ext/couchbase/{core/topology/error_map_fmt.hxx → couchbase/fmt/key_value_error_map_attribute.hxx} +21 -21
  212. data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +49 -0
  213. data/ext/couchbase/couchbase/geo_bounding_box_query.hxx +107 -0
  214. data/ext/couchbase/couchbase/geo_distance_query.hxx +109 -0
  215. data/ext/couchbase/couchbase/geo_point.hxx +32 -0
  216. data/ext/couchbase/couchbase/geo_polygon_query.hxx +85 -0
  217. data/ext/couchbase/couchbase/get_all_buckets_options.hxx +44 -0
  218. data/ext/couchbase/couchbase/get_all_query_indexes_options.hxx +0 -30
  219. data/ext/couchbase/couchbase/get_and_lock_options.hxx +2 -2
  220. data/ext/couchbase/couchbase/get_and_touch_options.hxx +2 -2
  221. data/ext/couchbase/couchbase/get_bucket_options.hxx +43 -0
  222. data/ext/couchbase/couchbase/get_options.hxx +2 -2
  223. data/ext/couchbase/couchbase/highlight_style.hxx +45 -0
  224. data/ext/couchbase/couchbase/insert_options.hxx +3 -3
  225. data/ext/couchbase/couchbase/key_value_error_context.hxx +7 -2
  226. data/ext/couchbase/couchbase/lookup_in_all_replicas_options.hxx +109 -0
  227. data/ext/couchbase/couchbase/lookup_in_any_replica_options.hxx +101 -0
  228. data/ext/couchbase/couchbase/lookup_in_options.hxx +2 -2
  229. data/ext/couchbase/couchbase/lookup_in_replica_result.hxx +74 -0
  230. data/ext/couchbase/couchbase/lookup_in_result.hxx +26 -0
  231. data/ext/couchbase/couchbase/management/bucket_settings.hxx +116 -0
  232. data/ext/couchbase/couchbase/manager_error_context.hxx +29 -53
  233. data/ext/couchbase/couchbase/match_all_query.hxx +43 -0
  234. data/ext/couchbase/couchbase/match_none_query.hxx +43 -0
  235. data/ext/couchbase/couchbase/match_operator.hxx +45 -0
  236. data/ext/couchbase/couchbase/match_phrase_query.hxx +108 -0
  237. data/ext/couchbase/couchbase/match_query.hxx +163 -0
  238. data/ext/couchbase/couchbase/mutate_in_options.hxx +2 -2
  239. data/ext/couchbase/couchbase/numeric_range.hxx +58 -0
  240. data/ext/couchbase/couchbase/numeric_range_facet.hxx +56 -0
  241. data/ext/couchbase/couchbase/numeric_range_facet_result.hxx +55 -0
  242. data/ext/couchbase/couchbase/numeric_range_query.hxx +143 -0
  243. data/ext/couchbase/couchbase/phrase_query.hxx +93 -0
  244. data/ext/couchbase/couchbase/prefix_query.hxx +82 -0
  245. data/ext/couchbase/couchbase/query_error_context.hxx +3 -1
  246. data/ext/couchbase/couchbase/query_index_manager.hxx +16 -83
  247. data/ext/couchbase/couchbase/query_options.hxx +18 -0
  248. data/ext/couchbase/couchbase/query_string_query.hxx +72 -0
  249. data/ext/couchbase/couchbase/regexp_query.hxx +82 -0
  250. data/ext/couchbase/couchbase/remove_options.hxx +2 -2
  251. data/ext/couchbase/couchbase/replace_options.hxx +3 -3
  252. data/ext/couchbase/couchbase/scope.hxx +40 -0
  253. data/ext/couchbase/couchbase/search_date_range.hxx +68 -0
  254. data/ext/couchbase/couchbase/search_error_context.hxx +138 -0
  255. data/ext/couchbase/couchbase/search_facet.hxx +60 -0
  256. data/ext/couchbase/couchbase/search_facet_result.hxx +50 -0
  257. data/ext/couchbase/couchbase/search_meta_data.hxx +85 -0
  258. data/ext/couchbase/couchbase/search_metrics.hxx +127 -0
  259. data/ext/couchbase/couchbase/search_numeric_range.hxx +69 -0
  260. data/ext/couchbase/couchbase/search_options.hxx +509 -0
  261. data/ext/couchbase/couchbase/search_query.hxx +69 -0
  262. data/ext/couchbase/couchbase/search_result.hxx +77 -0
  263. data/ext/couchbase/couchbase/search_row.hxx +104 -0
  264. data/ext/couchbase/couchbase/search_row_location.hxx +55 -0
  265. data/ext/couchbase/couchbase/search_row_locations.hxx +86 -0
  266. data/ext/couchbase/couchbase/search_scan_consistency.hxx +34 -0
  267. data/ext/couchbase/couchbase/search_sort.hxx +58 -0
  268. data/ext/couchbase/couchbase/search_sort_field.hxx +117 -0
  269. data/ext/couchbase/couchbase/search_sort_field_missing.hxx +26 -0
  270. data/ext/couchbase/couchbase/search_sort_field_mode.hxx +27 -0
  271. data/ext/couchbase/couchbase/search_sort_field_type.hxx +28 -0
  272. data/ext/couchbase/couchbase/search_sort_id.hxx +60 -0
  273. data/ext/couchbase/couchbase/search_sort_score.hxx +60 -0
  274. data/ext/couchbase/couchbase/search_term_range.hxx +51 -0
  275. data/ext/couchbase/couchbase/security_options.hxx +18 -0
  276. data/ext/couchbase/couchbase/subdocument_error_context.hxx +4 -2
  277. data/ext/couchbase/couchbase/term_facet.hxx +48 -0
  278. data/ext/couchbase/couchbase/term_facet_result.hxx +55 -0
  279. data/ext/couchbase/couchbase/term_query.hxx +151 -0
  280. data/ext/couchbase/couchbase/term_range_query.hxx +142 -0
  281. data/ext/couchbase/couchbase/touch_options.hxx +2 -2
  282. data/ext/couchbase/couchbase/tracing/request_span.hxx +63 -0
  283. data/ext/couchbase/couchbase/tracing/request_tracer.hxx +2 -40
  284. data/ext/couchbase/couchbase/transactions/async_attempt_context.hxx +83 -4
  285. data/ext/couchbase/couchbase/transactions/attempt_context.hxx +67 -0
  286. data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +2 -0
  287. data/ext/couchbase/couchbase/transactions/transaction_keyspace.hxx +11 -1
  288. data/ext/couchbase/couchbase/transactions/transaction_options.hxx +79 -8
  289. data/ext/couchbase/couchbase/transactions/transaction_query_options.hxx +128 -15
  290. data/ext/couchbase/couchbase/transactions/transaction_query_result.hxx +4 -0
  291. data/ext/couchbase/couchbase/transactions/transaction_result.hxx +1 -1
  292. data/ext/couchbase/couchbase/transactions/transactions_cleanup_config.hxx +5 -3
  293. data/ext/couchbase/couchbase/transactions/transactions_config.hxx +9 -5
  294. data/ext/couchbase/couchbase/transactions/transactions_query_config.hxx +6 -3
  295. data/ext/couchbase/couchbase/transactions.hxx +34 -1
  296. data/ext/couchbase/couchbase/unlock_options.hxx +2 -2
  297. data/ext/couchbase/couchbase/update_bucket_options.hxx +41 -0
  298. data/ext/couchbase/couchbase/upsert_options.hxx +3 -3
  299. data/ext/couchbase/couchbase/watch_query_indexes_options.hxx +0 -31
  300. data/ext/couchbase/couchbase/wildcard_query.hxx +83 -0
  301. data/ext/couchbase/test/CMakeLists.txt +8 -5
  302. data/ext/couchbase/test/benchmark_helper_integration.hxx +2 -2
  303. data/ext/couchbase/test/test_helper.hxx +5 -5
  304. data/ext/couchbase/test/test_integration_analytics.cxx +28 -6
  305. data/ext/couchbase/test/test_integration_collections.cxx +13 -3
  306. data/ext/couchbase/test/test_integration_connect.cxx +7 -3
  307. data/ext/couchbase/test/test_integration_crud.cxx +18 -3
  308. data/ext/couchbase/test/test_integration_diagnostics.cxx +11 -5
  309. data/ext/couchbase/test/test_integration_durability.cxx +12 -7
  310. data/ext/couchbase/test/test_integration_examples.cxx +419 -11
  311. data/ext/couchbase/test/test_integration_management.cxx +867 -368
  312. data/ext/couchbase/test/test_integration_query.cxx +87 -17
  313. data/ext/couchbase/test/test_integration_range_scan.cxx +363 -124
  314. data/ext/couchbase/test/test_integration_read_replica.cxx +48 -11
  315. data/ext/couchbase/test/test_integration_search.cxx +32 -3
  316. data/ext/couchbase/test/test_integration_subdoc.cxx +717 -11
  317. data/ext/couchbase/test/test_integration_tracer.cxx +5 -0
  318. data/ext/couchbase/test/test_integration_transcoders.cxx +13 -5
  319. data/ext/couchbase/test/{test_transaction_transaction_context.cxx → test_transaction_context.cxx} +1 -1
  320. data/ext/couchbase/test/test_transaction_examples.cxx +195 -0
  321. data/ext/couchbase/test/{test_transaction_transaction_public_async_api.cxx → test_transaction_public_async_api.cxx} +13 -12
  322. data/ext/couchbase/test/{test_transaction_transaction_public_blocking_api.cxx → test_transaction_public_blocking_api.cxx} +27 -21
  323. data/ext/couchbase/test/{test_transaction_transaction_simple.cxx → test_transaction_simple.cxx} +17 -5
  324. data/ext/couchbase/test/{test_transaction_transaction_simple_async.cxx → test_transaction_simple_async.cxx} +19 -21
  325. data/ext/couchbase/test/test_unit_config_profiles.cxx +1 -1
  326. data/ext/couchbase/test/test_unit_connection_string.cxx +29 -0
  327. data/ext/couchbase/test/test_unit_json_transcoder.cxx +4 -0
  328. data/ext/couchbase/test/test_unit_query.cxx +75 -0
  329. data/ext/couchbase/test/test_unit_search.cxx +427 -0
  330. data/ext/couchbase/test/test_unit_transaction_utils.cxx +10 -1
  331. data/ext/couchbase/test/test_unit_utils.cxx +8 -4
  332. data/ext/couchbase.cxx +641 -45
  333. data/ext/revisions.rb +3 -3
  334. data/lib/couchbase/authenticator.rb +0 -1
  335. data/lib/couchbase/cluster.rb +1 -5
  336. data/lib/couchbase/collection.rb +108 -0
  337. data/lib/couchbase/collection_options.rb +100 -0
  338. data/lib/couchbase/config_profiles.rb +1 -1
  339. data/lib/couchbase/errors.rb +5 -0
  340. data/lib/couchbase/json_transcoder.rb +12 -5
  341. data/lib/couchbase/key_value_scan.rb +125 -0
  342. data/lib/couchbase/management/collection_query_index_manager.rb +54 -15
  343. data/lib/couchbase/management/query_index_manager.rb +70 -5
  344. data/lib/couchbase/options.rb +151 -0
  345. data/lib/couchbase/raw_binary_transcoder.rb +37 -0
  346. data/lib/couchbase/raw_json_transcoder.rb +38 -0
  347. data/lib/couchbase/raw_string_transcoder.rb +40 -0
  348. data/lib/couchbase/scope.rb +1 -1
  349. data/lib/couchbase/search_options.rb +5 -0
  350. data/lib/couchbase/transcoder_flags.rb +62 -0
  351. data/lib/couchbase/utils/time.rb +14 -1
  352. data/lib/couchbase/version.rb +1 -1
  353. metadata +175 -13
  354. data/ext/couchbase/core/config_profile.cxx +0 -47
  355. data/ext/couchbase/core/impl/collection_query_index_manager.cxx +0 -93
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78899f9fd7614787a46a54ca185e869cc93a7714ff0a1ef4c38feef98d7d54be
4
- data.tar.gz: f42e90dc0e70b2f690f9c4f7dffe3cd9675db7d8f9025bb5db315b6e59407199
3
+ metadata.gz: b3c1e2edfe7f74eb3f3094dd526e7dc1896f3002caca935ddeb76923b593f341
4
+ data.tar.gz: b5409f7083156b38aee870037ce0c5d3a14dc7ffe3aa3ac64b5862245b47e4d5
5
5
  SHA512:
6
- metadata.gz: 804b0a4c05754a5349b19f4b06ee1017f62790e2f5f50696639d9cfc1b785d4f43d688cb05c325f5e10cb1e36fca1e4775c93f91cbf10ad600a5f4755a091a28
7
- data.tar.gz: cbb64fe3e1c2f5925584032cd69bb626e87c9ff61c7735a570a7e291287874076e366e2282e15d432c18832b9853c749d806cab28aa65716dc91ab835910bd6b
6
+ metadata.gz: 16705649dc3954db461a7f8a63ee1168a4b191cacb0744e4e5b5b7b110788491d42fab78611b4898078a0276bbe0d9930352e24b4f95db87ab79ed6b6e8f9101
7
+ data.tar.gz: 157af7be99dc745ef7d95ef45490c0025f16ead6abb2f75079188405e82fcec9a64abb681695720e9080fd36b3c17883a56f84bafd06062e56c22ad9286c7ed4
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![license](https://img.shields.io/github/license/couchbase/couchbase-ruby-client?color=brightgreen)](https://opensource.org/licenses/Apache-2.0)
4
4
  [![gem](https://img.shields.io/gem/v/couchbase?color=brightgreen)](https://rubygems.org/gems/couchbase)
5
- [![commits](https://img.shields.io/github/commits-since/couchbase/couchbase-ruby-client/latest?color=brightgreen)](https://github.com/couchbase/couchbase-ruby-client/commits/master)
5
+ [![commits](https://img.shields.io/github/commits-since/couchbase/couchbase-ruby-client/latest?color=brightgreen)](https://github.com/couchbase/couchbase-ruby-client/commits/main)
6
6
  [![linters](https://img.shields.io/github/actions/workflow/status/couchbase/couchbase-ruby-client/linters.yml?branch=main&label=linters)](https://github.com/couchbase/couchbase-ruby-client/actions?query=workflow%3Alinters)
7
7
 
8
8
  This repository contains the third generation of the official Couchbase SDK for Ruby (aka. SDKv3)
@@ -23,7 +23,7 @@ The library has been tested with MRI 3.0, 3.1 and 3.2. Supported platforms are L
23
23
  Add this line to your application's Gemfile:
24
24
 
25
25
  ```ruby
26
- gem "couchbase", "3.4.2"
26
+ gem "couchbase", "3.4.4"
27
27
  ```
28
28
 
29
29
  And then execute:
@@ -80,6 +80,7 @@ add_subdirectory(core/tracing)
80
80
  add_subdirectory(core/metrics)
81
81
 
82
82
  set(couchbase_cxx_client_FILES
83
+ ${CMAKE_CURRENT_BINARY_DIR}/generated/mozilla_ca_bundle.cxx
83
84
  core/agent.cxx
84
85
  core/agent_config.cxx
85
86
  core/agent_group.cxx
@@ -91,7 +92,7 @@ set(couchbase_cxx_client_FILES
91
92
  core/cluster_agent_config.cxx
92
93
  core/cluster_options.cxx
93
94
  core/collections_component.cxx
94
- core/config_profile.cxx
95
+ core/config_profiles.cxx
95
96
  core/core_sdk_shim.cxx
96
97
  core/crud_component.cxx
97
98
  core/dispatcher.cxx
@@ -99,6 +100,7 @@ set(couchbase_cxx_client_FILES
99
100
  core/free_form_http_request.cxx
100
101
  core/key_value_config.cxx
101
102
  core/n1ql_query_options.cxx
103
+ core/origin.cxx
102
104
  core/range_scan_options.cxx
103
105
  core/range_scan_orchestrator.cxx
104
106
  core/retry_orchestrator.cxx
@@ -231,6 +233,7 @@ set(couchbase_cxx_client_FILES
231
233
  core/protocol/cmd_increment.cxx
232
234
  core/protocol/cmd_insert.cxx
233
235
  core/protocol/cmd_lookup_in.cxx
236
+ core/protocol/cmd_lookup_in_replica.cxx
234
237
  core/protocol/cmd_mutate_in.cxx
235
238
  core/protocol/cmd_noop.cxx
236
239
  core/protocol/cmd_observe_seqno.cxx
@@ -256,41 +259,84 @@ set(couchbase_cxx_client_FILES
256
259
  core/utils/split_string.cxx
257
260
  core/utils/url_codec.cxx
258
261
  core/impl/analytics.cxx
262
+ core/impl/search.cxx
259
263
  core/impl/analytics_error_category.cxx
260
264
  core/impl/append.cxx
261
265
  core/impl/best_effort_retry_strategy.cxx
266
+ core/impl/boolean_field_query.cxx
267
+ core/impl/boolean_query.cxx
262
268
  core/impl/build_deferred_query_indexes.cxx
263
- core/impl/collection_query_index_manager.cxx
264
269
  core/impl/cluster.cxx
265
270
  core/impl/common_error_category.cxx
266
271
  core/impl/configuration_profiles_registry.cxx
272
+ core/impl/conjunction_query.cxx
273
+ core/impl/create_bucket.cxx
267
274
  core/impl/create_query_index.cxx
275
+ core/impl/date_range.cxx
276
+ core/impl/date_range_facet.cxx
277
+ core/impl/date_range_facet_result.cxx
278
+ core/impl/date_range_query.cxx
268
279
  core/impl/decrement.cxx
280
+ core/impl/disjunction_query.cxx
269
281
  core/impl/dns_srv_tracker.cxx
282
+ core/impl/drop_bucket.cxx
270
283
  core/impl/drop_query_index.cxx
271
284
  core/impl/exists.cxx
272
285
  core/impl/expiry.cxx
273
286
  core/impl/fail_fast_retry_strategy.cxx
274
287
  core/impl/field_level_encryption_error_category.cxx
288
+ core/impl/flush_bucket.cxx
289
+ core/impl/geo_bounding_box_query.cxx
290
+ core/impl/geo_distance_query.cxx
291
+ core/impl/geo_polygon_query.cxx
275
292
  core/impl/get.cxx
293
+ core/impl/get_all_buckets.cxx
294
+ core/impl/get_all_query_indexes.cxx
276
295
  core/impl/get_all_replicas.cxx
277
296
  core/impl/get_and_lock.cxx
278
297
  core/impl/get_and_touch.cxx
279
- core/impl/get_all_query_indexes.cxx
280
298
  core/impl/get_any_replica.cxx
299
+ core/impl/get_bucket.cxx
281
300
  core/impl/get_replica.cxx
282
301
  core/impl/increment.cxx
283
302
  core/impl/insert.cxx
303
+ core/impl/internal_date_range_facet_result.cxx
304
+ core/impl/internal_manager_error_context.cxx
305
+ core/impl/internal_numeric_range_facet_result.cxx
306
+ core/impl/internal_search_error_context.cxx
307
+ core/impl/internal_search_meta_data.cxx
308
+ core/impl/internal_search_result.cxx
309
+ core/impl/internal_search_row.cxx
310
+ core/impl/internal_search_row_locations.cxx
311
+ core/impl/internal_term_facet_result.cxx
284
312
  core/impl/key_value_error_category.cxx
313
+ core/impl/key_value_error_context.cxx
285
314
  core/impl/lookup_in.cxx
315
+ core/impl/lookup_in_replica.cxx
316
+ core/impl/lookup_in_all_replicas.cxx
317
+ core/impl/lookup_in_any_replica.cxx
286
318
  core/impl/management_error_category.cxx
319
+ core/impl/manager_error_context.cxx
320
+ core/impl/match_all_query.cxx
321
+ core/impl/match_none_query.cxx
322
+ core/impl/match_phrase_query.cxx
323
+ core/impl/match_query.cxx
287
324
  core/impl/mutate_in.cxx
288
325
  core/impl/network_error_category.cxx
326
+ core/impl/numeric_range.cxx
327
+ core/impl/numeric_range_facet.cxx
328
+ core/impl/numeric_range_facet_result.cxx
329
+ core/impl/numeric_range_query.cxx
289
330
  core/impl/observe_poll.cxx
290
331
  core/impl/observe_seqno.cxx
332
+ core/impl/phrase_query.cxx
333
+ core/impl/prefix_query.cxx
291
334
  core/impl/prepend.cxx
292
335
  core/impl/query.cxx
293
336
  core/impl/query_error_category.cxx
337
+ core/impl/query_error_context.cxx
338
+ core/impl/query_string_query.cxx
339
+ core/impl/regexp_query.cxx
294
340
  core/impl/remove.cxx
295
341
  core/impl/replace.cxx
296
342
  core/impl/retry_action.cxx
@@ -314,14 +360,30 @@ set(couchbase_cxx_client_FILES
314
360
  core/impl/subdoc/remove.cxx
315
361
  core/impl/subdoc/replace.cxx
316
362
  core/impl/subdoc/upsert.cxx
363
+ core/impl/search.cxx
364
+ core/impl/search_error_context.cxx
365
+ core/impl/search_meta_data.cxx
366
+ core/impl/search_result.cxx
367
+ core/impl/search_row.cxx
368
+ core/impl/search_row_location.cxx
369
+ core/impl/search_row_locations.cxx
370
+ core/impl/search_sort_field.cxx
371
+ core/impl/search_sort_id.cxx
372
+ core/impl/search_sort_score.cxx
373
+ core/impl/term_facet.cxx
374
+ core/impl/term_facet_result.cxx
375
+ core/impl/term_query.cxx
376
+ core/impl/term_range_query.cxx
317
377
  core/impl/touch.cxx
318
378
  core/impl/transaction_error_category.cxx
319
379
  core/impl/transaction_get_result.cxx
320
380
  core/impl/transaction_op_error_category.cxx
321
381
  core/impl/unlock.cxx
382
+ core/impl/update_bucket.cxx
322
383
  core/impl/upsert.cxx
323
384
  core/impl/view_error_category.cxx
324
385
  core/impl/watch_query_indexes.cxx
386
+ core/impl/wildcard_query.cxx
325
387
  core/io/dns_client.cxx
326
388
  core/io/dns_config.cxx
327
389
  core/io/http_parser.cxx
@@ -331,11 +393,12 @@ set(couchbase_cxx_client_FILES
331
393
  core/transactions/atr_cleanup_entry.cxx
332
394
  core/transactions/atr_ids.cxx
333
395
  core/transactions/attempt_context_impl.cxx
396
+ core/transactions/attempt_context_testing_hooks.cxx
334
397
  core/transactions/binary.cxx
398
+ core/transactions/cleanup_testing_hooks.cxx
335
399
  core/transactions/exceptions.cxx
336
400
  core/transactions/result.cxx
337
401
  core/transactions/staged_mutation.cxx
338
- core/transactions/utils.cxx
339
402
  core/transactions/transaction_attempt.cxx
340
403
  core/transactions/transaction_context.cxx
341
404
  core/transactions/transaction_get_result.cxx
@@ -344,7 +407,8 @@ set(couchbase_cxx_client_FILES
344
407
  core/transactions/transactions.cxx
345
408
  core/transactions/transactions_cleanup.cxx
346
409
  core/transactions/transactions_config.cxx
347
- core/transactions/uid_generator.cxx)
410
+ core/transactions/uid_generator.cxx
411
+ core/transactions/utils.cxx)
348
412
 
349
413
  if (COUCHBASE_CXX_CLIENT_BUILD_SHARED)
350
414
  add_library(couchbase_cxx_client SHARED ${couchbase_cxx_client_FILES})
@@ -403,9 +467,9 @@ endif ()
403
467
  if (NOT COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL)
404
468
  if (TARGET PkgConfig::PKG_CONFIG_OPENSSL)
405
469
  target_link_libraries(couchbase_cxx_client PUBLIC PkgConfig::PKG_CONFIG_OPENSSL)
406
- else()
470
+ else ()
407
471
  target_link_libraries(couchbase_cxx_client PUBLIC OpenSSL::SSL OpenSSL::Crypto)
408
- endif()
472
+ endif ()
409
473
  endif ()
410
474
 
411
475
  option(COUCHBASE_CXX_CLIENT_BUILD_TESTS "Build test programs" TRUE)
@@ -20,7 +20,6 @@ if(DOXYGEN_FOUND AND DOT)
20
20
  set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html)
21
21
  set(DOXYGEN_CONFIG_TEMPLATE ${PROJECT_SOURCE_DIR}/docs/Doxyfile.in)
22
22
  set(DOXYGEN_CONFIG ${PROJECT_BINARY_DIR}/Doxyfile)
23
- file(MAKE_DIRECTORY ${DOXYGEN_OUTPUT_DIR})
24
23
  configure_file(${DOXYGEN_CONFIG_TEMPLATE} ${DOXYGEN_CONFIG})
25
24
  add_custom_command(
26
25
  OUTPUT ${DOXYGEN_INDEX_FILE}
@@ -49,7 +49,7 @@ else()
49
49
  OPENSSL_USABLE ${CMAKE_CURRENT_BINARY_DIR}
50
50
  ${CMAKE_CURRENT_SOURCE_DIR}/cmake/test_openssl.cxx
51
51
  LINK_LIBRARIES OpenSSL::SSL CXX_STANDARD 17)
52
- if( OPENSSL_USABLE)
52
+ if(OPENSSL_USABLE)
53
53
  message(STATUS "OPENSSL_VERSION: ${OPENSSL_VERSION}")
54
54
  message(STATUS "OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}")
55
55
  message(STATUS "OPENSSL_LIBRARIES: ${OPENSSL_LIBRARIES}")
@@ -60,7 +60,12 @@ else()
60
60
  "Cannot use OpenSSL ${OPENSSL_VERSION} at \"${OPENSSL_INCLUDE_DIR}\" and \"${OPENSSL_LIBRARIES}\". Will try to use from pkg-config."
61
61
  )
62
62
  find_package(PkgConfig REQUIRED)
63
- pkg_check_modules(PKG_CONFIG_OPENSSL REQUIRED IMPORTED_TARGET GLOBAL openssl11)
63
+ pkg_check_modules(
64
+ PKG_CONFIG_OPENSSL
65
+ REQUIRED
66
+ IMPORTED_TARGET
67
+ GLOBAL
68
+ openssl11)
64
69
  if(PKG_CONFIG_OPENSSL_FOUND)
65
70
  message(STATUS "PKG_CONFIG_OPENSSL_VERSION: ${PKG_CONFIG_OPENSSL_VERSION}")
66
71
  message(STATUS "PKG_CONFIG_OPENSSL_INCLUDE_DIRS: ${PKG_CONFIG_OPENSSL_INCLUDE_DIRS}")
@@ -74,7 +79,12 @@ else()
74
79
  endif()
75
80
  elseif(UNIX)
76
81
  find_package(PkgConfig REQUIRED)
77
- pkg_check_modules(PKG_CONFIG_OPENSSL REQUIRED IMPORTED_TARGET GLOBAL openssl11)
82
+ pkg_check_modules(
83
+ PKG_CONFIG_OPENSSL
84
+ REQUIRED
85
+ IMPORTED_TARGET
86
+ GLOBAL
87
+ openssl11)
78
88
  if(PKG_CONFIG_OPENSSL_FOUND)
79
89
  message(STATUS "PKG_CONFIG_OPENSSL_VERSION: ${PKG_CONFIG_OPENSSL_VERSION}")
80
90
  message(STATUS "PKG_CONFIG_OPENSSL_INCLUDE_DIRS: ${PKG_CONFIG_OPENSSL_INCLUDE_DIRS}")
@@ -90,3 +100,88 @@ endif()
90
100
  # Read more at https://wiki.wireshark.org/TLS
91
101
  option(COUCHBASE_CXX_CLIENT_TLS_KEY_LOG_FILE
92
102
  "Path to file to write per-session secrets (Useful for Wireshark SSL/TLS dissection)")
103
+
104
+ option(COUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE
105
+ "Download and embed Mozilla certificates from https://curl.se/ca/cacert.pem" TRUE)
106
+
107
+ if(COUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE)
108
+ file(DOWNLOAD "https://curl.se/ca/cacert.pem.sha256" "${CMAKE_CURRENT_BINARY_DIR}/mozilla-ca-bundle.sha256"
109
+ TLS_VERIFY ON)
110
+ file(READ "${CMAKE_CURRENT_BINARY_DIR}/mozilla-ca-bundle.sha256" HASH_FILE_CONTENT)
111
+ string(
112
+ REGEX MATCH
113
+ "^([0-9a-f]+)"
114
+ COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256
115
+ ${HASH_FILE_CONTENT})
116
+ if(NOT COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256)
117
+ message(FATAL_ERROR "Failed to extract expected hash from file")
118
+ endif()
119
+ file(
120
+ DOWNLOAD "https://curl.se/ca/cacert.pem" "${CMAKE_CURRENT_BINARY_DIR}/mozilla-ca-bundle.crt"
121
+ TLS_VERIFY ON
122
+ EXPECTED_HASH SHA256=${COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256})
123
+
124
+ file(READ "${CMAKE_CURRENT_BINARY_DIR}/mozilla-ca-bundle.crt" CA_BUNDLE_CONTENT)
125
+ string(
126
+ REGEX MATCH
127
+ "Certificate data from Mozilla as of: ([^\n]*)"
128
+ CA_BUNDLE_DATE_LINE
129
+ ${CA_BUNDLE_CONTENT})
130
+ set(COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE "${CMAKE_MATCH_1}")
131
+ else()
132
+ set(CA_BUNDLE_CONTENT "")
133
+ endif()
134
+
135
+ set(CA_BUNDLE_CPP_FILE "${CMAKE_CURRENT_BINARY_DIR}/generated/mozilla_ca_bundle.cxx")
136
+
137
+ # We parse CRT file because C++ does not allow string literals over 64k, and turning everything into bytes does not
138
+ # seems to be cross-platform and fast.
139
+ string(
140
+ REGEX MATCHALL
141
+ "[^=#]+=+\n-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----"
142
+ CERTIFICATES
143
+ "${CA_BUNDLE_CONTENT}")
144
+ list(LENGTH CERTIFICATES NUMBER_OF_CERTIFICATES)
145
+ file(
146
+ WRITE ${CA_BUNDLE_CPP_FILE}
147
+ "
148
+ #include \"core/mozilla_ca_bundle.hxx\"
149
+
150
+ namespace couchbase::core::default_ca
151
+ {
152
+ constexpr inline std::size_t number_of_certificates{ ${NUMBER_OF_CERTIFICATES} };
153
+ constexpr inline certificate certificates[]{
154
+ ")
155
+ foreach(CERTIFICATE ${CERTIFICATES})
156
+ string(
157
+ REGEX MATCH
158
+ "[ \t\r\n]*([^=\n]+)[ \t\r\n]*=+\n(-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----)"
159
+ PARTS
160
+ ${CERTIFICATE})
161
+ file(APPEND ${CA_BUNDLE_CPP_FILE} " { R\"(${CMAKE_MATCH_1})\",\n R\"(${CMAKE_MATCH_2})\" },\n\n")
162
+ endforeach()
163
+
164
+ file(
165
+ APPEND ${CA_BUNDLE_CPP_FILE}
166
+ " { \"\", \"\" },
167
+ };
168
+
169
+ auto
170
+ mozilla_ca_certs() -> gsl::span<const certificate>
171
+ {
172
+ return { certificates, number_of_certificates };
173
+ }
174
+
175
+ auto
176
+ mozilla_ca_certs_date() -> std::string_view
177
+ {
178
+ return \"${COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE}\";
179
+ }
180
+
181
+ auto
182
+ mozilla_ca_certs_sha256() -> std::string_view
183
+ {
184
+ return \"${COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256}\";
185
+ }
186
+ } // namespace couchbase::core::default_ca
187
+ ")
@@ -17,7 +17,7 @@ macro(integration_test name)
17
17
  test_integration_${name}
18
18
  project_options
19
19
  project_warnings
20
- Catch2::Catch2
20
+ Catch2::Catch2WithMain
21
21
  Threads::Threads
22
22
  snappy
23
23
  couchbase_cxx_client
@@ -25,6 +25,8 @@ macro(integration_test name)
25
25
  catch_discover_tests(
26
26
  test_integration_${name}
27
27
  PROPERTIES
28
+ SKIP_REGULAR_EXPRESSION
29
+ "SKIP"
28
30
  LABELS
29
31
  "integration")
30
32
  set_property(GLOBAL APPEND PROPERTY COUCHBASE_INTEGRATION_TESTS "test_integration_${name}")
@@ -44,7 +46,7 @@ macro(transaction_test name)
44
46
  test_transaction_${name}
45
47
  project_options
46
48
  project_warnings
47
- Catch2::Catch2
49
+ Catch2::Catch2WithMain
48
50
  Threads::Threads
49
51
  snappy
50
52
  couchbase_cxx_client
@@ -52,6 +54,8 @@ macro(transaction_test name)
52
54
  catch_discover_tests(
53
55
  test_transaction_${name}
54
56
  PROPERTIES
57
+ SKIP_REGULAR_EXPRESSION
58
+ "SKIP"
55
59
  LABELS
56
60
  "transaction")
57
61
  set_property(GLOBAL APPEND PROPERTY COUCHBASE_TRANSACTION_TESTS "test_transaction_${name}")
@@ -70,7 +74,7 @@ macro(unit_test name)
70
74
  test_unit_${name}
71
75
  project_options
72
76
  project_warnings
73
- Catch2::Catch2
77
+ Catch2::Catch2WithMain
74
78
  Threads::Threads
75
79
  snappy
76
80
  couchbase_cxx_client
@@ -78,6 +82,8 @@ macro(unit_test name)
78
82
  catch_discover_tests(
79
83
  test_unit_${name}
80
84
  PROPERTIES
85
+ SKIP_REGULAR_EXPRESSION
86
+ "SKIP"
81
87
  LABELS
82
88
  "unit")
83
89
  set_property(GLOBAL APPEND PROPERTY COUCHBASE_UNIT_TESTS "test_unit_${name}")
@@ -96,7 +102,7 @@ macro(integration_benchmark name)
96
102
  benchmark_integration_${name}
97
103
  project_options
98
104
  project_warnings
99
- Catch2::Catch2
105
+ Catch2::Catch2WithMain
100
106
  Threads::Threads
101
107
  snappy
102
108
  couchbase_cxx_client
@@ -104,6 +110,8 @@ macro(integration_benchmark name)
104
110
  catch_discover_tests(
105
111
  benchmark_integration_${name}
106
112
  PROPERTIES
113
+ SKIP_REGULAR_EXPRESSION
114
+ "SKIP"
107
115
  LABELS
108
116
  "benchmark")
109
117
  set_property(GLOBAL APPEND PROPERTY COUCHBASE_BENCHMARKS "benchmark_integration_${name}")
@@ -18,3 +18,6 @@
18
18
  #pragma once
19
19
 
20
20
  #cmakedefine TLS_KEY_LOG_FILE "@TLS_KEY_LOG_FILE@"
21
+ #cmakedefine COUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE
22
+ #cmakedefine COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE "@COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE@"
23
+ #cmakedefine COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256 "@COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_SHA256@"