couchbase 4.2.8-dev.1 → 4.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/CMakeLists.txt +1 -1
  2. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
  3. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +397 -424
  5. package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
  6. package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
  7. package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
  8. package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
  9. package/deps/couchbase-cxx-client/core/bucket.cxx +22 -8
  10. package/deps/couchbase-cxx-client/core/bucket.hxx +3 -1
  11. package/deps/couchbase-cxx-client/core/cluster.cxx +1453 -108
  12. package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
  13. package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
  14. package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
  15. package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
  16. package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
  17. package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
  18. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
  19. package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
  20. package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
  21. package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
  22. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
  23. package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
  24. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
  25. package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
  26. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +78 -0
  27. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
  28. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +226 -44
  29. package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
  30. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
  31. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
  32. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
  33. package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
  34. package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
  35. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
  36. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
  37. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
  38. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
  39. package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
  40. package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
  41. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
  42. package/deps/couchbase-cxx-client/core/impl/scope.cxx +172 -0
  43. package/deps/couchbase-cxx-client/core/impl/search.cxx +12 -61
  44. package/deps/couchbase-cxx-client/core/impl/search.hxx +37 -0
  45. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +469 -0
  46. package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
  47. package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
  48. package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
  49. package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
  50. package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
  51. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
  52. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
  53. package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
  54. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +51 -21
  55. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +2 -1
  56. package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
  57. package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
  58. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
  59. package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
  60. package/deps/couchbase-cxx-client/core/meta/features.hxx +28 -0
  61. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +17 -1
  62. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
  63. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
  64. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
  65. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
  66. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
  67. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
  68. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
  69. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
  70. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
  71. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
  72. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
  73. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
  74. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
  75. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
  79. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +6 -5
  83. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
  85. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
  90. package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
  91. package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
  92. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
  93. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
  94. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
  95. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
  96. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
  97. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
  98. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
  99. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
  102. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
  103. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +2 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +2 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +2 -0
  106. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +2 -0
  107. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +2 -0
  108. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +2 -0
  109. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +1 -1
  110. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +2 -0
  111. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
  115. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
  116. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
  117. package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
  118. package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
  119. package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
  120. package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
  121. package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
  122. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
  123. package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
  124. package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
  125. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
  126. package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
  127. package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
  128. package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
  129. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
  130. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
  131. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
  132. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
  133. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
  134. package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
  135. package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
  136. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
  137. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
  138. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
  139. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
  140. package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
  141. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
  142. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
  143. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
  144. package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
  145. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
  146. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
  147. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
  148. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
  149. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
  150. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
  151. package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +1 -13
  152. package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
  153. package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
  154. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
  155. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
  156. package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
  157. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
  158. package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
  159. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
  160. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
  161. package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
  162. package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
  163. package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
  164. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
  165. package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
  166. package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
  167. package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
  168. package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
  169. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
  170. package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
  171. package/deps/couchbase-cxx-client/couchbase/bucket.hxx +13 -30
  172. package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
  173. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
  174. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +41 -73
  175. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
  176. package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
  177. package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
  178. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
  179. package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
  180. package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
  181. package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +3 -2
  182. package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
  183. package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
  184. package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
  185. package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
  186. package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
  187. package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
  188. package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
  189. package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
  190. package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
  191. package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
  192. package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
  193. package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
  194. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
  195. package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
  196. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
  197. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
  198. package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
  199. package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
  200. package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
  201. package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
  202. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
  203. package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
  204. package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
  205. package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
  206. package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
  207. package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
  208. package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
  209. package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
  210. package/deps/couchbase-cxx-client/couchbase/get_options.hxx +0 -23
  211. package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
  212. package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
  213. package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
  214. package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
  215. package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
  216. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
  217. package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
  218. package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
  219. package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
  220. package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
  221. package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
  222. package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
  223. package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
  224. package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
  225. package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
  226. package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
  227. package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
  228. package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
  229. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
  230. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
  231. package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
  232. package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
  233. package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
  234. package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
  235. package/deps/couchbase-cxx-client/couchbase/scope.hxx +13 -45
  236. package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
  237. package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
  238. package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
  239. package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
  240. package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
  241. package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
  242. package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
  243. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
  244. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
  245. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
  246. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
  247. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
  248. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
  249. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
  250. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
  251. package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
  252. package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
  253. package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
  254. package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
  255. package/dist/binding.d.ts +7 -9
  256. package/dist/bindingutilities.js +2 -0
  257. package/dist/collection.js +3 -3
  258. package/dist/errors.d.ts +9 -0
  259. package/dist/errors.js +14 -2
  260. package/dist/transactions.d.ts +2 -0
  261. package/dist/transactions.js +2 -3
  262. package/dist/usermanager.js +1 -1
  263. package/package.json +7 -7
  264. package/src/binding.cpp +1 -0
  265. package/src/connection.cpp +12 -9
  266. package/src/connection.hpp +3 -3
  267. package/src/connection_autogen.cpp +7 -5
  268. package/src/constants.cpp +3 -0
  269. package/src/instance.cpp +2 -2
  270. package/src/instance.hpp +1 -1
  271. package/src/jstocbpp_autogen.hpp +21 -38
  272. package/src/jstocbpp_basic.hpp +2 -0
  273. package/src/jstocbpp_errors.hpp +1 -0
  274. package/src/jstocbpp_transactions.hpp +6 -22
  275. package/src/mutationtoken.hpp +1 -0
  276. package/tools/gen-bindings-json.py +39 -16
  277. package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/CMakeLists.txt +0 -23
  278. package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/example.cpp +0 -398
  279. package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
  280. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
  281. package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
  282. package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
  283. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
  284. package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
  285. package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
  286. package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
  287. package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
  288. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
  289. package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
  290. package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
  291. package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
  292. package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
  293. package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
  294. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
  295. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
  296. package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
  297. package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
  298. package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
  299. package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
  300. package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
  301. package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
  302. package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
  303. package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
  304. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
  305. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
  306. package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
  307. package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
  308. package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
  309. package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
  310. package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
  311. package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
  312. package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
  313. package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
  314. package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
  315. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
  316. package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
  317. /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
