couchbase 3.5.1 → 3.5.2

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 (1166) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch +40 -0
  4. data/ext/CMakeLists.txt +22 -2
  5. data/ext/cache/extconf_include.rb +3 -3
  6. data/ext/cache/mozilla-ca-bundle.crt +19 -32
  7. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  8. data/ext/couchbase/CMakeLists.txt +16 -9
  9. data/ext/couchbase/cmake/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch +3 -4
  10. data/ext/couchbase/cmake/CompilerWarnings.cmake +2 -1
  11. data/ext/couchbase/cmake/Packaging.cmake +41 -0
  12. data/ext/couchbase/cmake/Sanitizers.cmake +1 -0
  13. data/ext/couchbase/cmake/VersionInfo.cmake +5 -5
  14. data/ext/couchbase/cmake/build_version.hxx.in +1 -0
  15. data/ext/couchbase/cmake/couchbase-cxx-client.pc.in +10 -0
  16. data/ext/couchbase/cmake/test_boringssl.cxx +1 -1
  17. data/ext/couchbase/cmake/test_openssl.cxx +1 -1
  18. data/ext/couchbase/core/agent.cxx +353 -304
  19. data/ext/couchbase/core/agent.hxx +94 -76
  20. data/ext/couchbase/core/agent_config.cxx +9 -8
  21. data/ext/couchbase/core/agent_config.hxx +7 -7
  22. data/ext/couchbase/core/agent_group.cxx +132 -120
  23. data/ext/couchbase/core/agent_group.hxx +26 -22
  24. data/ext/couchbase/core/agent_group_config.cxx +8 -7
  25. data/ext/couchbase/core/agent_group_config.hxx +6 -6
  26. data/ext/couchbase/core/agent_unit_test_api.hxx +6 -6
  27. data/ext/couchbase/core/analytics_query_options.cxx +21 -21
  28. data/ext/couchbase/core/analytics_query_options.hxx +19 -18
  29. data/ext/couchbase/core/analytics_scan_consistency.hxx +2 -2
  30. data/ext/couchbase/core/bucket.cxx +848 -776
  31. data/ext/couchbase/core/bucket.hxx +151 -139
  32. data/ext/couchbase/core/capella_ca.hxx +20 -19
  33. data/ext/couchbase/core/cluster.cxx +1240 -927
  34. data/ext/couchbase/core/cluster.hxx +254 -167
  35. data/ext/couchbase/core/cluster_agent.cxx +7 -7
  36. data/ext/couchbase/core/cluster_agent.hxx +4 -4
  37. data/ext/couchbase/core/cluster_agent_config.cxx +8 -7
  38. data/ext/couchbase/core/cluster_agent_config.hxx +6 -6
  39. data/ext/couchbase/core/cluster_options.cxx +17 -17
  40. data/ext/couchbase/core/cluster_options.hxx +50 -47
  41. data/ext/couchbase/core/cluster_state.hxx +3 -3
  42. data/ext/couchbase/core/collection_id_cache_entry.hxx +5 -4
  43. data/ext/couchbase/core/collections_component.cxx +372 -329
  44. data/ext/couchbase/core/collections_component.hxx +17 -13
  45. data/ext/couchbase/core/collections_component_unit_test_api.hxx +6 -6
  46. data/ext/couchbase/core/collections_options.hxx +29 -27
  47. data/ext/couchbase/core/config_listener.hxx +3 -3
  48. data/ext/couchbase/core/config_profile.hxx +3 -3
  49. data/ext/couchbase/core/config_profiles.cxx +31 -31
  50. data/ext/couchbase/core/config_profiles.hxx +19 -19
  51. data/ext/couchbase/core/core_sdk_shim.cxx +2 -1
  52. data/ext/couchbase/core/core_sdk_shim.hxx +2 -2
  53. data/ext/couchbase/core/crud_component.cxx +310 -276
  54. data/ext/couchbase/core/crud_component.hxx +21 -15
  55. data/ext/couchbase/core/crud_options.hxx +361 -354
  56. data/ext/couchbase/core/crypto/cbcrypto.cc +732 -627
  57. data/ext/couchbase/core/crypto/cbcrypto.h +12 -3
  58. data/ext/couchbase/core/design_document_namespace.hxx +2 -2
  59. data/ext/couchbase/core/design_document_namespace_fmt.hxx +18 -18
  60. data/ext/couchbase/core/diagnostics.hxx +44 -44
  61. data/ext/couchbase/core/diagnostics_fmt.hxx +76 -76
  62. data/ext/couchbase/core/diagnostics_json.hxx +61 -60
  63. data/ext/couchbase/core/diagntostics_options.hxx +14 -14
  64. data/ext/couchbase/core/dispatcher.cxx +4 -3
  65. data/ext/couchbase/core/dispatcher.hxx +8 -7
  66. data/ext/couchbase/core/document_id.cxx +37 -34
  67. data/ext/couchbase/core/document_id.hxx +87 -86
  68. data/ext/couchbase/core/document_id_fmt.hxx +10 -10
  69. data/ext/couchbase/core/durability_options.hxx +50 -49
  70. data/ext/couchbase/core/error_context/analytics.hxx +18 -18
  71. data/ext/couchbase/core/error_context/analytics_json.hxx +115 -0
  72. data/ext/couchbase/core/error_context/base_error_context.hxx +184 -0
  73. data/ext/couchbase/core/error_context/http.hxx +14 -14
  74. data/ext/couchbase/core/error_context/http_json.hxx +90 -0
  75. data/ext/couchbase/core/error_context/internal_tof_metadata_json.hxx +36 -0
  76. data/ext/couchbase/core/error_context/key_value.cxx +27 -27
  77. data/ext/couchbase/core/error_context/key_value.hxx +41 -38
  78. data/ext/couchbase/core/error_context/key_value_error_context.hxx +235 -0
  79. data/ext/couchbase/core/error_context/key_value_error_map_attribute.hxx +142 -0
  80. data/ext/couchbase/core/error_context/key_value_error_map_info.hxx +139 -0
  81. data/ext/couchbase/core/error_context/key_value_extended_error_info.hxx +86 -0
  82. data/ext/couchbase/core/error_context/key_value_json.hxx +83 -0
  83. data/ext/couchbase/core/error_context/key_value_status_code.hxx +109 -0
  84. data/ext/couchbase/core/error_context/query.hxx +18 -18
  85. data/ext/couchbase/core/error_context/query_error_context.hxx +150 -0
  86. data/ext/couchbase/core/error_context/query_json.hxx +114 -0
  87. data/ext/couchbase/core/error_context/query_public_json.hxx +84 -0
  88. data/ext/couchbase/core/error_context/search.hxx +17 -17
  89. data/ext/couchbase/core/error_context/search_json.hxx +101 -0
  90. data/ext/couchbase/core/error_context/subdocument_error_context.hxx +147 -0
  91. data/ext/couchbase/core/error_context/subdocument_json.hxx +48 -0
  92. data/ext/couchbase/{couchbase → core/error_context}/transaction_error_context.hxx +22 -22
  93. data/ext/couchbase/core/error_context/transaction_op_error_context.hxx +79 -0
  94. data/ext/couchbase/core/error_context/view.hxx +17 -17
  95. data/ext/couchbase/core/fmt/key_value_error_map_attribute.hxx +100 -0
  96. data/ext/couchbase/{couchbase → core}/fmt/key_value_extended_error_info.hxx +20 -20
  97. data/ext/couchbase/core/fmt/key_value_status_code.hxx +269 -0
  98. data/ext/couchbase/core/free_form_http_request.cxx +26 -26
  99. data/ext/couchbase/core/free_form_http_request.hxx +34 -33
  100. data/ext/couchbase/core/impl/analytics.cxx +111 -131
  101. data/ext/couchbase/core/impl/analytics.hxx +5 -7
  102. data/ext/couchbase/core/impl/analytics_error_category.cxx +29 -28
  103. data/ext/couchbase/core/impl/analytics_index_manager.cxx +615 -516
  104. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +53 -50
  105. data/ext/couchbase/core/impl/binary_collection.cxx +346 -285
  106. data/ext/couchbase/core/impl/boolean_field_query.cxx +10 -10
  107. data/ext/couchbase/core/impl/boolean_query.cxx +27 -27
  108. data/ext/couchbase/core/impl/bootstrap_state_listener.hxx +6 -6
  109. data/ext/couchbase/core/impl/bucket.cxx +39 -34
  110. data/ext/couchbase/core/impl/bucket_manager.cxx +354 -313
  111. data/ext/couchbase/core/impl/cluster.cxx +430 -325
  112. data/ext/couchbase/core/impl/collection.cxx +1033 -1187
  113. data/ext/couchbase/core/impl/collection_manager.cxx +201 -170
  114. data/ext/couchbase/core/impl/common_error_category.cxx +58 -55
  115. data/ext/couchbase/core/impl/configuration_profiles_registry.cxx +46 -32
  116. data/ext/couchbase/core/impl/conjunction_query.cxx +17 -17
  117. data/ext/couchbase/core/impl/date_range.cxx +24 -20
  118. data/ext/couchbase/core/impl/date_range_facet.cxx +22 -22
  119. data/ext/couchbase/core/impl/date_range_facet_result.cxx +6 -6
  120. data/ext/couchbase/core/impl/date_range_query.cxx +50 -48
  121. data/ext/couchbase/core/impl/diagnostics.cxx +211 -198
  122. data/ext/couchbase/core/impl/diagnostics.hxx +7 -6
  123. data/ext/couchbase/core/impl/disjunction_query.cxx +18 -17
  124. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +92 -75
  125. data/ext/couchbase/core/impl/dns_srv_tracker.hxx +24 -20
  126. data/ext/couchbase/core/impl/doc_id_query.cxx +9 -9
  127. data/ext/couchbase/core/impl/encoded_search_facet.hxx +2 -2
  128. data/ext/couchbase/core/impl/encoded_search_query.hxx +2 -2
  129. data/ext/couchbase/core/impl/encoded_search_sort.hxx +2 -2
  130. data/ext/couchbase/core/impl/error.cxx +171 -0
  131. data/ext/couchbase/core/impl/error.hxx +64 -0
  132. data/ext/couchbase/core/impl/error_context.cxx +56 -0
  133. data/ext/couchbase/core/impl/expiry.cxx +66 -53
  134. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +5 -4
  135. data/ext/couchbase/core/impl/field_level_encryption_error_category.cxx +30 -28
  136. data/ext/couchbase/core/impl/geo_bounding_box_query.cxx +17 -17
  137. data/ext/couchbase/core/impl/geo_distance_query.cxx +14 -14
  138. data/ext/couchbase/core/impl/geo_polygon_query.cxx +17 -17
  139. data/ext/couchbase/core/impl/get_all_replicas.hxx +26 -22
  140. data/ext/couchbase/core/impl/get_any_replica.hxx +25 -23
  141. data/ext/couchbase/core/impl/get_replica.cxx +18 -15
  142. data/ext/couchbase/core/impl/get_replica.hxx +23 -18
  143. data/ext/couchbase/core/impl/internal_date_range_facet_result.cxx +16 -14
  144. data/ext/couchbase/core/impl/internal_date_range_facet_result.hxx +16 -15
  145. data/ext/couchbase/core/impl/internal_error_context.cxx +79 -0
  146. data/ext/couchbase/core/impl/internal_error_context.hxx +52 -0
  147. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.cxx +18 -15
  148. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.hxx +16 -15
  149. data/ext/couchbase/core/impl/internal_scan_result.hxx +7 -7
  150. data/ext/couchbase/core/impl/internal_search_error_context.cxx +25 -22
  151. data/ext/couchbase/core/impl/internal_search_error_context.hxx +32 -31
  152. data/ext/couchbase/core/impl/internal_search_meta_data.cxx +15 -13
  153. data/ext/couchbase/core/impl/internal_search_meta_data.hxx +10 -9
  154. data/ext/couchbase/core/impl/internal_search_result.cxx +30 -22
  155. data/ext/couchbase/core/impl/internal_search_result.hxx +10 -9
  156. data/ext/couchbase/core/impl/internal_search_row.cxx +10 -10
  157. data/ext/couchbase/core/impl/internal_search_row.hxx +16 -16
  158. data/ext/couchbase/core/impl/internal_search_row_location.hxx +2 -2
  159. data/ext/couchbase/core/impl/internal_search_row_locations.cxx +68 -65
  160. data/ext/couchbase/core/impl/internal_search_row_locations.hxx +16 -13
  161. data/ext/couchbase/core/impl/internal_term_facet_result.cxx +16 -14
  162. data/ext/couchbase/core/impl/internal_term_facet_result.hxx +15 -15
  163. data/ext/couchbase/core/impl/key_value_error_category.cxx +73 -72
  164. data/ext/couchbase/core/impl/key_value_error_context.cxx +65 -65
  165. data/ext/couchbase/core/impl/logger.cxx +91 -0
  166. data/ext/couchbase/core/impl/lookup_in_all_replicas.hxx +32 -29
  167. data/ext/couchbase/core/impl/lookup_in_any_replica.hxx +33 -29
  168. data/ext/couchbase/core/impl/lookup_in_replica.cxx +75 -68
  169. data/ext/couchbase/core/impl/lookup_in_replica.hxx +30 -26
  170. data/ext/couchbase/core/impl/management_error_category.cxx +41 -40
  171. data/ext/couchbase/core/impl/match_all_query.cxx +6 -6
  172. data/ext/couchbase/core/impl/match_none_query.cxx +6 -6
  173. data/ext/couchbase/core/impl/match_phrase_query.cxx +13 -13
  174. data/ext/couchbase/core/impl/match_query.cxx +28 -28
  175. data/ext/couchbase/core/impl/network_error_category.cxx +39 -38
  176. data/ext/couchbase/core/impl/numeric_range.cxx +6 -6
  177. data/ext/couchbase/core/impl/numeric_range_facet.cxx +22 -22
  178. data/ext/couchbase/core/impl/numeric_range_facet_result.cxx +6 -6
  179. data/ext/couchbase/core/impl/numeric_range_query.cxx +22 -22
  180. data/ext/couchbase/core/impl/observe_poll.cxx +294 -277
  181. data/ext/couchbase/core/impl/observe_poll.hxx +1 -1
  182. data/ext/couchbase/core/impl/observe_seqno.cxx +21 -18
  183. data/ext/couchbase/core/impl/observe_seqno.hxx +31 -26
  184. data/ext/couchbase/core/impl/phrase_query.cxx +10 -10
  185. data/ext/couchbase/core/impl/prefix_query.cxx +10 -10
  186. data/ext/couchbase/core/impl/query.cxx +163 -154
  187. data/ext/couchbase/core/impl/query.hxx +6 -7
  188. data/ext/couchbase/core/impl/query_error_category.cxx +22 -21
  189. data/ext/couchbase/core/impl/query_error_context.cxx +45 -45
  190. data/ext/couchbase/core/impl/query_index_manager.cxx +488 -408
  191. data/ext/couchbase/core/impl/query_string_query.cxx +7 -7
  192. data/ext/couchbase/core/impl/regexp_query.cxx +10 -10
  193. data/ext/couchbase/core/impl/replica_utils.cxx +66 -0
  194. data/ext/couchbase/core/impl/replica_utils.hxx +48 -0
  195. data/ext/couchbase/core/impl/retry_action.cxx +3 -3
  196. data/ext/couchbase/core/impl/retry_reason.cxx +129 -56
  197. data/ext/couchbase/core/impl/retry_reason.hxx +28 -0
  198. data/ext/couchbase/core/impl/scan_result.cxx +53 -49
  199. data/ext/couchbase/core/impl/scope.cxx +103 -94
  200. data/ext/couchbase/core/impl/search.cxx +139 -130
  201. data/ext/couchbase/core/impl/search.hxx +4 -4
  202. data/ext/couchbase/core/impl/search_error_category.cxx +18 -17
  203. data/ext/couchbase/core/impl/search_index_manager.cxx +492 -390
  204. data/ext/couchbase/core/impl/search_meta_data.cxx +3 -3
  205. data/ext/couchbase/core/impl/search_request.cxx +78 -78
  206. data/ext/couchbase/core/impl/search_result.cxx +5 -5
  207. data/ext/couchbase/core/impl/search_row.cxx +7 -7
  208. data/ext/couchbase/core/impl/search_row_location.cxx +9 -8
  209. data/ext/couchbase/core/impl/search_row_locations.cxx +8 -7
  210. data/ext/couchbase/core/impl/search_sort_field.cxx +53 -53
  211. data/ext/couchbase/core/impl/search_sort_geo_distance.cxx +49 -48
  212. data/ext/couchbase/core/impl/search_sort_id.cxx +10 -10
  213. data/ext/couchbase/core/impl/search_sort_score.cxx +10 -10
  214. data/ext/couchbase/core/impl/streaming_json_lexer_error_category.cxx +70 -68
  215. data/ext/couchbase/core/impl/subdoc/array_add_unique.cxx +6 -6
  216. data/ext/couchbase/core/impl/subdoc/array_append.cxx +6 -6
  217. data/ext/couchbase/core/impl/subdoc/array_insert.cxx +6 -6
  218. data/ext/couchbase/core/impl/subdoc/array_prepend.cxx +6 -6
  219. data/ext/couchbase/core/impl/subdoc/command.hxx +5 -5
  220. data/ext/couchbase/core/impl/subdoc/command_bundle.hxx +11 -11
  221. data/ext/couchbase/core/impl/subdoc/count.cxx +6 -6
  222. data/ext/couchbase/core/impl/subdoc/counter.cxx +6 -6
  223. data/ext/couchbase/core/impl/subdoc/exists.cxx +6 -6
  224. data/ext/couchbase/core/impl/subdoc/get.cxx +6 -6
  225. data/ext/couchbase/core/impl/subdoc/insert.cxx +6 -6
  226. data/ext/couchbase/core/impl/subdoc/join_values.cxx +25 -25
  227. data/ext/couchbase/core/impl/subdoc/lookup_in_macro.cxx +61 -60
  228. data/ext/couchbase/core/impl/subdoc/lookup_in_specs.cxx +9 -9
  229. data/ext/couchbase/core/impl/subdoc/mutate_in_macro.cxx +48 -39
  230. data/ext/couchbase/core/impl/subdoc/mutate_in_specs.cxx +9 -9
  231. data/ext/couchbase/core/impl/subdoc/opcode.hxx +16 -16
  232. data/ext/couchbase/core/impl/subdoc/path_flags.hxx +40 -17
  233. data/ext/couchbase/core/impl/subdoc/remove.cxx +6 -6
  234. data/ext/couchbase/core/impl/subdoc/replace.cxx +6 -6
  235. data/ext/couchbase/core/impl/subdoc/upsert.cxx +6 -6
  236. data/ext/couchbase/core/impl/term_facet.cxx +8 -8
  237. data/ext/couchbase/core/impl/term_facet_result.cxx +6 -6
  238. data/ext/couchbase/core/impl/term_query.cxx +25 -25
  239. data/ext/couchbase/core/impl/term_range_query.cxx +22 -22
  240. data/ext/couchbase/core/impl/transaction_error_category.cxx +21 -20
  241. data/ext/couchbase/core/impl/transaction_get_result.cxx +41 -30
  242. data/ext/couchbase/core/impl/transaction_op_error_category.cxx +55 -56
  243. data/ext/couchbase/core/impl/vector_query.cxx +15 -10
  244. data/ext/couchbase/core/impl/vector_search.cxx +9 -9
  245. data/ext/couchbase/core/impl/view_error_category.cxx +17 -16
  246. data/ext/couchbase/core/impl/wildcard_query.cxx +10 -10
  247. data/ext/couchbase/core/impl/with_legacy_durability.hxx +30 -29
  248. data/ext/couchbase/core/io/dns_client.cxx +257 -232
  249. data/ext/couchbase/core/io/dns_client.hxx +19 -18
  250. data/ext/couchbase/core/io/dns_codec.hxx +156 -154
  251. data/ext/couchbase/core/io/dns_config.cxx +114 -109
  252. data/ext/couchbase/core/io/dns_config.hxx +15 -13
  253. data/ext/couchbase/core/io/dns_message.hxx +365 -342
  254. data/ext/couchbase/core/io/http_command.hxx +155 -134
  255. data/ext/couchbase/core/io/http_context.hxx +5 -5
  256. data/ext/couchbase/core/io/http_message.hxx +75 -71
  257. data/ext/couchbase/core/io/http_parser.cxx +70 -67
  258. data/ext/couchbase/core/io/http_parser.hxx +18 -18
  259. data/ext/couchbase/core/io/http_session.hxx +620 -520
  260. data/ext/couchbase/core/io/http_session_manager.hxx +406 -315
  261. data/ext/couchbase/core/io/http_traits.hxx +7 -0
  262. data/ext/couchbase/core/io/ip_protocol.hxx +3 -3
  263. data/ext/couchbase/core/io/mcbp_command.hxx +298 -278
  264. data/ext/couchbase/core/io/mcbp_context.hxx +7 -6
  265. data/ext/couchbase/core/io/mcbp_message.cxx +8 -8
  266. data/ext/couchbase/core/io/mcbp_message.hxx +19 -19
  267. data/ext/couchbase/core/io/mcbp_parser.cxx +60 -51
  268. data/ext/couchbase/core/io/mcbp_parser.hxx +21 -17
  269. data/ext/couchbase/core/io/mcbp_session.cxx +1769 -1616
  270. data/ext/couchbase/core/io/mcbp_session.hxx +63 -57
  271. data/ext/couchbase/core/io/query_cache.hxx +34 -34
  272. data/ext/couchbase/core/io/retry_context.hxx +45 -45
  273. data/ext/couchbase/core/io/retry_orchestrator.hxx +52 -42
  274. data/ext/couchbase/core/io/streams.hxx +210 -193
  275. data/ext/couchbase/core/json_string.hxx +47 -47
  276. data/ext/couchbase/core/key_value_config.cxx +8 -8
  277. data/ext/couchbase/core/key_value_config.hxx +12 -11
  278. data/ext/couchbase/core/logger/configuration.hxx +35 -35
  279. data/ext/couchbase/core/logger/custom_rotating_file_sink.cxx +73 -72
  280. data/ext/couchbase/core/logger/custom_rotating_file_sink.hxx +20 -18
  281. data/ext/couchbase/core/logger/level.hxx +9 -1
  282. data/ext/couchbase/core/logger/logger.cxx +279 -252
  283. data/ext/couchbase/core/logger/logger.hxx +110 -58
  284. data/ext/couchbase/core/management/analytics_dataset.hxx +4 -4
  285. data/ext/couchbase/core/management/analytics_index.hxx +4 -4
  286. data/ext/couchbase/core/management/analytics_link_azure_blob_external.cxx +35 -33
  287. data/ext/couchbase/core/management/analytics_link_azure_blob_external.hxx +36 -35
  288. data/ext/couchbase/core/management/analytics_link_azure_blob_external_json.hxx +24 -20
  289. data/ext/couchbase/core/management/analytics_link_couchbase_remote.cxx +66 -65
  290. data/ext/couchbase/core/management/analytics_link_couchbase_remote.hxx +77 -70
  291. data/ext/couchbase/core/management/analytics_link_couchbase_remote_json.hxx +38 -32
  292. data/ext/couchbase/core/management/analytics_link_s3_external.cxx +26 -25
  293. data/ext/couchbase/core/management/analytics_link_s3_external.hxx +30 -30
  294. data/ext/couchbase/core/management/analytics_link_s3_external_json.hxx +18 -16
  295. data/ext/couchbase/core/management/bucket_settings.hxx +109 -91
  296. data/ext/couchbase/core/management/bucket_settings_json.hxx +112 -94
  297. data/ext/couchbase/core/management/design_document.hxx +9 -9
  298. data/ext/couchbase/core/management/eventing_function.hxx +124 -121
  299. data/ext/couchbase/core/management/eventing_function_json.hxx +228 -184
  300. data/ext/couchbase/core/management/eventing_status.hxx +41 -41
  301. data/ext/couchbase/core/management/eventing_status_json.hxx +53 -45
  302. data/ext/couchbase/core/management/rbac.hxx +33 -28
  303. data/ext/couchbase/core/management/rbac_fmt.hxx +21 -21
  304. data/ext/couchbase/core/management/rbac_json.hxx +132 -125
  305. data/ext/couchbase/core/management/search_index.cxx +79 -0
  306. data/ext/couchbase/core/management/search_index.hxx +11 -10
  307. data/ext/couchbase/core/management/search_index_json.hxx +27 -26
  308. data/ext/couchbase/core/mcbp/barrier_frame.hxx +4 -3
  309. data/ext/couchbase/core/mcbp/big_endian.cxx +22 -22
  310. data/ext/couchbase/core/mcbp/buffer_writer.cxx +22 -19
  311. data/ext/couchbase/core/mcbp/buffer_writer.hxx +9 -9
  312. data/ext/couchbase/core/mcbp/codec.cxx +419 -397
  313. data/ext/couchbase/core/mcbp/codec.hxx +14 -12
  314. data/ext/couchbase/core/mcbp/command_code.cxx +48 -48
  315. data/ext/couchbase/core/mcbp/completion_token.hxx +33 -33
  316. data/ext/couchbase/core/mcbp/datatype.hxx +3 -3
  317. data/ext/couchbase/core/mcbp/durability_level.hxx +8 -7
  318. data/ext/couchbase/core/mcbp/durability_level_frame.hxx +3 -2
  319. data/ext/couchbase/core/mcbp/durability_timeout_frame.hxx +4 -3
  320. data/ext/couchbase/core/mcbp/open_tracing_frame.hxx +3 -2
  321. data/ext/couchbase/core/mcbp/operation_consumer.cxx +3 -3
  322. data/ext/couchbase/core/mcbp/operation_consumer.hxx +9 -9
  323. data/ext/couchbase/core/mcbp/operation_queue.cxx +76 -70
  324. data/ext/couchbase/core/mcbp/operation_queue.hxx +18 -17
  325. data/ext/couchbase/core/mcbp/packet.cxx +65 -51
  326. data/ext/couchbase/core/mcbp/packet.hxx +25 -25
  327. data/ext/couchbase/core/mcbp/preserve_expiry_frame.hxx +4 -2
  328. data/ext/couchbase/core/mcbp/queue_callback.hxx +3 -2
  329. data/ext/couchbase/core/mcbp/queue_request.cxx +65 -62
  330. data/ext/couchbase/core/mcbp/queue_request.hxx +54 -52
  331. data/ext/couchbase/core/mcbp/queue_request_connection_info.hxx +3 -3
  332. data/ext/couchbase/core/mcbp/queue_response.hxx +7 -7
  333. data/ext/couchbase/core/mcbp/read_units_frame.hxx +3 -2
  334. data/ext/couchbase/core/mcbp/server_duration.cxx +7 -7
  335. data/ext/couchbase/core/mcbp/server_duration_frame.hxx +3 -2
  336. data/ext/couchbase/core/mcbp/stream_id_frame.hxx +3 -2
  337. data/ext/couchbase/core/mcbp/unsupported_frame.hxx +4 -3
  338. data/ext/couchbase/core/mcbp/user_impersonation_frame.hxx +1 -1
  339. data/ext/couchbase/core/mcbp/write_units_frame.hxx +3 -2
  340. data/ext/couchbase/core/meta/features.hxx +58 -0
  341. data/ext/couchbase/core/meta/version.cxx +255 -204
  342. data/ext/couchbase/core/meta/version.hxx +31 -20
  343. data/ext/couchbase/core/metrics/logging_meter.cxx +160 -154
  344. data/ext/couchbase/core/metrics/logging_meter.hxx +16 -15
  345. data/ext/couchbase/core/metrics/logging_meter_options.hxx +1 -1
  346. data/ext/couchbase/core/metrics/noop_meter.hxx +14 -13
  347. data/ext/couchbase/core/mozilla_ca_bundle.hxx +2 -2
  348. data/ext/couchbase/core/n1ql_query_options.cxx +31 -31
  349. data/ext/couchbase/core/n1ql_query_options.hxx +22 -21
  350. data/ext/couchbase/core/operation_map.hxx +3 -3
  351. data/ext/couchbase/core/operations/document_analytics.cxx +187 -176
  352. data/ext/couchbase/core/operations/document_analytics.hxx +79 -71
  353. data/ext/couchbase/core/operations/document_append.cxx +18 -15
  354. data/ext/couchbase/core/operations/document_append.hxx +18 -16
  355. data/ext/couchbase/core/operations/document_decrement.cxx +26 -23
  356. data/ext/couchbase/core/operations/document_decrement.hxx +24 -20
  357. data/ext/couchbase/core/operations/document_exists.cxx +23 -21
  358. data/ext/couchbase/core/operations/document_exists.hxx +25 -23
  359. data/ext/couchbase/core/operations/document_get.cxx +17 -15
  360. data/ext/couchbase/core/operations/document_get.hxx +17 -15
  361. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +121 -92
  362. data/ext/couchbase/core/operations/document_get_and_lock.cxx +19 -16
  363. data/ext/couchbase/core/operations/document_get_and_lock.hxx +21 -17
  364. data/ext/couchbase/core/operations/document_get_and_touch.cxx +19 -16
  365. data/ext/couchbase/core/operations/document_get_and_touch.hxx +22 -18
  366. data/ext/couchbase/core/operations/document_get_any_replica.hxx +111 -82
  367. data/ext/couchbase/core/operations/document_get_projected.cxx +193 -184
  368. data/ext/couchbase/core/operations/document_get_projected.hxx +25 -21
  369. data/ext/couchbase/core/operations/document_increment.cxx +26 -23
  370. data/ext/couchbase/core/operations/document_increment.hxx +24 -20
  371. data/ext/couchbase/core/operations/document_insert.cxx +23 -20
  372. data/ext/couchbase/core/operations/document_insert.hxx +20 -18
  373. data/ext/couchbase/core/operations/document_lookup_in.cxx +80 -67
  374. data/ext/couchbase/core/operations/document_lookup_in.hxx +31 -27
  375. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +187 -149
  376. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +190 -145
  377. data/ext/couchbase/core/operations/document_mutate_in.cxx +98 -80
  378. data/ext/couchbase/core/operations/document_mutate_in.hxx +38 -33
  379. data/ext/couchbase/core/operations/document_prepend.cxx +18 -15
  380. data/ext/couchbase/core/operations/document_prepend.hxx +18 -16
  381. data/ext/couchbase/core/operations/document_query.cxx +367 -356
  382. data/ext/couchbase/core/operations/document_query.hxx +83 -79
  383. data/ext/couchbase/core/operations/document_remove.cxx +18 -15
  384. data/ext/couchbase/core/operations/document_remove.hxx +18 -16
  385. data/ext/couchbase/core/operations/document_replace.cxx +27 -24
  386. data/ext/couchbase/core/operations/document_replace.hxx +22 -20
  387. data/ext/couchbase/core/operations/document_search.cxx +322 -308
  388. data/ext/couchbase/core/operations/document_search.hxx +125 -121
  389. data/ext/couchbase/core/operations/document_touch.cxx +16 -14
  390. data/ext/couchbase/core/operations/document_touch.hxx +19 -17
  391. data/ext/couchbase/core/operations/document_unlock.cxx +16 -14
  392. data/ext/couchbase/core/operations/document_unlock.hxx +19 -17
  393. data/ext/couchbase/core/operations/document_upsert.cxx +26 -23
  394. data/ext/couchbase/core/operations/document_upsert.hxx +21 -19
  395. data/ext/couchbase/core/operations/document_view.cxx +169 -159
  396. data/ext/couchbase/core/operations/document_view.hxx +68 -65
  397. data/ext/couchbase/core/operations/http_noop.cxx +38 -35
  398. data/ext/couchbase/core/operations/http_noop.hxx +12 -10
  399. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +58 -56
  400. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +20 -17
  401. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +49 -44
  402. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +18 -15
  403. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.cxx +46 -43
  404. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +16 -13
  405. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +48 -43
  406. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +17 -14
  407. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +48 -43
  408. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +17 -14
  409. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +38 -35
  410. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +16 -14
  411. data/ext/couchbase/core/operations/management/analytics_index_create.cxx +68 -66
  412. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +20 -17
  413. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +56 -51
  414. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +19 -16
  415. data/ext/couchbase/core/operations/management/analytics_index_get_all.cxx +44 -42
  416. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +16 -13
  417. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +49 -43
  418. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +23 -20
  419. data/ext/couchbase/core/operations/management/analytics_link_create.cxx +52 -51
  420. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +33 -30
  421. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +46 -42
  422. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +22 -19
  423. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +70 -67
  424. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +22 -19
  425. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +92 -85
  426. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +27 -24
  427. data/ext/couchbase/core/operations/management/analytics_link_replace.cxx +52 -51
  428. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +33 -30
  429. data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +6 -4
  430. data/ext/couchbase/core/operations/management/analytics_problem.hxx +2 -2
  431. data/ext/couchbase/core/operations/management/bucket_create.cxx +158 -149
  432. data/ext/couchbase/core/operations/management/bucket_create.hxx +14 -12
  433. data/ext/couchbase/core/operations/management/bucket_describe.cxx +118 -42
  434. data/ext/couchbase/core/operations/management/bucket_describe.hxx +47 -22
  435. data/ext/couchbase/core/operations/management/bucket_drop.cxx +19 -18
  436. data/ext/couchbase/core/operations/management/bucket_drop.hxx +13 -11
  437. data/ext/couchbase/core/operations/management/bucket_flush.cxx +25 -24
  438. data/ext/couchbase/core/operations/management/bucket_flush.hxx +13 -11
  439. data/ext/couchbase/core/operations/management/bucket_get.cxx +24 -22
  440. data/ext/couchbase/core/operations/management/bucket_get.hxx +14 -12
  441. data/ext/couchbase/core/operations/management/bucket_get_all.cxx +25 -23
  442. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +13 -11
  443. data/ext/couchbase/core/operations/management/bucket_update.cxx +112 -107
  444. data/ext/couchbase/core/operations/management/bucket_update.hxx +15 -13
  445. data/ext/couchbase/core/operations/management/change_password.cxx +22 -20
  446. data/ext/couchbase/core/operations/management/change_password.hxx +13 -11
  447. data/ext/couchbase/core/operations/management/cluster_describe.cxx +52 -50
  448. data/ext/couchbase/core/operations/management/cluster_describe.hxx +31 -29
  449. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.cxx +14 -12
  450. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +13 -11
  451. data/ext/couchbase/core/operations/management/collection_create.cxx +48 -46
  452. data/ext/couchbase/core/operations/management/collection_create.hxx +19 -16
  453. data/ext/couchbase/core/operations/management/collection_drop.cxx +37 -35
  454. data/ext/couchbase/core/operations/management/collection_drop.hxx +16 -14
  455. data/ext/couchbase/core/operations/management/collection_update.cxx +49 -47
  456. data/ext/couchbase/core/operations/management/collection_update.hxx +19 -16
  457. data/ext/couchbase/core/operations/management/collections_manifest_get.cxx +11 -9
  458. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +17 -13
  459. data/ext/couchbase/core/operations/management/error_utils.cxx +210 -198
  460. data/ext/couchbase/core/operations/management/error_utils.hxx +3 -1
  461. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +30 -28
  462. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +17 -14
  463. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +31 -29
  464. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +17 -14
  465. data/ext/couchbase/core/operations/management/eventing_get_all_functions.cxx +49 -43
  466. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +17 -14
  467. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +29 -27
  468. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +18 -15
  469. data/ext/couchbase/core/operations/management/eventing_get_status.cxx +45 -39
  470. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +17 -14
  471. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +30 -28
  472. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +17 -14
  473. data/ext/couchbase/core/operations/management/eventing_problem.hxx +3 -3
  474. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +30 -28
  475. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +17 -14
  476. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +30 -28
  477. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +17 -14
  478. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +328 -318
  479. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +17 -14
  480. data/ext/couchbase/core/operations/management/freeform.cxx +23 -22
  481. data/ext/couchbase/core/operations/management/freeform.hxx +19 -17
  482. data/ext/couchbase/core/operations/management/group_drop.cxx +18 -17
  483. data/ext/couchbase/core/operations/management/group_drop.hxx +13 -11
  484. data/ext/couchbase/core/operations/management/group_get.cxx +25 -23
  485. data/ext/couchbase/core/operations/management/group_get.hxx +14 -12
  486. data/ext/couchbase/core/operations/management/group_get_all.cxx +23 -22
  487. data/ext/couchbase/core/operations/management/group_get_all.hxx +13 -11
  488. data/ext/couchbase/core/operations/management/group_upsert.cxx +58 -55
  489. data/ext/couchbase/core/operations/management/group_upsert.hxx +14 -12
  490. data/ext/couchbase/core/operations/management/query_index_build.cxx +53 -48
  491. data/ext/couchbase/core/operations/management/query_index_build.hxx +25 -22
  492. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +75 -67
  493. data/ext/couchbase/core/operations/management/query_index_create.cxx +128 -122
  494. data/ext/couchbase/core/operations/management/query_index_create.hxx +31 -28
  495. data/ext/couchbase/core/operations/management/query_index_drop.cxx +95 -93
  496. data/ext/couchbase/core/operations/management/query_index_drop.hxx +26 -24
  497. data/ext/couchbase/core/operations/management/query_index_get_all.cxx +97 -93
  498. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +24 -21
  499. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.cxx +66 -62
  500. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +24 -22
  501. data/ext/couchbase/core/operations/management/role_get_all.cxx +24 -22
  502. data/ext/couchbase/core/operations/management/role_get_all.hxx +13 -11
  503. data/ext/couchbase/core/operations/management/scope_create.cxx +38 -36
  504. data/ext/couchbase/core/operations/management/scope_create.hxx +15 -13
  505. data/ext/couchbase/core/operations/management/scope_drop.cxx +33 -32
  506. data/ext/couchbase/core/operations/management/scope_drop.hxx +15 -13
  507. data/ext/couchbase/core/operations/management/scope_get_all.cxx +27 -25
  508. data/ext/couchbase/core/operations/management/scope_get_all.hxx +14 -12
  509. data/ext/couchbase/core/operations/management/search_get_stats.cxx +12 -10
  510. data/ext/couchbase/core/operations/management/search_get_stats.hxx +13 -11
  511. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +72 -67
  512. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +20 -18
  513. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +62 -59
  514. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +19 -16
  515. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +62 -59
  516. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +19 -17
  517. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +62 -59
  518. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +19 -16
  519. data/ext/couchbase/core/operations/management/search_index_drop.cxx +58 -55
  520. data/ext/couchbase/core/operations/management/search_index_drop.hxx +18 -15
  521. data/ext/couchbase/core/operations/management/search_index_get.cxx +59 -56
  522. data/ext/couchbase/core/operations/management/search_index_get.hxx +18 -16
  523. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +51 -46
  524. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +18 -15
  525. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +66 -61
  526. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +19 -17
  527. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +38 -36
  528. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +17 -14
  529. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +98 -95
  530. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +20 -17
  531. data/ext/couchbase/core/operations/management/user_drop.cxx +18 -17
  532. data/ext/couchbase/core/operations/management/user_drop.hxx +16 -12
  533. data/ext/couchbase/core/operations/management/user_get.cxx +25 -23
  534. data/ext/couchbase/core/operations/management/user_get.hxx +17 -13
  535. data/ext/couchbase/core/operations/management/user_get_all.cxx +24 -22
  536. data/ext/couchbase/core/operations/management/user_get_all.hxx +16 -12
  537. data/ext/couchbase/core/operations/management/user_upsert.cxx +63 -60
  538. data/ext/couchbase/core/operations/management/user_upsert.hxx +17 -13
  539. data/ext/couchbase/core/operations/management/view_index_drop.cxx +16 -12
  540. data/ext/couchbase/core/operations/management/view_index_drop.hxx +15 -13
  541. data/ext/couchbase/core/operations/management/view_index_get.cxx +40 -35
  542. data/ext/couchbase/core/operations/management/view_index_get.hxx +16 -14
  543. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +73 -69
  544. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +16 -13
  545. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +39 -35
  546. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +15 -12
  547. data/ext/couchbase/core/origin.cxx +259 -249
  548. data/ext/couchbase/core/origin.hxx +55 -49
  549. data/ext/couchbase/core/pending_operation.hxx +3 -3
  550. data/ext/couchbase/core/ping_collector.hxx +3 -3
  551. data/ext/couchbase/core/ping_options.hxx +30 -30
  552. data/ext/couchbase/core/ping_reporter.hxx +3 -3
  553. data/ext/couchbase/core/platform/backtrace.c +100 -91
  554. data/ext/couchbase/core/platform/base64.cc +135 -134
  555. data/ext/couchbase/core/platform/dirutils.cc +66 -63
  556. data/ext/couchbase/core/platform/random.cc +43 -42
  557. data/ext/couchbase/core/platform/random.h +4 -4
  558. data/ext/couchbase/core/platform/string_hex.cc +42 -40
  559. data/ext/couchbase/core/platform/terminate_handler.cc +54 -52
  560. data/ext/couchbase/core/platform/uuid.cc +47 -47
  561. data/ext/couchbase/core/protocol/client_opcode.hxx +336 -327
  562. data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +291 -291
  563. data/ext/couchbase/core/protocol/client_request.cxx +13 -10
  564. data/ext/couchbase/core/protocol/client_request.hxx +133 -130
  565. data/ext/couchbase/core/protocol/client_response.cxx +40 -40
  566. data/ext/couchbase/core/protocol/client_response.hxx +153 -150
  567. data/ext/couchbase/core/protocol/cmd_append.cxx +24 -23
  568. data/ext/couchbase/core/protocol/cmd_append.hxx +65 -65
  569. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.cxx +25 -21
  570. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.hxx +33 -25
  571. data/ext/couchbase/core/protocol/cmd_decrement.cxx +38 -38
  572. data/ext/couchbase/core/protocol/cmd_decrement.hxx +87 -87
  573. data/ext/couchbase/core/protocol/cmd_get.cxx +17 -17
  574. data/ext/couchbase/core/protocol/cmd_get.hxx +59 -59
  575. data/ext/couchbase/core/protocol/cmd_get_and_lock.cxx +20 -20
  576. data/ext/couchbase/core/protocol/cmd_get_and_lock.hxx +72 -72
  577. data/ext/couchbase/core/protocol/cmd_get_and_touch.cxx +20 -20
  578. data/ext/couchbase/core/protocol/cmd_get_and_touch.hxx +72 -72
  579. data/ext/couchbase/core/protocol/cmd_get_cluster_config.cxx +46 -39
  580. data/ext/couchbase/core/protocol/cmd_get_cluster_config.hxx +57 -49
  581. data/ext/couchbase/core/protocol/cmd_get_collection_id.cxx +17 -17
  582. data/ext/couchbase/core/protocol/cmd_get_collection_id.hxx +59 -59
  583. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.cxx +16 -14
  584. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.hxx +39 -39
  585. data/ext/couchbase/core/protocol/cmd_get_error_map.cxx +18 -17
  586. data/ext/couchbase/core/protocol/cmd_get_error_map.hxx +62 -62
  587. data/ext/couchbase/core/protocol/cmd_get_meta.cxx +24 -23
  588. data/ext/couchbase/core/protocol/cmd_get_meta.hxx +81 -79
  589. data/ext/couchbase/core/protocol/cmd_get_replica.cxx +23 -23
  590. data/ext/couchbase/core/protocol/cmd_get_replica.hxx +44 -44
  591. data/ext/couchbase/core/protocol/cmd_hello.cxx +28 -27
  592. data/ext/couchbase/core/protocol/cmd_hello.hxx +106 -105
  593. data/ext/couchbase/core/protocol/cmd_increment.cxx +38 -38
  594. data/ext/couchbase/core/protocol/cmd_increment.hxx +87 -87
  595. data/ext/couchbase/core/protocol/cmd_info.hxx +3 -3
  596. data/ext/couchbase/core/protocol/cmd_insert.cxx +27 -27
  597. data/ext/couchbase/core/protocol/cmd_insert.hxx +81 -81
  598. data/ext/couchbase/core/protocol/cmd_lookup_in.cxx +54 -51
  599. data/ext/couchbase/core/protocol/cmd_lookup_in.hxx +90 -90
  600. data/ext/couchbase/core/protocol/cmd_lookup_in_replica.cxx +54 -51
  601. data/ext/couchbase/core/protocol/cmd_lookup_in_replica.hxx +88 -88
  602. data/ext/couchbase/core/protocol/cmd_mutate_in.cxx +105 -97
  603. data/ext/couchbase/core/protocol/cmd_mutate_in.hxx +161 -153
  604. data/ext/couchbase/core/protocol/cmd_noop.cxx +4 -4
  605. data/ext/couchbase/core/protocol/cmd_noop.hxx +32 -32
  606. data/ext/couchbase/core/protocol/cmd_observe_seqno.cxx +36 -34
  607. data/ext/couchbase/core/protocol/cmd_observe_seqno.hxx +89 -89
  608. data/ext/couchbase/core/protocol/cmd_prepend.cxx +22 -22
  609. data/ext/couchbase/core/protocol/cmd_prepend.hxx +63 -63
  610. data/ext/couchbase/core/protocol/cmd_remove.cxx +23 -23
  611. data/ext/couchbase/core/protocol/cmd_remove.hxx +54 -54
  612. data/ext/couchbase/core/protocol/cmd_replace.cxx +28 -28
  613. data/ext/couchbase/core/protocol/cmd_replace.hxx +88 -88
  614. data/ext/couchbase/core/protocol/cmd_sasl_auth.cxx +17 -15
  615. data/ext/couchbase/core/protocol/cmd_sasl_auth.hxx +56 -56
  616. data/ext/couchbase/core/protocol/cmd_sasl_list_mechs.cxx +24 -19
  617. data/ext/couchbase/core/protocol/cmd_sasl_list_mechs.hxx +39 -39
  618. data/ext/couchbase/core/protocol/cmd_sasl_step.cxx +17 -15
  619. data/ext/couchbase/core/protocol/cmd_sasl_step.hxx +56 -56
  620. data/ext/couchbase/core/protocol/cmd_select_bucket.cxx +6 -6
  621. data/ext/couchbase/core/protocol/cmd_select_bucket.hxx +36 -36
  622. data/ext/couchbase/core/protocol/cmd_touch.cxx +8 -8
  623. data/ext/couchbase/core/protocol/cmd_touch.hxx +38 -38
  624. data/ext/couchbase/core/protocol/cmd_unlock.cxx +5 -5
  625. data/ext/couchbase/core/protocol/cmd_unlock.hxx +36 -36
  626. data/ext/couchbase/core/protocol/cmd_upsert.cxx +28 -28
  627. data/ext/couchbase/core/protocol/cmd_upsert.hxx +83 -83
  628. data/ext/couchbase/core/protocol/datatype.hxx +19 -18
  629. data/ext/couchbase/core/protocol/frame_info_id.hxx +108 -103
  630. data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +45 -45
  631. data/ext/couchbase/core/protocol/frame_info_utils.cxx +24 -21
  632. data/ext/couchbase/core/protocol/frame_info_utils.hxx +3 -1
  633. data/ext/couchbase/core/protocol/hello_feature.hxx +211 -175
  634. data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +93 -90
  635. data/ext/couchbase/core/protocol/magic.hxx +24 -24
  636. data/ext/couchbase/core/protocol/magic_fmt.hxx +30 -30
  637. data/ext/couchbase/core/protocol/server_opcode.hxx +11 -11
  638. data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +18 -18
  639. data/ext/couchbase/core/protocol/server_request.hxx +90 -86
  640. data/ext/couchbase/core/protocol/status.cxx +138 -138
  641. data/ext/couchbase/core/protocol/status.hxx +86 -86
  642. data/ext/couchbase/core/query_context.hxx +44 -43
  643. data/ext/couchbase/core/range_scan_load_balancer.cxx +51 -50
  644. data/ext/couchbase/core/range_scan_load_balancer.hxx +26 -25
  645. data/ext/couchbase/core/range_scan_options.cxx +2 -2
  646. data/ext/couchbase/core/range_scan_options.hxx +62 -59
  647. data/ext/couchbase/core/range_scan_orchestrator.cxx +515 -470
  648. data/ext/couchbase/core/range_scan_orchestrator.hxx +23 -18
  649. data/ext/couchbase/core/range_scan_orchestrator_options.hxx +10 -10
  650. data/ext/couchbase/core/resource_units.hxx +2 -2
  651. data/ext/couchbase/core/response_handler.hxx +8 -8
  652. data/ext/couchbase/core/retry_orchestrator.cxx +27 -19
  653. data/ext/couchbase/core/retry_orchestrator.hxx +3 -2
  654. data/ext/couchbase/core/sasl/client.cc +22 -18
  655. data/ext/couchbase/core/sasl/client.h +66 -62
  656. data/ext/couchbase/core/sasl/context.cc +4 -4
  657. data/ext/couchbase/core/sasl/context.h +19 -19
  658. data/ext/couchbase/core/sasl/error.h +12 -1
  659. data/ext/couchbase/core/sasl/error_fmt.h +42 -42
  660. data/ext/couchbase/core/sasl/mechanism.cc +13 -10
  661. data/ext/couchbase/core/sasl/mechanism.h +8 -3
  662. data/ext/couchbase/core/sasl/plain/plain.cc +8 -8
  663. data/ext/couchbase/core/sasl/plain/plain.h +25 -24
  664. data/ext/couchbase/core/sasl/scram-sha/scram-sha.cc +225 -218
  665. data/ext/couchbase/core/sasl/scram-sha/scram-sha.h +133 -115
  666. data/ext/couchbase/core/sasl/scram-sha/stringutils.cc +20 -20
  667. data/ext/couchbase/core/scan_result.cxx +38 -38
  668. data/ext/couchbase/core/scan_result.hxx +16 -16
  669. data/ext/couchbase/core/search_highlight_style.hxx +4 -1
  670. data/ext/couchbase/core/search_query_options.cxx +21 -21
  671. data/ext/couchbase/core/search_query_options.hxx +19 -18
  672. data/ext/couchbase/core/search_scan_consistency.hxx +3 -1
  673. data/ext/couchbase/core/seed_config.cxx +10 -7
  674. data/ext/couchbase/core/seed_config.hxx +8 -8
  675. data/ext/couchbase/core/service_type.hxx +7 -7
  676. data/ext/couchbase/core/service_type_fmt.hxx +33 -33
  677. data/ext/couchbase/core/stats_options.hxx +13 -13
  678. data/ext/couchbase/core/subdoc_options.hxx +60 -58
  679. data/ext/couchbase/core/tls_verify_mode.hxx +2 -2
  680. data/ext/couchbase/core/topology/capabilities.hxx +83 -83
  681. data/ext/couchbase/core/topology/capabilities_fmt.hxx +111 -111
  682. data/ext/couchbase/core/topology/collections_manifest.hxx +14 -14
  683. data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +23 -21
  684. data/ext/couchbase/core/topology/collections_manifest_json.hxx +26 -25
  685. data/ext/couchbase/core/topology/configuration.cxx +213 -192
  686. data/ext/couchbase/core/topology/configuration.hxx +104 -91
  687. data/ext/couchbase/core/topology/configuration_fmt.hxx +131 -128
  688. data/ext/couchbase/core/topology/configuration_json.hxx +276 -242
  689. data/ext/couchbase/core/topology/error_map.hxx +5 -5
  690. data/ext/couchbase/core/topology/error_map_json.hxx +65 -60
  691. data/ext/couchbase/core/tracing/constants.hxx +153 -153
  692. data/ext/couchbase/core/tracing/noop_tracer.hxx +29 -28
  693. data/ext/couchbase/core/tracing/threshold_logging_options.hxx +30 -30
  694. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +354 -344
  695. data/ext/couchbase/core/tracing/threshold_logging_tracer.hxx +12 -12
  696. data/ext/couchbase/core/transactions/active_transaction_record.cxx +153 -33
  697. data/ext/couchbase/core/transactions/active_transaction_record.hxx +30 -118
  698. data/ext/couchbase/core/transactions/async_attempt_context.cxx +8 -2
  699. data/ext/couchbase/core/transactions/async_attempt_context.hxx +163 -127
  700. data/ext/couchbase/core/transactions/atr_cleanup_entry.cxx +358 -334
  701. data/ext/couchbase/core/transactions/atr_ids.cxx +270 -185
  702. data/ext/couchbase/core/transactions/atr_ids.hxx +4 -4
  703. data/ext/couchbase/core/transactions/attempt_context.cxx +9 -5
  704. data/ext/couchbase/core/transactions/attempt_context.hxx +194 -154
  705. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +3278 -2159
  706. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +446 -573
  707. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.cxx +15 -10
  708. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.hxx +58 -49
  709. data/ext/couchbase/core/transactions/attempt_state.hxx +72 -72
  710. data/ext/couchbase/core/transactions/binary.cxx +3 -3
  711. data/ext/couchbase/core/transactions/cleanup_testing_hooks.cxx +2 -2
  712. data/ext/couchbase/core/transactions/cleanup_testing_hooks.hxx +28 -24
  713. data/ext/couchbase/core/transactions/document_metadata.hxx +68 -68
  714. data/ext/couchbase/core/transactions/durability_level.hxx +53 -53
  715. data/ext/couchbase/core/transactions/error_class.hxx +12 -12
  716. data/ext/couchbase/core/transactions/error_list.hxx +22 -22
  717. data/ext/couchbase/core/transactions/exceptions.cxx +167 -114
  718. data/ext/couchbase/core/transactions/exceptions.hxx +170 -139
  719. data/ext/couchbase/core/transactions/exceptions_fmt.hxx +105 -0
  720. data/ext/couchbase/core/transactions/forward_compat.cxx +220 -0
  721. data/ext/couchbase/core/transactions/forward_compat.hxx +63 -207
  722. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +110 -102
  723. data/ext/couchbase/core/transactions/internal/atr_entry.hxx +144 -144
  724. data/ext/couchbase/core/transactions/internal/client_record.hxx +53 -50
  725. data/ext/couchbase/core/transactions/internal/doc_record.cxx +5 -5
  726. data/ext/couchbase/core/transactions/internal/doc_record.hxx +38 -35
  727. data/ext/couchbase/core/transactions/internal/doc_record_fmt.hxx +17 -16
  728. data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +238 -281
  729. data/ext/couchbase/core/transactions/internal/exceptions_internal_fmt.hxx +103 -0
  730. data/ext/couchbase/core/transactions/internal/logging.hxx +52 -29
  731. data/ext/couchbase/core/transactions/internal/transaction_attempt.hxx +3 -3
  732. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +136 -120
  733. data/ext/couchbase/core/transactions/internal/transaction_fields.hxx +2 -1
  734. data/ext/couchbase/core/transactions/internal/transactions_cleanup.hxx +127 -122
  735. data/ext/couchbase/core/transactions/internal/utils.hxx +244 -219
  736. data/ext/couchbase/core/transactions/result.cxx +41 -40
  737. data/ext/couchbase/core/transactions/result.hxx +143 -141
  738. data/ext/couchbase/core/transactions/result_fmt.hxx +21 -20
  739. data/ext/couchbase/core/transactions/staged_mutation.cxx +759 -627
  740. data/ext/couchbase/core/transactions/staged_mutation.hxx +175 -156
  741. data/ext/couchbase/core/transactions/transaction_context.cxx +231 -179
  742. data/ext/couchbase/core/transactions/transaction_get_result.cxx +185 -198
  743. data/ext/couchbase/core/transactions/transaction_get_result.hxx +207 -222
  744. data/ext/couchbase/core/transactions/transaction_keyspace.cxx +15 -11
  745. data/ext/couchbase/core/transactions/transaction_links.cxx +11 -7
  746. data/ext/couchbase/core/transactions/transaction_links.hxx +222 -201
  747. data/ext/couchbase/core/transactions/transaction_options.cxx +44 -41
  748. data/ext/couchbase/core/transactions/transactions.cxx +167 -125
  749. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +491 -424
  750. data/ext/couchbase/core/transactions/transactions_config.cxx +25 -19
  751. data/ext/couchbase/core/transactions/uid_generator.cxx +3 -3
  752. data/ext/couchbase/core/transactions/uid_generator.hxx +2 -2
  753. data/ext/couchbase/core/transactions/utils.cxx +82 -69
  754. data/ext/couchbase/core/transactions/waitable_op_list.hxx +154 -140
  755. data/ext/couchbase/core/transactions.hxx +184 -180
  756. data/ext/couchbase/core/utils/binary.cxx +3 -3
  757. data/ext/couchbase/core/utils/binary.hxx +19 -15
  758. data/ext/couchbase/core/utils/byteswap.hxx +17 -17
  759. data/ext/couchbase/core/utils/connection_string.cxx +395 -328
  760. data/ext/couchbase/core/utils/connection_string.hxx +37 -36
  761. data/ext/couchbase/core/utils/crc32.hxx +42 -34
  762. data/ext/couchbase/core/utils/duration_parser.cxx +142 -133
  763. data/ext/couchbase/core/utils/duration_parser.hxx +9 -9
  764. data/ext/couchbase/core/utils/join_strings.hxx +24 -24
  765. data/ext/couchbase/core/utils/json.cxx +234 -228
  766. data/ext/couchbase/core/utils/json.hxx +12 -12
  767. data/ext/couchbase/core/utils/json_stream_control.hxx +8 -8
  768. data/ext/couchbase/core/utils/json_streaming_lexer.cxx +288 -263
  769. data/ext/couchbase/core/utils/json_streaming_lexer.hxx +20 -17
  770. data/ext/couchbase/core/utils/keyspace.hxx +22 -21
  771. data/ext/couchbase/core/utils/movable_function.hxx +78 -76
  772. data/ext/couchbase/core/utils/mutation_token.cxx +7 -3
  773. data/ext/couchbase/core/utils/mutation_token.hxx +3 -1
  774. data/ext/couchbase/core/utils/name_codec.hxx +13 -13
  775. data/ext/couchbase/core/utils/split_string.cxx +9 -9
  776. data/ext/couchbase/core/utils/split_string.hxx +2 -2
  777. data/ext/couchbase/core/utils/unsigned_leb128.hxx +92 -88
  778. data/ext/couchbase/core/utils/url_codec.cxx +301 -297
  779. data/ext/couchbase/core/utils/url_codec.hxx +35 -35
  780. data/ext/couchbase/core/vector_query_combination.hxx +4 -1
  781. data/ext/couchbase/core/view_on_error.hxx +4 -3
  782. data/ext/couchbase/core/view_query_options.cxx +21 -21
  783. data/ext/couchbase/core/view_query_options.hxx +23 -22
  784. data/ext/couchbase/core/view_scan_consistency.hxx +3 -3
  785. data/ext/couchbase/core/view_sort_order.hxx +4 -1
  786. data/ext/couchbase/core/wait_until_ready_options.hxx +11 -10
  787. data/ext/couchbase/couchbase/allow_querying_search_index_options.hxx +11 -11
  788. data/ext/couchbase/couchbase/analytics_index_manager.hxx +423 -405
  789. data/ext/couchbase/couchbase/analytics_meta_data.hxx +105 -105
  790. data/ext/couchbase/couchbase/analytics_metrics.hxx +120 -118
  791. data/ext/couchbase/couchbase/analytics_options.hxx +318 -292
  792. data/ext/couchbase/couchbase/analytics_result.hxx +56 -55
  793. data/ext/couchbase/couchbase/analytics_scan_consistency.hxx +24 -21
  794. data/ext/couchbase/couchbase/analytics_status.hxx +10 -10
  795. data/ext/couchbase/couchbase/analytics_warning.hxx +44 -43
  796. data/ext/couchbase/couchbase/analyze_document_options.hxx +9 -9
  797. data/ext/couchbase/couchbase/append_options.hxx +51 -47
  798. data/ext/couchbase/couchbase/behavior_options.hxx +75 -69
  799. data/ext/couchbase/couchbase/best_effort_retry_strategy.hxx +12 -10
  800. data/ext/couchbase/couchbase/binary_collection.hxx +213 -183
  801. data/ext/couchbase/couchbase/boolean_field_query.hxx +38 -38
  802. data/ext/couchbase/couchbase/boolean_query.hxx +166 -157
  803. data/ext/couchbase/couchbase/bucket.hxx +69 -68
  804. data/ext/couchbase/couchbase/bucket_manager.hxx +97 -88
  805. data/ext/couchbase/couchbase/build_query_index_options.hxx +22 -21
  806. data/ext/couchbase/couchbase/cas.hxx +74 -73
  807. data/ext/couchbase/couchbase/certificate_authenticator.hxx +10 -10
  808. data/ext/couchbase/couchbase/cluster.hxx +266 -310
  809. data/ext/couchbase/couchbase/cluster_options.hxx +235 -241
  810. data/ext/couchbase/couchbase/codec/binary_noop_serializer.hxx +11 -11
  811. data/ext/couchbase/couchbase/codec/codec_flags.hxx +39 -35
  812. data/ext/couchbase/couchbase/codec/encoded_value.hxx +15 -2
  813. data/ext/couchbase/couchbase/codec/json_transcoder.hxx +17 -15
  814. data/ext/couchbase/couchbase/codec/raw_binary_transcoder.hxx +19 -17
  815. data/ext/couchbase/couchbase/codec/raw_json_transcoder.hxx +31 -24
  816. data/ext/couchbase/couchbase/codec/raw_string_transcoder.hxx +20 -18
  817. data/ext/couchbase/couchbase/codec/tao_json_serializer.hxx +38 -30
  818. data/ext/couchbase/couchbase/collection.hxx +1007 -902
  819. data/ext/couchbase/couchbase/collection_manager.hxx +115 -107
  820. data/ext/couchbase/couchbase/collection_query_index_manager.hxx +200 -188
  821. data/ext/couchbase/couchbase/common_durability_options.hxx +68 -62
  822. data/ext/couchbase/couchbase/common_options.hxx +67 -67
  823. data/ext/couchbase/couchbase/compression_options.hxx +33 -33
  824. data/ext/couchbase/couchbase/configuration_profile.hxx +12 -11
  825. data/ext/couchbase/couchbase/configuration_profiles_registry.hxx +24 -22
  826. data/ext/couchbase/couchbase/conjunction_query.hxx +47 -45
  827. data/ext/couchbase/couchbase/connect_link_analytics_options.hxx +74 -72
  828. data/ext/couchbase/couchbase/counter_result.hxx +32 -32
  829. data/ext/couchbase/couchbase/create_bucket_options.hxx +9 -10
  830. data/ext/couchbase/couchbase/create_collection_options.hxx +35 -34
  831. data/ext/couchbase/couchbase/create_dataset_analytics_options.hxx +76 -76
  832. data/ext/couchbase/couchbase/create_dataverse_analytics_options.hxx +44 -44
  833. data/ext/couchbase/couchbase/create_index_analytics_options.hxx +60 -60
  834. data/ext/couchbase/couchbase/create_link_analytics_options.hxx +25 -25
  835. data/ext/couchbase/couchbase/create_primary_query_index_options.hxx +95 -94
  836. data/ext/couchbase/couchbase/create_query_index_options.hxx +97 -96
  837. data/ext/couchbase/couchbase/create_scope_options.hxx +9 -9
  838. data/ext/couchbase/couchbase/date_range.hxx +29 -27
  839. data/ext/couchbase/couchbase/date_range_facet.hxx +20 -20
  840. data/ext/couchbase/couchbase/date_range_facet_result.hxx +14 -14
  841. data/ext/couchbase/couchbase/date_range_query.hxx +219 -205
  842. data/ext/couchbase/couchbase/decrement_options.hxx +93 -91
  843. data/ext/couchbase/couchbase/diagnostics_options.hxx +42 -41
  844. data/ext/couchbase/couchbase/diagnostics_result.hxx +82 -83
  845. data/ext/couchbase/couchbase/disallow_querying_search_index_options.hxx +11 -10
  846. data/ext/couchbase/couchbase/disconnect_link_analytics_options.hxx +62 -62
  847. data/ext/couchbase/couchbase/disjunction_query.hxx +61 -60
  848. data/ext/couchbase/couchbase/dns_options.hxx +30 -30
  849. data/ext/couchbase/couchbase/doc_id_query.hxx +69 -69
  850. data/ext/couchbase/couchbase/drop_bucket_options.hxx +9 -9
  851. data/ext/couchbase/couchbase/drop_collection_options.hxx +9 -9
  852. data/ext/couchbase/couchbase/drop_dataset_analytics_options.hxx +60 -60
  853. data/ext/couchbase/couchbase/drop_dataverse_analytics_options.hxx +44 -44
  854. data/ext/couchbase/couchbase/drop_index_analytics_options.hxx +60 -60
  855. data/ext/couchbase/couchbase/drop_link_analytics_options.hxx +25 -25
  856. data/ext/couchbase/couchbase/drop_primary_query_index_options.hxx +58 -58
  857. data/ext/couchbase/couchbase/drop_query_index_options.hxx +44 -44
  858. data/ext/couchbase/couchbase/drop_scope_options.hxx +9 -9
  859. data/ext/couchbase/couchbase/drop_search_index_options.hxx +9 -9
  860. data/ext/couchbase/couchbase/durability_level.hxx +32 -29
  861. data/ext/couchbase/couchbase/endpoint_diagnostics.hxx +171 -171
  862. data/ext/couchbase/couchbase/endpoint_ping_report.hxx +166 -169
  863. data/ext/couchbase/couchbase/error.hxx +51 -0
  864. data/ext/couchbase/couchbase/error_codes.hxx +975 -940
  865. data/ext/couchbase/couchbase/error_context.hxx +19 -152
  866. data/ext/couchbase/couchbase/exists_options.hxx +25 -24
  867. data/ext/couchbase/couchbase/exists_result.hxx +32 -32
  868. data/ext/couchbase/couchbase/fail_fast_retry_strategy.hxx +4 -4
  869. data/ext/couchbase/couchbase/flush_bucket_options.hxx +9 -9
  870. data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +18 -18
  871. data/ext/couchbase/couchbase/fmt/analytics_status.hxx +42 -42
  872. data/ext/couchbase/couchbase/fmt/cas.hxx +10 -10
  873. data/ext/couchbase/couchbase/fmt/durability_level.hxx +24 -24
  874. data/ext/couchbase/couchbase/fmt/error.hxx +53 -0
  875. data/ext/couchbase/couchbase/fmt/error_context.hxx +43 -0
  876. data/ext/couchbase/couchbase/fmt/mutation_token.hxx +15 -11
  877. data/ext/couchbase/couchbase/fmt/query_profile.hxx +21 -21
  878. data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +18 -18
  879. data/ext/couchbase/couchbase/fmt/query_status.hxx +42 -42
  880. data/ext/couchbase/couchbase/fmt/retry_reason.hxx +75 -75
  881. data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +15 -15
  882. data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +18 -18
  883. data/ext/couchbase/couchbase/fmt/transaction_keyspace.hxx +15 -11
  884. data/ext/couchbase/couchbase/fork_event.hxx +12 -12
  885. data/ext/couchbase/couchbase/freeze_plan_search_index_options.hxx +9 -9
  886. data/ext/couchbase/couchbase/geo_bounding_box_query.hxx +71 -64
  887. data/ext/couchbase/couchbase/geo_distance_query.hxx +73 -66
  888. data/ext/couchbase/couchbase/geo_point.hxx +2 -2
  889. data/ext/couchbase/couchbase/geo_polygon_query.hxx +40 -39
  890. data/ext/couchbase/couchbase/get_all_buckets_options.hxx +9 -9
  891. data/ext/couchbase/couchbase/get_all_datasets_analytics_options.hxx +25 -25
  892. data/ext/couchbase/couchbase/get_all_indexes_analytics_options.hxx +26 -25
  893. data/ext/couchbase/couchbase/get_all_query_indexes_options.hxx +27 -25
  894. data/ext/couchbase/couchbase/get_all_replicas_options.hxx +49 -26
  895. data/ext/couchbase/couchbase/get_all_scopes_options.hxx +9 -9
  896. data/ext/couchbase/couchbase/get_all_search_indexes_options.hxx +9 -9
  897. data/ext/couchbase/couchbase/get_and_lock_options.hxx +25 -24
  898. data/ext/couchbase/couchbase/get_and_touch_options.hxx +25 -24
  899. data/ext/couchbase/couchbase/get_any_replica_options.hxx +49 -26
  900. data/ext/couchbase/couchbase/get_bucket_options.hxx +9 -9
  901. data/ext/couchbase/couchbase/get_indexed_search_index_options.hxx +9 -9
  902. data/ext/couchbase/couchbase/get_links_analytics_options.hxx +74 -74
  903. data/ext/couchbase/couchbase/get_options.hxx +63 -60
  904. data/ext/couchbase/couchbase/get_pending_mutations_analytics_options.hxx +30 -28
  905. data/ext/couchbase/couchbase/get_replica_result.hxx +79 -75
  906. data/ext/couchbase/couchbase/get_result.hxx +86 -80
  907. data/ext/couchbase/couchbase/get_search_index_options.hxx +9 -9
  908. data/ext/couchbase/couchbase/highlight_style.hxx +14 -14
  909. data/ext/couchbase/couchbase/increment_options.hxx +94 -91
  910. data/ext/couchbase/couchbase/insert_options.hxx +62 -59
  911. data/ext/couchbase/couchbase/ip_protocol.hxx +3 -3
  912. data/ext/couchbase/couchbase/logger.hxx +51 -0
  913. data/ext/couchbase/couchbase/lookup_in_all_replicas_options.hxx +54 -43
  914. data/ext/couchbase/couchbase/lookup_in_any_replica_options.hxx +54 -44
  915. data/ext/couchbase/couchbase/lookup_in_options.hxx +40 -40
  916. data/ext/couchbase/couchbase/lookup_in_replica_result.hxx +38 -35
  917. data/ext/couchbase/couchbase/lookup_in_result.hxx +222 -216
  918. data/ext/couchbase/couchbase/lookup_in_specs.hxx +101 -101
  919. data/ext/couchbase/couchbase/management/analytics_dataset.hxx +16 -16
  920. data/ext/couchbase/couchbase/management/analytics_index.hxx +16 -16
  921. data/ext/couchbase/couchbase/management/analytics_link.hxx +193 -189
  922. data/ext/couchbase/couchbase/management/bucket_settings.hxx +91 -75
  923. data/ext/couchbase/couchbase/management/collection_spec.hxx +4 -4
  924. data/ext/couchbase/couchbase/management/query_index.hxx +10 -10
  925. data/ext/couchbase/couchbase/management/scope_spec.hxx +2 -2
  926. data/ext/couchbase/couchbase/management/search_index.hxx +9 -9
  927. data/ext/couchbase/couchbase/match_all_query.hxx +10 -9
  928. data/ext/couchbase/couchbase/match_none_query.hxx +10 -9
  929. data/ext/couchbase/couchbase/match_operator.hxx +15 -14
  930. data/ext/couchbase/couchbase/match_phrase_query.hxx +70 -65
  931. data/ext/couchbase/couchbase/match_query.hxx +115 -114
  932. data/ext/couchbase/couchbase/metrics/meter.hxx +33 -30
  933. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +86 -74
  934. data/ext/couchbase/couchbase/metrics_options.hxx +34 -34
  935. data/ext/couchbase/couchbase/mutate_in_options.hxx +160 -149
  936. data/ext/couchbase/couchbase/mutate_in_result.hxx +130 -123
  937. data/ext/couchbase/couchbase/mutate_in_specs.hxx +473 -454
  938. data/ext/couchbase/couchbase/mutation_result.hxx +32 -32
  939. data/ext/couchbase/couchbase/mutation_state.hxx +35 -34
  940. data/ext/couchbase/couchbase/mutation_token.hxx +78 -78
  941. data/ext/couchbase/couchbase/network_options.hxx +101 -72
  942. data/ext/couchbase/couchbase/numeric_range.hxx +26 -26
  943. data/ext/couchbase/couchbase/numeric_range_facet.hxx +20 -20
  944. data/ext/couchbase/couchbase/numeric_range_facet_result.hxx +14 -14
  945. data/ext/couchbase/couchbase/numeric_range_query.hxx +97 -95
  946. data/ext/couchbase/couchbase/password_authenticator.hxx +17 -17
  947. data/ext/couchbase/couchbase/pause_ingest_search_index_options.hxx +11 -10
  948. data/ext/couchbase/couchbase/persist_to.hxx +45 -44
  949. data/ext/couchbase/couchbase/phrase_query.hxx +69 -65
  950. data/ext/couchbase/couchbase/ping_options.hxx +55 -54
  951. data/ext/couchbase/couchbase/ping_result.hxx +79 -77
  952. data/ext/couchbase/couchbase/prefix_query.hxx +43 -40
  953. data/ext/couchbase/couchbase/prepend_options.hxx +51 -47
  954. data/ext/couchbase/couchbase/query_index_manager.hxx +207 -199
  955. data/ext/couchbase/couchbase/query_meta_data.hxx +120 -120
  956. data/ext/couchbase/couchbase/query_metrics.hxx +135 -133
  957. data/ext/couchbase/couchbase/query_options.hxx +518 -493
  958. data/ext/couchbase/couchbase/query_profile.hxx +29 -26
  959. data/ext/couchbase/couchbase/query_result.hxx +56 -55
  960. data/ext/couchbase/couchbase/query_scan_consistency.hxx +24 -21
  961. data/ext/couchbase/couchbase/query_status.hxx +10 -10
  962. data/ext/couchbase/couchbase/query_string_query.hxx +34 -29
  963. data/ext/couchbase/couchbase/query_warning.hxx +75 -71
  964. data/ext/couchbase/couchbase/read_preference.hxx +58 -0
  965. data/ext/couchbase/couchbase/regexp_query.hxx +40 -39
  966. data/ext/couchbase/couchbase/remove_options.hxx +51 -47
  967. data/ext/couchbase/couchbase/replace_link_analytics_options.hxx +25 -25
  968. data/ext/couchbase/couchbase/replace_options.hxx +112 -104
  969. data/ext/couchbase/couchbase/replicate_to.hxx +28 -28
  970. data/ext/couchbase/couchbase/result.hxx +28 -28
  971. data/ext/couchbase/couchbase/resume_ingest_search_index_options.hxx +11 -10
  972. data/ext/couchbase/couchbase/retry_action.hxx +10 -10
  973. data/ext/couchbase/couchbase/retry_reason.hxx +53 -51
  974. data/ext/couchbase/couchbase/retry_request.hxx +7 -7
  975. data/ext/couchbase/couchbase/retry_strategy.hxx +4 -4
  976. data/ext/couchbase/couchbase/scan_options.hxx +114 -108
  977. data/ext/couchbase/couchbase/scan_result.hxx +97 -96
  978. data/ext/couchbase/couchbase/scan_result_item.hxx +120 -118
  979. data/ext/couchbase/couchbase/scan_type.hxx +237 -232
  980. data/ext/couchbase/couchbase/scope.hxx +164 -157
  981. data/ext/couchbase/couchbase/scope_search_index_manager.hxx +263 -238
  982. data/ext/couchbase/couchbase/search_date_range.hxx +32 -29
  983. data/ext/couchbase/couchbase/search_facet.hxx +25 -25
  984. data/ext/couchbase/couchbase/search_facet_result.hxx +11 -11
  985. data/ext/couchbase/couchbase/search_geo_distance_units.hxx +11 -1
  986. data/ext/couchbase/couchbase/search_index_manager.hxx +261 -238
  987. data/ext/couchbase/couchbase/search_meta_data.hxx +37 -37
  988. data/ext/couchbase/couchbase/search_metrics.hxx +84 -83
  989. data/ext/couchbase/couchbase/search_numeric_range.hxx +32 -32
  990. data/ext/couchbase/couchbase/search_options.hxx +449 -435
  991. data/ext/couchbase/couchbase/search_query.hxx +32 -30
  992. data/ext/couchbase/couchbase/search_request.hxx +69 -68
  993. data/ext/couchbase/couchbase/search_result.hxx +29 -26
  994. data/ext/couchbase/couchbase/search_row.hxx +52 -52
  995. data/ext/couchbase/couchbase/search_row_location.hxx +20 -20
  996. data/ext/couchbase/couchbase/search_row_locations.hxx +39 -38
  997. data/ext/couchbase/couchbase/search_scan_consistency.hxx +11 -10
  998. data/ext/couchbase/couchbase/search_sort.hxx +20 -20
  999. data/ext/couchbase/couchbase/search_sort_field.hxx +77 -71
  1000. data/ext/couchbase/couchbase/search_sort_field_missing.hxx +2 -2
  1001. data/ext/couchbase/couchbase/search_sort_field_mode.hxx +3 -3
  1002. data/ext/couchbase/couchbase/search_sort_field_type.hxx +4 -4
  1003. data/ext/couchbase/couchbase/search_sort_geo_distance.hxx +41 -41
  1004. data/ext/couchbase/couchbase/search_sort_id.hxx +23 -23
  1005. data/ext/couchbase/couchbase/search_sort_score.hxx +23 -23
  1006. data/ext/couchbase/couchbase/search_term_range.hxx +17 -17
  1007. data/ext/couchbase/couchbase/security_options.hxx +50 -50
  1008. data/ext/couchbase/couchbase/service_type.hxx +34 -34
  1009. data/ext/couchbase/couchbase/store_semantics.hxx +28 -28
  1010. data/ext/couchbase/couchbase/subdoc/array_add_unique.hxx +54 -54
  1011. data/ext/couchbase/couchbase/subdoc/array_append.hxx +40 -40
  1012. data/ext/couchbase/couchbase/subdoc/array_insert.hxx +41 -41
  1013. data/ext/couchbase/couchbase/subdoc/array_prepend.hxx +41 -41
  1014. data/ext/couchbase/couchbase/subdoc/count.hxx +24 -24
  1015. data/ext/couchbase/couchbase/subdoc/counter.hxx +41 -41
  1016. data/ext/couchbase/couchbase/subdoc/exists.hxx +24 -24
  1017. data/ext/couchbase/couchbase/subdoc/get.hxx +45 -29
  1018. data/ext/couchbase/couchbase/subdoc/insert.hxx +70 -54
  1019. data/ext/couchbase/couchbase/subdoc/lookup_in_macro.hxx +13 -12
  1020. data/ext/couchbase/couchbase/subdoc/mutate_in_macro.hxx +7 -2
  1021. data/ext/couchbase/couchbase/subdoc/remove.hxx +24 -24
  1022. data/ext/couchbase/couchbase/subdoc/replace.hxx +55 -39
  1023. data/ext/couchbase/couchbase/subdoc/upsert.hxx +70 -54
  1024. data/ext/couchbase/couchbase/term_facet.hxx +16 -16
  1025. data/ext/couchbase/couchbase/term_facet_result.hxx +14 -14
  1026. data/ext/couchbase/couchbase/term_query.hxx +107 -104
  1027. data/ext/couchbase/couchbase/term_range_query.hxx +99 -96
  1028. data/ext/couchbase/couchbase/timeout_options.hxx +118 -112
  1029. data/ext/couchbase/couchbase/tls_verify_mode.hxx +2 -2
  1030. data/ext/couchbase/couchbase/touch_options.hxx +25 -24
  1031. data/ext/couchbase/couchbase/tracing/otel_tracer.hxx +45 -44
  1032. data/ext/couchbase/couchbase/tracing/request_span.hxx +34 -34
  1033. data/ext/couchbase/couchbase/tracing/request_tracer.hxx +27 -25
  1034. data/ext/couchbase/couchbase/tracing_options.hxx +147 -142
  1035. data/ext/couchbase/couchbase/transactions/async_attempt_context.hxx +149 -115
  1036. data/ext/couchbase/couchbase/transactions/attempt_context.hxx +146 -95
  1037. data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +52 -80
  1038. data/ext/couchbase/couchbase/transactions/transaction_keyspace.hxx +33 -29
  1039. data/ext/couchbase/couchbase/transactions/transaction_options.hxx +101 -96
  1040. data/ext/couchbase/couchbase/transactions/transaction_query_options.hxx +228 -223
  1041. data/ext/couchbase/couchbase/transactions/transaction_query_result.hxx +11 -12
  1042. data/ext/couchbase/couchbase/transactions/transaction_result.hxx +2 -3
  1043. data/ext/couchbase/couchbase/transactions/transactions_cleanup_config.hxx +105 -104
  1044. data/ext/couchbase/couchbase/transactions/transactions_config.hxx +191 -187
  1045. data/ext/couchbase/couchbase/transactions/transactions_query_config.hxx +32 -32
  1046. data/ext/couchbase/couchbase/transactions.hxx +56 -37
  1047. data/ext/couchbase/couchbase/unfreeze_plan_search_index_options.hxx +11 -10
  1048. data/ext/couchbase/couchbase/unlock_options.hxx +25 -24
  1049. data/ext/couchbase/couchbase/update_bucket_options.hxx +9 -9
  1050. data/ext/couchbase/couchbase/update_collection_options.hxx +35 -34
  1051. data/ext/couchbase/couchbase/upsert_options.hxx +85 -80
  1052. data/ext/couchbase/couchbase/upsert_search_index_options.hxx +9 -9
  1053. data/ext/couchbase/couchbase/vector_query.hxx +82 -62
  1054. data/ext/couchbase/couchbase/vector_search.hxx +51 -47
  1055. data/ext/couchbase/couchbase/vector_search_options.hxx +45 -41
  1056. data/ext/couchbase/couchbase/wan_development_configuration_profile.hxx +13 -13
  1057. data/ext/couchbase/couchbase/watch_query_indexes_options.hxx +41 -41
  1058. data/ext/couchbase/couchbase/wildcard_query.hxx +42 -41
  1059. data/ext/couchbase/third_party/expected/include/tl/expected.hpp +1746 -1584
  1060. data/ext/couchbase/third_party/jsonsl/jsonsl.c +2664 -2638
  1061. data/ext/couchbase/third_party/jsonsl/jsonsl.h +359 -342
  1062. data/ext/couchbase.cxx +43 -9568
  1063. data/ext/extconf.rb +5 -0
  1064. data/ext/rcb_analytics.cxx +1195 -0
  1065. data/ext/rcb_analytics.hxx +29 -0
  1066. data/ext/rcb_backend.cxx +530 -0
  1067. data/ext/rcb_backend.hxx +46 -0
  1068. data/ext/rcb_buckets.cxx +624 -0
  1069. data/ext/rcb_buckets.hxx +29 -0
  1070. data/ext/rcb_collections.cxx +377 -0
  1071. data/ext/rcb_collections.hxx +29 -0
  1072. data/ext/rcb_crud.cxx +1544 -0
  1073. data/ext/rcb_crud.hxx +29 -0
  1074. data/ext/rcb_diagnostics.cxx +264 -0
  1075. data/ext/rcb_diagnostics.hxx +29 -0
  1076. data/ext/rcb_exceptions.cxx +963 -0
  1077. data/ext/rcb_exceptions.hxx +111 -0
  1078. data/ext/rcb_extras.cxx +394 -0
  1079. data/ext/rcb_extras.hxx +29 -0
  1080. data/ext/rcb_logger.cxx +319 -0
  1081. data/ext/rcb_logger.hxx +36 -0
  1082. data/ext/rcb_multi.cxx +343 -0
  1083. data/ext/rcb_multi.hxx +29 -0
  1084. data/ext/rcb_query.cxx +1316 -0
  1085. data/ext/rcb_query.hxx +29 -0
  1086. data/ext/rcb_range_scan.cxx +358 -0
  1087. data/ext/rcb_range_scan.hxx +29 -0
  1088. data/ext/rcb_search.cxx +1216 -0
  1089. data/ext/rcb_search.hxx +29 -0
  1090. data/ext/rcb_users.cxx +636 -0
  1091. data/ext/rcb_users.hxx +29 -0
  1092. data/ext/rcb_utils.cxx +590 -0
  1093. data/ext/rcb_utils.hxx +564 -0
  1094. data/ext/rcb_version.cxx +137 -0
  1095. data/ext/rcb_version.hxx +34 -0
  1096. data/ext/rcb_views.cxx +485 -0
  1097. data/ext/rcb_views.hxx +29 -0
  1098. data/lib/active_support/cache/couchbase_store.rb +4 -1
  1099. data/lib/couchbase/analytics_options.rb +2 -0
  1100. data/lib/couchbase/authenticator.rb +2 -0
  1101. data/lib/couchbase/binary_collection.rb +2 -0
  1102. data/lib/couchbase/binary_collection_options.rb +2 -0
  1103. data/lib/couchbase/bucket.rb +2 -0
  1104. data/lib/couchbase/cluster.rb +2 -0
  1105. data/lib/couchbase/collection.rb +3 -1
  1106. data/lib/couchbase/collection_options.rb +2 -0
  1107. data/lib/couchbase/config_profiles.rb +2 -0
  1108. data/lib/couchbase/configuration.rb +2 -0
  1109. data/lib/couchbase/datastructures/couchbase_list.rb +4 -4
  1110. data/lib/couchbase/datastructures/couchbase_map.rb +4 -4
  1111. data/lib/couchbase/datastructures/couchbase_queue.rb +4 -4
  1112. data/lib/couchbase/datastructures/couchbase_set.rb +4 -4
  1113. data/lib/couchbase/datastructures.rb +2 -0
  1114. data/lib/couchbase/diagnostics.rb +2 -0
  1115. data/lib/couchbase/errors.rb +46 -8
  1116. data/lib/couchbase/json_transcoder.rb +2 -0
  1117. data/lib/couchbase/key_value_scan.rb +2 -0
  1118. data/lib/couchbase/logger.rb +2 -0
  1119. data/lib/couchbase/management/analytics_index_manager.rb +2 -0
  1120. data/lib/couchbase/management/bucket_manager.rb +2 -0
  1121. data/lib/couchbase/management/collection_manager.rb +2 -0
  1122. data/lib/couchbase/management/collection_query_index_manager.rb +2 -0
  1123. data/lib/couchbase/management/query_index_manager.rb +2 -0
  1124. data/lib/couchbase/management/scope_search_index_manager.rb +2 -0
  1125. data/lib/couchbase/management/search_index_manager.rb +2 -0
  1126. data/lib/couchbase/management/user_manager.rb +2 -0
  1127. data/lib/couchbase/management/view_index_manager.rb +2 -0
  1128. data/lib/couchbase/management.rb +2 -0
  1129. data/lib/couchbase/mutation_state.rb +2 -0
  1130. data/lib/couchbase/options.rb +2 -0
  1131. data/lib/couchbase/protostellar/request_generator/kv.rb +1 -1
  1132. data/lib/couchbase/query_options.rb +2 -0
  1133. data/lib/couchbase/railtie.rb +2 -0
  1134. data/lib/couchbase/raw_binary_transcoder.rb +2 -0
  1135. data/lib/couchbase/raw_json_transcoder.rb +2 -0
  1136. data/lib/couchbase/raw_string_transcoder.rb +2 -0
  1137. data/lib/couchbase/scope.rb +2 -0
  1138. data/lib/couchbase/search_options.rb +91 -63
  1139. data/lib/couchbase/subdoc.rb +5 -3
  1140. data/lib/couchbase/transcoder_flags.rb +2 -0
  1141. data/lib/couchbase/utils/generic_logger_adapter.rb +3 -1
  1142. data/lib/couchbase/utils/stdlib_logger_adapter.rb +2 -0
  1143. data/lib/couchbase/utils/time.rb +3 -1
  1144. data/lib/couchbase/utils.rb +2 -0
  1145. data/lib/couchbase/version.rb +3 -1
  1146. data/lib/couchbase/view_options.rb +2 -0
  1147. data/lib/couchbase.rb +2 -0
  1148. data/lib/rails/generators/couchbase/config/config_generator.rb +2 -0
  1149. metadata +83 -26
  1150. data/ext/couchbase/core/impl/internal_manager_error_context.cxx +0 -113
  1151. data/ext/couchbase/core/impl/internal_manager_error_context.hxx +0 -60
  1152. data/ext/couchbase/core/impl/manager_error_context.cxx +0 -100
  1153. data/ext/couchbase/core/impl/search_error_context.cxx +0 -147
  1154. data/ext/couchbase/couchbase/analytics_error_context.hxx +0 -143
  1155. data/ext/couchbase/couchbase/fmt/key_value_error_map_attribute.hxx +0 -100
  1156. data/ext/couchbase/couchbase/fmt/key_value_status_code.hxx +0 -269
  1157. data/ext/couchbase/couchbase/key_value_error_context.hxx +0 -229
  1158. data/ext/couchbase/couchbase/key_value_error_map_attribute.hxx +0 -136
  1159. data/ext/couchbase/couchbase/key_value_error_map_info.hxx +0 -138
  1160. data/ext/couchbase/couchbase/key_value_extended_error_info.hxx +0 -86
  1161. data/ext/couchbase/couchbase/key_value_status_code.hxx +0 -109
  1162. data/ext/couchbase/couchbase/manager_error_context.hxx +0 -111
  1163. data/ext/couchbase/couchbase/query_error_context.hxx +0 -145
  1164. data/ext/couchbase/couchbase/search_error_context.hxx +0 -138
  1165. data/ext/couchbase/couchbase/subdocument_error_context.hxx +0 -147
  1166. data/ext/couchbase/couchbase/transaction_op_error_context.hxx +0 -76
