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.
- package/CMakeLists.txt +1 -1
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +397 -424
- package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
- package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/bucket.cxx +22 -8
- package/deps/couchbase-cxx-client/core/bucket.hxx +3 -1
- package/deps/couchbase-cxx-client/core/cluster.cxx +1453 -108
- package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
- package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
- package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
- package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
- package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
- package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
- package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
- package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
- package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
- package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +78 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +226 -44
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
- package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
- package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
- package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
- package/deps/couchbase-cxx-client/core/impl/scope.cxx +172 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +12 -61
- package/deps/couchbase-cxx-client/core/impl/search.hxx +37 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +469 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
- package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +51 -21
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +2 -1
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +28 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +17 -1
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +6 -5
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
- package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
- package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
- package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
- package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
- package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
- package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
- package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
- package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +1 -13
- package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
- package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
- package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
- package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
- package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
- package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
- package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
- package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
- package/deps/couchbase-cxx-client/couchbase/bucket.hxx +13 -30
- package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +41 -73
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
- package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
- package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +3 -2
- package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
- package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
- package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
- package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
- package/deps/couchbase-cxx-client/couchbase/get_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
- package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
- package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
- package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
- package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +13 -45
- package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
- package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
- package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
- package/dist/binding.d.ts +7 -9
- package/dist/bindingutilities.js +2 -0
- package/dist/collection.js +3 -3
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +14 -2
- package/dist/transactions.d.ts +2 -0
- package/dist/transactions.js +2 -3
- package/dist/usermanager.js +1 -1
- package/package.json +7 -7
- package/src/binding.cpp +1 -0
- package/src/connection.cpp +12 -9
- package/src/connection.hpp +3 -3
- package/src/connection_autogen.cpp +7 -5
- package/src/constants.cpp +3 -0
- package/src/instance.cpp +2 -2
- package/src/instance.hpp +1 -1
- package/src/jstocbpp_autogen.hpp +21 -38
- package/src/jstocbpp_basic.hpp +2 -0
- package/src/jstocbpp_errors.hpp +1 -0
- package/src/jstocbpp_transactions.hpp +6 -22
- package/src/mutationtoken.hpp +1 -0
- package/tools/gen-bindings-json.py +39 -16
- package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/CMakeLists.txt +0 -23
- package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/example.cpp +0 -398
- package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
- package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
- package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
- package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
- package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
- package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
- package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
- package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
- package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
- package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
- package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
- package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
- package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
- package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
- package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
- package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
- package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
- /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
|
@@ -1,398 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright(c) 2015 Gabi Melman.
|
|
3
|
-
// Distributed under the MIT License (http://opensource.org/licenses/MIT)
|
|
4
|
-
|
|
5
|
-
// spdlog usage example
|
|
6
|
-
|
|
7
|
-
#include <cstdio>
|
|
8
|
-
#include <chrono>
|
|
9
|
-
|
|
10
|
-
void load_levels_example();
|
|
11
|
-
void stdout_logger_example();
|
|
12
|
-
void basic_example();
|
|
13
|
-
void rotating_example();
|
|
14
|
-
void daily_example();
|
|
15
|
-
void callback_example();
|
|
16
|
-
void async_example();
|
|
17
|
-
void binary_example();
|
|
18
|
-
void vector_example();
|
|
19
|
-
void stopwatch_example();
|
|
20
|
-
void trace_example();
|
|
21
|
-
void multi_sink_example();
|
|
22
|
-
void user_defined_example();
|
|
23
|
-
void err_handler_example();
|
|
24
|
-
void syslog_example();
|
|
25
|
-
void udp_example();
|
|
26
|
-
void custom_flags_example();
|
|
27
|
-
void file_events_example();
|
|
28
|
-
void replace_default_logger_example();
|
|
29
|
-
|
|
30
|
-
#include "spdlog/spdlog.h"
|
|
31
|
-
#include "spdlog/cfg/env.h" // support for loading levels from the environment variable
|
|
32
|
-
#include "spdlog/fmt/ostr.h" // support for user defined types
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
int main(int, char *[])
|
|
36
|
-
{
|
|
37
|
-
// Log levels can be loaded from argv/env using "SPDLOG_LEVEL"
|
|
38
|
-
load_levels_example();
|
|
39
|
-
|
|
40
|
-
spdlog::info("Welcome to spdlog version {}.{}.{} !", SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH);
|
|
41
|
-
|
|
42
|
-
spdlog::warn("Easy padding in numbers like {:08d}", 12);
|
|
43
|
-
spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
|
|
44
|
-
spdlog::info("Support for floats {:03.2f}", 1.23456);
|
|
45
|
-
spdlog::info("Positional args are {1} {0}..", "too", "supported");
|
|
46
|
-
spdlog::info("{:>8} aligned, {:<8} aligned", "right", "left");
|
|
47
|
-
|
|
48
|
-
// Runtime log levels
|
|
49
|
-
spdlog::set_level(spdlog::level::info); // Set global log level to info
|
|
50
|
-
spdlog::debug("This message should not be displayed!");
|
|
51
|
-
spdlog::set_level(spdlog::level::trace); // Set specific logger's log level
|
|
52
|
-
spdlog::debug("This message should be displayed..");
|
|
53
|
-
|
|
54
|
-
// Customize msg format for all loggers
|
|
55
|
-
spdlog::set_pattern("[%H:%M:%S %z] [%^%L%$] [thread %t] %v");
|
|
56
|
-
spdlog::info("This an info message with custom format");
|
|
57
|
-
spdlog::set_pattern("%+"); // back to default format
|
|
58
|
-
spdlog::set_level(spdlog::level::info);
|
|
59
|
-
|
|
60
|
-
// Backtrace support
|
|
61
|
-
// Loggers can store in a ring buffer all messages (including debug/trace) for later inspection.
|
|
62
|
-
// When needed, call dump_backtrace() to see what happened:
|
|
63
|
-
spdlog::enable_backtrace(10); // create ring buffer with capacity of 10 messages
|
|
64
|
-
for (int i = 0; i < 100; i++)
|
|
65
|
-
{
|
|
66
|
-
spdlog::debug("Backtrace message {}", i); // not logged..
|
|
67
|
-
}
|
|
68
|
-
// e.g. if some error happened:
|
|
69
|
-
spdlog::dump_backtrace(); // log them now!
|
|
70
|
-
|
|
71
|
-
try
|
|
72
|
-
{
|
|
73
|
-
stdout_logger_example();
|
|
74
|
-
basic_example();
|
|
75
|
-
rotating_example();
|
|
76
|
-
daily_example();
|
|
77
|
-
callback_example();
|
|
78
|
-
async_example();
|
|
79
|
-
binary_example();
|
|
80
|
-
vector_example();
|
|
81
|
-
multi_sink_example();
|
|
82
|
-
user_defined_example();
|
|
83
|
-
err_handler_example();
|
|
84
|
-
trace_example();
|
|
85
|
-
stopwatch_example();
|
|
86
|
-
udp_example();
|
|
87
|
-
custom_flags_example();
|
|
88
|
-
file_events_example();
|
|
89
|
-
replace_default_logger_example();
|
|
90
|
-
|
|
91
|
-
// Flush all *registered* loggers using a worker thread every 3 seconds.
|
|
92
|
-
// note: registered loggers *must* be thread safe for this to work correctly!
|
|
93
|
-
spdlog::flush_every(std::chrono::seconds(3));
|
|
94
|
-
|
|
95
|
-
// Apply some function on all registered loggers
|
|
96
|
-
spdlog::apply_all([&](std::shared_ptr<spdlog::logger> l) { l->info("End of example."); });
|
|
97
|
-
|
|
98
|
-
// Release all spdlog resources, and drop all loggers in the registry.
|
|
99
|
-
// This is optional (only mandatory if using windows + async log).
|
|
100
|
-
spdlog::shutdown();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Exceptions will only be thrown upon failed logger or sink construction (not during logging).
|
|
104
|
-
catch (const spdlog::spdlog_ex &ex)
|
|
105
|
-
{
|
|
106
|
-
std::printf("Log initialization failed: %s\n", ex.what());
|
|
107
|
-
return 1;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
#include "spdlog/sinks/stdout_color_sinks.h"
|
|
112
|
-
// or #include "spdlog/sinks/stdout_sinks.h" if no colors needed.
|
|
113
|
-
void stdout_logger_example()
|
|
114
|
-
{
|
|
115
|
-
// Create color multi threaded logger.
|
|
116
|
-
auto console = spdlog::stdout_color_mt("console");
|
|
117
|
-
// or for stderr:
|
|
118
|
-
// auto console = spdlog::stderr_color_mt("error-logger");
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
#include "spdlog/sinks/basic_file_sink.h"
|
|
122
|
-
void basic_example()
|
|
123
|
-
{
|
|
124
|
-
// Create basic file logger (not rotated).
|
|
125
|
-
auto my_logger = spdlog::basic_logger_mt("file_logger", "logs/basic-log.txt", true);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
#include "spdlog/sinks/rotating_file_sink.h"
|
|
129
|
-
void rotating_example()
|
|
130
|
-
{
|
|
131
|
-
// Create a file rotating logger with 5mb size max and 3 rotated files.
|
|
132
|
-
auto rotating_logger = spdlog::rotating_logger_mt("some_logger_name", "logs/rotating.txt", 1048576 * 5, 3);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
#include "spdlog/sinks/daily_file_sink.h"
|
|
136
|
-
void daily_example()
|
|
137
|
-
{
|
|
138
|
-
// Create a daily logger - a new file is created every day on 2:30am.
|
|
139
|
-
auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 2, 30);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
#include "spdlog/sinks/callback_sink.h"
|
|
143
|
-
void callback_example()
|
|
144
|
-
{
|
|
145
|
-
// Create the logger
|
|
146
|
-
auto logger = spdlog::callback_logger_mt("custom_callback_logger", [](const spdlog::details::log_msg & /*msg*/) {
|
|
147
|
-
// do what you need to do with msg
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
#include "spdlog/cfg/env.h"
|
|
152
|
-
void load_levels_example()
|
|
153
|
-
{
|
|
154
|
-
// Set the log level to "info" and mylogger to "trace":
|
|
155
|
-
// SPDLOG_LEVEL=info,mylogger=trace && ./example
|
|
156
|
-
spdlog::cfg::load_env_levels();
|
|
157
|
-
// or from command line:
|
|
158
|
-
// ./example SPDLOG_LEVEL=info,mylogger=trace
|
|
159
|
-
// #include "spdlog/cfg/argv.h" // for loading levels from argv
|
|
160
|
-
// spdlog::cfg::load_argv_levels(args, argv);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
#include "spdlog/async.h"
|
|
164
|
-
void async_example()
|
|
165
|
-
{
|
|
166
|
-
// Default thread pool settings can be modified *before* creating the async logger:
|
|
167
|
-
// spdlog::init_thread_pool(32768, 1); // queue with max 32k items 1 backing thread.
|
|
168
|
-
auto async_file = spdlog::basic_logger_mt<spdlog::async_factory>("async_file_logger", "logs/async_log.txt");
|
|
169
|
-
// alternatively:
|
|
170
|
-
// auto async_file = spdlog::create_async<spdlog::sinks::basic_file_sink_mt>("async_file_logger", "logs/async_log.txt");
|
|
171
|
-
|
|
172
|
-
for (int i = 1; i < 101; ++i)
|
|
173
|
-
{
|
|
174
|
-
async_file->info("Async message #{}", i);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// Log binary data as hex.
|
|
179
|
-
// Many types of std::container<char> types can be used.
|
|
180
|
-
// Iterator ranges are supported too.
|
|
181
|
-
// Format flags:
|
|
182
|
-
// {:X} - print in uppercase.
|
|
183
|
-
// {:s} - don't separate each byte with space.
|
|
184
|
-
// {:p} - don't print the position on each line start.
|
|
185
|
-
// {:n} - don't split the output to lines.
|
|
186
|
-
|
|
187
|
-
#if !defined SPDLOG_USE_STD_FORMAT || defined(_MSC_VER)
|
|
188
|
-
#include "spdlog/fmt/bin_to_hex.h"
|
|
189
|
-
void binary_example()
|
|
190
|
-
{
|
|
191
|
-
std::vector<char> buf(80);
|
|
192
|
-
for (int i = 0; i < 80; i++)
|
|
193
|
-
{
|
|
194
|
-
buf.push_back(static_cast<char>(i & 0xff));
|
|
195
|
-
}
|
|
196
|
-
spdlog::info("Binary example: {}", spdlog::to_hex(buf));
|
|
197
|
-
spdlog::info("Another binary example:{:n}", spdlog::to_hex(std::begin(buf), std::begin(buf) + 10));
|
|
198
|
-
// more examples:
|
|
199
|
-
// logger->info("uppercase: {:X}", spdlog::to_hex(buf));
|
|
200
|
-
// logger->info("uppercase, no delimiters: {:Xs}", spdlog::to_hex(buf));
|
|
201
|
-
// logger->info("uppercase, no delimiters, no position info: {:Xsp}", spdlog::to_hex(buf));
|
|
202
|
-
// logger->info("hexdump style: {:a}", spdlog::to_hex(buf));
|
|
203
|
-
// logger->info("hexdump style, 20 chars per line {:a}", spdlog::to_hex(buf, 20));
|
|
204
|
-
}
|
|
205
|
-
#else
|
|
206
|
-
void binary_example() {
|
|
207
|
-
// not supported with std::format yet
|
|
208
|
-
}
|
|
209
|
-
#endif
|
|
210
|
-
|
|
211
|
-
// Log a vector of numbers
|
|
212
|
-
#ifndef SPDLOG_USE_STD_FORMAT
|
|
213
|
-
# include "spdlog/fmt/ranges.h"
|
|
214
|
-
void vector_example()
|
|
215
|
-
{
|
|
216
|
-
std::vector<int> vec = {1, 2, 3};
|
|
217
|
-
spdlog::info("Vector example: {}", vec);
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
#else
|
|
221
|
-
void vector_example() {}
|
|
222
|
-
#endif
|
|
223
|
-
|
|
224
|
-
// ! DSPDLOG_USE_STD_FORMAT
|
|
225
|
-
|
|
226
|
-
// Compile time log levels.
|
|
227
|
-
// define SPDLOG_ACTIVE_LEVEL to required level (e.g. SPDLOG_LEVEL_TRACE)
|
|
228
|
-
void trace_example()
|
|
229
|
-
{
|
|
230
|
-
// trace from default logger
|
|
231
|
-
SPDLOG_TRACE("Some trace message.. {} ,{}", 1, 3.23);
|
|
232
|
-
// debug from default logger
|
|
233
|
-
SPDLOG_DEBUG("Some debug message.. {} ,{}", 1, 3.23);
|
|
234
|
-
|
|
235
|
-
// trace from logger object
|
|
236
|
-
auto logger = spdlog::get("file_logger");
|
|
237
|
-
SPDLOG_LOGGER_TRACE(logger, "another trace message");
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
// stopwatch example
|
|
241
|
-
#include "spdlog/stopwatch.h"
|
|
242
|
-
#include <thread>
|
|
243
|
-
void stopwatch_example()
|
|
244
|
-
{
|
|
245
|
-
spdlog::stopwatch sw;
|
|
246
|
-
std::this_thread::sleep_for(std::chrono::milliseconds(123));
|
|
247
|
-
spdlog::info("Stopwatch: {} seconds", sw);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
#include "spdlog/sinks/udp_sink.h"
|
|
251
|
-
void udp_example()
|
|
252
|
-
{
|
|
253
|
-
spdlog::sinks::udp_sink_config cfg("127.0.0.1", 11091);
|
|
254
|
-
auto my_logger = spdlog::udp_logger_mt("udplog", cfg);
|
|
255
|
-
my_logger->set_level(spdlog::level::debug);
|
|
256
|
-
my_logger->info("hello world");
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
// A logger with multiple sinks (stdout and file) - each with a different format and log level.
|
|
260
|
-
void multi_sink_example()
|
|
261
|
-
{
|
|
262
|
-
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
|
263
|
-
console_sink->set_level(spdlog::level::warn);
|
|
264
|
-
console_sink->set_pattern("[multi_sink_example] [%^%l%$] %v");
|
|
265
|
-
|
|
266
|
-
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("logs/multisink.txt", true);
|
|
267
|
-
file_sink->set_level(spdlog::level::trace);
|
|
268
|
-
|
|
269
|
-
spdlog::logger logger("multi_sink", {console_sink, file_sink});
|
|
270
|
-
logger.set_level(spdlog::level::debug);
|
|
271
|
-
logger.warn("this should appear in both console and file");
|
|
272
|
-
logger.info("this message should not appear in the console, only in the file");
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
// User defined types logging
|
|
276
|
-
struct my_type
|
|
277
|
-
{
|
|
278
|
-
int i = 0;
|
|
279
|
-
explicit my_type(int i)
|
|
280
|
-
: i(i){};
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
#ifndef SPDLOG_USE_STD_FORMAT // when using fmtlib
|
|
284
|
-
template<>
|
|
285
|
-
struct fmt::formatter<my_type> : fmt::formatter<std::string>
|
|
286
|
-
{
|
|
287
|
-
auto format(my_type my, format_context &ctx) -> decltype(ctx.out())
|
|
288
|
-
{
|
|
289
|
-
return fmt::format_to(ctx.out(), "[my_type i={}]", my.i);
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
#else // when using std::format
|
|
294
|
-
template<>
|
|
295
|
-
struct std::formatter<my_type> : std::formatter<std::string>
|
|
296
|
-
{
|
|
297
|
-
auto format(my_type my, format_context &ctx) const -> decltype(ctx.out())
|
|
298
|
-
{
|
|
299
|
-
return format_to(ctx.out(), "[my_type i={}]", my.i);
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
#endif
|
|
303
|
-
|
|
304
|
-
void user_defined_example()
|
|
305
|
-
{
|
|
306
|
-
spdlog::info("user defined type: {}", my_type(14));
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
// Custom error handler. Will be triggered on log failure.
|
|
310
|
-
void err_handler_example()
|
|
311
|
-
{
|
|
312
|
-
// can be set globally or per logger(logger->set_error_handler(..))
|
|
313
|
-
spdlog::set_error_handler([](const std::string &msg) { printf("*** Custom log error handler: %s ***\n", msg.c_str()); });
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
// syslog example (linux/osx/freebsd)
|
|
317
|
-
#ifndef _WIN32
|
|
318
|
-
# include "spdlog/sinks/syslog_sink.h"
|
|
319
|
-
void syslog_example()
|
|
320
|
-
{
|
|
321
|
-
std::string ident = "spdlog-example";
|
|
322
|
-
auto syslog_logger = spdlog::syslog_logger_mt("syslog", ident, LOG_PID);
|
|
323
|
-
syslog_logger->warn("This is warning that will end up in syslog.");
|
|
324
|
-
}
|
|
325
|
-
#endif
|
|
326
|
-
|
|
327
|
-
// Android example.
|
|
328
|
-
#if defined(__ANDROID__)
|
|
329
|
-
# include "spdlog/sinks/android_sink.h"
|
|
330
|
-
void android_example()
|
|
331
|
-
{
|
|
332
|
-
std::string tag = "spdlog-android";
|
|
333
|
-
auto android_logger = spdlog::android_logger_mt("android", tag);
|
|
334
|
-
android_logger->critical("Use \"adb shell logcat\" to view this message.");
|
|
335
|
-
}
|
|
336
|
-
#endif
|
|
337
|
-
|
|
338
|
-
// Log patterns can contain custom flags.
|
|
339
|
-
// this will add custom flag '%*' which will be bound to a <my_formatter_flag> instance
|
|
340
|
-
#include "spdlog/pattern_formatter.h"
|
|
341
|
-
class my_formatter_flag : public spdlog::custom_flag_formatter
|
|
342
|
-
{
|
|
343
|
-
public:
|
|
344
|
-
void format(const spdlog::details::log_msg &, const std::tm &, spdlog::memory_buf_t &dest) override
|
|
345
|
-
{
|
|
346
|
-
std::string some_txt = "custom-flag";
|
|
347
|
-
dest.append(some_txt.data(), some_txt.data() + some_txt.size());
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
std::unique_ptr<custom_flag_formatter> clone() const override
|
|
351
|
-
{
|
|
352
|
-
return spdlog::details::make_unique<my_formatter_flag>();
|
|
353
|
-
}
|
|
354
|
-
};
|
|
355
|
-
|
|
356
|
-
void custom_flags_example()
|
|
357
|
-
{
|
|
358
|
-
|
|
359
|
-
using spdlog::details::make_unique; // for pre c++14
|
|
360
|
-
auto formatter = make_unique<spdlog::pattern_formatter>();
|
|
361
|
-
formatter->add_flag<my_formatter_flag>('*').set_pattern("[%n] [%*] [%^%l%$] %v");
|
|
362
|
-
// set the new formatter using spdlog::set_formatter(formatter) or logger->set_formatter(formatter)
|
|
363
|
-
// spdlog::set_formatter(std::move(formatter));
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
void file_events_example()
|
|
367
|
-
{
|
|
368
|
-
// pass the spdlog::file_event_handlers to file sinks for open/close log file notifications
|
|
369
|
-
spdlog::file_event_handlers handlers;
|
|
370
|
-
handlers.before_open = [](spdlog::filename_t filename) { spdlog::info("Before opening {}", filename); };
|
|
371
|
-
handlers.after_open = [](spdlog::filename_t filename, std::FILE *fstream) {
|
|
372
|
-
spdlog::info("After opening {}", filename);
|
|
373
|
-
fputs("After opening\n", fstream);
|
|
374
|
-
};
|
|
375
|
-
handlers.before_close = [](spdlog::filename_t filename, std::FILE *fstream) {
|
|
376
|
-
spdlog::info("Before closing {}", filename);
|
|
377
|
-
fputs("Before closing\n", fstream);
|
|
378
|
-
};
|
|
379
|
-
handlers.after_close = [](spdlog::filename_t filename) { spdlog::info("After closing {}", filename); };
|
|
380
|
-
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("logs/events-sample.txt", true, handlers);
|
|
381
|
-
spdlog::logger my_logger("some_logger", file_sink);
|
|
382
|
-
my_logger.info("Some log line");
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
void replace_default_logger_example()
|
|
386
|
-
{
|
|
387
|
-
// store the old logger so we don't break other examples.
|
|
388
|
-
auto old_logger = spdlog::default_logger();
|
|
389
|
-
|
|
390
|
-
auto new_logger = spdlog::basic_logger_mt("new_default_logger", "logs/new-default-log.txt", true);
|
|
391
|
-
spdlog::set_default_logger(new_logger);
|
|
392
|
-
spdlog::set_level(spdlog::level::info);
|
|
393
|
-
spdlog::debug("This message should not be displayed!");
|
|
394
|
-
spdlog::set_level(spdlog::level::trace);
|
|
395
|
-
spdlog::debug("This message should be displayed..");
|
|
396
|
-
|
|
397
|
-
spdlog::set_default_logger(old_logger);
|
|
398
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
-
/*
|
|
3
|
-
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
#include "core/cluster.hxx"
|
|
19
|
-
#include "core/error_context/key_value.hxx"
|
|
20
|
-
#include "core/impl/observe_poll.hxx"
|
|
21
|
-
#include "core/impl/observe_seqno.hxx"
|
|
22
|
-
#include "core/operations/document_append.hxx"
|
|
23
|
-
|
|
24
|
-
#include <couchbase/append_options.hxx>
|
|
25
|
-
|
|
26
|
-
namespace couchbase::core::impl
|
|
27
|
-
{
|
|
28
|
-
void
|
|
29
|
-
initiate_append_operation(std::shared_ptr<couchbase::core::cluster> core,
|
|
30
|
-
std::string bucket_name,
|
|
31
|
-
std::string scope_name,
|
|
32
|
-
std::string collection_name,
|
|
33
|
-
std::string document_key,
|
|
34
|
-
std::vector<std::byte> data,
|
|
35
|
-
append_options::built options,
|
|
36
|
-
append_handler&& handler)
|
|
37
|
-
{
|
|
38
|
-
auto id = document_id{
|
|
39
|
-
std::move(bucket_name),
|
|
40
|
-
std::move(scope_name),
|
|
41
|
-
std::move(collection_name),
|
|
42
|
-
std::move(document_key),
|
|
43
|
-
};
|
|
44
|
-
if (options.persist_to == persist_to::none && options.replicate_to == replicate_to::none) {
|
|
45
|
-
return core->execute(
|
|
46
|
-
operations::append_request{
|
|
47
|
-
std::move(id),
|
|
48
|
-
std::move(data),
|
|
49
|
-
{},
|
|
50
|
-
{},
|
|
51
|
-
options.durability_level,
|
|
52
|
-
options.timeout,
|
|
53
|
-
{ options.retry_strategy },
|
|
54
|
-
},
|
|
55
|
-
[handler = std::move(handler)](operations::append_response&& resp) mutable {
|
|
56
|
-
if (resp.ctx.ec()) {
|
|
57
|
-
return handler(std::move(resp.ctx), mutation_result{});
|
|
58
|
-
}
|
|
59
|
-
return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
operations::append_request request{
|
|
64
|
-
id, std::move(data), {}, {}, durability_level::none, options.timeout, { options.retry_strategy },
|
|
65
|
-
};
|
|
66
|
-
return core->execute(
|
|
67
|
-
std::move(request), [core, id = std::move(id), options, handler = std::move(handler)](operations::append_response&& resp) mutable {
|
|
68
|
-
if (resp.ctx.ec()) {
|
|
69
|
-
return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
initiate_observe_poll(core,
|
|
73
|
-
std::move(id),
|
|
74
|
-
resp.token,
|
|
75
|
-
options.timeout,
|
|
76
|
-
options.persist_to,
|
|
77
|
-
options.replicate_to,
|
|
78
|
-
[resp = std::move(resp), handler = std::move(handler)](std::error_code ec) mutable {
|
|
79
|
-
if (ec) {
|
|
80
|
-
resp.ctx.override_ec(ec);
|
|
81
|
-
return handler(std::move(resp.ctx), mutation_result{});
|
|
82
|
-
}
|
|
83
|
-
return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
} // namespace couchbase::core::impl
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
-
/*
|
|
3
|
-
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
#include <couchbase/error_codes.hxx>
|
|
19
|
-
#include <couchbase/query_index_manager.hxx>
|
|
20
|
-
|
|
21
|
-
#include "core/cluster.hxx"
|
|
22
|
-
#include "core/operations/management/query_index_build.hxx"
|
|
23
|
-
#include "core/operations/management/query_index_build_deferred.hxx"
|
|
24
|
-
|
|
25
|
-
namespace couchbase
|
|
26
|
-
{
|
|
27
|
-
template<typename Response>
|
|
28
|
-
static manager_error_context
|
|
29
|
-
build_context(Response& resp)
|
|
30
|
-
{
|
|
31
|
-
return manager_error_context(internal_manager_error_context{ resp.ctx.ec,
|
|
32
|
-
resp.ctx.last_dispatched_to,
|
|
33
|
-
resp.ctx.last_dispatched_from,
|
|
34
|
-
resp.ctx.retry_attempts,
|
|
35
|
-
std::move(resp.ctx.retry_reasons),
|
|
36
|
-
std::move(resp.ctx.client_context_id),
|
|
37
|
-
resp.ctx.http_status,
|
|
38
|
-
std::move(resp.ctx.http_body),
|
|
39
|
-
std::move(resp.ctx.path) });
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static core::operations::management::query_index_build_request
|
|
43
|
-
build_build_index_request(std::string bucket_name,
|
|
44
|
-
core::operations::management::query_index_get_all_deferred_response list_resp,
|
|
45
|
-
const build_query_index_options::built& options)
|
|
46
|
-
{
|
|
47
|
-
core::operations::management::query_index_build_request request{
|
|
48
|
-
std::move(bucket_name), {}, {}, {}, std::move(list_resp.index_names), {}, options.timeout
|
|
49
|
-
};
|
|
50
|
-
return request;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
static core::operations::management::query_index_get_all_deferred_request
|
|
54
|
-
build_get_all_request(std::string bucket_name, const build_query_index_options::built& options)
|
|
55
|
-
{
|
|
56
|
-
core::operations::management::query_index_get_all_deferred_request request{ std::move(bucket_name), {}, {}, {}, {}, options.timeout };
|
|
57
|
-
return request;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
static core::operations::management::query_index_build_request
|
|
61
|
-
build_build_index_request(std::string bucket_name,
|
|
62
|
-
std::string scope_name,
|
|
63
|
-
std::string collection_name,
|
|
64
|
-
core::operations::management::query_index_get_all_deferred_response list_resp,
|
|
65
|
-
const build_query_index_options::built& options)
|
|
66
|
-
{
|
|
67
|
-
core::operations::management::query_index_build_request request{ "",
|
|
68
|
-
"",
|
|
69
|
-
std::move(collection_name),
|
|
70
|
-
core::query_context{ std::move(bucket_name), std::move(scope_name) },
|
|
71
|
-
std::move(list_resp.index_names),
|
|
72
|
-
{},
|
|
73
|
-
options.timeout };
|
|
74
|
-
return request;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
static core::operations::management::query_index_get_all_deferred_request
|
|
78
|
-
build_get_all_request(std::string bucket_name,
|
|
79
|
-
std::string scope_name,
|
|
80
|
-
std::string collection_name,
|
|
81
|
-
const build_query_index_options::built& options)
|
|
82
|
-
{
|
|
83
|
-
core::operations::management::query_index_get_all_deferred_request request{
|
|
84
|
-
"", "", std::move(collection_name), core::query_context{ std::move(bucket_name), std::move(scope_name) }, {}, options.timeout
|
|
85
|
-
};
|
|
86
|
-
return request;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
void
|
|
90
|
-
query_index_manager::build_deferred_indexes(std::string bucket_name,
|
|
91
|
-
const couchbase::build_query_index_options& options,
|
|
92
|
-
couchbase::build_deferred_query_indexes_handler&& handler) const
|
|
93
|
-
{
|
|
94
|
-
|
|
95
|
-
auto get_all_request = build_get_all_request(bucket_name, options.build());
|
|
96
|
-
core_->execute(std::move(get_all_request),
|
|
97
|
-
[handler = std::move(handler), this, bucket_name, options](
|
|
98
|
-
core::operations::management::query_index_get_all_deferred_response resp1) mutable {
|
|
99
|
-
auto list_resp = std::move(resp1);
|
|
100
|
-
if (list_resp.ctx.ec) {
|
|
101
|
-
return handler(build_context(list_resp));
|
|
102
|
-
}
|
|
103
|
-
if (list_resp.index_names.empty()) {
|
|
104
|
-
return handler(build_context(list_resp));
|
|
105
|
-
}
|
|
106
|
-
auto build_request = build_build_index_request(std::move(bucket_name), list_resp, options.build());
|
|
107
|
-
core_->execute(
|
|
108
|
-
std::move(build_request),
|
|
109
|
-
[handler = std::move(handler)](core::operations::management::query_index_build_response resp2) mutable {
|
|
110
|
-
auto build_resp = std::move(resp2);
|
|
111
|
-
return handler(build_context(build_resp));
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
auto
|
|
117
|
-
query_index_manager::build_deferred_indexes(std::string bucket_name, const couchbase::build_query_index_options& options) const
|
|
118
|
-
-> std::future<manager_error_context>
|
|
119
|
-
{
|
|
120
|
-
auto barrier = std::make_shared<std::promise<manager_error_context>>();
|
|
121
|
-
build_deferred_indexes(std::move(bucket_name), options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
|
|
122
|
-
return barrier->get_future();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
void
|
|
126
|
-
collection_query_index_manager::build_deferred_indexes(const build_query_index_options& options,
|
|
127
|
-
build_deferred_query_indexes_handler&& handler) const
|
|
128
|
-
{
|
|
129
|
-
auto get_all_request = build_get_all_request(bucket_name_, scope_name_, collection_name_, options.build());
|
|
130
|
-
core_->execute(
|
|
131
|
-
std::move(get_all_request),
|
|
132
|
-
[handler = std::move(handler), this, options](core::operations::management::query_index_get_all_deferred_response resp1) mutable {
|
|
133
|
-
auto list_resp = std::move(resp1);
|
|
134
|
-
if (list_resp.ctx.ec) {
|
|
135
|
-
return handler(build_context(list_resp));
|
|
136
|
-
}
|
|
137
|
-
if (list_resp.index_names.empty()) {
|
|
138
|
-
return handler(build_context(list_resp));
|
|
139
|
-
}
|
|
140
|
-
auto build_request = build_build_index_request(bucket_name_, scope_name_, collection_name_, list_resp, options.build());
|
|
141
|
-
core_->execute(std::move(build_request),
|
|
142
|
-
[handler = std::move(handler)](core::operations::management::query_index_build_response resp2) mutable {
|
|
143
|
-
auto build_resp = std::move(resp2);
|
|
144
|
-
return handler(build_context(build_resp));
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
auto
|
|
150
|
-
collection_query_index_manager::build_deferred_indexes(const couchbase::build_query_index_options& options) const
|
|
151
|
-
-> std::future<manager_error_context>
|
|
152
|
-
{
|
|
153
|
-
auto barrier = std::make_shared<std::promise<manager_error_context>>();
|
|
154
|
-
build_deferred_indexes(options, [barrier](auto ctx) mutable { barrier->set_value(std::move(ctx)); });
|
|
155
|
-
return barrier->get_future();
|
|
156
|
-
}
|
|
157
|
-
} // namespace couchbase
|