couchbase 3.0.0.alpha.5 → 3.0.3
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.
- checksums.yaml +4 -4
- data/README.md +76 -5
- data/ext/CMakeLists.txt +95 -128
- data/ext/build_config.hxx.in +22 -0
- data/ext/build_version.hxx.in +10 -6
- data/ext/cmake/Backtrace.cmake +35 -0
- data/ext/cmake/BuildTracing.cmake +6 -0
- data/ext/cmake/Cache.cmake +29 -0
- data/ext/cmake/CompilerWarnings.cmake +84 -0
- data/ext/cmake/PreventInSourceBuilds.cmake +21 -0
- data/ext/cmake/Sanitizers.cmake +66 -0
- data/ext/cmake/StandardProjectSettings.cmake +40 -0
- data/ext/cmake/StaticAnalyzers.cmake +37 -0
- data/ext/cmake/Testing.cmake +49 -0
- data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
- data/ext/cmake/VersionInfo.cmake +37 -0
- data/ext/couchbase/bucket.hxx +295 -18
- data/ext/couchbase/capabilities.hxx +117 -0
- data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
- data/ext/couchbase/cbsasl/client.h +1 -1
- data/ext/couchbase/cluster.hxx +255 -75
- data/ext/couchbase/cluster_options.hxx +54 -0
- data/ext/couchbase/configuration.hxx +440 -44
- data/ext/couchbase/couchbase.cxx +4312 -1746
- data/ext/couchbase/diagnostics.hxx +248 -0
- data/ext/couchbase/document_id.hxx +3 -1
- data/ext/couchbase/error_context/analytics.hxx +46 -0
- data/ext/couchbase/error_context/http.hxx +44 -0
- data/ext/couchbase/error_context/key_value.hxx +47 -0
- data/ext/couchbase/error_context/query.hxx +46 -0
- data/ext/couchbase/error_context/search.hxx +47 -0
- data/ext/couchbase/error_context/view.hxx +47 -0
- data/ext/couchbase/error_map.hxx +202 -2
- data/ext/couchbase/errors.hxx +18 -3
- data/ext/couchbase/io/dns_client.hxx +11 -9
- data/ext/couchbase/io/dns_codec.hxx +1 -2
- data/ext/couchbase/io/http_command.hxx +111 -0
- data/ext/couchbase/io/http_context.hxx +37 -0
- data/ext/couchbase/io/http_message.hxx +9 -0
- data/ext/couchbase/io/http_parser.hxx +2 -0
- data/ext/couchbase/io/http_session.hxx +172 -49
- data/ext/couchbase/io/http_session_manager.hxx +171 -34
- data/ext/couchbase/io/mcbp_command.hxx +249 -0
- data/ext/couchbase/io/mcbp_context.hxx +37 -0
- data/ext/couchbase/io/mcbp_message.hxx +5 -0
- data/ext/couchbase/io/mcbp_session.hxx +585 -166
- data/ext/couchbase/io/query_cache.hxx +61 -0
- data/ext/couchbase/io/retry_action.hxx +30 -0
- data/ext/couchbase/io/retry_context.hxx +38 -0
- data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
- data/ext/couchbase/io/retry_reason.hxx +235 -0
- data/ext/couchbase/io/retry_strategy.hxx +156 -0
- data/ext/couchbase/io/streams.hxx +216 -0
- data/ext/couchbase/operations.hxx +19 -1
- data/ext/couchbase/operations/analytics_dataset_create.hxx +22 -14
- data/ext/couchbase/operations/analytics_dataset_drop.hxx +19 -10
- data/ext/couchbase/operations/analytics_dataset_get_all.hxx +18 -11
- data/ext/couchbase/operations/analytics_dataverse_create.hxx +20 -12
- data/ext/couchbase/operations/analytics_dataverse_drop.hxx +19 -12
- data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +19 -11
- data/ext/couchbase/operations/analytics_index_create.hxx +19 -12
- data/ext/couchbase/operations/analytics_index_drop.hxx +18 -11
- data/ext/couchbase/operations/analytics_index_get_all.hxx +16 -9
- data/ext/couchbase/operations/analytics_link_connect.hxx +17 -10
- data/ext/couchbase/operations/analytics_link_disconnect.hxx +19 -12
- data/ext/couchbase/operations/bucket_create.hxx +46 -14
- data/ext/couchbase/operations/bucket_drop.hxx +12 -8
- data/ext/couchbase/operations/bucket_flush.hxx +11 -8
- data/ext/couchbase/operations/bucket_get.hxx +18 -10
- data/ext/couchbase/operations/bucket_get_all.hxx +17 -7
- data/ext/couchbase/operations/bucket_settings.hxx +59 -4
- data/ext/couchbase/operations/bucket_update.hxx +45 -14
- data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +9 -6
- data/ext/couchbase/operations/collection_create.hxx +23 -12
- data/ext/couchbase/operations/collection_drop.hxx +21 -12
- data/ext/couchbase/operations/collections_manifest_get.hxx +66 -0
- data/ext/couchbase/operations/document_analytics.hxx +45 -21
- data/ext/couchbase/operations/document_append.hxx +72 -0
- data/ext/couchbase/operations/document_decrement.hxx +12 -11
- data/ext/couchbase/operations/document_exists.hxx +8 -7
- data/ext/couchbase/operations/document_get.hxx +9 -7
- data/ext/couchbase/operations/document_get_and_lock.hxx +8 -7
- data/ext/couchbase/operations/document_get_and_touch.hxx +10 -9
- data/ext/couchbase/operations/document_get_projected.hxx +33 -20
- data/ext/couchbase/operations/document_increment.hxx +12 -11
- data/ext/couchbase/operations/document_insert.hxx +11 -10
- data/ext/couchbase/operations/document_lookup_in.hxx +13 -7
- data/ext/couchbase/operations/document_mutate_in.hxx +25 -13
- data/ext/couchbase/operations/document_prepend.hxx +72 -0
- data/ext/couchbase/operations/document_query.hxx +132 -27
- data/ext/couchbase/operations/document_remove.hxx +11 -8
- data/ext/couchbase/operations/document_replace.hxx +11 -10
- data/ext/couchbase/operations/document_search.hxx +59 -23
- data/ext/couchbase/operations/document_touch.hxx +10 -9
- data/ext/couchbase/operations/document_unlock.hxx +8 -7
- data/ext/couchbase/operations/document_upsert.hxx +11 -10
- data/ext/couchbase/operations/document_view.hxx +31 -14
- data/ext/couchbase/operations/group_drop.hxx +72 -0
- data/ext/couchbase/operations/group_get.hxx +80 -0
- data/ext/couchbase/operations/group_get_all.hxx +77 -0
- data/ext/couchbase/operations/group_upsert.hxx +125 -0
- data/ext/couchbase/operations/http_noop.hxx +78 -0
- data/ext/couchbase/operations/mcbp_noop.hxx +55 -0
- data/ext/couchbase/operations/query_index_build_deferred.hxx +20 -13
- data/ext/couchbase/operations/query_index_create.hxx +34 -17
- data/ext/couchbase/operations/query_index_drop.hxx +32 -15
- data/ext/couchbase/operations/query_index_get_all.hxx +28 -11
- data/ext/couchbase/operations/rbac.hxx +276 -0
- data/ext/couchbase/operations/role_get_all.hxx +77 -0
- data/ext/couchbase/operations/scope_create.hxx +24 -11
- data/ext/couchbase/operations/scope_drop.hxx +20 -11
- data/ext/couchbase/operations/scope_get_all.hxx +18 -10
- data/ext/couchbase/operations/search_get_stats.hxx +60 -0
- data/ext/couchbase/operations/search_index_analyze_document.hxx +29 -16
- data/ext/couchbase/operations/search_index_control_ingest.hxx +27 -14
- data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +27 -14
- data/ext/couchbase/operations/search_index_control_query.hxx +27 -14
- data/ext/couchbase/operations/search_index_drop.hxx +25 -12
- data/ext/couchbase/operations/search_index_get.hxx +25 -12
- data/ext/couchbase/operations/search_index_get_all.hxx +16 -9
- data/ext/couchbase/operations/search_index_get_documents_count.hxx +46 -26
- data/ext/couchbase/operations/search_index_get_stats.hxx +88 -0
- data/ext/couchbase/operations/search_index_upsert.hxx +26 -13
- data/ext/couchbase/operations/user_drop.hxx +73 -0
- data/ext/couchbase/operations/user_get.hxx +81 -0
- data/ext/couchbase/operations/user_get_all.hxx +78 -0
- data/ext/couchbase/operations/user_upsert.hxx +132 -0
- data/ext/couchbase/operations/view_index_drop.hxx +9 -8
- data/ext/couchbase/operations/view_index_get.hxx +17 -10
- data/ext/couchbase/operations/view_index_get_all.hxx +17 -10
- data/ext/couchbase/operations/view_index_upsert.hxx +10 -9
- data/ext/couchbase/origin.hxx +179 -0
- data/ext/couchbase/platform/backtrace.c +189 -0
- data/ext/couchbase/platform/backtrace.h +54 -0
- data/ext/couchbase/platform/terminate_handler.cc +130 -0
- data/ext/couchbase/platform/terminate_handler.h +36 -0
- data/ext/couchbase/protocol/client_opcode.hxx +406 -38
- data/ext/couchbase/protocol/client_request.hxx +2 -1
- data/ext/couchbase/protocol/client_response.hxx +20 -17
- data/ext/couchbase/protocol/cmd_append.hxx +145 -0
- data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
- data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
- data/ext/couchbase/protocol/cmd_exists.hxx +1 -0
- data/ext/couchbase/protocol/cmd_get.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
- data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
- data/ext/couchbase/protocol/cmd_hello.hxx +1 -0
- data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
- data/ext/couchbase/protocol/cmd_info.hxx +0 -11
- data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
- data/ext/couchbase/protocol/cmd_lookup_in.hxx +11 -3
- data/ext/couchbase/protocol/cmd_mutate_in.hxx +55 -14
- data/ext/couchbase/protocol/cmd_noop.hxx +82 -0
- data/ext/couchbase/protocol/cmd_prepend.hxx +145 -0
- data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
- data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
- data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
- data/ext/couchbase/protocol/durability_level.hxx +16 -0
- data/ext/couchbase/protocol/enhanced_error_info.hxx +28 -0
- data/ext/couchbase/protocol/hello_feature.hxx +9 -0
- data/ext/couchbase/protocol/magic.hxx +6 -6
- data/ext/couchbase/protocol/server_opcode.hxx +2 -2
- data/ext/couchbase/protocol/status.hxx +70 -60
- data/ext/couchbase/protocol/unsigned_leb128.h +2 -2
- data/ext/couchbase/service_type.hxx +2 -2
- data/ext/couchbase/timeout_defaults.hxx +7 -0
- data/ext/couchbase/utils/connection_string.hxx +152 -4
- data/ext/couchbase/version.hxx +18 -4
- data/ext/extconf.rb +77 -26
- data/ext/test/CMakeLists.txt +5 -0
- data/ext/test/test_helper.hxx +141 -0
- data/ext/test/test_helper_native.hxx +56 -0
- data/ext/test/test_helper_ruby.hxx +72 -0
- data/ext/test/test_native_binary_operations.cxx +186 -0
- data/ext/test/test_native_diagnostics.cxx +436 -0
- data/ext/test/test_native_trivial_crud.cxx +83 -0
- data/ext/test/test_ruby_trivial_crud.cxx +35 -0
- data/ext/test/test_ruby_trivial_query.cxx +34 -0
- data/ext/third_party/asio/asio/include/asio.hpp +35 -0
- data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
- data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
- data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
- data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
- data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
- data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
- data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
- data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
- data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
- data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
- data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
- data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
- data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
- data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
- data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
- data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
- data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
- data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
- data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
- data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
- data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
- data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
- data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
- data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
- data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
- data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
- data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
- data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
- data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
- data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
- data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
- data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
- data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
- data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
- data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
- data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
- data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
- data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
- data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
- data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
- data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
- data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
- data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
- data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
- data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
- data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
- data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
- data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
- data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
- data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
- data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
- data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
- data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
- data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
- data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
- data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
- data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
- data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
- data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
- data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
- data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
- data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
- data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
- data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
- data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
- data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
- data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
- data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
- data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
- data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
- data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
- data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
- data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
- data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
- data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
- data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
- data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
- data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
- data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
- data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
- data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
- data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
- data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
- data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
- data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
- data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
- data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
- data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
- data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
- data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
- data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
- data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
- data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
- data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
- data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
- data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
- data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
- data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
- data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
- data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
- data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
- data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
- data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
- data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
- data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
- data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
- data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
- data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
- data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
- data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
- data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
- data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
- data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
- data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
- data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
- data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
- data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
- data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
- data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
- data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
- data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
- data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
- data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
- data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
- data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
- data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
- data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
- data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
- data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
- data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
- data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
- data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
- data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
- data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
- data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
- data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
- data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
- data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
- data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
- data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
- data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
- data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
- data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
- data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
- data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
- data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
- data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
- data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
- data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
- data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
- data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
- data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
- data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
- data/ext/third_party/gsl/CMakeLists.txt +13 -5
- data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
- data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
- data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
- data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
- data/ext/third_party/gsl/include/gsl/multi_span +0 -10
- data/ext/third_party/gsl/include/gsl/pointers +14 -28
- data/ext/third_party/gsl/include/gsl/span +98 -46
- data/ext/third_party/gsl/include/gsl/string_span +37 -47
- data/ext/third_party/http_parser/http_parser.c +17 -10
- data/ext/third_party/http_parser/http_parser.h +4 -2
- data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
- data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
- data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
- data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
- data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
- data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
- data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
- data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
- data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
- data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
- data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
- data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
- data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
- data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
- data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
- data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
- data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
- data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
- data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
- data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
- data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
- data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
- data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
- data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
- data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
- data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
- data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
- data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
- data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
- data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
- data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
- data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
- data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
- data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
- data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
- data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
- data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
- data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
- data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian.hpp +4 -4
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_gcc.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_win.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint.hpp +9 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint8.hpp +9 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint.hpp +9 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint8.hpp +9 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf16.hpp +10 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf32.hpp +9 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/read_uint.hpp +3 -3
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/{uint16.hpp → contrib/uint16.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/{uint32.hpp → contrib/uint32.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/{uint64.hpp → contrib/uint64.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/{uint8.hpp → contrib/uint8.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
- data/ext/third_party/json/include/tao/json/external/pegtl/{utf16.hpp → contrib/utf16.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/{utf32.hpp → contrib/utf32.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
- data/ext/third_party/json/include/tao/json/external/pegtl/{internal/demangle.hpp → demangle.hpp} +12 -14
- data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/{always_false.hpp → dependent_false.hpp} +3 -8
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/{skip_control.hpp → enable_control.hpp} +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +27 -28
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
- data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
- data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
- data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
- data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
- data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
- data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
- data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
- data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
- data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
- data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
- data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
- data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
- data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
- data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
- data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
- data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
- data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
- data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
- data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
- data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
- data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
- data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
- data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
- data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
- data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
- data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
- data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
- data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
- data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
- data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
- data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
- data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
- data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
- data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
- data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
- data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
- data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
- data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
- data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
- data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
- data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
- data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
- data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
- data/ext/third_party/json/include/tao/json/span.hpp +94 -166
- data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
- data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
- data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
- data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
- data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
- data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
- data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
- data/ext/third_party/snappy/snappy.cc +6 -2
- data/ext/third_party/spdlog/CMakeLists.txt +24 -57
- data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
- data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
- data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
- data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
- data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
- data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
- data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
- data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
- data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
- data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
- data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
- data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
- data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
- data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
- data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
- data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
- data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
- data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
- data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
- data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
- data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
- data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
- data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
- data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
- data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
- data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
- data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
- data/ext/third_party/spdlog/src/fmt.cpp +21 -147
- data/lib/active_support/cache/couchbase_store.rb +362 -0
- data/lib/couchbase.rb +2 -0
- data/lib/couchbase/analytics_options.rb +1 -59
- data/lib/couchbase/authenticator.rb +40 -0
- data/lib/couchbase/binary_collection.rb +62 -23
- data/lib/couchbase/binary_collection_options.rb +0 -74
- data/lib/couchbase/bucket.rb +45 -40
- data/lib/couchbase/cluster.rb +250 -138
- data/lib/couchbase/collection.rb +324 -93
- data/lib/couchbase/collection_options.rb +75 -241
- data/lib/couchbase/configuration.rb +57 -0
- data/{Gemfile → lib/couchbase/datastructures.rb} +9 -9
- data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
- data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
- data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
- data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
- data/lib/couchbase/diagnostics.rb +181 -0
- data/lib/couchbase/errors.rb +186 -65
- data/lib/couchbase/json_transcoder.rb +3 -3
- data/{bin/check-cluster → lib/couchbase/logger.rb} +27 -16
- data/lib/couchbase/{common_options.rb → management.rb} +11 -13
- data/lib/couchbase/management/analytics_index_manager.rb +37 -37
- data/lib/couchbase/management/bucket_manager.rb +70 -30
- data/lib/couchbase/management/collection_manager.rb +4 -4
- data/lib/couchbase/management/query_index_manager.rb +60 -15
- data/lib/couchbase/management/search_index_manager.rb +57 -13
- data/lib/couchbase/management/user_manager.rb +176 -50
- data/lib/couchbase/management/view_index_manager.rb +11 -5
- data/lib/couchbase/mutation_state.rb +13 -0
- data/lib/couchbase/options.rb +2104 -0
- data/lib/couchbase/query_options.rb +6 -105
- data/lib/couchbase/railtie.rb +45 -0
- data/lib/couchbase/scope.rb +87 -9
- data/lib/couchbase/search_options.rb +98 -103
- data/lib/couchbase/subdoc.rb +31 -28
- data/{bin/console → lib/couchbase/utils.rb} +6 -6
- data/lib/couchbase/utils/time.rb +52 -0
- data/lib/couchbase/version.rb +21 -2
- data/lib/couchbase/view_options.rb +4 -94
- data/{bin/setup → lib/rails/generators/couchbase/config/config_generator.rb} +12 -9
- metadata +227 -346
- data/.github/workflows/tests-6.0.3.yml +0 -52
- data/.github/workflows/tests-dev-preview.yml +0 -55
- data/.github/workflows/tests.yml +0 -50
- data/.gitignore +0 -20
- data/.gitmodules +0 -21
- data/.idea/.gitignore +0 -5
- data/.idea/dictionaries/gem_terms.xml +0 -18
- data/.idea/inspectionProfiles/Project_Default.xml +0 -8
- data/.idea/vcs.xml +0 -13
- data/.yardopts +0 -1
- data/Rakefile +0 -51
- data/bin/fetch-stats +0 -19
- data/bin/init-cluster +0 -82
- data/bin/jenkins/build-extension +0 -35
- data/bin/jenkins/install-dependencies +0 -47
- data/bin/jenkins/test-with-cbdyncluster +0 -58
- data/couchbase.gemspec +0 -73
- data/examples/analytics.rb +0 -221
- data/examples/crud.rb +0 -20
- data/examples/managing_analytics_indexes.rb +0 -72
- data/examples/managing_buckets.rb +0 -47
- data/examples/managing_collections.rb +0 -58
- data/examples/managing_query_indexes.rb +0 -63
- data/examples/managing_search_indexes.rb +0 -62
- data/examples/managing_view_indexes.rb +0 -54
- data/examples/query.rb +0 -18
- data/examples/query_with_consistency.rb +0 -76
- data/examples/search.rb +0 -187
- data/examples/search_with_consistency.rb +0 -84
- data/examples/subdocument.rb +0 -51
- data/examples/view.rb +0 -50
- data/ext/.clang-format +0 -15
- data/ext/.clang-tidy +0 -22
- data/ext/.cmake-format.yaml +0 -8
- data/ext/.gitignore +0 -2
- data/ext/.idea/.name +0 -1
- data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
- data/ext/.idea/ext.iml +0 -2
- data/ext/.idea/misc.xml +0 -4
- data/ext/.idea/modules.xml +0 -8
- data/ext/.idea/vcs.xml +0 -12
- data/ext/couchbase/configuration_monitor.hxx +0 -93
- data/ext/couchbase/operations/command.hxx +0 -163
- data/ext/test/main.cxx +0 -58
- data/ext/third_party/asio/.appveyor.yml +0 -107
- data/ext/third_party/asio/.cirrus.yml +0 -16
- data/ext/third_party/asio/.gitignore +0 -3
- data/ext/third_party/asio/.travis.yml +0 -323
- data/ext/third_party/asio/asio/.gitignore +0 -23
- data/ext/third_party/asio/asio/COPYING +0 -4
- data/ext/third_party/asio/asio/INSTALL +0 -5
- data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
- data/ext/third_party/asio/asio/Makefile.am +0 -19
- data/ext/third_party/asio/asio/README +0 -4
- data/ext/third_party/asio/asio/asio.manifest +0 -4865
- data/ext/third_party/asio/asio/autogen.sh +0 -55
- data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
- data/ext/third_party/asio/asio/boostify.pl +0 -603
- data/ext/third_party/asio/asio/configure.ac +0 -182
- data/ext/third_party/asio/asio/include/.gitignore +0 -2
- data/ext/third_party/asio/asio/include/Makefile.am +0 -484
- data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
- data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
- data/ext/third_party/asio/asio/release.pl +0 -440
- data/ext/third_party/asio/asio/src/.gitignore +0 -11
- data/ext/third_party/asio/asio/src/Makefile.am +0 -23
- data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
- data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
- data/ext/third_party/asio/asio/src/asio.cpp +0 -11
- data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
- data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
- data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
- data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
- data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
- data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
- data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
- data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
- data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
- data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
- data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
- data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
- data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
- data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
- data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
- data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
- data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
- data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
- data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
- data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
- data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
- data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
- data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
- data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
- data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
- data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
- data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
- data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
- data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
- data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
- data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
- data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
- data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
- data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
- data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
- data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
- data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
- data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
- data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
- data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
- data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
- data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
- data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
- data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
- data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
- data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
- data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
- data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
- data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
- data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
- data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
- data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
- data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
- data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
- data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
- data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
- data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
- data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
- data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
- data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
- data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
- data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
- data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
- data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
- data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
- data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
- data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
- data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
- data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
- data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
- data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
- data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
- data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
- data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
- data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
- data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
- data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
- data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
- data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
- data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
- data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
- data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
- data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
- data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
- data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
- data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
- data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
- data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
- data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
- data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
- data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
- data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
- data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
- data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
- data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
- data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
- data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
- data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
- data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
- data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
- data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
- data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
- data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
- data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
- data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
- data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
- data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
- data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
- data/ext/third_party/asio/asio/tsify.pl +0 -574
- data/ext/third_party/gsl/.clang-format +0 -34
- data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
- data/ext/third_party/gsl/.gitignore +0 -16
- data/ext/third_party/gsl/.travis.yml +0 -551
- data/ext/third_party/gsl/CMakeSettings.json +0 -18
- data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
- data/ext/third_party/gsl/GSL.natvis +0 -98
- data/ext/third_party/gsl/README.md +0 -124
- data/ext/third_party/gsl/appveyor.yml +0 -128
- data/ext/third_party/http_parser/.gitignore +0 -30
- data/ext/third_party/http_parser/.mailmap +0 -8
- data/ext/third_party/http_parser/.travis.yml +0 -13
- data/ext/third_party/http_parser/AUTHORS +0 -68
- data/ext/third_party/http_parser/README.md +0 -246
- data/ext/third_party/http_parser/bench.c +0 -128
- data/ext/third_party/http_parser/http_parser.gyp +0 -111
- data/ext/third_party/http_parser/test.c +0 -4600
- data/ext/third_party/json/.appveyor.yml +0 -44
- data/ext/third_party/json/.clang-format +0 -84
- data/ext/third_party/json/.conan/build.py +0 -80
- data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
- data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
- data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
- data/ext/third_party/json/.gitignore +0 -3
- data/ext/third_party/json/.travis.yml +0 -173
- data/ext/third_party/json/README.md +0 -149
- data/ext/third_party/json/conanfile.py +0 -28
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
- data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
- data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
- data/ext/third_party/snappy/.appveyor.yml +0 -36
- data/ext/third_party/snappy/.gitignore +0 -8
- data/ext/third_party/snappy/.travis.yml +0 -98
- data/ext/third_party/snappy/AUTHORS +0 -1
- data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
- data/ext/third_party/snappy/NEWS +0 -188
- data/ext/third_party/snappy/README.md +0 -148
- data/ext/third_party/snappy/docs/README.md +0 -72
- data/ext/third_party/snappy/format_description.txt +0 -110
- data/ext/third_party/snappy/framing_format.txt +0 -135
- data/ext/third_party/snappy/snappy-test.cc +0 -613
- data/ext/third_party/snappy/snappy-test.h +0 -526
- data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
- data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
- data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
- data/ext/third_party/spdlog/.clang-format +0 -108
- data/ext/third_party/spdlog/.clang-tidy +0 -54
- data/ext/third_party/spdlog/.gitattributes +0 -1
- data/ext/third_party/spdlog/.gitignore +0 -83
- data/ext/third_party/spdlog/.travis.yml +0 -112
- data/ext/third_party/spdlog/INSTALL +0 -24
- data/ext/third_party/spdlog/README.md +0 -423
- data/ext/third_party/spdlog/appveyor.yml +0 -51
- data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
- data/rbi/couchbase.rbi +0 -79
|
@@ -12,111 +12,10 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
require
|
|
15
|
+
require "json"
|
|
16
16
|
|
|
17
17
|
module Couchbase
|
|
18
18
|
class Cluster
|
|
19
|
-
|
|
20
|
-
class QueryOptions
|
|
21
|
-
# @return [Integer] Timeout in milliseconds
|
|
22
|
-
attr_accessor :timeout
|
|
23
|
-
|
|
24
|
-
# @return [Boolean] Allows turning this request into a prepared statement query
|
|
25
|
-
attr_accessor :adhoc
|
|
26
|
-
|
|
27
|
-
# @return [String] Provides a custom client context ID for this query
|
|
28
|
-
attr_accessor :client_context_id
|
|
29
|
-
|
|
30
|
-
# @return [Integer] Allows overriding the default maximum parallelism for the query execution on the server side.
|
|
31
|
-
attr_accessor :max_parallelism
|
|
32
|
-
|
|
33
|
-
# @return [Boolean] Allows explicitly marking a query as being readonly and not mutating and documents on the server side.
|
|
34
|
-
attr_accessor :readonly
|
|
35
|
-
|
|
36
|
-
# Allows customizing how long (in milliseconds) the query engine is willing to wait until the index catches up to whatever scan consistency is asked for in this query.
|
|
37
|
-
#
|
|
38
|
-
# @note that if +:not_bounded+ consistency level is used, this method doesn't do anything
|
|
39
|
-
# at all. If no value is provided to this method, the server default is used.
|
|
40
|
-
#
|
|
41
|
-
# @return [Integer] The maximum duration (in milliseconds) the query engine is willing to wait before failing.
|
|
42
|
-
attr_accessor :scan_wait
|
|
43
|
-
|
|
44
|
-
# @return [Integer] Supports customizing the maximum buffered channel size between the indexer and the query service
|
|
45
|
-
attr_accessor :scan_cap
|
|
46
|
-
|
|
47
|
-
# @return [Integer] Supports customizing the number of items execution operators can batch for fetch from the KV layer on the server.
|
|
48
|
-
attr_accessor :pipeline_batch
|
|
49
|
-
|
|
50
|
-
# @return [Integer] Allows customizing the maximum number of items each execution operator can buffer between various operators on the server.
|
|
51
|
-
attr_accessor :pipeline_cap
|
|
52
|
-
|
|
53
|
-
# @return [Boolean] Enables per-request metrics in the trailing section of the query
|
|
54
|
-
attr_accessor :metrics
|
|
55
|
-
|
|
56
|
-
# @return [:off, :phases, :timings] Customize server profile level for this query
|
|
57
|
-
attr_accessor :profile
|
|
58
|
-
|
|
59
|
-
# @yieldparam [QueryOptions] self
|
|
60
|
-
def initialize
|
|
61
|
-
@timeout = 75_000 # ms
|
|
62
|
-
@adhoc = true
|
|
63
|
-
@raw_parameters = {}
|
|
64
|
-
@positional_parameters = nil
|
|
65
|
-
@named_parameters = nil
|
|
66
|
-
@scan_consistency = nil
|
|
67
|
-
@mutation_state = nil
|
|
68
|
-
yield self if block_given?
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# Allows providing custom JSON key/value pairs for advanced usage
|
|
72
|
-
#
|
|
73
|
-
# @param [String] key the parameter name (key of the JSON property)
|
|
74
|
-
# @param [Object] value the parameter value (value of the JSON property)
|
|
75
|
-
def raw(key, value)
|
|
76
|
-
@raw_parameters[key] = JSON.generate(value)
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# Customizes the consistency guarantees for this query
|
|
80
|
-
#
|
|
81
|
-
# @note overrides consistency level set by {#consistent_with}
|
|
82
|
-
#
|
|
83
|
-
# [+:not_bounded+] The indexer will return whatever state it has to the query engine at the time of query. This is the default (for single-statement requests).
|
|
84
|
-
#
|
|
85
|
-
# [+:request_plus+] The indexer will wait until all mutations have been processed at the time of request before returning to the query engine.
|
|
86
|
-
#
|
|
87
|
-
# @param [:not_bounded, :request_plus] level the index scan consistency to be used for this query
|
|
88
|
-
def scan_consistency=(level)
|
|
89
|
-
@mutation_state = nil if @mutation_state
|
|
90
|
-
@scan_consistency = level
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
# Sets the mutation tokens this query should be consistent with
|
|
94
|
-
#
|
|
95
|
-
# @note overrides consistency level set by {#scan_consistency=}
|
|
96
|
-
#
|
|
97
|
-
# @param [MutationState] mutation_state the mutation state containing the mutation tokens
|
|
98
|
-
def consistent_with(mutation_state)
|
|
99
|
-
@scan_consistency = nil if @scan_consistency
|
|
100
|
-
@mutation_state = mutation_state
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
# Sets positional parameters for the query
|
|
104
|
-
#
|
|
105
|
-
# @param [Array] positional the list of parameters that have to be substituted in the statement
|
|
106
|
-
def positional_parameters(positional)
|
|
107
|
-
@positional_parameters = positional
|
|
108
|
-
@named_parameters = nil
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
# Sets named parameters for the query
|
|
112
|
-
#
|
|
113
|
-
# @param [Hash] named the key/value map of the parameters to substitute in the statement
|
|
114
|
-
def named_parameters(named)
|
|
115
|
-
@named_parameters = named
|
|
116
|
-
@positional_parameters = nil
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
19
|
class QueryResult
|
|
121
20
|
# @return [QueryMetaData] returns object representing additional metadata associated with this query
|
|
122
21
|
attr_accessor :meta_data
|
|
@@ -162,7 +61,7 @@ module Couchbase
|
|
|
162
61
|
# @return [QueryMetrics] metrics as returned by the query engine, if enabled
|
|
163
62
|
attr_accessor :metrics
|
|
164
63
|
|
|
165
|
-
# @return [
|
|
64
|
+
# @return [Array<QueryWarning>] list of warnings returned by the query engine
|
|
166
65
|
attr_accessor :warnings
|
|
167
66
|
|
|
168
67
|
# @yieldparam [QueryMetaData] self
|
|
@@ -172,10 +71,12 @@ module Couchbase
|
|
|
172
71
|
end
|
|
173
72
|
|
|
174
73
|
class QueryMetrics
|
|
175
|
-
# @return [Integer] The total time taken for the request, that is the time from when the request was received until the results were
|
|
74
|
+
# @return [Integer] The total time taken for the request, that is the time from when the request was received until the results were
|
|
75
|
+
# returned.
|
|
176
76
|
attr_accessor :elapsed_time
|
|
177
77
|
|
|
178
|
-
# @return [Integer] The time taken for the execution of the request, that is the time from when query execution started until the
|
|
78
|
+
# @return [Integer] The time taken for the execution of the request, that is the time from when query execution started until the
|
|
79
|
+
# results were returned
|
|
179
80
|
attr_accessor :execution_time
|
|
180
81
|
|
|
181
82
|
# @return [Integer] the total number of results selected by the engine before restriction through LIMIT clause.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2020 Couchbase, Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require "rails"
|
|
16
|
+
|
|
17
|
+
require "couchbase/configuration"
|
|
18
|
+
|
|
19
|
+
module Rails
|
|
20
|
+
module Couchbase
|
|
21
|
+
class Railtie < ::Rails::Railtie
|
|
22
|
+
def self.rescue_responses
|
|
23
|
+
{
|
|
24
|
+
"Couchbase::Error::DocumentNotFound" => :not_found,
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
config.action_dispatch.rescue_responses&.merge!(rescue_responses)
|
|
29
|
+
|
|
30
|
+
config.couchbase = ::Couchbase::Configuration.new
|
|
31
|
+
|
|
32
|
+
initializer "couchbase.load-config" do
|
|
33
|
+
config_path = Rails.root.join("config", "couchbase.yml")
|
|
34
|
+
if config_path.file?
|
|
35
|
+
begin
|
|
36
|
+
config.couchbase.load!(config_path)
|
|
37
|
+
rescue ::Couchbase::Error::CouchbaseError => e
|
|
38
|
+
puts "There is a configuration error with the current couchbase.yml"
|
|
39
|
+
puts e.message
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
data/lib/couchbase/scope.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2020 Couchbase, Inc.
|
|
1
|
+
# Copyright 2020-2021 Couchbase, Inc.
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
require "couchbase/collection"
|
|
16
|
+
require "couchbase/query_options"
|
|
16
17
|
|
|
17
18
|
module Couchbase
|
|
19
|
+
# The scope identifies a group of collections and allows high application density as a result.
|
|
18
20
|
class Scope
|
|
19
21
|
attr_reader :bucket_name
|
|
20
22
|
attr_reader :name
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
alias inspect to_s
|
|
23
25
|
|
|
24
26
|
# @param [Couchbase::Backend] backend
|
|
25
27
|
# @param [String] bucket_name name of the bucket
|
|
@@ -30,13 +32,6 @@ module Couchbase
|
|
|
30
32
|
@name = scope_name
|
|
31
33
|
end
|
|
32
34
|
|
|
33
|
-
# Opens the default collection for this scope
|
|
34
|
-
#
|
|
35
|
-
# @return [Collection]
|
|
36
|
-
def default_collection
|
|
37
|
-
Collection.new(@backend, @bucket_name, @name, :_default)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
35
|
# Opens the default collection for this scope
|
|
41
36
|
#
|
|
42
37
|
# @param [String] collection_name name of the collection
|
|
@@ -45,5 +40,88 @@ module Couchbase
|
|
|
45
40
|
def collection(collection_name)
|
|
46
41
|
Collection.new(@backend, @bucket_name, @name, collection_name)
|
|
47
42
|
end
|
|
43
|
+
|
|
44
|
+
# Performs a query against the query (N1QL) services.
|
|
45
|
+
#
|
|
46
|
+
# The query will be implicitly scoped using current bucket and scope names.
|
|
47
|
+
#
|
|
48
|
+
# @see Options::Query#scope_qualifier
|
|
49
|
+
# @see Cluster#query
|
|
50
|
+
#
|
|
51
|
+
# @param [String] statement the N1QL query statement
|
|
52
|
+
# @param [Options::Query] options the custom options for this query
|
|
53
|
+
#
|
|
54
|
+
# @example Select first ten hotels from travel sample dataset
|
|
55
|
+
# scope.query("SELECT * FROM `travel-sample` WHERE type = $type LIMIT 10",
|
|
56
|
+
# Options::Query(named_parameters: {type: "hotel"}, metrics: true))
|
|
57
|
+
#
|
|
58
|
+
# @return [QueryResult]
|
|
59
|
+
def query(statement, options = Options::Query.new)
|
|
60
|
+
resp = @backend.document_query(statement, options.to_backend(scope_name: @name, bucket_name: @bucket_name))
|
|
61
|
+
|
|
62
|
+
Cluster::QueryResult.new do |res|
|
|
63
|
+
res.meta_data = Cluster::QueryMetaData.new do |meta|
|
|
64
|
+
meta.status = resp[:meta][:status]
|
|
65
|
+
meta.request_id = resp[:meta][:request_id]
|
|
66
|
+
meta.client_context_id = resp[:meta][:client_context_id]
|
|
67
|
+
meta.signature = JSON.parse(resp[:meta][:signature]) if resp[:meta][:signature]
|
|
68
|
+
meta.profile = JSON.parse(resp[:meta][:profile]) if resp[:meta][:profile]
|
|
69
|
+
meta.metrics = Cluster::QueryMetrics.new do |metrics|
|
|
70
|
+
if resp[:meta][:metrics]
|
|
71
|
+
metrics.elapsed_time = resp[:meta][:metrics][:elapsed_time]
|
|
72
|
+
metrics.execution_time = resp[:meta][:metrics][:execution_time]
|
|
73
|
+
metrics.sort_count = resp[:meta][:metrics][:sort_count]
|
|
74
|
+
metrics.result_count = resp[:meta][:metrics][:result_count]
|
|
75
|
+
metrics.result_size = resp[:meta][:metrics][:result_size]
|
|
76
|
+
metrics.mutation_count = resp[:meta][:metrics][:mutation_count]
|
|
77
|
+
metrics.error_count = resp[:meta][:metrics][:error_count]
|
|
78
|
+
metrics.warning_count = resp[:meta][:metrics][:warning_count]
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
res[:warnings] = resp[:warnings].map { |warn| QueryWarning.new(warn[:code], warn[:message]) } if resp[:warnings]
|
|
82
|
+
end
|
|
83
|
+
res.instance_variable_set("@rows", resp[:rows])
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Performs an analytics query
|
|
88
|
+
#
|
|
89
|
+
# The query will be implicitly scoped using current bucket and scope names.
|
|
90
|
+
#
|
|
91
|
+
# @param [String] statement the N1QL query statement
|
|
92
|
+
# @param [Options::Analytics] options the custom options for this query
|
|
93
|
+
#
|
|
94
|
+
# @example Select name of the given user
|
|
95
|
+
# scope.analytics_query("SELECT u.name AS uname FROM GleambookUsers u WHERE u.id = $user_id ",
|
|
96
|
+
# Options::Analytics(named_parameters: {user_id: 2}))
|
|
97
|
+
#
|
|
98
|
+
# @return [AnalyticsResult]
|
|
99
|
+
def analytics_query(statement, options = Options::Analytics.new)
|
|
100
|
+
resp = @backend.document_analytics(statement, options.to_backend(scope_name: @name, bucket_name: @bucket_name))
|
|
101
|
+
|
|
102
|
+
AnalyticsResult.new do |res|
|
|
103
|
+
res.transcoder = options.transcoder
|
|
104
|
+
res.meta_data = AnalyticsMetaData.new do |meta|
|
|
105
|
+
meta.status = resp[:meta][:status]
|
|
106
|
+
meta.request_id = resp[:meta][:request_id]
|
|
107
|
+
meta.client_context_id = resp[:meta][:client_context_id]
|
|
108
|
+
meta.signature = JSON.parse(resp[:meta][:signature]) if resp[:meta][:signature]
|
|
109
|
+
meta.profile = JSON.parse(resp[:meta][:profile]) if resp[:meta][:profile]
|
|
110
|
+
meta.metrics = AnalyticsMetrics.new do |metrics|
|
|
111
|
+
if resp[:meta][:metrics]
|
|
112
|
+
metrics.elapsed_time = resp[:meta][:metrics][:elapsed_time]
|
|
113
|
+
metrics.execution_time = resp[:meta][:metrics][:execution_time]
|
|
114
|
+
metrics.result_count = resp[:meta][:metrics][:result_count]
|
|
115
|
+
metrics.result_size = resp[:meta][:metrics][:result_size]
|
|
116
|
+
metrics.error_count = resp[:meta][:metrics][:error_count]
|
|
117
|
+
metrics.warning_count = resp[:meta][:metrics][:warning_count]
|
|
118
|
+
metrics.processed_objects = resp[:meta][:metrics][:processed_objects]
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
res[:warnings] = resp[:warnings].map { |warn| QueryWarning.new(warn[:code], warn[:message]) } if resp[:warnings]
|
|
122
|
+
end
|
|
123
|
+
res.instance_variable_set("@rows", resp[:rows])
|
|
124
|
+
end
|
|
125
|
+
end
|
|
48
126
|
end
|
|
49
127
|
end
|
|
@@ -304,7 +304,8 @@ module Couchbase
|
|
|
304
304
|
#
|
|
305
305
|
# @note The lower boundary is considered inclusive by default on the server side.
|
|
306
306
|
#
|
|
307
|
-
# @param [Time, String] time_point start time. When +Time+ object is passed {#date_time_parser} must be +nil+ (to use server
|
|
307
|
+
# @param [Time, String] time_point start time. When +Time+ object is passed {#date_time_parser} must be +nil+ (to use server
|
|
308
|
+
# default)
|
|
308
309
|
# @param [Boolean] inclusive
|
|
309
310
|
def start_time(time_point, inclusive = nil)
|
|
310
311
|
@start_time = time_point
|
|
@@ -332,13 +333,11 @@ module Couchbase
|
|
|
332
333
|
yield self if block_given?
|
|
333
334
|
end
|
|
334
335
|
|
|
335
|
-
DATE_FORMAT_RFC3339 = "%Y-%m-%dT%H:%M:%S%:z"
|
|
336
|
+
DATE_FORMAT_RFC3339 = "%Y-%m-%dT%H:%M:%S%:z".freeze
|
|
336
337
|
|
|
337
338
|
# @return [String]
|
|
338
339
|
def to_json(*args)
|
|
339
|
-
if @start_time.nil? && @end_time.nil?
|
|
340
|
-
raise ArgumentError, "either start_time or end_time must be set for DateRangeQuery"
|
|
341
|
-
end
|
|
340
|
+
raise ArgumentError, "either start_time or end_time must be set for DateRangeQuery" if @start_time.nil? && @end_time.nil?
|
|
342
341
|
|
|
343
342
|
data = {}
|
|
344
343
|
data["boost"] = boost if boost
|
|
@@ -415,9 +414,7 @@ module Couchbase
|
|
|
415
414
|
|
|
416
415
|
# @return [String]
|
|
417
416
|
def to_json(*args)
|
|
418
|
-
if @min.nil? && @max.nil?
|
|
419
|
-
raise ArgumentError, "either min or max must be set for NumericRangeQuery"
|
|
420
|
-
end
|
|
417
|
+
raise ArgumentError, "either min or max must be set for NumericRangeQuery" if @min.nil? && @max.nil?
|
|
421
418
|
|
|
422
419
|
data = {}
|
|
423
420
|
data["boost"] = boost if boost
|
|
@@ -485,9 +482,7 @@ module Couchbase
|
|
|
485
482
|
|
|
486
483
|
# @return [String]
|
|
487
484
|
def to_json(*args)
|
|
488
|
-
if @min.nil? && @max.nil?
|
|
489
|
-
raise ArgumentError, "either min or max must be set for TermRangeQuery"
|
|
490
|
-
end
|
|
485
|
+
raise ArgumentError, "either min or max must be set for TermRangeQuery" if @min.nil? && @max.nil?
|
|
491
486
|
|
|
492
487
|
data = {}
|
|
493
488
|
data["boost"] = boost if boost
|
|
@@ -540,8 +535,8 @@ module Couchbase
|
|
|
540
535
|
# @return [String]
|
|
541
536
|
def to_json(*args)
|
|
542
537
|
data = {
|
|
543
|
-
|
|
544
|
-
|
|
538
|
+
"location" => [@longitude, @latitude],
|
|
539
|
+
"distance" => @distance,
|
|
545
540
|
}
|
|
546
541
|
data["boost"] = boost if boost
|
|
547
542
|
data["field"] = field if field
|
|
@@ -551,7 +546,7 @@ module Couchbase
|
|
|
551
546
|
|
|
552
547
|
# Prepare {GeoBoundingBoxQuery} body
|
|
553
548
|
#
|
|
554
|
-
# @yieldparam [
|
|
549
|
+
# @yieldparam [GeoBoundingBoxQuery] query
|
|
555
550
|
#
|
|
556
551
|
# @param [Float] top_left_longitude
|
|
557
552
|
# @param [Float] top_left_latitude
|
|
@@ -589,8 +584,66 @@ module Couchbase
|
|
|
589
584
|
# @return [String]
|
|
590
585
|
def to_json(*args)
|
|
591
586
|
data = {
|
|
592
|
-
|
|
593
|
-
|
|
587
|
+
"top_left" => [@top_left_longitude, @top_left_latitude],
|
|
588
|
+
"bottom_right" => [@bottom_right_longitude, @bottom_right_latitude],
|
|
589
|
+
}
|
|
590
|
+
data["boost"] = boost if boost
|
|
591
|
+
data["field"] = field if field
|
|
592
|
+
data.to_json(*args)
|
|
593
|
+
end
|
|
594
|
+
end
|
|
595
|
+
|
|
596
|
+
# A coordinate is a tuple of a latitude and a longitude.
|
|
597
|
+
#
|
|
598
|
+
# @see GeoPolygonQuery
|
|
599
|
+
# @see SearchQuery.geo_polygon
|
|
600
|
+
class Coordinate
|
|
601
|
+
# @return [Float]
|
|
602
|
+
attr_accessor :longitude
|
|
603
|
+
|
|
604
|
+
# @return [Float]
|
|
605
|
+
attr_accessor :latitude
|
|
606
|
+
|
|
607
|
+
def initialize(longitude, latitude)
|
|
608
|
+
@longitude = longitude
|
|
609
|
+
@latitude = latitude
|
|
610
|
+
end
|
|
611
|
+
end
|
|
612
|
+
|
|
613
|
+
# Prepare {GeoPolygonQuery} body
|
|
614
|
+
#
|
|
615
|
+
# @yieldparam [GeoPolygonQuery] query
|
|
616
|
+
#
|
|
617
|
+
# @param [Array<Coordinate>] coordinates list of coordinates that forms polygon
|
|
618
|
+
#
|
|
619
|
+
# @return [GeoPolygonQuery]
|
|
620
|
+
#
|
|
621
|
+
# @api uncommitted
|
|
622
|
+
def self.geo_polygon(coordinates, &block)
|
|
623
|
+
GeoPolygonQuery.new(coordinates, &block)
|
|
624
|
+
end
|
|
625
|
+
|
|
626
|
+
# A search query which allows to match inside a geo polygon.
|
|
627
|
+
class GeoPolygonQuery < SearchQuery
|
|
628
|
+
# @return [Float]
|
|
629
|
+
attr_accessor :boost
|
|
630
|
+
|
|
631
|
+
# @return [String]
|
|
632
|
+
attr_accessor :field
|
|
633
|
+
|
|
634
|
+
# @yieldparam [GeoPolygonQuery] self
|
|
635
|
+
#
|
|
636
|
+
# @param [Array<Coordinate>] coordinates list of coordinates that forms polygon
|
|
637
|
+
def initialize(coordinates)
|
|
638
|
+
super()
|
|
639
|
+
@coordinates = coordinates
|
|
640
|
+
yield self if block_given?
|
|
641
|
+
end
|
|
642
|
+
|
|
643
|
+
# @return [String]
|
|
644
|
+
def to_json(*args)
|
|
645
|
+
data = {
|
|
646
|
+
"polygon_points" => @coordinates.map { |coord| [coord.longitude, coord.latitude] },
|
|
594
647
|
}
|
|
595
648
|
data["boost"] = boost if boost
|
|
596
649
|
data["field"] = field if field
|
|
@@ -633,6 +686,7 @@ module Couchbase
|
|
|
633
686
|
# @return [String]
|
|
634
687
|
def to_json(*args)
|
|
635
688
|
raise ArgumentError, "compound conjunction query must have sub-queries" if @queries.nil? || @queries.empty?
|
|
689
|
+
|
|
636
690
|
data = {"conjuncts" => @queries.uniq}
|
|
637
691
|
data["boost"] = boost if boost
|
|
638
692
|
data.to_json(*args)
|
|
@@ -677,9 +731,11 @@ module Couchbase
|
|
|
677
731
|
# @return [String]
|
|
678
732
|
def to_json(*args)
|
|
679
733
|
raise ArgumentError, "compound disjunction query must have sub-queries" if @queries.nil? || @queries.empty?
|
|
734
|
+
|
|
680
735
|
data = {"disjuncts" => @queries.uniq}
|
|
681
736
|
if min
|
|
682
737
|
raise ArgumentError, "disjunction query has fewer sub-queries than configured minimum" if @queries.size < min
|
|
738
|
+
|
|
683
739
|
data["min"] = min
|
|
684
740
|
end
|
|
685
741
|
data["boost"] = boost if boost
|
|
@@ -739,6 +795,7 @@ module Couchbase
|
|
|
739
795
|
if @must.empty? && @must_not.empty? && @should.empty?
|
|
740
796
|
raise ArgumentError, "BooleanQuery must have at least one non-empty sub-query"
|
|
741
797
|
end
|
|
798
|
+
|
|
742
799
|
data = {}
|
|
743
800
|
data["must"] = @must unless @must.empty?
|
|
744
801
|
data["must_not"] = @must_not unless @must_not.empty?
|
|
@@ -758,7 +815,8 @@ module Couchbase
|
|
|
758
815
|
TermQuery.new(term, &block)
|
|
759
816
|
end
|
|
760
817
|
|
|
761
|
-
# A query that looks for **exact** matches of the term in the index (no analyzer, no stemming). Useful to check what the actual
|
|
818
|
+
# A query that looks for **exact** matches of the term in the index (no analyzer, no stemming). Useful to check what the actual
|
|
819
|
+
# content of the index is. It can also apply fuzziness on the term. Usual better alternative is `MatchQuery`.
|
|
762
820
|
class TermQuery < SearchQuery
|
|
763
821
|
# @return [Float]
|
|
764
822
|
attr_accessor :boost
|
|
@@ -840,7 +898,8 @@ module Couchbase
|
|
|
840
898
|
PhraseQuery.new(*terms, &block)
|
|
841
899
|
end
|
|
842
900
|
|
|
843
|
-
# A query that looks for **exact** match of several terms (in the exact order) in the index. Usual better alternative is
|
|
901
|
+
# A query that looks for **exact** match of several terms (in the exact order) in the index. Usual better alternative is
|
|
902
|
+
# {MatchPhraseQuery}.
|
|
844
903
|
class PhraseQuery < SearchQuery
|
|
845
904
|
# @return [Float]
|
|
846
905
|
attr_accessor :boost
|
|
@@ -958,6 +1017,7 @@ module Couchbase
|
|
|
958
1017
|
|
|
959
1018
|
# @yieldparam [SearchSortScore]
|
|
960
1019
|
def initialize
|
|
1020
|
+
super
|
|
961
1021
|
yield self if block_given?
|
|
962
1022
|
end
|
|
963
1023
|
|
|
@@ -973,6 +1033,7 @@ module Couchbase
|
|
|
973
1033
|
|
|
974
1034
|
# @yieldparam [SearchSortId]
|
|
975
1035
|
def initialize
|
|
1036
|
+
super
|
|
976
1037
|
yield self if block_given?
|
|
977
1038
|
end
|
|
978
1039
|
|
|
@@ -1001,6 +1062,7 @@ module Couchbase
|
|
|
1001
1062
|
# @param [String] field the name of the filed for ordering
|
|
1002
1063
|
# @yieldparam [SearchSortField]
|
|
1003
1064
|
def initialize(field)
|
|
1065
|
+
super()
|
|
1004
1066
|
@field = field
|
|
1005
1067
|
yield self if block_given?
|
|
1006
1068
|
end
|
|
@@ -1032,6 +1094,7 @@ module Couchbase
|
|
|
1032
1094
|
# @param [Float] latitude
|
|
1033
1095
|
# @yieldparam [SearchSortGeoDistance]
|
|
1034
1096
|
def initialize(field, longitude, latitude)
|
|
1097
|
+
super()
|
|
1035
1098
|
@field = field
|
|
1036
1099
|
@longitude = longitude
|
|
1037
1100
|
@latitude = latitude
|
|
@@ -1119,19 +1182,20 @@ module Couchbase
|
|
|
1119
1182
|
|
|
1120
1183
|
# @param [String] field name of the field
|
|
1121
1184
|
def initialize(field)
|
|
1185
|
+
super()
|
|
1122
1186
|
@field = field
|
|
1123
1187
|
@ranges = []
|
|
1124
1188
|
yield self if block_given?
|
|
1125
1189
|
end
|
|
1126
1190
|
|
|
1127
|
-
DATE_FORMAT_RFC3339 = "%Y-%m-%dT%H:%M:%S%:z"
|
|
1191
|
+
DATE_FORMAT_RFC3339 = "%Y-%m-%dT%H:%M:%S%:z".freeze
|
|
1128
1192
|
|
|
1129
1193
|
# @param [String] name the name of the range
|
|
1130
1194
|
# @param [Time, String, nil] start_time lower bound of the range (pass +nil+ if there is no lower bound)
|
|
1131
1195
|
# @param [Time, String, nil] end_time lower bound of the range (pass +nil+ if there is no lower bound)
|
|
1132
1196
|
def add(name, start_time, end_time)
|
|
1133
|
-
start_time = start_time.strftime(DATE_FORMAT_RFC3339) if start_time
|
|
1134
|
-
end_time = end_time.strftime(DATE_FORMAT_RFC3339) if end_time
|
|
1197
|
+
start_time = start_time.strftime(DATE_FORMAT_RFC3339) if start_time.respond_to?(:strftime)
|
|
1198
|
+
end_time = end_time.strftime(DATE_FORMAT_RFC3339) if end_time.respond_to?(:strftime)
|
|
1135
1199
|
@ranges.append({name: name, start: start_time, end: end_time})
|
|
1136
1200
|
end
|
|
1137
1201
|
|
|
@@ -1142,83 +1206,6 @@ module Couchbase
|
|
|
1142
1206
|
end
|
|
1143
1207
|
end
|
|
1144
1208
|
|
|
1145
|
-
class SearchOptions
|
|
1146
|
-
# @return [Integer] Timeout in milliseconds
|
|
1147
|
-
attr_accessor :timeout
|
|
1148
|
-
|
|
1149
|
-
# @return [Integer] limits the number of matches returned from the complete result set.
|
|
1150
|
-
attr_accessor :limit
|
|
1151
|
-
|
|
1152
|
-
# @return [Integer] indicates how many matches are skipped on the result set before starting to return the matches
|
|
1153
|
-
attr_accessor :skip
|
|
1154
|
-
|
|
1155
|
-
# @return [Boolean] triggers inclusion of additional search result score explanations. (Default: +false+)
|
|
1156
|
-
attr_accessor :explain
|
|
1157
|
-
|
|
1158
|
-
# @return [:html, :ansi] the style of highlighting in the result excerpts (if not specified, the server default will be used)
|
|
1159
|
-
attr_accessor :highlight_style
|
|
1160
|
-
|
|
1161
|
-
# @return [Array<String>] list of the fields to highlight
|
|
1162
|
-
attr_accessor :highlight_fields
|
|
1163
|
-
|
|
1164
|
-
# @return [Array<String>] list of field values which should be retrieved for result documents, provided they were stored while indexing
|
|
1165
|
-
attr_accessor :fields
|
|
1166
|
-
|
|
1167
|
-
# Customizes the consistency guarantees for this query
|
|
1168
|
-
#
|
|
1169
|
-
# @note overrides consistency level set by {#consistent_with}
|
|
1170
|
-
#
|
|
1171
|
-
# [+:not_bounded+] The engine will return whatever state it has at the time of query
|
|
1172
|
-
#
|
|
1173
|
-
# @param [:not_bounded] level the scan consistency to be used for this query
|
|
1174
|
-
#
|
|
1175
|
-
# @return [void]
|
|
1176
|
-
def scan_consistency=(level)
|
|
1177
|
-
@mutation_state = nil if @mutation_state
|
|
1178
|
-
@scan_consistency = level
|
|
1179
|
-
end
|
|
1180
|
-
|
|
1181
|
-
# Sets the mutation tokens this query should be consistent with
|
|
1182
|
-
#
|
|
1183
|
-
# @note overrides consistency level set by {#scan_consistency=}
|
|
1184
|
-
#
|
|
1185
|
-
# @param [MutationState] mutation_state the mutation state containing the mutation tokens
|
|
1186
|
-
#
|
|
1187
|
-
# @return [void]
|
|
1188
|
-
def consistent_with(mutation_state)
|
|
1189
|
-
@scan_consistency = nil if @scan_consistency
|
|
1190
|
-
@mutation_state = mutation_state
|
|
1191
|
-
end
|
|
1192
|
-
|
|
1193
|
-
# Ordering rules to apply to the results
|
|
1194
|
-
#
|
|
1195
|
-
# The list might contain either strings or special objects, that derive from {SearchSort}.
|
|
1196
|
-
#
|
|
1197
|
-
# In case of String, the value represents the name of the field with optional +-+ in front of the name, which will turn on descending mode for this field. One field is special is +"_score"+ which will sort results by their score.
|
|
1198
|
-
#
|
|
1199
|
-
# When nothing specified, the Server will order results by their score descending, which is equivalent of +"-_score"+.
|
|
1200
|
-
#
|
|
1201
|
-
# @return [Array<String, SearchSort>] list of ordering object
|
|
1202
|
-
attr_accessor :sort
|
|
1203
|
-
|
|
1204
|
-
# Facets allow to aggregate information collected on a particular result set
|
|
1205
|
-
#
|
|
1206
|
-
# @return [Hash<String => SearchFacet>]
|
|
1207
|
-
attr_accessor :facets
|
|
1208
|
-
|
|
1209
|
-
# @return [JsonTranscoder] transcoder to use for the results
|
|
1210
|
-
attr_accessor :transcoder
|
|
1211
|
-
|
|
1212
|
-
# @yieldparam [SearchOptions] self
|
|
1213
|
-
def initialize
|
|
1214
|
-
@explain = false
|
|
1215
|
-
@transcoder = JsonTranscoder.new
|
|
1216
|
-
@scan_consistency = nil
|
|
1217
|
-
@mutation_state = nil
|
|
1218
|
-
yield self if block_given?
|
|
1219
|
-
end
|
|
1220
|
-
end
|
|
1221
|
-
|
|
1222
1209
|
class SearchRowLocation
|
|
1223
1210
|
# @return [String]
|
|
1224
1211
|
attr_accessor :field
|
|
@@ -1265,31 +1252,31 @@ module Couchbase
|
|
|
1265
1252
|
#
|
|
1266
1253
|
# @return [Array<String>]
|
|
1267
1254
|
def fields
|
|
1268
|
-
@locations.map
|
|
1255
|
+
@locations.map(&:field).uniq
|
|
1269
1256
|
end
|
|
1270
1257
|
|
|
1271
1258
|
# Lists all terms in this locations, considering all fields
|
|
1272
1259
|
#
|
|
1273
1260
|
# @return [Array<String>]
|
|
1274
1261
|
def terms
|
|
1275
|
-
@locations.map
|
|
1262
|
+
@locations.map(&:term).uniq
|
|
1276
1263
|
end
|
|
1277
1264
|
|
|
1278
1265
|
# Lists the terms for a given field
|
|
1279
1266
|
#
|
|
1280
1267
|
# @return [Array<String>]
|
|
1281
1268
|
def terms_for_field(name)
|
|
1282
|
-
get_for_field(name).map
|
|
1269
|
+
get_for_field(name).map(&:term).uniq
|
|
1283
1270
|
end
|
|
1284
1271
|
|
|
1285
1272
|
# @param [Array<SearchRowLocation>] locations
|
|
1286
1273
|
def initialize(locations)
|
|
1274
|
+
super()
|
|
1287
1275
|
@locations = locations
|
|
1288
1276
|
end
|
|
1289
1277
|
end
|
|
1290
1278
|
|
|
1291
|
-
# An individual facet result has both metadata and details, as each facet can define ranges into which results are
|
|
1292
|
-
# categorized
|
|
1279
|
+
# An individual facet result has both metadata and details, as each facet can define ranges into which results are categorized
|
|
1293
1280
|
class SearchFacetResult
|
|
1294
1281
|
# @return [String]
|
|
1295
1282
|
attr_accessor :name
|
|
@@ -1316,6 +1303,7 @@ module Couchbase
|
|
|
1316
1303
|
|
|
1317
1304
|
# @yieldparam [TermFacetResult] self
|
|
1318
1305
|
def initialize
|
|
1306
|
+
super
|
|
1319
1307
|
yield self if block_given?
|
|
1320
1308
|
end
|
|
1321
1309
|
|
|
@@ -1327,6 +1315,7 @@ module Couchbase
|
|
|
1327
1315
|
attr_reader :count
|
|
1328
1316
|
|
|
1329
1317
|
def initialize(term, count)
|
|
1318
|
+
super()
|
|
1330
1319
|
@term = term
|
|
1331
1320
|
@count = count
|
|
1332
1321
|
end
|
|
@@ -1343,6 +1332,7 @@ module Couchbase
|
|
|
1343
1332
|
|
|
1344
1333
|
# @yieldparam [DateRangeFacetResult] self
|
|
1345
1334
|
def initialize
|
|
1335
|
+
super
|
|
1346
1336
|
yield self if block_given?
|
|
1347
1337
|
end
|
|
1348
1338
|
|
|
@@ -1378,6 +1368,7 @@ module Couchbase
|
|
|
1378
1368
|
|
|
1379
1369
|
# @yieldparam [NumericRangeFacetResult] self
|
|
1380
1370
|
def initialize
|
|
1371
|
+
super
|
|
1381
1372
|
yield self if block_given?
|
|
1382
1373
|
end
|
|
1383
1374
|
|
|
@@ -1483,6 +1474,10 @@ module Couchbase
|
|
|
1483
1474
|
# @return [SearchMetaData]
|
|
1484
1475
|
attr_accessor :meta_data
|
|
1485
1476
|
|
|
1477
|
+
def success?
|
|
1478
|
+
meta_data.errors.nil? || meta_data.errors.empty?
|
|
1479
|
+
end
|
|
1480
|
+
|
|
1486
1481
|
# @yieldparam [SearchResult] self
|
|
1487
1482
|
def initialize
|
|
1488
1483
|
yield self if block_given?
|