@@ -72,274 +72,289 @@ namespace errc
72
72
  * @committed
73
73
  */
74
74
  enum class common {
75
- /**
76
- * A request is cancelled and cannot be resolved in a non-ambiguous way.
77
- *
78
- * Most likely the request is in-flight on the socket and the socket gets closed.
79
- *
80
- * @since 1.0.0
81
- * @committed
82
- */
83
- request_canceled = 2,
84
-
85
- /**
86
- * It is unambiguously determined that the error was caused because of invalid arguments from the user.
87
- *
88
- * Usually only thrown directly when doing request arg validation
89
- *
90
- * @since 1.0.0
91
- * @committed
92
- */
93
- invalid_argument = 3,
94
-
95
- /**
96
- * It can be determined from the config unambiguously that a given service is not available.
97
- *
98
- * I.e. no query node in the config, or a memcached bucket is accessed and views or n1ql queries should be performed
99
- *
100
- * @since 1.0.0
101
- * @committed
102
- */
103
- service_not_available = 4,
104
-
105
- /**
106
- * Indicates an operation failed because there has been an internal error in the server.*
107
- *
108
- * @since 1.0.0
109
- * @committed
110
- */
111
- // Query: Error range 5xxx
112
- // Analytics: Error range 25xxx
113
- // KV: error code ERR_INTERNAL (0x84)
114
- // Search: HTTP 500
115
- internal_server_failure = 5,
116
-
117
- /**
118
- * Indicates authentication problems.
119
- *
120
- * @since 1.0.0
121
- * @committed
122
- */
123
- // Query: Error range 10xxx
124
- // Analytics: Error range 20xxx
125
- // View: HTTP status 401
126
- // KV: error code ERR_ACCESS (0x24), ERR_AUTH_ERROR (0x20), AUTH_STALE (0x1f)
127
- // Search: HTTP status 401, 403
128
- authentication_failure = 6,
129
-
130
- /**
131
- * Returned when the server reports a temporary failure.
132
- *
133
- * This is exception is very likely retryable.
134
- *
135
- * @since 1.0.0
136
- * @committed
137
- */
138
- // Analytics: Errors: 23000, 23003
139
- // KV: Error code ERR_TMPFAIL (0x86), ERR_BUSY (0x85) ERR_OUT_OF_MEMORY (0x82), ERR_NOT_INITIALIZED (0x25)
140
- temporary_failure = 7,
141
-
142
- /**
143
- * Indicates an operation failed because parsing of the input returned with an error.
144
- *
145
- * @since 1.0.0
146
- * @committed
147
- */
148
- // Query: code 3000
149
- // Analytics: codes 24000
150
- parsing_failure = 8,
151
-
152
- /**
153
- * Indicates an optimistic locking failure.
154
- *
155
- * The operation failed because the specified compare and swap (CAS) value differs from the document's actual CAS value. This means the
156
- * document was modified since the original CAS value was acquired.
157
- *
158
- * The application should usually respond by fetching a fresh version of the document and repeating the failed operation.
159
- *
160
- * @since 1.0.0
161
- * @committed
162
- */
163
- // KV: ERR_EXISTS (0x02) when replace or remove with cas
164
- // Query: code 12009
165
- cas_mismatch = 9,
166
-
167
- /**
168
- * A request is made but the current bucket is not found
169
- *
170
- * @since 1.0.0
171
- * @committed
172
- */
173
- bucket_not_found = 10,
174
-
175
- /**
176
- * A request is made but the current collection (including scope) is not found
177
- *
178
- * @since 1.0.0
179
- * @committed
180
- */
181
- collection_not_found = 11,
182
-
183
- /**
184
- * The server indicates that the operation is not supported.
185
- *
186
- * @since 1.0.0
187
- * @committed
188
- */
189
- // KV: 0x81 (unknown command), 0x83 (not supported)
190
- unsupported_operation = 12,
191
-
192
- /**
193
- * A timeout occurs and we aren't sure if the underlying operation has completed. This normally occurs because we sent the request to
194
- * the server successfully, but timed out waiting for the response. Note that idempotent operations should never return this, as they
195
- * do not have ambiguity.
196
- *
197
- * @since 1.0.0
198
- * @committed
199
- */
200
- ambiguous_timeout = 13,
201
-
202
- /**
203
- * A timeout occurs and we are confident that the operation could not have succeeded. This normally would occur because we received
204
- * confident failures from the server, or never managed to successfully dispatch the operation.
205
- *
206
- * @since 1.0.0
207
- * @committed
208
- */
209
- unambiguous_timeout = 14,
210
-
211
- /**
212
- * A feature which is not available was used.
213
- *
214
- * @since 1.0.0
215
- * @committed
216
- */
217
- feature_not_available = 15,
218
-
219
- /**
220
- * A management API attempts to target a scope which does not exist.
221
- *
222
- * @since 1.0.0
223
- * @committed
224
- */
225
- scope_not_found = 16,
226
-
227
- /**
228
- * The index that was referenced by the operation does not exist on the server.
229
- *
230
- * @since 1.0.0
231
- * @committed
232
- */
233
- // Query: Codes 12004, 12016 (warning: regex ahead!) Codes 5000 AND message contains index .+ not found
234
- // Analytics: Raised When 24047
235
- // Search: Http status code 400 AND text contains “index not found”
236
- index_not_found = 17,
237
-
238
- /**
239
- * The index that was referenced by the operation exist on the server when it expected not to.
240
- *
241
- * @since 1.0.0
242
- * @committed
243
- */
244
- // Query:
245
- // Note: the uppercase index for 5000 is not a mistake (also only match on exist not exists because there is a typo
246
- // somewhere in query engine which might either print exist or exists depending on the codepath)
247
- // Code 5000 AND message contains Index .+ already exist
248
- // Code 4300 AND message contains index .+ already exist
249
- //
250
- // Analytics: Raised When 24048
251
- index_exists = 18,
252
-
253
- /**
254
- * Returned when encoding of a user object failed while trying to write it to the cluster
255
- *
256
- * @since 1.0.0
257
- * @committed
258
- */
259
- encoding_failure = 19,
260
-
261
- /**
262
- * Returned when decoding of the data into the user object failed
263
- *
264
- * @since 1.0.0
265
- * @committed
266
- */
267
- decoding_failure = 20,
268
-
269
- /**
270
- * This error is raised if the operation failed due to hitting a rate-limit on the server side.
271
- *
272
- * @note that this rate-limit might be implicitly configured if you are using Couchbase Capella (for example when
273
- * using the free tier). See the error context with the exception for further information on the exact cause and
274
- * check the documentation for potential remedy.
275
- *
276
- * @since 1.0.0
277
- * @committed
278
- */
279
- /*
280
- * Raised when a service decides that the caller must be rate limited due to exceeding a rate threshold of some sort.
281
- *
282
- * * KeyValue
283
- * 0x30 RateLimitedNetworkIngress -> NetworkIngressRateLimitReached
284
- * 0x31 RateLimitedNetworkEgress -> NetworkEgressRateLimitReached
285
- * 0x32 RateLimitedMaxConnections -> MaximumConnectionsReached
286
- * 0x33 RateLimitedMaxCommands -> RequestRateLimitReached
287
- *
288
- * * Cluster Manager (body check tbd)
289
- * HTTP 429, Body contains "Limit(s) exceeded [num_concurrent_requests]" -> ConcurrentRequestLimitReached
290
- * HTTP 429, Body contains "Limit(s) exceeded [ingress]" -> NetworkIngressRateLimitReached
291
- * HTTP 429, Body contains "Limit(s) exceeded [egress]" -> NetworkEgressRateLimitReached
292
- * Note: when multiple user limits are exceeded the array would contain all the limits exceeded, as "Limit(s) exceeded
293
- * [num_concurrent_requests,egress]"
294
- *
295
- * * Query
296
- * Code 1191, Message E_SERVICE_USER_REQUEST_EXCEEDED -> RequestRateLimitReached
297
- * Code 1192, Message E_SERVICE_USER_REQUEST_RATE_EXCEEDED -> ConcurrentRequestLimitReached
298
- * Code 1193, Message E_SERVICE_USER_REQUEST_SIZE_EXCEEDED -> NetworkIngressRateLimitReached
299
- * Code 1194, Message E_SERVICE_USER_RESULT_SIZE_EXCEEDED -> NetworkEgressRateLimitReached
300
- *
301
- * * Search
302
- * HTTP 429, {"status": "fail", "error": "num_concurrent_requests, value >= limit"} -> ConcurrentRequestLimitReached
303
- * HTTP 429, {"status": "fail", "error": "num_queries_per_min, value >= limit"}: -> RequestRateLimitReached
304
- * HTTP 429, {"status": "fail", "error": "ingress_mib_per_min >= limit"} -> NetworkIngressRateLimitReached
305
- * HTTP 429, {"status": "fail", "error": "egress_mib_per_min >= limit"} -> NetworkEgressRateLimitReached
306
- *
307
- * * Analytics
308
- * Not applicable at the moment.
309
- *
310
- * * Views
311
- * Not applicable.
312
- */
313
- rate_limited = 21,
314
-
315
- /**
316
- * This error is raised if the operation failed due to hitting a quota-limit on the server side.
317
- *
318
- * @note that this quota-limit might be implicitly configured if you are using Couchbase Capella (for example when using the free tier).
319
- * See the error context with the exception for further information on the exact cause and check the documentation for potential remedy.
320
- */
321
- /*
322
- * Raised when a service decides that the caller must be limited due to exceeding a quota threshold of some sort.
323
- *
324
- * * KeyValue
325
- * 0x34 ScopeSizeLimitExceeded
326
- *
327
- * * Cluster Manager
328
- * HTTP 429, Body contains "Maximum number of collections has been reached for scope "<scope_name>""
329
- *
330
- * * Query
331
- * Code 5000, Body contains "Limit for number of indexes that can be created per scope has been reached. Limit : value"
332
- *
333
- * * Search
334
- * HTTP 400 (Bad request), {"status": "fail", "error": "rest_create_index: error creating index: {indexName}, err: manager_api:
335
- * CreateIndex, Prepare failed, err: num_fts_indexes (active + pending) >= limit"}
336
- * * Analytics
337
- * Not applicable at the moment
338
- *
339
- * * Views
340
- * Not applicable
341
- */
342
- quota_limited = 22,
75
+ /**
76
+ * A request is cancelled and cannot be resolved in a non-ambiguous way.
77
+ *
78
+ * Most likely the request is in-flight on the socket and the socket gets closed.
79
+ *
80
+ * @since 1.0.0
81
+ * @committed
82
+ */
83
+ request_canceled = 2,
84
+
85
+ /**
86
+ * It is unambiguously determined that the error was caused because of invalid arguments from the
87
+ * user.
88
+ *
89
+ * Usually only thrown directly when doing request arg validation
90
+ *
91
+ * @since 1.0.0
92
+ * @committed
93
+ */
94
+ invalid_argument = 3,
95
+
96
+ /**
97
+ * It can be determined from the config unambiguously that a given service is not available.
98
+ *
99
+ * I.e. no query node in the config, or a memcached bucket is accessed and views or n1ql queries
100
+ * should be performed
101
+ *
102
+ * @since 1.0.0
103
+ * @committed
104
+ */
105
+ service_not_available = 4,
106
+
107
+ /**
108
+ * Indicates an operation failed because there has been an internal error in the server.*
109
+ *
110
+ * @since 1.0.0
111
+ * @committed
112
+ */
113
+ // Query: Error range 5xxx
114
+ // Analytics: Error range 25xxx
115
+ // KV: error code ERR_INTERNAL (0x84)
116
+ // Search: HTTP 500
117
+ internal_server_failure = 5,
118
+
119
+ /**
120
+ * Indicates authentication problems.
121
+ *
122
+ * @since 1.0.0
123
+ * @committed
124
+ */
125
+ // Query: Error range 10xxx
126
+ // Analytics: Error range 20xxx
127
+ // View: HTTP status 401
128
+ // KV: error code ERR_ACCESS (0x24), ERR_AUTH_ERROR (0x20), AUTH_STALE (0x1f)
129
+ // Search: HTTP status 401, 403
130
+ authentication_failure = 6,
131
+
132
+ /**
133
+ * Returned when the server reports a temporary failure.
134
+ *
135
+ * This is exception is very likely retryable.
136
+ *
137
+ * @since 1.0.0
138
+ * @committed
139
+ */
140
+ // Analytics: Errors: 23000, 23003
141
+ // KV: Error code ERR_TMPFAIL (0x86), ERR_BUSY (0x85) ERR_OUT_OF_MEMORY (0x82),
142
+ // ERR_NOT_INITIALIZED (0x25)
143
+ temporary_failure = 7,
144
+
145
+ /**
146
+ * Indicates an operation failed because parsing of the input returned with an error.
147
+ *
148
+ * @since 1.0.0
149
+ * @committed
150
+ */
151
+ // Query: code 3000
152
+ // Analytics: codes 24000
153
+ parsing_failure = 8,
154
+
155
+ /**
156
+ * Indicates an optimistic locking failure.
157
+ *
158
+ * The operation failed because the specified compare and swap (CAS) value differs from the
159
+ * document's actual CAS value. This means the document was modified since the original CAS value
160
+ * was acquired.
161
+ *
162
+ * The application should usually respond by fetching a fresh version of the document and
163
+ * repeating the failed operation.
164
+ *
165
+ * @since 1.0.0
166
+ * @committed
167
+ */
168
+ // KV: ERR_EXISTS (0x02) when replace or remove with cas
169
+ // Query: code 12009
170
+ cas_mismatch = 9,
171
+
172
+ /**
173
+ * A request is made but the current bucket is not found
174
+ *
175
+ * @since 1.0.0
176
+ * @committed
177
+ */
178
+ bucket_not_found = 10,
179
+
180
+ /**
181
+ * A request is made but the current collection (including scope) is not found
182
+ *
183
+ * @since 1.0.0
184
+ * @committed
185
+ */
186
+ collection_not_found = 11,
187
+
188
+ /**
189
+ * The server indicates that the operation is not supported.
190
+ *
191
+ * @since 1.0.0
192
+ * @committed
193
+ */
194
+ // KV: 0x81 (unknown command), 0x83 (not supported)
195
+ unsupported_operation = 12,
196
+
197
+ /**
198
+ * A timeout occurs and we aren't sure if the underlying operation has completed. This normally
199
+ * occurs because we sent the request to the server successfully, but timed out waiting for the
200
+ * response. Note that idempotent operations should never return this, as they do not have
201
+ * ambiguity.
202
+ *
203
+ * @since 1.0.0
204
+ * @committed
205
+ */
206
+ ambiguous_timeout = 13,
207
+
208
+ /**
209
+ * A timeout occurs and we are confident that the operation could not have succeeded. This
210
+ * normally would occur because we received confident failures from the server, or never managed
211
+ * to successfully dispatch the operation.
212
+ *
213
+ * @since 1.0.0
214
+ * @committed
215
+ */
216
+ unambiguous_timeout = 14,
217
+
218
+ /**
219
+ * A feature which is not available was used.
220
+ *
221
+ * @since 1.0.0
222
+ * @committed
223
+ */
224
+ feature_not_available = 15,
225
+
226
+ /**
227
+ * A management API attempts to target a scope which does not exist.
228
+ *
229
+ * @since 1.0.0
230
+ * @committed
231
+ */
232
+ scope_not_found = 16,
233
+
234
+ /**
235
+ * The index that was referenced by the operation does not exist on the server.
236
+ *
237
+ * @since 1.0.0
238
+ * @committed
239
+ */
240
+ // Query: Codes 12004, 12016 (warning: regex ahead!) Codes 5000 AND message contains index .+ not
241
+ // found Analytics: Raised When 24047 Search: Http status code 400 AND text contains “index not
242
+ // found”
243
+ index_not_found = 17,
244
+
245
+ /**
246
+ * The index that was referenced by the operation exist on the server when it expected not to.
247
+ *
248
+ * @since 1.0.0
249
+ * @committed
250
+ */
251
+ // Query:
252
+ // Note: the uppercase index for 5000 is not a mistake (also only match on exist not exists
253
+ // because there is a typo
254
+ // somewhere in query engine which might either print exist or exists depending on the codepath)
255
+ // Code 5000 AND message contains Index .+ already exist
256
+ // Code 4300 AND message contains index .+ already exist
257
+ //
258
+ // Analytics: Raised When 24048
259
+ index_exists = 18,
260
+
261
+ /**
262
+ * Returned when encoding of a user object failed while trying to write it to the cluster
263
+ *
264
+ * @since 1.0.0
265
+ * @committed
266
+ */
267
+ encoding_failure = 19,
268
+
269
+ /**
270
+ * Returned when decoding of the data into the user object failed
271
+ *
272
+ * @since 1.0.0
273
+ * @committed
274
+ */
275
+ decoding_failure = 20,
276
+
277
+ /**
278
+ * This error is raised if the operation failed due to hitting a rate-limit on the server side.
279
+ *
280
+ * @note that this rate-limit might be implicitly configured if you are using Couchbase Capella
281
+ * (for example when using the free tier). See the error context with the exception for further
282
+ * information on the exact cause and check the documentation for potential remedy.
283
+ *
284
+ * @since 1.0.0
285
+ * @committed
286
+ */
287
+ /*
288
+ * Raised when a service decides that the caller must be rate limited due to exceeding a rate
289
+ * threshold of some sort.
290
+ *
291
+ * * KeyValue
292
+ * 0x30 RateLimitedNetworkIngress -> NetworkIngressRateLimitReached
293
+ * 0x31 RateLimitedNetworkEgress -> NetworkEgressRateLimitReached
294
+ * 0x32 RateLimitedMaxConnections -> MaximumConnectionsReached
295
+ * 0x33 RateLimitedMaxCommands -> RequestRateLimitReached
296
+ *
297
+ * * Cluster Manager (body check tbd)
298
+ * HTTP 429, Body contains "Limit(s) exceeded [num_concurrent_requests]" ->
299
+ * ConcurrentRequestLimitReached HTTP 429, Body contains "Limit(s) exceeded [ingress]" ->
300
+ * NetworkIngressRateLimitReached HTTP 429, Body contains "Limit(s) exceeded [egress]" ->
301
+ * NetworkEgressRateLimitReached Note: when multiple user limits are exceeded the array would
302
+ * contain all the limits exceeded, as "Limit(s) exceeded [num_concurrent_requests,egress]"
303
+ *
304
+ * * Query
305
+ * Code 1191, Message E_SERVICE_USER_REQUEST_EXCEEDED -> RequestRateLimitReached
306
+ * Code 1192, Message E_SERVICE_USER_REQUEST_RATE_EXCEEDED -> ConcurrentRequestLimitReached
307
+ * Code 1193, Message E_SERVICE_USER_REQUEST_SIZE_EXCEEDED -> NetworkIngressRateLimitReached
308
+ * Code 1194, Message E_SERVICE_USER_RESULT_SIZE_EXCEEDED -> NetworkEgressRateLimitReached
309
+ *
310
+ * * Search
311
+ * HTTP 429, {"status": "fail", "error": "num_concurrent_requests, value >= limit"} ->
312
+ * ConcurrentRequestLimitReached HTTP 429, {"status": "fail", "error": "num_queries_per_min, value
313
+ * >= limit"}: -> RequestRateLimitReached HTTP 429, {"status": "fail", "error":
314
+ * "ingress_mib_per_min >= limit"} -> NetworkIngressRateLimitReached HTTP 429, {"status": "fail",
315
+ * "error": "egress_mib_per_min >= limit"} -> NetworkEgressRateLimitReached
316
+ *
317
+ * * Analytics
318
+ * Not applicable at the moment.
319
+ *
320
+ * * Views
321
+ * Not applicable.
322
+ */
323
+ rate_limited = 21,
324
+
325
+ /**
326
+ * This error is raised if the operation failed due to hitting a quota-limit on the server side.
327
+ *
328
+ * @note that this quota-limit might be implicitly configured if you are using Couchbase Capella
329
+ * (for example when using the free tier). See the error context with the exception for further
330
+ * information on the exact cause and check the documentation for potential remedy.
331
+ */
332
+ /*
333
+ * Raised when a service decides that the caller must be limited due to exceeding a quota
334
+ * threshold of some sort.
335
+ *
336
+ * * KeyValue
337
+ * 0x34 ScopeSizeLimitExceeded
338
+ *
339
+ * * Cluster Manager
340
+ * HTTP 429, Body contains "Maximum number of collections has been reached for scope
341
+ * "<scope_name>""
342
+ *
343
+ * * Query
344
+ * Code 5000, Body contains "Limit for number of indexes that can be created per scope has been
345
+ * reached. Limit : value"
346
+ *
347
+ * * Search
348
+ * HTTP 400 (Bad request), {"status": "fail", "error": "rest_create_index: error creating index:
349
+ * {indexName}, err: manager_api: CreateIndex, Prepare failed, err: num_fts_indexes (active +
350
+ * pending) >= limit"}
351
+ * * Analytics
352
+ * Not applicable at the moment
353
+ *
354
+ * * Views
355
+ * Not applicable
356
+ */
357
+ quota_limited = 22,
343
358
  };