@@ -427,7 +427,7 @@ class UserManager {
427
427
  }
428
428
  const timeout = options.timeout || this._cluster.managementTimeout;
429
429
  return utilities_1.PromiseHelper.wrapAsync(async () => {
430
- const passwordData = { "password": newPassword };
430
+ const passwordData = { password: newPassword };
431
431
  const res = await this._http.request({
432
432
  type: httpexecutor_1.HttpServiceType.Management,
433
433
  method: httpexecutor_1.HttpMethod.Post,
package/package.json CHANGED
@@ -54,7 +54,7 @@
54
54
  "type": "git",
55
55
  "url": "http://github.com/couchbase/couchnode.git"
56
56
  },
57
- "version": "4.2.8-dev.1",
57
+ "version": "4.2.9",
58
58
  "config": {
59
59
  "native": false
60
60
  },
@@ -79,12 +79,12 @@
79
79
  ]
80
80
  },
81
81
  "optionalDependencies": {
82
- "@couchbase/couchbase-darwin-arm64-napi": "4.2.8-dev.1",
83
- "@couchbase/couchbase-darwin-x64-napi": "4.2.8-dev.1",
84
- "@couchbase/couchbase-linux-arm64-napi": "4.2.8-dev.1",
85
- "@couchbase/couchbase-linuxmusl-x64-napi": "4.2.8-dev.1",
86
- "@couchbase/couchbase-linux-x64-napi": "4.2.8-dev.1",
87
- "@couchbase/couchbase-win32-x64-napi": "4.2.8-dev.1"
82
+ "@couchbase/couchbase-darwin-arm64-napi": "4.2.9",
83
+ "@couchbase/couchbase-darwin-x64-napi": "4.2.9",
84
+ "@couchbase/couchbase-linux-arm64-napi": "4.2.9",
85
+ "@couchbase/couchbase-linuxmusl-x64-napi": "4.2.9",
86
+ "@couchbase/couchbase-linux-x64-napi": "4.2.9",
87
+ "@couchbase/couchbase-win32-x64-napi": "4.2.9"
88
88
  },
89
89
  "files": [
90
90
  "LICENSE",
package/src/binding.cpp CHANGED
@@ -7,6 +7,7 @@
7
7
  #include "transaction.hpp"
8
8
  #include "transactions.hpp"
9
9
  #include <core/logger/configuration.hxx>
10
+ #include <core/meta/version.hxx>
10
11
  #include <napi.h>
11
12
  #include <spdlog/spdlog.h>
12
13
 
@@ -8,6 +8,7 @@
8
8
  #include <core/agent_group.hxx>
9
9
  #include <core/operations/management/freeform.hxx>
10
10
  #include <core/range_scan_orchestrator.hxx>
11
+ #include <core/utils/connection_string.hxx>
11
12
  #include <type_traits>
12
13
 
13
14
  namespace couchnode
@@ -189,8 +190,8 @@ void Connection::Init(Napi::Env env, Napi::Object exports)
189
190
  InstanceMethod<
190
191
  &Connection::jsManagementSearchIndexControlPlanFreeze>(
191
192
  "managementSearchIndexControlPlanFreeze"),
192
- InstanceMethod<&Connection::jsManagementSearchIndexStats>(
193
- "managementSearchIndexStats"),
193
+ InstanceMethod<&Connection::jsManagementSearchGetStats>(
194
+ "managementSearchGetStats"),
194
195
  InstanceMethod<&Connection::jsManagementUserDrop>(
195
196
  "managementUserDrop"),
196
197
  InstanceMethod<&Connection::jsManagementAnalyticsDataverseCreate>(
@@ -291,7 +292,7 @@ Napi::Value Connection::jsConnect(const Napi::CallbackInfo &info)
291
292
  }
292
293
 
293
294
  auto cookie = CallCookie(info.Env(), callbackJsFn, "cbConnectCallback");
294
- this->_instance->_cluster->open(
295
+ this->_instance->_cluster.open(
295
296
  couchbase::core::origin(creds, connstrInfo),
296
297
  [cookie = std::move(cookie)](std::error_code ec) mutable {
297
298
  cookie.invoke([ec](Napi::Env env, Napi::Function callback) {
@@ -307,7 +308,7 @@ Napi::Value Connection::jsShutdown(const Napi::CallbackInfo &info)
307
308
  auto callbackJsFn = info[0].As<Napi::Function>();
308
309
 
309
310
  auto cookie = CallCookie(info.Env(), callbackJsFn, "cbShutdownCallback");
310
- this->_instance->_cluster->close([cookie = std::move(cookie)]() mutable {
311
+ this->_instance->_cluster.close([cookie = std::move(cookie)]() mutable {
311
312
  cookie.invoke([](Napi::Env env, Napi::Function callback) {
312
313
  callback.Call({env.Null()});
313
314
  });
@@ -322,7 +323,7 @@ Napi::Value Connection::jsOpenBucket(const Napi::CallbackInfo &info)
322
323
  auto callbackJsFn = info[1].As<Napi::Function>();
323
324
 
324
325
  auto cookie = CallCookie(info.Env(), callbackJsFn, "cbOpenBucketCallback");
325
- this->_instance->_cluster->open_bucket(
326
+ this->_instance->_cluster.open_bucket(
326
327
  bucketName, [cookie = std::move(cookie)](std::error_code ec) mutable {
327
328
  cookie.invoke([ec](Napi::Env env, Napi::Function callback) {
328
329
  callback.Call({cbpp_to_js(env, ec)});
@@ -341,7 +342,7 @@ Napi::Value Connection::jsDiagnostics(const Napi::CallbackInfo &info)
341
342
  jsToCbpp<std::optional<std::string>>(optsJsObj.Get("report_id"));
342
343
 
343
344
  auto cookie = CallCookie(info.Env(), callbackJsFn, "diagnostics");
344
- this->_instance->_cluster->diagnostics(
345
+ this->_instance->_cluster.diagnostics(
345
346
  reportId, [cookie = std::move(cookie)](
346
347
  couchbase::core::diag::diagnostics_result resp) mutable {
347
348
  cookie.invoke([resp = std::move(resp)](
@@ -373,10 +374,12 @@ Napi::Value Connection::jsPing(const Napi::CallbackInfo &info)
373
374
  jsToCbpp<std::optional<std::string>>(optsJsObj.Get("bucket_name"));
374
375
  auto services = jsToCbpp<std::set<couchbase::core::service_type>>(
375
376
  optsJsObj.Get("services"));
377
+ auto timeout = jsToCbpp<std::optional<std::chrono::milliseconds>>(
378
+ optsJsObj.Get("timeout"));
376
379
 
377
380
  auto cookie = CallCookie(info.Env(), callbackJsFn, "ping");
378
- this->_instance->_cluster->ping(
379
- reportId, bucketName, services,
381
+ this->_instance->_cluster.ping(
382
+ reportId, bucketName, services, timeout,
380
383
  [cookie = std::move(cookie)](
381
384
  couchbase::core::diag::ping_result resp) mutable {
382
385
  cookie.invoke([resp = std::move(resp)](
@@ -413,7 +416,7 @@ Napi::Value Connection::jsScan(const Napi::CallbackInfo &info)
413
416
  tl::expected<couchbase::core::topology::configuration::vbucket_map,
414
417
  std::error_code>>>();
415
418
  auto f = barrier->get_future();
416
- this->_instance->_cluster->with_bucket_configuration(
419
+ this->_instance->_cluster.with_bucket_configuration(
417
420
  bucketName,
418
421
  [barrier](
419
422
  std::error_code ec,
@@ -59,7 +59,7 @@ public:
59
59
  Connection(const Napi::CallbackInfo &info);
60
60
  ~Connection();
61
61
 
62
- std::shared_ptr<couchbase::core::cluster> cluster() const
62
+ couchbase::core::cluster cluster() const
63
63
  {
64
64
  return _instance->_cluster;
65
65
  }
@@ -174,7 +174,7 @@ public:
174
174
  Napi::Value jsManagementSearchIndexDrop(const Napi::CallbackInfo &info);
175
175
  Napi::Value
176
176
  jsManagementSearchIndexControlPlanFreeze(const Napi::CallbackInfo &info);
177
- Napi::Value jsManagementSearchIndexStats(const Napi::CallbackInfo &info);
177
+ Napi::Value jsManagementSearchGetStats(const Napi::CallbackInfo &info);
178
178
  Napi::Value jsManagementUserDrop(const Napi::CallbackInfo &info);
179
179
  Napi::Value
180
180
  jsManagementAnalyticsDataverseCreate(const Napi::CallbackInfo &info);
@@ -215,7 +215,7 @@ private:
215
215
  using response_type = typename Request::response_type;
216
216
 
217
217
  auto cookie = CallCookie(jsCallback.Env(), jsCallback, opName);
218
- this->_instance->_cluster->execute(
218
+ this->_instance->_cluster.execute(
219
219
  req, [cookie = std::move(cookie),
220
220
  handler = std::move(handler)](response_type resp) mutable {
221
221
  cookie.invoke(
@@ -1176,15 +1176,17 @@ Napi::Value Connection::jsManagementSearchIndexControlPlanFreeze(
1176
1176
  }
1177
1177
 
1178
1178
  Napi::Value
1179
- Connection::jsManagementSearchIndexStats(const Napi::CallbackInfo &info)
1179
+ Connection::jsManagementSearchGetStats(const Napi::CallbackInfo &info)
1180
1180
  {
1181
1181
  auto optsJsObj = info[0].As<Napi::Object>();
1182
1182
  auto callbackJsFn = info[1].As<Napi::Function>();
1183
1183
 
1184
- executeOp("managementSearchIndexStats",
1185
- jsToCbpp<couchbase::core::operations::management::
1186
- search_index_stats_request>(optsJsObj),
1187
- callbackJsFn);
1184
+ executeOp(
1185
+ "managementSearchGetStats",
1186
+ jsToCbpp<
1187
+ couchbase::core::operations::management::search_get_stats_request>(
1188
+ optsJsObj),
1189
+ callbackJsFn);
1188
1190
 
1189
1191
  return info.Env().Null();
1190
1192
  }
package/src/constants.cpp CHANGED
@@ -699,6 +699,8 @@ void Constants::InitAutogen(Napi::Env env, Napi::Object exports)
699
699
  xattr_cannot_modify_virtual_attribute},
700
700
  {"xattr_no_access",
701
701
  couchbase::errc::key_value::xattr_no_access},
702
+ {"document_not_locked",
703
+ couchbase::errc::key_value::document_not_locked},
702
704
  {"cannot_revive_living_document",
703
705
  couchbase::errc::key_value::cannot_revive_living_document},
704
706
  {"mutation_token_outdated",
@@ -862,6 +864,7 @@ void Constants::InitAutogen(Napi::Env env, Napi::Object exports)
862
864
  {"opaque_no_match",
863
865
  couchbase::key_value_status_code::opaque_no_match},
864
866
  {"locked", couchbase::key_value_status_code::locked},
867
+ {"not_locked", couchbase::key_value_status_code::not_locked},
865
868
  {"auth_stale", couchbase::key_value_status_code::auth_stale},
866
869
  {"auth_error", couchbase::key_value_status_code::auth_error},
867
870
  {"auth_continue",
package/src/instance.cpp CHANGED
@@ -4,7 +4,7 @@ namespace couchnode
4
4
  {
5
5
 
6
6
  Instance::Instance()
7
- : _cluster(couchbase::core::cluster::create(_io))
7
+ : _cluster(couchbase::core::cluster(_io))
8
8
  {
9
9
  _ioThread = std::thread([this]() { _io.run(); });
10
10
  }
@@ -15,7 +15,7 @@ Instance::~Instance()
15
15
 
16
16
  void Instance::asyncDestroy()
17
17
  {
18
- _cluster->close([this]() mutable {
18
+ _cluster.close([this]() mutable {
19
19
  // We have to run this on a separate thread since the callback itself is
20
20
  // actually running from within the io context.
21
21
  std::thread([this]() {
package/src/instance.hpp CHANGED
@@ -19,7 +19,7 @@ public:
19
19
 
20
20
  asio::io_context _io;
21
21
  std::thread _ioThread;
22
- std::shared_ptr<couchbase::core::cluster> _cluster;
22
+ couchbase::core::cluster _cluster;
23
23
  };
24
24
 
25
25
  } // namespace couchnode
@@ -5,6 +5,7 @@
5
5
  #include "jstocbpp_cpptypes.hpp"
6
6
 
7
7
  #include <core/cluster.hxx>
8
+ #include <core/operations.hxx>
8
9
  #include <core/operations/management/analytics.hxx>
9
10
  #include <core/operations/management/bucket.hxx>
10
11
  #include <core/operations/management/bucket_describe.hxx>
@@ -1277,11 +1278,11 @@ struct js_to_cbpp_t<couchbase::core::management::search::index> {
1277
1278
  };
1278
1279
 
1279
1280
  template <>
1280
- struct js_to_cbpp_t<couchbase::management::query::index> {
1281
- static inline couchbase::management::query::index from_js(Napi::Value jsVal)
1281
+ struct js_to_cbpp_t<couchbase::management::query_index> {
1282
+ static inline couchbase::management::query_index from_js(Napi::Value jsVal)
1282
1283
  {
1283
1284
  auto jsObj = jsVal.ToObject();
1284
- couchbase::management::query::index cppObj;
1285
+ couchbase::management::query_index cppObj;
1285
1286
  js_to_cbpp<bool>(cppObj.is_primary, jsObj.Get("is_primary"));
1286
1287
  js_to_cbpp<std::string>(cppObj.name, jsObj.Get("name"));
1287
1288
  js_to_cbpp<std::string>(cppObj.state, jsObj.Get("state"));
@@ -1300,7 +1301,7 @@ struct js_to_cbpp_t<couchbase::management::query::index> {
1300
1301
  return cppObj;
1301
1302
  }
1302
1303
  static inline Napi::Value
1303
- to_js(Napi::Env env, const couchbase::management::query::index &cppObj)
1304
+ to_js(Napi::Env env, const couchbase::management::query_index &cppObj)
1304
1305
  {
1305
1306
  auto resObj = Napi::Object::New(env);
1306
1307
  resObj.Set("is_primary", cbpp_to_js<bool>(env, cppObj.is_primary));
@@ -2545,26 +2546,6 @@ struct js_to_cbpp_t<couchbase::core::operations::query_request> {
2545
2546
  }
2546
2547
  };
2547
2548
 
2548
- template <>
2549
- struct js_to_cbpp_t<couchbase::core::operations::mcbp_noop_response> {
2550
- static inline couchbase::core::operations::mcbp_noop_response
2551
- from_js(Napi::Value jsVal)
2552
- {
2553
- auto jsObj = jsVal.ToObject();
2554
- couchbase::core::operations::mcbp_noop_response cppObj;
2555
- // ctx
2556
- return cppObj;
2557
- }
2558
- static inline Napi::Value
2559
- to_js(Napi::Env env,
2560
- const couchbase::core::operations::mcbp_noop_response &cppObj)
2561
- {
2562
- auto resObj = Napi::Object::New(env);
2563
- // ctx
2564
- return resObj;
2565
- }
2566
- };
2567
-
2568
2549
  template <>
2569
2550
  struct js_to_cbpp_t<couchbase::core::operations::replace_response> {
2570
2551
  static inline couchbase::core::operations::replace_response
@@ -5170,7 +5151,7 @@ struct js_to_cbpp_t<
5170
5151
  cppObj;
5171
5152
  // ctx
5172
5153
  js_to_cbpp<std::string>(cppObj.status, jsObj.Get("status"));
5173
- js_to_cbpp<std::vector<couchbase::management::query::index>>(
5154
+ js_to_cbpp<std::vector<couchbase::management::query_index>>(
5174
5155
  cppObj.indexes, jsObj.Get("indexes"));
5175
5156
  return cppObj;
5176
5157
  }
@@ -5182,7 +5163,7 @@ struct js_to_cbpp_t<
5182
5163
  // ctx
5183
5164
  resObj.Set("status", cbpp_to_js<std::string>(env, cppObj.status));
5184
5165
  resObj.Set("indexes",
5185
- cbpp_to_js<std::vector<couchbase::management::query::index>>(
5166
+ cbpp_to_js<std::vector<couchbase::management::query_index>>(
5186
5167
  env, cppObj.indexes));
5187
5168
  return resObj;
5188
5169
  }
@@ -8707,21 +8688,22 @@ struct js_to_cbpp_t<couchbase::core::operations::management::
8707
8688
 
8708
8689
  template <>
8709
8690
  struct js_to_cbpp_t<
8710
- couchbase::core::operations::management::search_index_stats_response> {
8691
+ couchbase::core::operations::management::search_get_stats_response> {
8711
8692
  static inline couchbase::core::operations::management::
8712
- search_index_stats_response
8693
+ search_get_stats_response
8713
8694
  from_js(Napi::Value jsVal)
8714
8695
  {
8715
8696
  auto jsObj = jsVal.ToObject();
8716
- couchbase::core::operations::management::search_index_stats_response
8697
+ couchbase::core::operations::management::search_get_stats_response
8717
8698
  cppObj;
8718
8699
  // ctx
8719
8700
  js_to_cbpp<std::string>(cppObj.stats, jsObj.Get("stats"));
8720
8701
  return cppObj;
8721
8702
  }
8722
- static inline Napi::Value
8723
- to_js(Napi::Env env, const couchbase::core::operations::management::
8724
- search_index_stats_response &cppObj)
8703
+ static inline Napi::Value to_js(
8704
+ Napi::Env env,
8705
+ const couchbase::core::operations::management::search_get_stats_response
8706
+ &cppObj)
8725
8707
  {
8726
8708
  auto resObj = Napi::Object::New(env);
8727
8709
  // ctx
@@ -8732,13 +8714,13 @@ struct js_to_cbpp_t<
8732
8714
 
8733
8715
  template <>
8734
8716
  struct js_to_cbpp_t<
8735
- couchbase::core::operations::management::search_index_stats_request> {
8717
+ couchbase::core::operations::management::search_get_stats_request> {
8736
8718
  static inline couchbase::core::operations::management::
8737
- search_index_stats_request
8719
+ search_get_stats_request
8738
8720
  from_js(Napi::Value jsVal)
8739
8721
  {
8740
8722
  auto jsObj = jsVal.ToObject();
8741
- couchbase::core::operations::management::search_index_stats_request
8723
+ couchbase::core::operations::management::search_get_stats_request
8742
8724
  cppObj;
8743
8725
  js_to_cbpp<std::optional<std::string>>(cppObj.client_context_id,
8744
8726
  jsObj.Get("client_context_id"));
@@ -8746,9 +8728,10 @@ struct js_to_cbpp_t<
8746
8728
  cppObj.timeout, jsObj.Get("timeout"));
8747
8729
  return cppObj;
8748
8730
  }
8749
- static inline Napi::Value
8750
- to_js(Napi::Env env, const couchbase::core::operations::management::
8751
- search_index_stats_request &cppObj)
8731
+ static inline Napi::Value to_js(
8732
+ Napi::Env env,
8733
+ const couchbase::core::operations::management::search_get_stats_request
8734
+ &cppObj)
8752
8735
  {
8753
8736
  auto resObj = Napi::Object::New(env);
8754
8737
  resObj.Set("client_context_id", cbpp_to_js<std::optional<std::string>>(
@@ -6,6 +6,8 @@
6
6
  #include "mutationtoken.hpp"
7
7
 
8
8
  #include <core/cluster.hxx>
9
+ #include <core/document_id.hxx>
10
+ #include <core/json_string.hxx>
9
11
  #include <core/query_context.hxx>
10
12
 
11
13
  namespace couchnode
@@ -6,6 +6,7 @@
6
6
 
7
7
  #include <core/cluster.hxx>
8
8
  #include <core/operations/management/error_utils.hxx>
9
+ #include <couchbase/query_error_context.hxx>
9
10
 
10
11
  namespace couchnode
11
12
  {
@@ -47,17 +47,9 @@ struct js_to_cbpp_t<cbtxns::transactions_config> {
47
47
  cppObj.durability_level(durability_level.value());
48
48
  }
49
49
 
50
- auto kv_timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(
51
- jsObj.Get("kv_timeout"));
52
- if (kv_timeout.has_value()) {
53
- cppObj.kv_timeout(kv_timeout.value());
54
- }
55
-
56
- auto expiration_time =
57
- js_to_cbpp<std::optional<std::chrono::milliseconds>>(
58
- jsObj.Get("expiration_time"));
59
- if (expiration_time.has_value()) {
60
- cppObj.expiration_time(expiration_time.value());
50
+ auto timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(jsObj.Get("timeout"));
51
+ if (timeout.has_value()) {
52
+ cppObj.timeout(timeout.value());
61
53
  }
62
54
 
63
55
  auto query_scan_consistency =
@@ -107,17 +99,9 @@ struct js_to_cbpp_t<cbtxns::transaction_options> {
107
99
  cppObj.durability_level(durability_level.value());
108
100
  }
109
101
 
110
- auto kv_timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(
111
- jsObj.Get("kv_timeout"));
112
- if (kv_timeout.has_value()) {
113
- cppObj.kv_timeout(kv_timeout.value());
114
- }
115
-
116
- auto expiration_time =
117
- js_to_cbpp<std::optional<std::chrono::milliseconds>>(
118
- jsObj.Get("expiration_time"));
119
- if (expiration_time.has_value()) {
120
- cppObj.expiration_time(expiration_time.value());
102
+ auto timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(jsObj.Get("timeout"));
103
+ if (timeout.has_value()) {
104
+ cppObj.timeout(timeout.value());
121
105
  }
122
106
 
123
107
  auto query_scan_consistency =
@@ -2,6 +2,7 @@
2
2
  #include "addondata.hpp"
3
3
  #include "napi.h"
4
4
  #include <core/cluster.hxx>
5
+ #include <couchbase/mutation_token.hxx>
5
6
 
6
7
  namespace couchnode
7
8
  {
@@ -3,6 +3,8 @@ import json
3
3
  import re
4
4
  import clang.cindex
5
5
 
6
+ from functools import reduce
7
+
6
8
  # configurable part
7
9
 
8
10
  CLANG_VERSION='13.0.1'
@@ -11,7 +13,16 @@ CLANG_VERSION='13.0.1'
11
13
  # arm64: /opt/homebrew/opt/llvm/lib
12
14
  llvmLibPath = "/usr/local/Cellar/llvm/13.0.1_1/lib/"
13
15
 
14
- cxxClientRoot = "../deps/couchbase-cxx-client"
16
+ cxx_client_root = "../deps/couchbase-cxx-client"
17
+ cxx_client_cache = "../deps/couchbase-cxx-cache"
18
+ cxx_deps_include_paths = {
19
+ 'asio': ['-I{0}/asio/{1}/asio/asio/include'],
20
+ 'fmt': ['-I{0}/fmt/{1}/fmt/include'],
21
+ 'gsl': ['-I{0}/gsl/{1}/gsl/include'],
22
+ 'json': ['-I{0}/json/{1}/json/include',
23
+ '-I{0}/json/{1}/json/external/PEGTL/include'
24
+ ],
25
+ }
15
26
 
16
27
  fileList = [
17
28
  "core/management/analytics_dataset.hxx",
@@ -89,7 +100,7 @@ typeList = [
89
100
  "couchbase::core::management::rbac::user_and_metadata",
90
101
  "couchbase::core::management::rbac::group",
91
102
  "couchbase::core::management::search::index",
92
- "couchbase::management::query::index",
103
+ "couchbase::management::query_index",
93
104
  "couchbase::retry_reason",
94
105
  "couchbase::core::topology::collections_manifest",
95
106
  "couchbase::core::protocol::status",
@@ -160,6 +171,15 @@ typeList = [
160
171
 
161
172
  clang.cindex.Config.set_library_path(llvmLibPath)
162
173
 
174
+ def set_cxx_deps_include_paths(dep, includes):
175
+ cpm_path = os.path.join(cxx_client_cache, dep)
176
+ dir_pattern = r'[0-9a-z]{40}'
177
+ cpm_hash_dir = next((d for d in os.listdir(cpm_path)
178
+ if os.path.isdir(os.path.join(cpm_path, d)) and re.match(dir_pattern, d)),
179
+ None)
180
+ if not cpm_hash_dir:
181
+ raise Exception(f'Unable to find CPM hash directory for path: {cpm_path}.')
182
+ return list(map(lambda p: p.format(cxx_client_cache, cpm_hash_dir), includes))
163
183
 
164
184
  def list_headers_in_dir(path):
165
185
  # enumerates a folder but keeps the full pathing for the files returned
@@ -184,11 +204,11 @@ for filePath in fileList:
184
204
  # if there is still a wildcard, we have an issue...
185
205
  raise NotImplementedError(
186
206
  "wildcard only supported at end of file path")
187
- files = list_headers_in_dir(os.path.join(cxxClientRoot, basePath))
207
+ files = list_headers_in_dir(os.path.join(cxx_client_root, basePath))
188
208
  fullFileList = fullFileList + files
189
209
  else:
190
210
  # normal path
191
- fullFileList.append(os.path.join(cxxClientRoot, filePath))
211
+ fullFileList.append(os.path.join(cxx_client_root, filePath))
192
212
 
193
213
  # exclude _json.hxx files
194
214
  fullFileList = list(
@@ -228,7 +248,11 @@ def parse_type(type):
228
248
  typeStr = type.get_canonical().spelling
229
249
  return parse_type_str(typeStr)
230
250
 
231
- std_comparators = ["std::less<>", "std::greater<>", "std::less_equal<>", "std::greater_equal<>"]
251
+ std_comparator_templates = ["std::less<{0}>", "std::greater<{0}>", "std::less_equal<{0}>", "std::greater_equal<{0}>"]
252
+ # flatten the list of lists
253
+ std_comparators = list(reduce(lambda a, b: a + b,
254
+ list(map(lambda c: [c.format(s) for s in ['', 'void']], std_comparator_templates)),
255
+ []))
232
256
 
233
257
  def parse_type_str(typeStr):
234
258
  if typeStr == "std::mutex":
@@ -276,6 +300,8 @@ def parse_type_str(typeStr):
276
300
  if typeStr == "std::nullptr_t":
277
301
  return {"name": "std::nullptr_t"}
278
302
  if typeStr in std_comparators:
303
+ if 'void' in typeStr:
304
+ return {"name": typeStr.replace("void", "")}
279
305
  return {"name": typeStr}
280
306
 
281
307
  tplParts = typeStr.split("<", 1)
@@ -440,20 +466,17 @@ def traverse(node, namespace, main_file):
440
466
  for child in node.get_children():
441
467
  traverse(child, namespace, main_file)
442
468
 
469
+ include_paths = [
470
+ f'-I{cxx_client_root}/',
471
+ f'-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{CLANG_VERSION}/include',
472
+ ]
473
+ for dep, inc in cxx_deps_include_paths.items():
474
+ include_paths.extend(set_cxx_deps_include_paths(dep, inc))
475
+
443
476
  for headerPath in fullFileList:
444
477
  print("processing " + headerPath)
445
478
  index = clang.cindex.Index.create()
446
- args = [
447
- '-std=c++17',
448
- "-I" + cxxClientRoot + "/",
449
- "-I" + cxxClientRoot + "/third_party/fmt/include",
450
- "-I" + cxxClientRoot + "/third_party/gsl/include",
451
- "-I" + cxxClientRoot + "/third_party/json/include",
452
- "-I" + cxxClientRoot + "/third_party/json/external/PEGTL/include",
453
- "-I" + cxxClientRoot + "/third_party/asio/asio/include",
454
- "-I" + f"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{CLANG_VERSION}/include",
455
- # "-I" + f'/opt/homebrew/Cellar/llvm/{CLANG_VERSION}/lib/clang/{CLANG_VERSION[:2]}/include',
456
- ]
479
+ args = ['-std=c++17'] + include_paths
457
480
  translation_unit = index.parse(headerPath, args=args)
458
481
 
459
482
  # output clang compiler diagnostics information (for debugging)
@@ -1,23 +0,0 @@
1
- # Copyright(c) 2019 spdlog authors Distributed under the MIT License (http://opensource.org/licenses/MIT)
2
-
3
- cmake_minimum_required(VERSION 3.10)
4
- project(spdlog_examples CXX)
5
-
6
- if(NOT TARGET spdlog)
7
- # Stand-alone build
8
- find_package(spdlog REQUIRED)
9
- endif()
10
-
11
- # ---------------------------------------------------------------------------------------
12
- # Example of using pre-compiled library
13
- # ---------------------------------------------------------------------------------------
14
- add_executable(example example.cpp)
15
- target_link_libraries(example PRIVATE spdlog::spdlog $<$<BOOL:${MINGW}>:ws2_32>)
16
-
17
- # ---------------------------------------------------------------------------------------
18
- # Example of using header-only library
19
- # ---------------------------------------------------------------------------------------
20
- if(SPDLOG_BUILD_EXAMPLE_HO)
21
- add_executable(example_header_only example.cpp)
22
- target_link_libraries(example_header_only PRIVATE spdlog::spdlog_header_only)
23
- endif()