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