344
359
 
345
360
  /**
@@ -349,279 +364,288 @@ enum class common {
349
364
  * @committed
350
365
  */
351
366
  enum class key_value {
352
- /**
353
- * Indicates an operation failed because the key does not exist.
354
- *
355
- * @since 1.0.0
356
- * @committed
357
- */
358
- // KV Code 0x01
359
- document_not_found = 101,
360
-
361
- /**
362
- * In @ref collection::get_any_replica, the @ref collection::get_all_replicas returns an empty stream because all the individual errors
363
- * are dropped (all returned a @ref key_value::document_not_found)
364
- *
365
- * @since 1.0.0
366
- * @committed
367
- */
368
- document_irretrievable = 102,
369
-
370
- /**
371
- * Returned when the server reports a temporary failure that is very likely to be lock-related (like an already locked key or a bad cas
372
- * used for unlock).
373
- *
374
- * @see <a href="https://issues.couchbase.com/browse/MB-13087">MB-13087</a> for an explanation of why this is only <i>likely</i> to be
375
- * lock-related.
376
- *
377
- * @since 1.0.0
378
- * @committed
379
- */
380
- // KV Code 0x09
381
- document_locked = 103,
382
-
383
- /**
384
- * The value that was sent was too large to store (typically > 20MB)
385
- *
386
- * @since 1.0.0
387
- * @committed
388
- */
389
- // KV Code 0x03
390
- value_too_large = 104,
391
-
392
- /**
393
- * An operation which relies on the document not existing fails because the document existed.
394
- *
395
- * @since 1.0.0
396
- * @committed
397
- */
398
- // KV Code 0x02
399
- document_exists = 105,
400
-
401
- /**
402
- * The specified durability level is invalid.
403
- *
404
- * @since 1.0.0
405
- * @committed
406
- */
407
- // KV Code 0xa0
408
- durability_level_not_available = 107,
409
-
410
- /**
411
- * The specified durability requirements are not currently possible (for example, there are an insufficient number of replicas online).
412
- *
413
- * @since 1.0.0
414
- * @committed
415
- */
416
- // KV Code 0xa1
417
- durability_impossible = 108,
418
-
419
- /**
420
- * A sync-write has not completed in the specified time and has an ambiguous result -- it may have succeeded or failed, but the final
421
- * result is not yet known. A SEQNO OBSERVE operation is performed and the vbucket UUID changes during polling.
422
- *
423
- * @since 1.0.0
424
- * @committed
425
- */
426
- // KV Code 0xa3
427
- durability_ambiguous = 109,
428
-
429
- /**
430
- * A durable write is attempted against a key which already has a pending durable write.
431
- *
432
- * @since 1.0.0
433
- * @committed
434
- */
435
- // KV Code 0xa2
436
- durable_write_in_progress = 110,
437
-
438
- /**
439
- * The server is currently working to synchronize all replicas for previously performed durable operations (typically occurs after a
440
- * rebalance).
441
- *
442
- * @since 1.0.0
443
- * @committed
444
- */
445
- // KV Code 0xa4
446
- durable_write_re_commit_in_progress = 111,
447
-
448
- /**
449
- * The path provided for a sub-document operation was not found.
450
- *
451
- * @since 1.0.0
452
- * @committed
453
- */
454
- // KV Code 0xc0
455
- path_not_found = 113,
456
-
457
- /**
458
- * The path provided for a sub-document operation did not match the actual structure of the document.
459
- *
460
- * @since 1.0.0
461
- * @committed
462
- */
463
- // KV Code 0xc1
464
- path_mismatch = 114,
465
-
466
- /**
467
- * The path provided for a sub-document operation was not syntactically correct.
468
- *
469
- * @since 1.0.0
470
- * @committed
471
- */
472
- // KV Code 0xc2
473
- path_invalid = 115,
474
-
475
- /**
476
- * The path provided for a sub-document operation is too long, or contains too many independent components.
477
- *
478
- * @since 1.0.0
479
- * @committed
480
- */
481
- // KV Code 0xc3
482
- path_too_big = 116,
483
-
484
- /**
485
- * The document contains too many levels to parse.
486
- *
487
- * @since 1.0.0
488
- * @committed
489
- */
490
- // KV Code 0xc4
491
- path_too_deep = 117,
492
-
493
- /**
494
- * The value provided, if inserted into the document, would cause the document to become too deep for the server to accept.
495
- *
496
- * @since 1.0.0
497
- * @committed
498
- */
499
- // KV Code 0xca
500
- value_too_deep = 118,
501
-
502
- /**
503
- * The value provided for a sub-document operation would invalidate the JSON structure of the document if inserted as requested.
504
- *
505
- * @since 1.0.0
506
- * @committed
507
- */
508
- // KV Code 0xc5
509
- value_invalid = 119,
510
-
511
- /**
512
- * A sub-document operation is performed on a non-JSON document.
513
- *
514
- * @since 1.0.0
515
- * @committed
516
- */
517
- // KV Code 0xc6
518
- document_not_json = 120,
519
-
520
- /**
521
- * The existing number is outside the valid range for arithmetic operations.
522
- *
523
- * @since 1.0.0
524
- * @committed
525
- */
526
- // KV Code 0xc7
527
- number_too_big = 121,
528
-
529
- /**
530
- * The delta value specified for an operation is too large.
531
- *
532
- * @since 1.0.0
533
- * @committed
534
- */
535
- // KV Code 0xc8
536
- delta_invalid = 122,
537
-
538
- /**
539
- * A sub-document operation which relies on a path not existing encountered a path which exists.
540
- *
541
- * @since 1.0.0
542
- * @committed
543
- */
544
- // KV Code 0xc9
545
- path_exists = 123,
546
-
547
- /**
548
- * A macro was used which the server did not understand.
549
- *
550
- * @since 1.0.0
551
- * @committed
552
- */
553
- // KV Code: 0xd0
554
- xattr_unknown_macro = 124,
555
-
556
- /**
557
- * A sub-document operation attempts to access multiple XATTRs in one operation.
558
- *
559
- * @since 1.0.0
560
- * @committed
561
- */
562
- // KV Code: 0xcf
563
- xattr_invalid_key_combo = 126,
564
-
565
- /**
566
- * A sub-document operation attempts to access an unknown virtual attribute.
567
- *
568
- * @since 1.0.0
569
- * @committed
570
- */
571
- // KV Code: 0xd1
572
- xattr_unknown_virtual_attribute = 127,
573
-
574
- /**
575
- * A sub-document operation attempts to modify a virtual attribute.
576
- *
577
- * @since 1.0.0
578
- * @committed
579
- */
580
- // KV Code: 0xd2
581
- xattr_cannot_modify_virtual_attribute = 128,
582
-
583
- /**
584
- * The user does not have permission to access the attribute. Occurs when the user attempts to read or write a system attribute (name
585
- * starts with underscore) but does not have the `SystemXattrRead` / `SystemXattrWrite` permission.
586
- *
587
- * @since 1.0.0
588
- * @committed
589
- */
590
- // KV Code: 0x24
591
- xattr_no_access = 130,
592
-
593
- /**
594
- * The document is already locked - generally returned when an unlocking operation is being performed.
595
- *
596
- * @since 1.0.0
597
- * @committed
598
- */
599
- // KV Code: 0x0e
600
- document_not_locked = 131,
601
-
602
- /**
603
- * Only deleted document could be revived
604
- *
605
- * @since 1.0.0
606
- * @committed
607
- */
608
- // KV Code: 0xd6
609
- cannot_revive_living_document = 132,
610
-
611
- /**
612
- * The provided mutation token is outdated compared to the current state of the server.
613
- *
614
- * @since 1.0.0
615
- * @uncommitted
616
- */
617
- // KV Code: 0xa8
618
- mutation_token_outdated = 133,
619
-
620
- /**
621
- * @internal
622
- */
623
- // KV Code: 0xa7
624
- range_scan_completed = 134,
367
+ /**
368
+ * Indicates an operation failed because the key does not exist.
369
+ *
370
+ * @since 1.0.0
371
+ * @committed
372
+ */
373
+ // KV Code 0x01
374
+ document_not_found = 101,
375
+
376
+ /**
377
+ * In @ref collection::get_any_replica, the @ref collection::get_all_replicas returns an empty
378
+ * stream because all the individual errors are dropped (all returned a @ref
379
+ * key_value::document_not_found)
380
+ *
381
+ * @since 1.0.0
382
+ * @committed
383
+ */
384
+ document_irretrievable = 102,
385
+
386
+ /**
387
+ * Returned when the server reports a temporary failure that is very likely to be lock-related
388
+ * (like an already locked key or a bad cas used for unlock).
389
+ *
390
+ * @see <a href="https://issues.couchbase.com/browse/MB-13087">MB-13087</a> for an explanation of
391
+ * why this is only <i>likely</i> to be lock-related.
392
+ *
393
+ * @since 1.0.0
394
+ * @committed
395
+ */
396
+ // KV Code 0x09
397
+ document_locked = 103,
398
+
399
+ /**
400
+ * The value that was sent was too large to store (typically > 20MB)
401
+ *
402
+ * @since 1.0.0
403
+ * @committed
404
+ */
405
+ // KV Code 0x03
406
+ value_too_large = 104,
407
+
408
+ /**
409
+ * An operation which relies on the document not existing fails because the document existed.
410
+ *
411
+ * @since 1.0.0
412
+ * @committed
413
+ */
414
+ // KV Code 0x02
415
+ document_exists = 105,
416
+
417
+ /**
418
+ * The specified durability level is invalid.
419
+ *
420
+ * @since 1.0.0
421
+ * @committed
422
+ */
423
+ // KV Code 0xa0
424
+ durability_level_not_available = 107,
425
+
426
+ /**
427
+ * The specified durability requirements are not currently possible (for example, there are an
428
+ * insufficient number of replicas online).
429
+ *
430
+ * @since 1.0.0
431
+ * @committed
432
+ */
433
+ // KV Code 0xa1
434
+ durability_impossible = 108,
435
+
436
+ /**
437
+ * A sync-write has not completed in the specified time and has an ambiguous result -- it may have
438
+ * succeeded or failed, but the final result is not yet known. A SEQNO OBSERVE operation is
439
+ * performed and the vbucket UUID changes during polling.
440
+ *
441
+ * @since 1.0.0
442
+ * @committed
443
+ */
444
+ // KV Code 0xa3
445
+ durability_ambiguous = 109,
446
+
447
+ /**
448
+ * A durable write is attempted against a key which already has a pending durable write.
449
+ *
450
+ * @since 1.0.0
451
+ * @committed
452
+ */
453
+ // KV Code 0xa2
454
+ durable_write_in_progress = 110,
455
+
456
+ /**
457
+ * The server is currently working to synchronize all replicas for previously performed durable
458
+ * operations (typically occurs after a rebalance).
459
+ *
460
+ * @since 1.0.0
461
+ * @committed
462
+ */
463
+ // KV Code 0xa4
464
+ durable_write_re_commit_in_progress = 111,
465
+
466
+ /**
467
+ * The path provided for a sub-document operation was not found.
468
+ *
469
+ * @since 1.0.0
470
+ * @committed
471
+ */
472
+ // KV Code 0xc0
473
+ path_not_found = 113,
474
+
475
+ /**
476
+ * The path provided for a sub-document operation did not match the actual structure of the
477
+ * document.
478
+ *
479
+ * @since 1.0.0
480
+ * @committed
481
+ */
482
+ // KV Code 0xc1
483
+ path_mismatch = 114,
484
+
485
+ /**
486
+ * The path provided for a sub-document operation was not syntactically correct.
487
+ *
488
+ * @since 1.0.0
489
+ * @committed
490
+ */
491
+ // KV Code 0xc2
492
+ path_invalid = 115,
493
+
494
+ /**
495
+ * The path provided for a sub-document operation is too long, or contains too many independent
496
+ * components.
497
+ *
498
+ * @since 1.0.0
499
+ * @committed
500
+ */
501
+ // KV Code 0xc3
502
+ path_too_big = 116,
503
+
504
+ /**
505
+ * The document contains too many levels to parse.
506
+ *
507
+ * @since 1.0.0
508
+ * @committed
509
+ */
510
+ // KV Code 0xc4
511
+ path_too_deep = 117,
512
+
513
+ /**
514
+ * The value provided, if inserted into the document, would cause the document to become too deep
515
+ * for the server to accept.
516
+ *
517
+ * @since 1.0.0
518
+ * @committed
519
+ */
520
+ // KV Code 0xca
521
+ value_too_deep = 118,
522
+
523
+ /**
524
+ * The value provided for a sub-document operation would invalidate the JSON structure of the
525
+ * document if inserted as requested.
526
+ *
527
+ * @since 1.0.0
528
+ * @committed
529
+ */
530
+ // KV Code 0xc5
531
+ value_invalid = 119,
532
+
533
+ /**
534
+ * A sub-document operation is performed on a non-JSON document.
535
+ *
536
+ * @since 1.0.0
537
+ * @committed
538
+ */
539
+ // KV Code 0xc6
540
+ document_not_json = 120,
541
+
542
+ /**
543
+ * The existing number is outside the valid range for arithmetic operations.
544
+ *
545
+ * @since 1.0.0
546
+ * @committed
547
+ */
548
+ // KV Code 0xc7
549
+ number_too_big = 121,
550
+
551
+ /**
552
+ * The delta value specified for an operation is too large.
553
+ *
554
+ * @since 1.0.0
555
+ * @committed
556
+ */
557
+ // KV Code 0xc8
558
+ delta_invalid = 122,
559
+
560
+ /**
561
+ * A sub-document operation which relies on a path not existing encountered a path which exists.
562
+ *
563
+ * @since 1.0.0
564
+ * @committed
565
+ */
566
+ // KV Code 0xc9
567
+ path_exists = 123,
568
+
569
+ /**
570
+ * A macro was used which the server did not understand.
571
+ *
572
+ * @since 1.0.0
573
+ * @committed
574
+ */
575
+ // KV Code: 0xd0
576
+ xattr_unknown_macro = 124,
577
+
578
+ /**
579
+ * A sub-document operation attempts to access multiple XATTRs in one operation.
580
+ *
581
+ * @since 1.0.0
582
+ * @committed
583
+ */
584
+ // KV Code: 0xcf
585
+ xattr_invalid_key_combo = 126,
586
+
587
+ /**
588
+ * A sub-document operation attempts to access an unknown virtual attribute.
589
+ *
590
+ * @since 1.0.0
591
+ * @committed
592
+ */
593
+ // KV Code: 0xd1
594
+ xattr_unknown_virtual_attribute = 127,
595
+
596
+ /**
597
+ * A sub-document operation attempts to modify a virtual attribute.
598
+ *
599
+ * @since 1.0.0
600
+ * @committed
601
+ */
602
+ // KV Code: 0xd2
603
+ xattr_cannot_modify_virtual_attribute = 128,
604
+
605
+ /**
606
+ * The user does not have permission to access the attribute. Occurs when the user attempts to
607
+ * read or write a system attribute (name starts with underscore) but does not have the
608
+ * `SystemXattrRead` / `SystemXattrWrite` permission.
609
+ *
610
+ * @since 1.0.0
611
+ * @committed
612
+ */
613
+ // KV Code: 0x24
614
+ xattr_no_access = 130,
615
+
616
+ /**
617
+ * The document is already locked - generally returned when an unlocking operation is being
618
+ * performed.
619
+ *
620
+ * @since 1.0.0
621
+ * @committed
622
+ */
623
+ // KV Code: 0x0e
624
+ document_not_locked = 131,
625
+
626
+ /**
627
+ * Only deleted document could be revived
628
+ *
629
+ * @since 1.0.0
630
+ * @committed
631
+ */
632
+ // KV Code: 0xd6
633
+ cannot_revive_living_document = 132,
634
+
635
+ /**
636
+ * The provided mutation token is outdated compared to the current state of the server.
637
+ *
638
+ * @since 1.0.0
639
+ * @uncommitted
640
+ */
641
+ // KV Code: 0xa8
642
+ mutation_token_outdated = 133,
643
+
644
+ /**
645
+ * @internal
646
+ */
647
+ // KV Code: 0xa7
648
+ range_scan_completed = 134,
625
649
  };
