couchbase 3.0.3-universal-darwin-20 → 3.1.1-universal-darwin-20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/ext/CMakeLists.txt +4 -2
- data/ext/build_config.hxx.in +1 -1
- data/ext/build_version.hxx.in +2 -2
- data/ext/couchbase/bucket.hxx +1 -1
- data/ext/couchbase/capabilities.hxx +1 -1
- data/ext/couchbase/cluster.hxx +1 -1
- data/ext/couchbase/cluster_options.hxx +4 -1
- data/ext/couchbase/collections_manifest.hxx +1 -1
- data/ext/couchbase/configuration.hxx +1 -1
- data/ext/couchbase/couchbase.cxx +743 -927
- data/ext/couchbase/diagnostics.hxx +3 -3
- data/ext/couchbase/document_id.hxx +1 -1
- data/ext/couchbase/error_context/analytics.hxx +1 -1
- data/ext/couchbase/error_context/http.hxx +1 -1
- data/ext/couchbase/error_context/key_value.hxx +1 -1
- data/ext/couchbase/error_context/query.hxx +1 -1
- data/ext/couchbase/error_context/search.hxx +1 -1
- data/ext/couchbase/error_context/view.hxx +1 -1
- data/ext/couchbase/error_map.hxx +1 -1
- data/ext/couchbase/errors.hxx +1 -1
- data/ext/couchbase/io/dns_client.hxx +1 -1
- data/ext/couchbase/io/dns_codec.hxx +1 -1
- data/ext/couchbase/io/dns_config.hxx +1 -1
- data/ext/couchbase/io/dns_message.hxx +1 -1
- data/ext/couchbase/io/http_command.hxx +1 -1
- data/ext/couchbase/io/http_context.hxx +1 -1
- data/ext/couchbase/io/http_message.hxx +1 -1
- data/ext/couchbase/io/http_parser.hxx +1 -1
- data/ext/couchbase/io/http_session.hxx +1 -1
- data/ext/couchbase/io/http_session_manager.hxx +1 -1
- data/ext/couchbase/io/mcbp_command.hxx +1 -1
- data/ext/couchbase/io/mcbp_context.hxx +1 -1
- data/ext/couchbase/io/mcbp_message.hxx +1 -1
- data/ext/couchbase/io/mcbp_parser.hxx +1 -1
- data/ext/couchbase/io/mcbp_session.hxx +10 -1
- data/ext/couchbase/io/query_cache.hxx +1 -1
- data/ext/couchbase/io/retry_action.hxx +1 -1
- data/ext/couchbase/io/retry_context.hxx +1 -1
- data/ext/couchbase/io/retry_orchestrator.hxx +1 -1
- data/ext/couchbase/io/retry_reason.hxx +1 -1
- data/ext/couchbase/io/retry_strategy.hxx +1 -1
- data/ext/couchbase/io/streams.hxx +1 -1
- data/ext/couchbase/mutation_token.hxx +1 -1
- data/ext/couchbase/operations.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataset_create.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataset_drop.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataset_get_all.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataverse_create.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataverse_drop.hxx +1 -1
- data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +1 -1
- data/ext/couchbase/operations/analytics_index_create.hxx +1 -1
- data/ext/couchbase/operations/analytics_index_drop.hxx +1 -1
- data/ext/couchbase/operations/analytics_index_get_all.hxx +1 -1
- data/ext/couchbase/operations/analytics_link_connect.hxx +1 -1
- data/ext/couchbase/operations/analytics_link_disconnect.hxx +1 -1
- data/ext/couchbase/operations/bucket_create.hxx +1 -1
- data/ext/couchbase/operations/bucket_drop.hxx +1 -1
- data/ext/couchbase/operations/bucket_flush.hxx +1 -1
- data/ext/couchbase/operations/bucket_get.hxx +1 -1
- data/ext/couchbase/operations/bucket_get_all.hxx +1 -1
- data/ext/couchbase/operations/bucket_update.hxx +1 -1
- data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +1 -1
- data/ext/couchbase/operations/collection_create.hxx +13 -9
- data/ext/couchbase/operations/collection_drop.hxx +11 -7
- data/ext/couchbase/operations/collections_manifest_get.hxx +1 -1
- data/ext/couchbase/operations/design_document.hxx +1 -1
- data/ext/couchbase/operations/document_analytics.hxx +1 -1
- data/ext/couchbase/operations/document_append.hxx +1 -1
- data/ext/couchbase/operations/document_decrement.hxx +5 -1
- data/ext/couchbase/operations/document_exists.hxx +1 -1
- data/ext/couchbase/operations/document_get.hxx +1 -1
- data/ext/couchbase/operations/document_get_and_lock.hxx +1 -1
- data/ext/couchbase/operations/document_get_and_touch.hxx +1 -1
- data/ext/couchbase/operations/document_get_projected.hxx +1 -1
- data/ext/couchbase/operations/document_increment.hxx +5 -1
- data/ext/couchbase/operations/document_insert.hxx +1 -1
- data/ext/couchbase/operations/document_lookup_in.hxx +1 -1
- data/ext/couchbase/operations/document_mutate_in.hxx +5 -1
- data/ext/couchbase/operations/document_prepend.hxx +1 -1
- data/ext/couchbase/operations/document_query.hxx +9 -1
- data/ext/couchbase/operations/document_remove.hxx +1 -1
- data/ext/couchbase/operations/document_replace.hxx +5 -1
- data/ext/couchbase/operations/document_search.hxx +1 -1
- data/ext/couchbase/operations/document_touch.hxx +1 -1
- data/ext/couchbase/operations/document_unlock.hxx +1 -1
- data/ext/couchbase/operations/document_upsert.hxx +5 -1
- data/ext/couchbase/operations/document_view.hxx +1 -1
- data/ext/couchbase/operations/group_drop.hxx +1 -1
- data/ext/couchbase/operations/group_get.hxx +1 -1
- data/ext/couchbase/operations/group_get_all.hxx +1 -1
- data/ext/couchbase/operations/group_upsert.hxx +1 -1
- data/ext/couchbase/operations/http_noop.hxx +1 -1
- data/ext/couchbase/operations/mcbp_noop.hxx +1 -1
- data/ext/couchbase/operations/query_index_build_deferred.hxx +1 -1
- data/ext/couchbase/operations/query_index_create.hxx +1 -1
- data/ext/couchbase/operations/query_index_drop.hxx +1 -1
- data/ext/couchbase/operations/query_index_get_all.hxx +1 -1
- data/ext/couchbase/operations/rbac.hxx +1 -1
- data/ext/couchbase/operations/role_get_all.hxx +1 -1
- data/ext/couchbase/operations/scope_create.hxx +9 -8
- data/ext/couchbase/operations/scope_drop.hxx +9 -6
- data/ext/couchbase/operations/scope_get_all.hxx +2 -2
- data/ext/couchbase/operations/search_get_stats.hxx +1 -1
- data/ext/couchbase/operations/search_index.hxx +1 -1
- data/ext/couchbase/operations/search_index_analyze_document.hxx +1 -1
- data/ext/couchbase/operations/search_index_control_ingest.hxx +1 -1
- data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +1 -1
- data/ext/couchbase/operations/search_index_control_query.hxx +1 -1
- data/ext/couchbase/operations/search_index_drop.hxx +1 -1
- data/ext/couchbase/operations/search_index_get.hxx +1 -1
- data/ext/couchbase/operations/search_index_get_all.hxx +1 -1
- data/ext/couchbase/operations/search_index_get_documents_count.hxx +1 -1
- data/ext/couchbase/operations/search_index_get_stats.hxx +1 -1
- data/ext/couchbase/operations/search_index_upsert.hxx +1 -1
- data/ext/couchbase/operations/user_drop.hxx +1 -1
- data/ext/couchbase/operations/user_get.hxx +1 -1
- data/ext/couchbase/operations/user_get_all.hxx +1 -1
- data/ext/couchbase/operations/user_upsert.hxx +1 -1
- data/ext/couchbase/operations/view_index_drop.hxx +1 -1
- data/ext/couchbase/operations/view_index_get.hxx +1 -1
- data/ext/couchbase/operations/view_index_get_all.hxx +1 -1
- data/ext/couchbase/operations/view_index_upsert.hxx +1 -1
- data/ext/couchbase/origin.hxx +1 -1
- data/ext/couchbase/protocol/client_opcode.hxx +6 -1
- data/ext/couchbase/protocol/client_request.hxx +1 -1
- data/ext/couchbase/protocol/client_response.hxx +1 -1
- data/ext/couchbase/protocol/cmd_append.hxx +1 -1
- data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +1 -1
- data/ext/couchbase/protocol/cmd_decrement.hxx +19 -9
- data/ext/couchbase/protocol/cmd_exists.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_and_lock.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_and_touch.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_collection_id.hxx +7 -7
- data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +1 -1
- data/ext/couchbase/protocol/cmd_get_error_map.hxx +1 -1
- data/ext/couchbase/protocol/cmd_hello.hxx +17 -4
- data/ext/couchbase/protocol/cmd_increment.hxx +19 -9
- data/ext/couchbase/protocol/cmd_info.hxx +1 -1
- data/ext/couchbase/protocol/cmd_insert.hxx +1 -1
- data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -1
- data/ext/couchbase/protocol/cmd_mutate_in.hxx +18 -9
- data/ext/couchbase/protocol/cmd_noop.hxx +1 -1
- data/ext/couchbase/protocol/cmd_prepend.hxx +1 -1
- data/ext/couchbase/protocol/cmd_remove.hxx +1 -1
- data/ext/couchbase/protocol/cmd_replace.hxx +17 -8
- data/ext/couchbase/protocol/cmd_sasl_auth.hxx +1 -1
- data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +1 -1
- data/ext/couchbase/protocol/cmd_sasl_step.hxx +1 -1
- data/ext/couchbase/protocol/cmd_select_bucket.hxx +1 -1
- data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
- data/ext/couchbase/protocol/cmd_unlock.hxx +1 -1
- data/ext/couchbase/protocol/cmd_upsert.hxx +17 -8
- data/ext/couchbase/protocol/datatype.hxx +1 -1
- data/ext/couchbase/protocol/durability_level.hxx +1 -1
- data/ext/couchbase/protocol/enhanced_error_info.hxx +1 -1
- data/ext/couchbase/protocol/frame_info_id.hxx +2 -2
- data/ext/couchbase/protocol/hello_feature.hxx +1 -1
- data/ext/couchbase/protocol/magic.hxx +1 -1
- data/ext/couchbase/protocol/server_opcode.hxx +1 -1
- data/ext/couchbase/protocol/server_request.hxx +1 -1
- data/ext/couchbase/protocol/status.hxx +1 -1
- data/ext/couchbase/service_type.hxx +1 -1
- data/ext/couchbase/timeout_defaults.hxx +1 -1
- data/ext/couchbase/utils/byteswap.hxx +1 -1
- data/ext/couchbase/utils/connection_string.hxx +28 -1
- data/ext/couchbase/version.hxx +2 -2
- data/ext/extconf.rb +1 -1
- data/ext/test/test_helper.hxx +1 -1
- data/ext/test/test_helper_native.hxx +1 -1
- data/ext/test/test_helper_ruby.hxx +1 -1
- data/ext/test/test_native_binary_operations.cxx +1 -1
- data/ext/test/test_native_diagnostics.cxx +1 -1
- data/ext/test/test_native_trivial_crud.cxx +1 -1
- data/ext/test/test_ruby_trivial_crud.cxx +1 -1
- data/ext/test/test_ruby_trivial_query.cxx +1 -1
- data/lib/active_support/cache/couchbase_store.rb +2 -1
- data/lib/couchbase.rb +1 -1
- data/lib/couchbase/analytics_options.rb +1 -1
- data/lib/couchbase/authenticator.rb +1 -1
- data/lib/couchbase/binary_collection.rb +1 -1
- data/lib/couchbase/binary_collection_options.rb +1 -1
- data/lib/couchbase/bucket.rb +1 -1
- data/lib/couchbase/cluster.rb +2 -2
- data/lib/couchbase/collection.rb +1 -1
- data/lib/couchbase/collection_options.rb +25 -19
- data/lib/couchbase/configuration.rb +1 -1
- data/lib/couchbase/datastructures.rb +1 -1
- data/lib/couchbase/datastructures/couchbase_list.rb +1 -1
- data/lib/couchbase/datastructures/couchbase_map.rb +1 -1
- data/lib/couchbase/datastructures/couchbase_queue.rb +1 -1
- data/lib/couchbase/datastructures/couchbase_set.rb +1 -1
- data/lib/couchbase/diagnostics.rb +1 -1
- data/lib/couchbase/errors.rb +1 -1
- data/lib/couchbase/json_transcoder.rb +1 -1
- data/lib/couchbase/libcouchbase.bundle +0 -0
- data/lib/couchbase/logger.rb +1 -1
- data/lib/couchbase/management.rb +1 -1
- data/lib/couchbase/management/analytics_index_manager.rb +1 -1
- data/lib/couchbase/management/bucket_manager.rb +1 -1
- data/lib/couchbase/management/collection_manager.rb +8 -1
- data/lib/couchbase/management/query_index_manager.rb +1 -1
- data/lib/couchbase/management/search_index_manager.rb +1 -1
- data/lib/couchbase/management/user_manager.rb +1 -1
- data/lib/couchbase/management/view_index_manager.rb +1 -1
- data/lib/couchbase/mutation_state.rb +1 -1
- data/lib/couchbase/options.rb +49 -4
- data/lib/couchbase/query_options.rb +1 -1
- data/lib/couchbase/railtie.rb +1 -1
- data/lib/couchbase/scope.rb +7 -6
- data/lib/couchbase/search_options.rb +1 -1
- data/lib/couchbase/subdoc.rb +2 -2
- data/lib/couchbase/utils.rb +1 -1
- data/lib/couchbase/utils/time.rb +1 -1
- data/lib/couchbase/version.rb +9 -9
- data/lib/couchbase/view_options.rb +1 -1
- data/lib/rails/generators/couchbase/config/config_generator.rb +1 -1
- metadata +5 -5
data/lib/couchbase.rb
CHANGED
data/lib/couchbase/bucket.rb
CHANGED
data/lib/couchbase/cluster.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
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.
|
@@ -152,7 +152,7 @@ module Couchbase
|
|
152
152
|
metrics.processed_objects = resp[:meta][:metrics][:processed_objects]
|
153
153
|
end
|
154
154
|
end
|
155
|
-
res[:warnings] = resp[:warnings].map { |warn|
|
155
|
+
res[:warnings] = resp[:warnings].map { |warn| AnalyticsWarning.new(warn[:code], warn[:message]) } if resp[:warnings]
|
156
156
|
end
|
157
157
|
res.instance_variable_set("@rows", resp[:rows])
|
158
158
|
end
|
data/lib/couchbase/collection.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
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.
|
@@ -151,15 +151,6 @@ module Couchbase
|
|
151
151
|
!encoded[index].nil? && encoded[index].exists
|
152
152
|
end
|
153
153
|
|
154
|
-
# @see MutateInOptions#create_as_deleted
|
155
|
-
#
|
156
|
-
# @return [Boolean] true if the document is a tombstone (created in deleted state)
|
157
|
-
def deleted?
|
158
|
-
@deleted
|
159
|
-
end
|
160
|
-
|
161
|
-
attr_accessor :deleted
|
162
|
-
|
163
154
|
# @return [Array<SubDocumentField>] holds the encoded subdocument responses
|
164
155
|
attr_accessor :encoded
|
165
156
|
|
@@ -172,6 +163,18 @@ module Couchbase
|
|
172
163
|
# @return [JsonTranscoder] The default transcoder which should be used
|
173
164
|
attr_accessor :transcoder
|
174
165
|
|
166
|
+
# @api private
|
167
|
+
#
|
168
|
+
# @see MutateInOptions#create_as_deleted
|
169
|
+
#
|
170
|
+
# @return [Boolean] true if the document is a tombstone (created in deleted state)
|
171
|
+
def deleted?
|
172
|
+
@deleted
|
173
|
+
end
|
174
|
+
|
175
|
+
# @api private
|
176
|
+
attr_accessor :deleted
|
177
|
+
|
175
178
|
private
|
176
179
|
|
177
180
|
def get_field_at_index(index)
|
@@ -199,15 +202,6 @@ module Couchbase
|
|
199
202
|
end
|
200
203
|
end
|
201
204
|
|
202
|
-
# @see MutateInOptions#create_as_deleted
|
203
|
-
#
|
204
|
-
# @return [Boolean] true if the document is a tombstone (created in deleted state)
|
205
|
-
def deleted?
|
206
|
-
@deleted
|
207
|
-
end
|
208
|
-
|
209
|
-
attr_accessor :deleted
|
210
|
-
|
211
205
|
# @yieldparam [MutateInResult] self
|
212
206
|
def initialize
|
213
207
|
super
|
@@ -235,6 +229,18 @@ module Couchbase
|
|
235
229
|
# @return [JsonTranscoder] The default transcoder which should be used
|
236
230
|
attr_accessor :transcoder
|
237
231
|
|
232
|
+
# @api private
|
233
|
+
#
|
234
|
+
# @see MutateInOptions#create_as_deleted
|
235
|
+
#
|
236
|
+
# @return [Boolean] true if the document is a tombstone (created in deleted state)
|
237
|
+
def deleted?
|
238
|
+
@deleted
|
239
|
+
end
|
240
|
+
|
241
|
+
# @api private
|
242
|
+
attr_accessor :deleted
|
243
|
+
|
238
244
|
private
|
239
245
|
|
240
246
|
def get_field_at_index(index)
|
data/lib/couchbase/errors.rb
CHANGED
Binary file
|
data/lib/couchbase/logger.rb
CHANGED
data/lib/couchbase/management.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
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.
|
@@ -12,11 +12,15 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
+
require "rubygems/deprecate"
|
16
|
+
|
15
17
|
require "couchbase/errors"
|
16
18
|
|
17
19
|
module Couchbase
|
18
20
|
module Management
|
19
21
|
class CollectionManager
|
22
|
+
extend Gem::Deprecate
|
23
|
+
|
20
24
|
alias inspect to_s
|
21
25
|
|
22
26
|
# @param [Couchbase::Backend] backend
|
@@ -51,6 +55,8 @@ module Couchbase
|
|
51
55
|
# @param [String] scope_name name of the scope
|
52
56
|
# @param [GetScopeOptions] options
|
53
57
|
#
|
58
|
+
# @deprecated Use {#get_all_scopes} with filter by name
|
59
|
+
#
|
54
60
|
# @return [ScopeSpec]
|
55
61
|
#
|
56
62
|
# @raise [Error::ScopeNotFound]
|
@@ -58,6 +64,7 @@ module Couchbase
|
|
58
64
|
get_all_scopes(GetAllScopesOptions.new { |o| o.timeout = options.timeout })
|
59
65
|
.find { |scope| scope.name == scope_name } or raise Error::ScopeNotFound, "unable to find scope #{scope_name}"
|
60
66
|
end
|
67
|
+
deprecate :get_scope, :get_all_scopes, 2021, 6
|
61
68
|
|
62
69
|
# Creates a new scope
|
63
70
|
#
|
data/lib/couchbase/options.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
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.
|
@@ -507,10 +507,13 @@ module Couchbase
|
|
507
507
|
attr_accessor :expiry # @return [Integer, #in_seconds, nil]
|
508
508
|
attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
|
509
509
|
attr_accessor :durability_level # @return [Symbol]
|
510
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
510
511
|
|
511
512
|
# Creates an instance of options for {Collection#upsert}
|
512
513
|
#
|
513
514
|
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
515
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
516
|
+
# for the document, otherwise will use {expiry} from the operation.
|
514
517
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
515
518
|
# @param [Symbol] durability_level level of durability
|
516
519
|
# +:none+::
|
@@ -533,6 +536,7 @@ module Couchbase
|
|
533
536
|
#
|
534
537
|
# @yieldparam [Upsert]
|
535
538
|
def initialize(expiry: nil,
|
539
|
+
preserve_expiry: false,
|
536
540
|
transcoder: JsonTranscoder.new,
|
537
541
|
durability_level: :none,
|
538
542
|
timeout: nil,
|
@@ -541,6 +545,7 @@ module Couchbase
|
|
541
545
|
parent_span: nil)
|
542
546
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
543
547
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
548
|
+
@preserve_expiry = preserve_expiry
|
544
549
|
@transcoder = transcoder
|
545
550
|
@durability_level = durability_level
|
546
551
|
yield self if block_given?
|
@@ -550,6 +555,7 @@ module Couchbase
|
|
550
555
|
{
|
551
556
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
552
557
|
expiry: @expiry,
|
558
|
+
preserve_expiry: @preserve_expiry,
|
553
559
|
durability_level: @durability_level,
|
554
560
|
}
|
555
561
|
end
|
@@ -560,10 +566,13 @@ module Couchbase
|
|
560
566
|
attr_accessor :expiry # @return [Integer, #in_seconds, nil]
|
561
567
|
attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
|
562
568
|
attr_accessor :durability_level # @return [Symbol]
|
569
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
563
570
|
|
564
571
|
# Creates an instance of options for {Collection#upsert}
|
565
572
|
#
|
566
573
|
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
574
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
575
|
+
# for the document, otherwise will use {expiry} from the operation.
|
567
576
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
568
577
|
# @param [Symbol] durability_level level of durability
|
569
578
|
# +:none+::
|
@@ -586,6 +595,7 @@ module Couchbase
|
|
586
595
|
#
|
587
596
|
# @yieldparam [Upsert]
|
588
597
|
def initialize(expiry: nil,
|
598
|
+
preserve_expiry: false,
|
589
599
|
transcoder: JsonTranscoder.new,
|
590
600
|
durability_level: :none,
|
591
601
|
timeout: nil,
|
@@ -594,6 +604,7 @@ module Couchbase
|
|
594
604
|
parent_span: nil)
|
595
605
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
596
606
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
607
|
+
@preserve_expiry = preserve_expiry
|
597
608
|
@transcoder = transcoder
|
598
609
|
@durability_level = durability_level
|
599
610
|
yield self if block_given?
|
@@ -603,6 +614,7 @@ module Couchbase
|
|
603
614
|
{
|
604
615
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
605
616
|
expiry: @expiry,
|
617
|
+
preserve_expiry: @preserve_expiry,
|
606
618
|
durability_level: @durability_level,
|
607
619
|
}
|
608
620
|
end
|
@@ -614,10 +626,13 @@ module Couchbase
|
|
614
626
|
attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
|
615
627
|
attr_accessor :cas # @return [Integer, nil]
|
616
628
|
attr_accessor :durability_level # @return [Symbol]
|
629
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
617
630
|
|
618
631
|
# Creates an instance of options for {Collection#replace}
|
619
632
|
#
|
620
633
|
# @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
|
634
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
635
|
+
# for the document, otherwise will use {expiry} from the operation.
|
621
636
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
622
637
|
# @param [Integer, nil] cas a CAS value that will be taken into account on the server side for optimistic concurrency
|
623
638
|
# @param [Symbol] durability_level level of durability
|
@@ -641,6 +656,7 @@ module Couchbase
|
|
641
656
|
#
|
642
657
|
# @yieldparam [Replace]
|
643
658
|
def initialize(expiry: nil,
|
659
|
+
preserve_expiry: false,
|
644
660
|
transcoder: JsonTranscoder.new,
|
645
661
|
cas: nil,
|
646
662
|
durability_level: :none,
|
@@ -650,6 +666,7 @@ module Couchbase
|
|
650
666
|
parent_span: nil)
|
651
667
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
652
668
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
669
|
+
@preserve_expiry = preserve_expiry
|
653
670
|
@transcoder = transcoder
|
654
671
|
@cas = cas
|
655
672
|
@durability_level = durability_level
|
@@ -660,6 +677,7 @@ module Couchbase
|
|
660
677
|
{
|
661
678
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
662
679
|
expiry: @expiry,
|
680
|
+
preserve_expiry: @preserve_expiry,
|
663
681
|
durability_level: @durability_level,
|
664
682
|
cas: @cas,
|
665
683
|
}
|
@@ -671,14 +689,15 @@ module Couchbase
|
|
671
689
|
attr_accessor :expiry # @return [Integer, #in_seconds, nil]
|
672
690
|
attr_accessor :store_semantics # @return [Symbol]
|
673
691
|
attr_accessor :cas # @return [Integer, nil]
|
674
|
-
attr_accessor :access_deleted # @return [Boolean]
|
675
|
-
attr_accessor :create_as_deleted # @return [Boolean]
|
676
692
|
attr_accessor :durability_level # @return [Symbol]
|
677
693
|
attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
|
694
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
678
695
|
|
679
696
|
# Creates an instance of options for {Collection#mutate_in}
|
680
697
|
#
|
681
698
|
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
699
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
700
|
+
# for the document, otherwise will use {expiry} from the operation.
|
682
701
|
# @param [Symbol] store_semantics describes how the outer document store semantics on subdoc should act
|
683
702
|
# +:replace+:: replace the document, fail if it does not exist. This is the default
|
684
703
|
# +:upsert+:: replace the document or create if it does not exist
|
@@ -708,6 +727,7 @@ module Couchbase
|
|
708
727
|
#
|
709
728
|
# @yieldparam [MutateIn]
|
710
729
|
def initialize(expiry: nil,
|
730
|
+
preserve_expiry: false,
|
711
731
|
store_semantics: :replace,
|
712
732
|
cas: nil,
|
713
733
|
access_deleted: false,
|
@@ -720,6 +740,7 @@ module Couchbase
|
|
720
740
|
parent_span: nil)
|
721
741
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
722
742
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
743
|
+
@preserve_expiry = preserve_expiry
|
723
744
|
@store_semantics = store_semantics
|
724
745
|
@cas = cas
|
725
746
|
@access_deleted = access_deleted
|
@@ -734,6 +755,7 @@ module Couchbase
|
|
734
755
|
{
|
735
756
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
736
757
|
expiry: @expiry,
|
758
|
+
preserve_expiry: @preserve_expiry,
|
737
759
|
durability_level: @durability_level,
|
738
760
|
cas: @cas,
|
739
761
|
store_semantics: @store_semantics,
|
@@ -741,11 +763,18 @@ module Couchbase
|
|
741
763
|
create_as_deleted: @create_as_deleted,
|
742
764
|
}
|
743
765
|
end
|
766
|
+
|
767
|
+
# @api private
|
768
|
+
# @return [Boolean]
|
769
|
+
attr_accessor :access_deleted
|
770
|
+
|
771
|
+
# @api private
|
772
|
+
# @return [Boolean]
|
773
|
+
attr_accessor :create_as_deleted
|
744
774
|
end
|
745
775
|
|
746
776
|
# Options for {Collection#lookup_in}
|
747
777
|
class LookupIn < Base
|
748
|
-
attr_accessor :access_deleted # @return [Boolean]
|
749
778
|
attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
|
750
779
|
|
751
780
|
# Creates an instance of options for {Collection#lookup_in}
|
@@ -778,6 +807,10 @@ module Couchbase
|
|
778
807
|
access_deleted: @access_deleted,
|
779
808
|
}
|
780
809
|
end
|
810
|
+
|
811
|
+
# @api private
|
812
|
+
# @return [Boolean]
|
813
|
+
attr_accessor :access_deleted
|
781
814
|
end
|
782
815
|
|
783
816
|
# Options for {BinaryCollection#append}
|
@@ -853,12 +886,15 @@ module Couchbase
|
|
853
886
|
attr_accessor :initial # @return [Integer]
|
854
887
|
attr_accessor :expiry # @return [Integer, #in_seconds]
|
855
888
|
attr_accessor :durability_level # @return [Symbol]
|
889
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
856
890
|
|
857
891
|
# Creates an instance of options for {BinaryCollection#increment}
|
858
892
|
#
|
859
893
|
# @param [Integer] delta the delta for the operation
|
860
894
|
# @param [Integer] initial if present, holds the initial value
|
861
895
|
# @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
|
896
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
897
|
+
# for the document, otherwise will use {expiry} from the operation.
|
862
898
|
# @param [Symbol] durability_level level of durability
|
863
899
|
# +:none+::
|
864
900
|
# no enhanced durability required for the mutation
|
@@ -882,6 +918,7 @@ module Couchbase
|
|
882
918
|
def initialize(delta: 1,
|
883
919
|
initial: nil,
|
884
920
|
expiry: nil,
|
921
|
+
preserve_expiry: false,
|
885
922
|
durability_level: :none,
|
886
923
|
timeout: nil,
|
887
924
|
retry_strategy: nil,
|
@@ -893,6 +930,7 @@ module Couchbase
|
|
893
930
|
@delta = delta
|
894
931
|
@initial = initial
|
895
932
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
933
|
+
@preserve_expiry = preserve_expiry
|
896
934
|
@durability_level = durability_level
|
897
935
|
yield self if block_given?
|
898
936
|
end
|
@@ -911,6 +949,7 @@ module Couchbase
|
|
911
949
|
delta: @delta,
|
912
950
|
initial_value: @initial,
|
913
951
|
expiry: @expiry,
|
952
|
+
preserve_expiry: @preserve_expiry,
|
914
953
|
durability_level: @durability_level,
|
915
954
|
}
|
916
955
|
end
|
@@ -922,12 +961,15 @@ module Couchbase
|
|
922
961
|
attr_accessor :initial # @return [Integer]
|
923
962
|
attr_accessor :expiry # @return [Integer, #in_seconds]
|
924
963
|
attr_accessor :durability_level # @return [Symbol]
|
964
|
+
attr_accessor :preserve_expiry # @return [Boolean]
|
925
965
|
|
926
966
|
# Creates an instance of options for {BinaryCollection#decrement}
|
927
967
|
#
|
928
968
|
# @param [Integer] delta the delta for the operation
|
929
969
|
# @param [Integer] initial if present, holds the initial value
|
930
970
|
# @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
|
971
|
+
# @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
|
972
|
+
# for the document, otherwise will use {expiry} from the operation.
|
931
973
|
# @param [Symbol] durability_level level of durability
|
932
974
|
# +:none+::
|
933
975
|
# no enhanced durability required for the mutation
|
@@ -951,6 +993,7 @@ module Couchbase
|
|
951
993
|
def initialize(delta: 1,
|
952
994
|
initial: nil,
|
953
995
|
expiry: nil,
|
996
|
+
preserve_expiry: false,
|
954
997
|
durability_level: :none,
|
955
998
|
timeout: nil,
|
956
999
|
retry_strategy: nil,
|
@@ -962,6 +1005,7 @@ module Couchbase
|
|
962
1005
|
@delta = delta
|
963
1006
|
@initial = initial
|
964
1007
|
@expiry = Utils::Time.extract_expiry_time(expiry)
|
1008
|
+
@preserve_expiry = preserve_expiry
|
965
1009
|
@durability_level = durability_level
|
966
1010
|
yield self if block_given?
|
967
1011
|
end
|
@@ -980,6 +1024,7 @@ module Couchbase
|
|
980
1024
|
delta: @delta,
|
981
1025
|
initial_value: @initial,
|
982
1026
|
expiry: @expiry,
|
1027
|
+
preserve_expiry: @preserve_expiry,
|
983
1028
|
durability_level: @durability_level,
|
984
1029
|
}
|
985
1030
|
end
|