626
650
 
627
651
  /**
@@ -631,41 +655,42 @@ enum class key_value {
631
655
  * @committed
632
656
  */
633
657
  enum class query {
634
- /**
635
- * Indicates an operation failed because there has been an issue with the query planner.
636
- *
637
- * @since 1.0.0
638
- * @committed
639
- */
640
- // Raised When code range 4xxx other than those explicitly covered
641
- planning_failure = 201,
642
-
643
- /**
644
- * Indicates an operation failed because there has been an issue with the query planner or similar.
645
- *
646
- * @since 1.0.0
647
- * @committed
648
- */
649
- // Raised When code range 12xxx and 14xxx (other than 12004 and 12016)
650
- index_failure = 202,
651
-
652
- /**
653
- * Indicates an operation failed because there has been an issue with query prepared statements.
654
- *
655
- * @since 1.0.0
656
- * @committed
657
- */
658
- // Raised When codes 4040, 4050, 4060, 4070, 4080, 4090
659
- prepared_statement_failure = 203,
660
-
661
- /**
662
- * This exception is raised when the server fails to execute a DML query.
663
- *
664
- * @since 1.0.0
665
- * @committed
666
- */
667
- // Raised when code 12009 AND message does not contain CAS mismatch
668
- dml_failure = 204,
658
+ /**
659
+ * Indicates an operation failed because there has been an issue with the query planner.
660
+ *
661
+ * @since 1.0.0
662
+ * @committed
663
+ */
664
+ // Raised When code range 4xxx other than those explicitly covered
665
+ planning_failure = 201,
666
+
667
+ /**
668
+ * Indicates an operation failed because there has been an issue with the query planner or
669
+ * similar.
670
+ *
671
+ * @since 1.0.0
672
+ * @committed
673
+ */
674
+ // Raised When code range 12xxx and 14xxx (other than 12004 and 12016)
675
+ index_failure = 202,
676
+
677
+ /**
678
+ * Indicates an operation failed because there has been an issue with query prepared statements.
679
+ *
680
+ * @since 1.0.0
681
+ * @committed
682
+ */
683
+ // Raised When codes 4040, 4050, 4060, 4070, 4080, 4090
684
+ prepared_statement_failure = 203,
685
+
686
+ /**
687
+ * This exception is raised when the server fails to execute a DML query.
688
+ *
689
+ * @since 1.0.0
690
+ * @committed
691
+ */
692
+ // Raised when code 12009 AND message does not contain CAS mismatch
693
+ dml_failure = 204,
669
694
  };
670
695
 
671
696
  /**
@@ -675,77 +700,77 @@ enum class query {
675
700
  * @committed
676
701
  */
677
702
  enum class analytics {
678
- /**
679
- * The query failed to compile.
680
- *
681
- * @since 1.0.0
682
- * @committed
683
- */
684
- // Error range 24xxx (excluded are specific codes in the errors below)
685
- compilation_failure = 301,
686
-
687
- /**
688
- * Indicates the analytics server job queue is full
689
- *
690
- * @since 1.0.0
691
- * @committed
692
- */
693
- // Error code 23007
694
- job_queue_full = 302,
695
-
696
- /**
697
- * The dataset referenced in the query is not found on the server.
698
- *
699
- * @since 1.0.0
700
- * @committed
701
- */
702
- // Error codes 24044, 24045, 24025
703
- dataset_not_found = 303,
704
-
705
- /**
706
- * The dataverse referenced in the query is not found on the server.
707
- *
708
- * @since 1.0.0
709
- * @committed
710
- */
711
- // Error code 24034
712
- dataverse_not_found = 304,
713
-
714
- /**
715
- * The dataset referenced in the query is found on the server, when it should not be.
716
- *
717
- * @since 1.0.0
718
- * @committed
719
- */
720
- // Raised When 24040
721
- dataset_exists = 305,
722
-
723
- /**
724
- * The dataverse referenced in the query is found on the server, when it should not be.
725
- *
726
- * @since 1.0.0
727
- * @committed
728
- */
729
- // Raised When 24039
730
- dataverse_exists = 306,
731
-
732
- /**
733
- * The link referenced in the query is not found on the server.
734
- *
735
- * @since 1.0.0
736
- * @committed
737
- */
738
- // Raised When 24006
739
- link_not_found = 307,
740
-
741
- /**
742
- * The link referenced in the query is found on the server, when it should not be.
743
- *
744
- * @since 1.0.0
745
- * @committed
746
- */
747
- // Raised When 24055
748
- link_exists = 308,
703
+ /**
704
+ * The query failed to compile.
705
+ *
706
+ * @since 1.0.0
707
+ * @committed
708
+ */
709
+ // Error range 24xxx (excluded are specific codes in the errors below)
710
+ compilation_failure = 301,
711
+
712
+ /**
713
+ * Indicates the analytics server job queue is full
714
+ *
715
+ * @since 1.0.0
716
+ * @committed
717
+ */
718
+ // Error code 23007
719
+ job_queue_full = 302,
720
+
721
+ /**
722
+ * The dataset referenced in the query is not found on the server.
723
+ *
724
+ * @since 1.0.0
725
+ * @committed
726
+ */
727
+ // Error codes 24044, 24045, 24025
728
+ dataset_not_found = 303,
729
+
730
+ /**
731
+ * The dataverse referenced in the query is not found on the server.
732
+ *
733
+ * @since 1.0.0
734
+ * @committed
735
+ */
736
+ // Error code 24034
737
+ dataverse_not_found = 304,
738
+
739
+ /**
740
+ * The dataset referenced in the query is found on the server, when it should not be.
741
+ *
742
+ * @since 1.0.0
743
+ * @committed
744
+ */
745
+ // Raised When 24040
746
+ dataset_exists = 305,
747
+
748
+ /**
749
+ * The dataverse referenced in the query is found on the server, when it should not be.
750
+ *
751
+ * @since 1.0.0
752
+ * @committed
753
+ */
754
+ // Raised When 24039
755
+ dataverse_exists = 306,
756
+
757
+ /**
758
+ * The link referenced in the query is not found on the server.
759
+ *
760
+ * @since 1.0.0
761
+ * @committed
762
+ */
763
+ // Raised When 24006
764
+ link_not_found = 307,
765
+
766
+ /**
767
+ * The link referenced in the query is found on the server, when it should not be.
768
+ *
769
+ * @since 1.0.0
770
+ * @committed
771
+ */
772
+ // Raised When 24055
773
+ link_exists = 308,
749
774
  };
750
775
 
751
776
  /**
@@ -755,21 +780,21 @@ enum class analytics {
755
780
  * @committed
756
781
  */
757
782
  enum class search {
758
- /**
759
- * The index referenced in the query is not ready yet.
760
- *
761
- * @since 1.0.0
762
- * @uncommitted
763
- */
764
- index_not_ready = 401,
765
-
766
- /**
767
- * Consistency constraints cannot be accepted by the server.
768
- *
769
- * @since 1.0.0
770
- * @uncommitted
771
- */
772
- consistency_mismatch = 402,
783
+ /**
784
+ * The index referenced in the query is not ready yet.
785
+ *
786
+ * @since 1.0.0
787
+ * @uncommitted
788
+ */
789
+ index_not_ready = 401,
790
+
791
+ /**
792
+ * Consistency constraints cannot be accepted by the server.
793
+ *
794
+ * @since 1.0.0
795
+ * @uncommitted
796
+ */
797
+ consistency_mismatch = 402,
773
798
  };
774
799
 
775
800
  /**
@@ -779,27 +804,27 @@ enum class search {
779
804
  * @committed
780
805
  */
781
806
  enum class view {
782
- /**
783
- * View does not exist on the server.
784
- *
785
- * @since 1.0.0
786
- * @committed
787
- */
788
- // Http status code 404
789
- // Reason or error contains "not_found"
790
- view_not_found = 501,
791
-
792
- /**
793
- * Design document does not exist on the server.
794
- *
795
- * @since 1.0.0
796
- * @committed
797
- */
798
- // Raised on the Management APIs only when
799
- // * Getting a design document
800
- // * Dropping a design document
801
- // * And the server returns 404
802
- design_document_not_found = 502,
807
+ /**
808
+ * View does not exist on the server.
809
+ *
810
+ * @since 1.0.0
811
+ * @committed
812
+ */
813
+ // Http status code 404
814
+ // Reason or error contains "not_found"
815
+ view_not_found = 501,
816
+
817
+ /**
818
+ * Design document does not exist on the server.
819
+ *
820
+ * @since 1.0.0
821
+ * @committed
822
+ */
823
+ // Raised on the Management APIs only when
824
+ // * Getting a design document
825
+ // * Dropping a design document
826
+ // * And the server returns 404
827
+ design_document_not_found = 502,
803
828
  };
804
829
 
805
830
  /**
@@ -809,54 +834,54 @@ enum class view {
809
834
  * @committed
810
835
  */
811
836
  enum class management {
812
- /// Raised from the collection management API
813
- collection_exists = 601,
837
+ /// Raised from the collection management API
838
+ collection_exists = 601,
814
839
 
815
- /// Raised from the collection management API
816
- scope_exists = 602,
840
+ /// Raised from the collection management API
841
+ scope_exists = 602,
817
842
 
818
- /// Raised from the user management API
819
- user_not_found = 603,
843
+ /// Raised from the user management API
844
+ user_not_found = 603,
820
845
 
821
- /// Raised from the user management API
822
- group_not_found = 604,
846
+ /// Raised from the user management API
847
+ group_not_found = 604,
823
848
 
824
- /// Raised from the bucket management API
825
- bucket_exists = 605,
849
+ /// Raised from the bucket management API
850
+ bucket_exists = 605,
826
851
 
827
- /// Raised from the user management API
828
- user_exists = 606,
852
+ /// Raised from the user management API
853
+ user_exists = 606,
829
854
 
830
- /// Raised from the bucket management API
831
- bucket_not_flushable = 607,
855
+ /// Raised from the bucket management API
856
+ bucket_not_flushable = 607,
832
857
 
833
- /// Occurs if the function is not found
834
- /// name is "ERR_APP_NOT_FOUND_TS"
835
- eventing_function_not_found = 608,
858
+ /// Occurs if the function is not found
859
+ /// name is "ERR_APP_NOT_FOUND_TS"
860
+ eventing_function_not_found = 608,
836
861
 
837
- /// Occurs if the function is not deployed, but the action expects it to
838
- /// name is "ERR_APP_NOT_DEPLOYED"
839
- eventing_function_not_deployed = 609,
862
+ /// Occurs if the function is not deployed, but the action expects it to
863
+ /// name is "ERR_APP_NOT_DEPLOYED"
864
+ eventing_function_not_deployed = 609,
840
865
 
841
- /// Occurs when the compilation of the function code failed
842
- /// name is "ERR_HANDLER_COMPILATION"
843
- eventing_function_compilation_failure = 610,
866
+ /// Occurs when the compilation of the function code failed
867
+ /// name is "ERR_HANDLER_COMPILATION"
868
+ eventing_function_compilation_failure = 610,
844
869
 
845
- /// Occurs when source and metadata keyspaces are the same.
846
- /// name is "ERR_SRC_MB_SAME"
847
- eventing_function_identical_keyspace = 611,
870
+ /// Occurs when source and metadata keyspaces are the same.
871
+ /// name is "ERR_SRC_MB_SAME"
872
+ eventing_function_identical_keyspace = 611,
848
873
 
849
- /// Occurs when a function is deployed but not “fully” bootstrapped
850
- /// name is "ERR_APP_NOT_BOOTSTRAPPED"
851
- eventing_function_not_bootstrapped = 612,
874
+ /// Occurs when a function is deployed but not “fully” bootstrapped
875
+ /// name is "ERR_APP_NOT_BOOTSTRAPPED"
876
+ eventing_function_not_bootstrapped = 612,
852
877
 
853
- /// Occurs when a function is deployed but the action does not expect it to
854
- /// name is "ERR_APP_NOT_UNDEPLOYED"
855
- eventing_function_deployed = 613,
878
+ /// Occurs when a function is deployed but the action does not expect it to
879
+ /// name is "ERR_APP_NOT_UNDEPLOYED"
880
+ eventing_function_deployed = 613,
856
881
 
857
- /// Occurs when a function is paused but the action does not expect it to
858
- /// name is "ERR_APP_PAUSED"
859
- eventing_function_paused = 614,
882
+ /// Occurs when a function is paused but the action does not expect it to
883
+ /// name is "ERR_APP_PAUSED"
884
+ eventing_function_paused = 614,
860
885
  };
861
886
 
862
887
  /**
@@ -866,73 +891,76 @@ enum class management {
866
891
  * @volatile
867
892
  */
868
893
  enum class field_level_encryption {
869
- /**
870
- * Generic cryptography failure.
871
- *
872
- * @since 1.0.0
873
- * @volatile
874
- */
875
- generic_cryptography_failure = 700,
876
-
877
- /**
878
- * Raised by CryptoManager encrypt when encryption fails for any reason.
879
- *
880
- * Should have one of the other Field-Level Encryption errors as a cause.
881
- *
882
- * @since 1.0.0
883
- * @volatile
884
- */
885
- encryption_failure = 701,
886
-
887
- /**
888
- * Raised by CryptoManager.decrypt() when decryption fails for any reason.
889
- *
890
- * Should have one of the other Field-Level Encryption errors as a cause.
891
- *
892
- * @since 1.0.0
893
- * @volatile
894
- */
895
- decryption_failure = 702,
896
-
897
- /**
898
- * Raised when a crypto operation fails because a required key is missing.
899
- *
900
- * @since 1.0.0
901
- * @volatile
902
- */
903
- crypto_key_not_found = 703,
904
-
905
- /**
906
- * Raised by an encrypter or decrypter when the key does not meet expectations (for example, if the key is the wrong size).
907
- *
908
- * @since 1.0.0
909
- * @volatile
910
- */
911
- invalid_crypto_key = 704,
912
-
913
- /**
914
- * Raised when a message cannot be decrypted because there is no decrypter registered for the algorithm.
915
- *
916
- * @since 1.0.0
917
- * @volatile
918
- */
919
- decrypter_not_found = 705,
920
-
921
- /**
922
- * Raised when a message cannot be encrypted because there is no encrypter registered under the requested alias.
923
- *
924
- * @since 1.0.0
925
- * @volatile
926
- */
927
- encrypter_not_found = 706,
928
-
929
- /**
930
- * Raised when decryption fails due to malformed input, integrity check failure, etc.
931
- *
932
- * @since 1.0.0
933
- * @volatile
934
- */
935
- invalid_ciphertext = 707,
894
+ /**
895
+ * Generic cryptography failure.
896
+ *
897
+ * @since 1.0.0
898
+ * @volatile
899
+ */
900
+ generic_cryptography_failure = 700,
901
+
902
+ /**
903
+ * Raised by CryptoManager encrypt when encryption fails for any reason.
904
+ *
905
+ * Should have one of the other Field-Level Encryption errors as a cause.
906
+ *
907
+ * @since 1.0.0
908
+ * @volatile
909
+ */
910
+ encryption_failure = 701,
911
+
912
+ /**
913
+ * Raised by CryptoManager.decrypt() when decryption fails for any reason.
914
+ *
915
+ * Should have one of the other Field-Level Encryption errors as a cause.
916
+ *
917
+ * @since 1.0.0
918
+ * @volatile
919
+ */
920
+ decryption_failure = 702,
921
+
922
+ /**
923
+ * Raised when a crypto operation fails because a required key is missing.
924
+ *
925
+ * @since 1.0.0
926
+ * @volatile
927
+ */
928
+ crypto_key_not_found = 703,
929
+
930
+ /**
931
+ * Raised by an encrypter or decrypter when the key does not meet expectations (for example, if
932
+ * the key is the wrong size).
933
+ *
934
+ * @since 1.0.0
935
+ * @volatile
936
+ */
937
+ invalid_crypto_key = 704,
938
+
939
+ /**
940
+ * Raised when a message cannot be decrypted because there is no decrypter registered for the
941
+ * algorithm.
942
+ *
943
+ * @since 1.0.0
944
+ * @volatile
945
+ */
946
+ decrypter_not_found = 705,
947
+
948
+ /**
949
+ * Raised when a message cannot be encrypted because there is no encrypter registered under the
950
+ * requested alias.
951
+ *
952
+ * @since 1.0.0
953
+ * @volatile
954
+ */
955
+ encrypter_not_found = 706,
956
+
957
+ /**
958
+ * Raised when decryption fails due to malformed input, integrity check failure, etc.
959
+ *
960
+ * @since 1.0.0
961
+ * @volatile
962
+ */
963
+ invalid_ciphertext = 707,
936
964
  };
937
965
 
938
966
  /**
@@ -942,95 +970,95 @@ enum class field_level_encryption {
942
970
  * @uncommitted
943
971
  */
944
972
  enum class network {
945
- /**
946
- * Unable to resolve node address
947
- *
948
- * @since 1.0.0
949
- * @uncommitted
950
- */
951
- resolve_failure = 1001,
952
-
953
- /**
954
- * No hosts left to connect
955
- *
956
- * @since 1.0.0
957
- * @uncommitted
958
- */
959
- no_endpoints_left = 1002,
960
-
961
- /**
962
- * Failed to complete protocol handshake
963
- *
964
- * @since 1.0.0
965
- * @uncommitted
966
- */
967
- handshake_failure = 1003,
968
-
969
- /**
970
- * Unexpected protocol state or input
971
- *
972
- * @since 1.0.0
973
- * @uncommitted
974
- */
975
- protocol_error = 1004,
976
-
977
- /**
978
- * Configuration is not available for some reason
979
- *
980
- * @since 1.0.0
981
- * @uncommitted
982
- */
983
- configuration_not_available = 1005,
984
-
985
- /**
986
- * The cluster object has been explicitly closed, no requests allowed
987
- *
988
- * @since 1.0.0
989
- * @uncommitted
990
- */
991
- cluster_closed = 1006,
992
-
993
- /**
994
- * @since 1.0.0
995
- * @uncommitted
996
- */
997
- end_of_stream = 1007,
998
-
999
- /**
1000
- * @since 1.0.0
1001
- * @uncommitted
1002
- */
1003
- need_more_data = 1008,
1004
-
1005
- /**
1006
- * @since 1.0.0
1007
- * @uncommitted
1008
- */
1009
- operation_queue_closed = 1009,
1010
-
1011
- /**
1012
- * @since 1.0.0
1013
- * @uncommitted
1014
- */
1015
- operation_queue_full = 1010,
1016
-
1017
- /**
1018
- * @since 1.0.0
1019
- * @uncommitted
1020
- */
1021
- request_already_queued = 1011,
1022
-
1023
- /**
1024
- * @since 1.0.0
1025
- * @uncommitted
1026
- */
1027
- request_cancelled = 1012,
1028
-
1029
- /**
1030
- * @since 1.0.0
1031
- * @uncommitted
1032
- */
1033
- bucket_closed = 1013,
973
+ /**
974
+ * Unable to resolve node address
975
+ *
976
+ * @since 1.0.0
977
+ * @uncommitted
978
+ */
979
+ resolve_failure = 1001,
980
+
981
+ /**
982
+ * No hosts left to connect
983
+ *
984
+ * @since 1.0.0
985
+ * @uncommitted
986
+ */
987
+ no_endpoints_left = 1002,
988
+
989
+ /**
990
+ * Failed to complete protocol handshake
991
+ *
992
+ * @since 1.0.0
993
+ * @uncommitted
994
+ */
995
+ handshake_failure = 1003,
996
+
997
+ /**
998
+ * Unexpected protocol state or input
999
+ *
1000
+ * @since 1.0.0
1001
+ * @uncommitted
1002
+ */
1003
+ protocol_error = 1004,
1004
+
1005
+ /**
1006
+ * Configuration is not available for some reason
1007
+ *
1008
+ * @since 1.0.0
1009
+ * @uncommitted
1010
+ */
1011
+ configuration_not_available = 1005,
1012
+
1013
+ /**
1014
+ * The cluster object has been explicitly closed, no requests allowed
1015
+ *
1016
+ * @since 1.0.0
1017
+ * @uncommitted
1018
+ */
1019
+ cluster_closed = 1006,
1020
+
1021
+ /**
1022
+ * @since 1.0.0
1023
+ * @uncommitted
1024
+ */
1025
+ end_of_stream = 1007,
1026
+
1027
+ /**
1028
+ * @since 1.0.0
1029
+ * @uncommitted
1030
+ */
1031
+ need_more_data = 1008,
1032
+
1033
+ /**
1034
+ * @since 1.0.0
1035
+ * @uncommitted
1036
+ */
1037
+ operation_queue_closed = 1009,
1038
+
1039
+ /**
1040
+ * @since 1.0.0
1041
+ * @uncommitted
1042
+ */
1043
+ operation_queue_full = 1010,
1044
+
1045
+ /**
1046
+ * @since 1.0.0
1047
+ * @uncommitted
1048
+ */
1049
+ request_already_queued = 1011,
1050
+
1051
+ /**
1052
+ * @since 1.0.0
1053
+ * @uncommitted
1054
+ */
1055
+ request_cancelled = 1012,
1056
+
1057
+ /**
1058
+ * @since 1.0.0
1059
+ * @uncommitted
1060
+ */
1061
+ bucket_closed = 1013,
1034
1062
  };
1035
1063
 
1036
1064
  /**
@@ -1040,34 +1068,34 @@ enum class network {
1040
1068
  * @uncommitted
1041
1069
  */
1042
1070
  enum class streaming_json_lexer {
1043
- garbage_trailing = 1101,
1044
- special_expected = 1102,
1045
- special_incomplete = 1103,
1046
- stray_token = 1104,
1047
- missing_token = 1105,
1048
- cannot_insert = 1106,
1049
- escape_outside_string = 1107,
1050
- key_outside_object = 1108,
1051
- string_outside_container = 1109,
1052
- found_null_byte = 1110,
1053
- levels_exceeded = 1111,
1054
- bracket_mismatch = 1112,
1055
- object_key_expected = 1113,
1056
- weird_whitespace = 1114,
1057
- unicode_escape_is_too_short = 1115,
1058
- escape_invalid = 1116,
1059
- trailing_comma = 1117,
1060
- invalid_number = 1118,
1061
- value_expected = 1119,
1062
- percent_bad_hex = 1120,
1063
- json_pointer_bad_path = 1121,
1064
- json_pointer_duplicated_slash = 1122,
1065
- json_pointer_missing_root = 1123,
1066
- not_enough_memory = 1124,
1067
- invalid_codepoint = 1125,
1068
- generic = 1126,
1069
- root_is_not_an_object = 1127,
1070
- root_does_not_match_json_pointer = 1128,
1071
+ garbage_trailing = 1101,
1072
+ special_expected = 1102,
1073
+ special_incomplete = 1103,
1074
+ stray_token = 1104,
1075
+ missing_token = 1105,
1076
+ cannot_insert = 1106,
1077
+ escape_outside_string = 1107,
1078
+ key_outside_object = 1108,
1079
+ string_outside_container = 1109,
1080
+ found_null_byte = 1110,
1081
+ levels_exceeded = 1111,
1082
+ bracket_mismatch = 1112,
1083
+ object_key_expected = 1113,
1084
+ weird_whitespace = 1114,
1085
+ unicode_escape_is_too_short = 1115,
1086
+ escape_invalid = 1116,
1087
+ trailing_comma = 1117,
1088
+ invalid_number = 1118,
1089
+ value_expected = 1119,
1090
+ percent_bad_hex = 1120,
1091
+ json_pointer_bad_path = 1121,
1092
+ json_pointer_duplicated_slash = 1122,
1093
+ json_pointer_missing_root = 1123,
1094
+ not_enough_memory = 1124,
1095
+ invalid_codepoint = 1125,
1096
+ generic = 1126,
1097
+ root_is_not_an_object = 1127,
1098
+ root_does_not_match_json_pointer = 1128,
1071
1099
  };
1072
1100
 
1073
1101
  /**
@@ -1077,10 +1105,10 @@ enum class streaming_json_lexer {
1077
1105
  * @uncommitted
1078
1106
  */
1079
1107
  enum class transaction {
1080
- failed = 1200,
1081
- expired = 1201,
1082
- failed_post_commit = 1202,
1083
- ambiguous = 1203,
1108
+ failed = 1200,
1109
+ expired = 1201,
1110
+ failed_post_commit = 1202,
1111
+ ambiguous = 1203,
1084
1112
  };
1085
1113
 
1086
1114
  /**
@@ -1090,101 +1118,108 @@ enum class transaction {
1090
1118
  * @uncommitted
1091
1119
  */
1092
1120
  enum class transaction_op {
1093
- unknown = 1300,
1094
- active_transaction_record_entry_not_found = 1301,
1095
- active_transaction_record_full = 1302,
1096
- active_transaction_record_not_found = 1303,
1097
- document_already_in_transaction = 1304,
1098
- document_exists_exception = 1305,
1099
- document_not_found_exception = 1306,
1100
- not_set = 1307,
1101
- feature_not_available_exception = 1308,
1102
- transaction_aborted_externally = 1309,
1103
- previous_operation_failed = 1310,
1104
- forward_compatibility_failure = 1311,
1105
- parsing_failure = 1312,
1106
- illegal_state_exception = 1313,
1107
- couchbase_exception = 1314,
1108
- service_not_available_exception = 1315,
1109
- request_canceled_exception = 1316,
1110
- concurrent_operations_detected_on_same_document = 1317,
1111
- commit_not_permitted = 1318,
1112
- rollback_not_permitted = 1319,
1113
- transaction_already_aborted = 1320,
1114
- transaction_already_committed = 1321,
1121
+ /**
1122
+ * @internal
1123
+ */
1124
+ generic = 1300,
1125
+
1126
+ active_transaction_record_entry_not_found = 1301,
1127
+ active_transaction_record_full = 1302,
1128
+ active_transaction_record_not_found = 1303,
1129
+ document_already_in_transaction = 1304,
1130
+ document_exists = 1305,
1131
+ document_not_found = 1306,
1132
+ feature_not_available = 1307,
1133
+ transaction_aborted_externally = 1308,
1134
+ previous_operation_failed = 1309,
1135
+ forward_compatibility_failure = 1310,
1136
+ parsing_failure = 1311,
1137
+ illegal_state = 1312,
1138
+ service_not_available = 1313,
1139
+ request_canceled = 1314,
1140
+ concurrent_operations_detected_on_same_document = 1315,
1141
+ commit_not_permitted = 1316,
1142
+ rollback_not_permitted = 1317,
1143
+ transaction_already_aborted = 1318,
1144
+ transaction_already_committed = 1319,
1145
+
1146
+ /**
1147
+ * @internal
1148
+ */
1149
+ transaction_op_failed = 1399,
1115
1150
  };
1116
1151
 
1117
1152
  #ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
1118
1153
  inline std::error_code
1119
1154
  make_error_code(common e) noexcept
1120
1155
  {
1121
- return { static_cast<int>(e), core::impl::common_category() };
1156
+ return { static_cast<int>(e), core::impl::common_category() };
1122
1157
  }
1123
1158
 
1124
1159
  inline std::error_code
1125
1160
  make_error_code(key_value e)
1126
1161
  {
1127
- return { static_cast<int>(e), core::impl::key_value_category() };
1162
+ return { static_cast<int>(e), core::impl::key_value_category() };
1128
1163
  }
1129
1164
 
1130
1165
  inline std::error_code
1131
1166
  make_error_code(query e)
1132
1167
  {
1133
- return { static_cast<int>(e), core::impl::query_category() };
1168
+ return { static_cast<int>(e), core::impl::query_category() };
1134
1169
  }
1135
1170
 
1136
1171
  inline std::error_code
1137
1172
  make_error_code(search e)
1138
1173
  {
1139
- return { static_cast<int>(e), core::impl::search_category() };
1174
+ return { static_cast<int>(e), core::impl::search_category() };
1140
1175
  }
1141
1176
 
1142
1177
  inline std::error_code
1143
1178
  make_error_code(view e)
1144
1179
  {
1145
- return { static_cast<int>(e), core::impl::view_category() };
1180
+ return { static_cast<int>(e), core::impl::view_category() };
1146
1181
  }
1147
1182
 
1148
1183
  inline std::error_code
1149
1184
  make_error_code(analytics e)
1150
1185
  {
1151
- return { static_cast<int>(e), core::impl::analytics_category() };
1186
+ return { static_cast<int>(e), core::impl::analytics_category() };
1152
1187
  }
1153
1188
 
1154
1189
  inline std::error_code
1155
1190
  make_error_code(management e)
1156
1191
  {
1157
- return { static_cast<int>(e), core::impl::management_category() };
1192
+ return { static_cast<int>(e), core::impl::management_category() };
1158
1193
  }
1159
1194
 
1160
1195
  inline std::error_code
1161
1196
  make_error_code(network e)
1162
1197
  {
1163
- return { static_cast<int>(e), core::impl::network_category() };
1198
+ return { static_cast<int>(e), core::impl::network_category() };
1164
1199
  }
1165
1200
 
1166
1201
  inline std::error_code
1167
1202
  make_error_code(field_level_encryption e)
1168
1203
  {
1169
- return { static_cast<int>(e), core::impl::field_level_encryption_category() };
1204
+ return { static_cast<int>(e), core::impl::field_level_encryption_category() };
1170
1205
  }
1171
1206
 
1172
1207
  inline std::error_code
1173
1208
  make_error_code(streaming_json_lexer e)
1174
1209
  {
1175
- return { static_cast<int>(e), core::impl::streaming_json_lexer_category() };
1210
+ return { static_cast<int>(e), core::impl::streaming_json_lexer_category() };
1176
1211
  }
1177
1212
 
1178
1213
  inline std::error_code
1179
1214
  make_error_code(transaction e)
1180
1215
  {
1181
- return { static_cast<int>(e), core::impl::transaction_category() };
1216
+ return { static_cast<int>(e), core::impl::transaction_category() };
1182
1217
  }
1183
1218
 
1184
1219
  inline std::error_code
1185
1220
  make_error_code(transaction_op e)
1186
1221
  {
1187
- return { static_cast<int>(e), core::impl::transaction_op_category() };
1222
+ return { static_cast<int>(e), core::impl::transaction_op_category() };
1188
1223
  }
1189
1224
 
1190
1225
  #endif