couchbase 3.0.2 → 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 +2 -2
- data/ext/CMakeLists.txt +3 -0
- data/ext/build_version.hxx.in +1 -1
- data/ext/cmake/CompilerWarnings.cmake +1 -0
- data/ext/cmake/PreventInSourceBuilds.cmake +4 -1
- data/ext/couchbase/bucket.hxx +28 -2
- data/ext/couchbase/cluster.hxx +8 -2
- data/ext/couchbase/couchbase.cxx +955 -511
- 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/io/dns_codec.hxx +1 -2
- data/ext/couchbase/io/http_command.hxx +16 -3
- data/ext/couchbase/io/http_context.hxx +1 -1
- data/ext/couchbase/io/http_session.hxx +12 -6
- data/ext/couchbase/io/http_session_manager.hxx +25 -24
- data/ext/couchbase/io/mcbp_session.hxx +8 -2
- data/ext/couchbase/io/retry_context.hxx +1 -1
- data/ext/couchbase/operations/analytics_dataset_create.hxx +19 -12
- data/ext/couchbase/operations/analytics_dataset_drop.hxx +18 -10
- data/ext/couchbase/operations/analytics_dataset_get_all.hxx +16 -10
- data/ext/couchbase/operations/analytics_dataverse_create.hxx +18 -11
- data/ext/couchbase/operations/analytics_dataverse_drop.hxx +17 -11
- data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +17 -10
- data/ext/couchbase/operations/analytics_index_create.hxx +17 -11
- data/ext/couchbase/operations/analytics_index_drop.hxx +16 -10
- data/ext/couchbase/operations/analytics_index_get_all.hxx +14 -10
- data/ext/couchbase/operations/analytics_link_connect.hxx +15 -9
- data/ext/couchbase/operations/analytics_link_disconnect.hxx +16 -10
- data/ext/couchbase/operations/bucket_create.hxx +33 -10
- data/ext/couchbase/operations/bucket_drop.hxx +9 -8
- data/ext/couchbase/operations/bucket_flush.hxx +8 -8
- data/ext/couchbase/operations/bucket_get.hxx +15 -10
- data/ext/couchbase/operations/bucket_get_all.hxx +14 -7
- data/ext/couchbase/operations/bucket_settings.hxx +16 -0
- data/ext/couchbase/operations/bucket_update.hxx +32 -10
- data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +6 -6
- data/ext/couchbase/operations/collection_create.hxx +19 -13
- data/ext/couchbase/operations/collection_drop.hxx +18 -12
- data/ext/couchbase/operations/collections_manifest_get.hxx +5 -10
- data/ext/couchbase/operations/document_analytics.hxx +39 -17
- data/ext/couchbase/operations/document_append.hxx +5 -10
- data/ext/couchbase/operations/document_decrement.hxx +5 -10
- data/ext/couchbase/operations/document_exists.hxx +4 -6
- data/ext/couchbase/operations/document_get.hxx +6 -10
- data/ext/couchbase/operations/document_get_and_lock.hxx +4 -9
- data/ext/couchbase/operations/document_get_and_touch.hxx +4 -9
- data/ext/couchbase/operations/document_get_projected.hxx +21 -14
- data/ext/couchbase/operations/document_increment.hxx +5 -10
- data/ext/couchbase/operations/document_insert.hxx +5 -10
- data/ext/couchbase/operations/document_lookup_in.hxx +4 -9
- data/ext/couchbase/operations/document_mutate_in.hxx +7 -12
- data/ext/couchbase/operations/document_prepend.hxx +5 -10
- data/ext/couchbase/operations/document_query.hxx +45 -28
- data/ext/couchbase/operations/document_remove.hxx +5 -10
- data/ext/couchbase/operations/document_replace.hxx +5 -10
- data/ext/couchbase/operations/document_search.hxx +37 -16
- data/ext/couchbase/operations/document_touch.hxx +4 -9
- data/ext/couchbase/operations/document_unlock.hxx +4 -9
- data/ext/couchbase/operations/document_upsert.hxx +5 -10
- data/ext/couchbase/operations/document_view.hxx +29 -13
- data/ext/couchbase/operations/group_drop.hxx +7 -7
- data/ext/couchbase/operations/group_get.hxx +14 -10
- data/ext/couchbase/operations/group_get_all.hxx +14 -8
- data/ext/couchbase/operations/group_upsert.hxx +15 -9
- data/ext/couchbase/operations/http_noop.hxx +5 -5
- data/ext/couchbase/operations/mcbp_noop.hxx +3 -9
- data/ext/couchbase/operations/query_index_build_deferred.hxx +15 -9
- data/ext/couchbase/operations/query_index_create.hxx +16 -10
- data/ext/couchbase/operations/query_index_drop.hxx +16 -10
- data/ext/couchbase/operations/query_index_get_all.hxx +13 -7
- data/ext/couchbase/operations/role_get_all.hxx +14 -8
- data/ext/couchbase/operations/scope_create.hxx +19 -13
- data/ext/couchbase/operations/scope_drop.hxx +17 -11
- data/ext/couchbase/operations/scope_get_all.hxx +15 -10
- data/ext/couchbase/operations/search_get_stats.hxx +5 -5
- data/ext/couchbase/operations/search_index_analyze_document.hxx +25 -13
- data/ext/couchbase/operations/search_index_control_ingest.hxx +23 -11
- data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +23 -11
- data/ext/couchbase/operations/search_index_control_query.hxx +23 -11
- data/ext/couchbase/operations/search_index_drop.hxx +22 -10
- data/ext/couchbase/operations/search_index_get.hxx +22 -10
- data/ext/couchbase/operations/search_index_get_all.hxx +13 -7
- data/ext/couchbase/operations/search_index_get_documents_count.hxx +24 -13
- data/ext/couchbase/operations/search_index_get_stats.hxx +16 -10
- data/ext/couchbase/operations/search_index_upsert.hxx +23 -11
- data/ext/couchbase/operations/user_drop.hxx +8 -8
- data/ext/couchbase/operations/user_get.hxx +14 -10
- data/ext/couchbase/operations/user_get_all.hxx +14 -8
- data/ext/couchbase/operations/user_upsert.hxx +15 -9
- data/ext/couchbase/operations/view_index_drop.hxx +7 -7
- data/ext/couchbase/operations/view_index_get.hxx +15 -9
- data/ext/couchbase/operations/view_index_get_all.hxx +15 -9
- data/ext/couchbase/operations/view_index_upsert.hxx +8 -8
- data/ext/couchbase/origin.hxx +1 -0
- data/ext/couchbase/platform/terminate_handler.cc +12 -8
- data/ext/couchbase/protocol/client_request.hxx +2 -1
- data/ext/couchbase/protocol/client_response.hxx +18 -15
- data/ext/couchbase/protocol/cmd_exists.hxx +1 -0
- data/ext/couchbase/protocol/cmd_get.hxx +1 -1
- data/ext/couchbase/protocol/cmd_mutate_in.hxx +3 -4
- data/ext/couchbase/protocol/enhanced_error_info.hxx +28 -0
- data/ext/couchbase/utils/connection_string.hxx +1 -1
- data/ext/couchbase/version.hxx +1 -1
- data/ext/extconf.rb +1 -1
- data/ext/test/test_native_binary_operations.cxx +18 -18
- data/ext/test/test_native_diagnostics.cxx +2 -2
- data/ext/test/test_native_trivial_crud.cxx +2 -2
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +1 -5
- data/lib/active_support/cache/couchbase_store.rb +362 -0
- data/lib/couchbase.rb +2 -0
- data/lib/couchbase/authenticator.rb +26 -0
- data/lib/couchbase/binary_collection.rb +1 -0
- data/lib/couchbase/bucket.rb +1 -0
- data/lib/couchbase/cluster.rb +51 -27
- data/lib/couchbase/collection.rb +19 -4
- data/lib/couchbase/collection_options.rb +10 -0
- data/lib/couchbase/configuration.rb +57 -0
- data/lib/couchbase/datastructures.rb +6 -0
- data/lib/couchbase/errors.rb +111 -3
- data/lib/couchbase/management.rb +27 -0
- data/lib/couchbase/management/bucket_manager.rb +9 -2
- data/lib/couchbase/management/collection_manager.rb +1 -1
- data/lib/couchbase/management/user_manager.rb +18 -2
- data/lib/couchbase/options.rb +33 -23
- data/lib/couchbase/railtie.rb +45 -0
- data/lib/couchbase/scope.rb +44 -3
- data/lib/couchbase/utils.rb +21 -0
- data/lib/couchbase/utils/time.rb +52 -0
- data/lib/couchbase/version.rb +1 -1
- data/lib/rails/generators/couchbase/config/config_generator.rb +27 -0
- metadata +19 -5
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
module Couchbase
|
|
16
|
+
# This namespace includes manager classes to control cluster resources and perform maintenance operations.
|
|
17
|
+
module Management
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
require "couchbase/management/analytics_index_manager"
|
|
22
|
+
require "couchbase/management/bucket_manager"
|
|
23
|
+
require "couchbase/management/collection_manager"
|
|
24
|
+
require "couchbase/management/query_index_manager"
|
|
25
|
+
require "couchbase/management/search_index_manager"
|
|
26
|
+
require "couchbase/management/user_manager"
|
|
27
|
+
require "couchbase/management/view_index_manager"
|
|
@@ -48,6 +48,7 @@ module Couchbase
|
|
|
48
48
|
ejection_policy: settings.ejection_policy,
|
|
49
49
|
max_expiry: settings.max_expiry,
|
|
50
50
|
compression_mode: settings.compression_mode,
|
|
51
|
+
minimum_durability_level: settings.minimum_durability_level,
|
|
51
52
|
conflict_resolution_type: settings.conflict_resolution_type,
|
|
52
53
|
}, options.timeout
|
|
53
54
|
)
|
|
@@ -74,6 +75,7 @@ module Couchbase
|
|
|
74
75
|
ejection_policy: settings.ejection_policy,
|
|
75
76
|
max_expiry: settings.max_expiry,
|
|
76
77
|
compression_mode: settings.compression_mode,
|
|
78
|
+
minimum_durability_level: settings.minimum_durability_level,
|
|
77
79
|
}, options.timeout
|
|
78
80
|
)
|
|
79
81
|
end
|
|
@@ -111,7 +113,7 @@ module Couchbase
|
|
|
111
113
|
# @return [Array<BucketSettings>]
|
|
112
114
|
def get_all_buckets(options = GetAllBucketsOptions.new)
|
|
113
115
|
res = @backend.bucket_get_all(options.timeout)
|
|
114
|
-
res.map(
|
|
116
|
+
res.map { |entry| extract_bucket_settings(entry) }
|
|
115
117
|
end
|
|
116
118
|
|
|
117
119
|
# @param [String] bucket_name name of the bucket
|
|
@@ -190,7 +192,8 @@ module Couchbase
|
|
|
190
192
|
bucket.replica_indexes = entry[:replica_indexes]
|
|
191
193
|
bucket.bucket_type = entry[:bucket_type]
|
|
192
194
|
bucket.max_expiry = entry[:max_expiry]
|
|
193
|
-
bucket.
|
|
195
|
+
bucket.eviction_policy = entry[:eviction_policy]
|
|
196
|
+
bucket.minimum_durability_level = entry[:minimum_durability_level]
|
|
194
197
|
bucket.compression_mode = entry[:compression_mode]
|
|
195
198
|
bucket.instance_variable_set("@healthy", entry[:nodes].all? { |node| node[:status] == "healthy" })
|
|
196
199
|
end
|
|
@@ -247,6 +250,9 @@ module Couchbase
|
|
|
247
250
|
# @return [:timestamp, :sequence_number] conflict resolution policy
|
|
248
251
|
attr_accessor :conflict_resolution_type
|
|
249
252
|
|
|
253
|
+
# @return [nil, :none, :majority, :majority_and_persist_to_active, :persist_to_majority] the minimum durability level
|
|
254
|
+
attr_accessor :minimum_durability_level
|
|
255
|
+
|
|
250
256
|
# @api private
|
|
251
257
|
# @return [Boolean] false if status of the bucket is not healthy
|
|
252
258
|
def healthy?
|
|
@@ -269,6 +275,7 @@ module Couchbase
|
|
|
269
275
|
def initialize
|
|
270
276
|
@bucket_type = :couchbase
|
|
271
277
|
@name = nil
|
|
278
|
+
@minimum_durability_level = nil
|
|
272
279
|
@healthy = true
|
|
273
280
|
@flush_enabled = false
|
|
274
281
|
@ram_quota_mb = 100
|
|
@@ -45,7 +45,7 @@ module Couchbase
|
|
|
45
45
|
# @return [Array<UserAndMetadata>]
|
|
46
46
|
def get_all_users(options = GetAllUsersOptions.new)
|
|
47
47
|
resp = @backend.user_get_all(options.domain, options.timeout)
|
|
48
|
-
resp.map(
|
|
48
|
+
resp.map { |entry| extract_user(entry) }
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
# Creates or updates a user
|
|
@@ -121,7 +121,7 @@ module Couchbase
|
|
|
121
121
|
# @return [Array<Group>]
|
|
122
122
|
def get_all_groups(options = GetAllGroupsOptions.new)
|
|
123
123
|
resp = @backend.group_get_all(options.timeout)
|
|
124
|
-
resp.map(
|
|
124
|
+
resp.map { |entry| extract_group(entry) }
|
|
125
125
|
end
|
|
126
126
|
|
|
127
127
|
# Creates or updates a group
|
|
@@ -164,6 +164,7 @@ module Couchbase
|
|
|
164
164
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
165
165
|
attr_accessor :timeout
|
|
166
166
|
|
|
167
|
+
# @yieldparam [GetUserOptions] self
|
|
167
168
|
def initialize
|
|
168
169
|
@domain = :local
|
|
169
170
|
yield self if block_given?
|
|
@@ -177,6 +178,7 @@ module Couchbase
|
|
|
177
178
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
178
179
|
attr_accessor :timeout
|
|
179
180
|
|
|
181
|
+
# @yieldparam [GetAllUsersOptions] self
|
|
180
182
|
def initialize
|
|
181
183
|
@domain = :local
|
|
182
184
|
yield self if block_given?
|
|
@@ -190,6 +192,7 @@ module Couchbase
|
|
|
190
192
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
191
193
|
attr_accessor :timeout
|
|
192
194
|
|
|
195
|
+
# @yieldparam [UpsertUserOptions] self
|
|
193
196
|
def initialize
|
|
194
197
|
@domain = :local
|
|
195
198
|
yield self if block_given?
|
|
@@ -203,6 +206,7 @@ module Couchbase
|
|
|
203
206
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
204
207
|
attr_accessor :timeout
|
|
205
208
|
|
|
209
|
+
# @yieldparam [DropUserOptions] self
|
|
206
210
|
def initialize
|
|
207
211
|
@domain = :local
|
|
208
212
|
yield self if block_given?
|
|
@@ -213,6 +217,7 @@ module Couchbase
|
|
|
213
217
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
214
218
|
attr_accessor :timeout
|
|
215
219
|
|
|
220
|
+
# @yieldparam [GetRolesOptions] self
|
|
216
221
|
def initialize
|
|
217
222
|
yield self if block_given?
|
|
218
223
|
end
|
|
@@ -222,6 +227,7 @@ module Couchbase
|
|
|
222
227
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
223
228
|
attr_accessor :timeout
|
|
224
229
|
|
|
230
|
+
# @yieldparam [GetGroupOptions] self
|
|
225
231
|
def initialize
|
|
226
232
|
yield self if block_given?
|
|
227
233
|
end
|
|
@@ -231,6 +237,7 @@ module Couchbase
|
|
|
231
237
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
232
238
|
attr_accessor :timeout
|
|
233
239
|
|
|
240
|
+
# @yieldparam [GetAllGroupsOptions] self
|
|
234
241
|
def initialize
|
|
235
242
|
yield self if block_given?
|
|
236
243
|
end
|
|
@@ -240,6 +247,7 @@ module Couchbase
|
|
|
240
247
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
241
248
|
attr_accessor :timeout
|
|
242
249
|
|
|
250
|
+
# @yieldparam [UpsertGroupOptions] self
|
|
243
251
|
def initialize
|
|
244
252
|
yield self if block_given?
|
|
245
253
|
end
|
|
@@ -249,6 +257,7 @@ module Couchbase
|
|
|
249
257
|
# @return [Integer] the time in milliseconds allowed for the operation to complete
|
|
250
258
|
attr_accessor :timeout
|
|
251
259
|
|
|
260
|
+
# @yieldparam [DropGroupOptions] self
|
|
252
261
|
def initialize
|
|
253
262
|
yield self if block_given?
|
|
254
263
|
end
|
|
@@ -327,6 +336,7 @@ module Couchbase
|
|
|
327
336
|
# @return [String]
|
|
328
337
|
attr_accessor :collection
|
|
329
338
|
|
|
339
|
+
# @yieldparam [Role] self
|
|
330
340
|
def initialize
|
|
331
341
|
yield self if block_given?
|
|
332
342
|
end
|
|
@@ -339,6 +349,7 @@ module Couchbase
|
|
|
339
349
|
# @return [String]
|
|
340
350
|
attr_accessor :description
|
|
341
351
|
|
|
352
|
+
# @yieldparam [RoleAndDescription] self
|
|
342
353
|
def initialize
|
|
343
354
|
super
|
|
344
355
|
yield self if block_given?
|
|
@@ -352,6 +363,7 @@ module Couchbase
|
|
|
352
363
|
# @return [String]
|
|
353
364
|
attr_writer :name
|
|
354
365
|
|
|
366
|
+
# @yieldparam [Origin] self
|
|
355
367
|
def initialize
|
|
356
368
|
yield self if block_given?
|
|
357
369
|
end
|
|
@@ -361,6 +373,7 @@ module Couchbase
|
|
|
361
373
|
# @return [Array<Origin>]
|
|
362
374
|
attr_writer :origins
|
|
363
375
|
|
|
376
|
+
# @yieldparam [RoleAndOrigins] self
|
|
364
377
|
def initialize
|
|
365
378
|
super
|
|
366
379
|
@origins = []
|
|
@@ -384,6 +397,7 @@ module Couchbase
|
|
|
384
397
|
# @return [String]
|
|
385
398
|
attr_accessor :password
|
|
386
399
|
|
|
400
|
+
# @yieldparam [User] self
|
|
387
401
|
def initialize
|
|
388
402
|
@groups = []
|
|
389
403
|
@roles = []
|
|
@@ -404,6 +418,7 @@ module Couchbase
|
|
|
404
418
|
# @return [Array<String>]
|
|
405
419
|
attr_accessor :external_groups
|
|
406
420
|
|
|
421
|
+
# @yieldparam [UserAndMetadata] self
|
|
407
422
|
def initialize
|
|
408
423
|
super
|
|
409
424
|
@effective_roles = []
|
|
@@ -424,6 +439,7 @@ module Couchbase
|
|
|
424
439
|
# @return [String]
|
|
425
440
|
attr_accessor :ldap_group_reference
|
|
426
441
|
|
|
442
|
+
# @yieldparam [Group] self
|
|
427
443
|
def initialize
|
|
428
444
|
@roles = []
|
|
429
445
|
yield self if block_given?
|
data/lib/couchbase/options.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.
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
require "couchbase/utils/time"
|
|
16
|
+
|
|
15
17
|
module Couchbase
|
|
16
18
|
# Definition of the Option classes for data APIs
|
|
17
19
|
module Options # rubocop:disable Metrics/ModuleLength
|
|
@@ -454,7 +456,7 @@ module Couchbase
|
|
|
454
456
|
|
|
455
457
|
# Creates an instance of options for {Collection#insert}
|
|
456
458
|
#
|
|
457
|
-
# @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
|
|
459
|
+
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
|
458
460
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
|
459
461
|
# @param [Symbol] durability_level level of durability
|
|
460
462
|
# +:none+::
|
|
@@ -484,7 +486,7 @@ module Couchbase
|
|
|
484
486
|
client_context: nil,
|
|
485
487
|
parent_span: nil)
|
|
486
488
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
487
|
-
@expiry = expiry
|
|
489
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
488
490
|
@transcoder = transcoder
|
|
489
491
|
@durability_level = durability_level
|
|
490
492
|
yield self if block_given?
|
|
@@ -494,7 +496,7 @@ module Couchbase
|
|
|
494
496
|
def to_backend
|
|
495
497
|
{
|
|
496
498
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
497
|
-
expiry: @expiry
|
|
499
|
+
expiry: @expiry,
|
|
498
500
|
durability_level: @durability_level,
|
|
499
501
|
}
|
|
500
502
|
end
|
|
@@ -508,7 +510,7 @@ module Couchbase
|
|
|
508
510
|
|
|
509
511
|
# Creates an instance of options for {Collection#upsert}
|
|
510
512
|
#
|
|
511
|
-
# @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
|
|
513
|
+
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
|
512
514
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
|
513
515
|
# @param [Symbol] durability_level level of durability
|
|
514
516
|
# +:none+::
|
|
@@ -538,7 +540,7 @@ module Couchbase
|
|
|
538
540
|
client_context: nil,
|
|
539
541
|
parent_span: nil)
|
|
540
542
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
541
|
-
@expiry = expiry
|
|
543
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
542
544
|
@transcoder = transcoder
|
|
543
545
|
@durability_level = durability_level
|
|
544
546
|
yield self if block_given?
|
|
@@ -547,7 +549,7 @@ module Couchbase
|
|
|
547
549
|
def to_backend
|
|
548
550
|
{
|
|
549
551
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
550
|
-
expiry: @expiry
|
|
552
|
+
expiry: @expiry,
|
|
551
553
|
durability_level: @durability_level,
|
|
552
554
|
}
|
|
553
555
|
end
|
|
@@ -561,7 +563,7 @@ module Couchbase
|
|
|
561
563
|
|
|
562
564
|
# Creates an instance of options for {Collection#upsert}
|
|
563
565
|
#
|
|
564
|
-
# @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
|
|
566
|
+
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
|
565
567
|
# @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
|
|
566
568
|
# @param [Symbol] durability_level level of durability
|
|
567
569
|
# +:none+::
|
|
@@ -591,7 +593,7 @@ module Couchbase
|
|
|
591
593
|
client_context: nil,
|
|
592
594
|
parent_span: nil)
|
|
593
595
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
594
|
-
@expiry = expiry
|
|
596
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
595
597
|
@transcoder = transcoder
|
|
596
598
|
@durability_level = durability_level
|
|
597
599
|
yield self if block_given?
|
|
@@ -600,7 +602,7 @@ module Couchbase
|
|
|
600
602
|
def to_backend
|
|
601
603
|
{
|
|
602
604
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
603
|
-
expiry: @expiry
|
|
605
|
+
expiry: @expiry,
|
|
604
606
|
durability_level: @durability_level,
|
|
605
607
|
}
|
|
606
608
|
end
|
|
@@ -647,7 +649,7 @@ module Couchbase
|
|
|
647
649
|
client_context: nil,
|
|
648
650
|
parent_span: nil)
|
|
649
651
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
650
|
-
@expiry = expiry
|
|
652
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
651
653
|
@transcoder = transcoder
|
|
652
654
|
@cas = cas
|
|
653
655
|
@durability_level = durability_level
|
|
@@ -657,7 +659,7 @@ module Couchbase
|
|
|
657
659
|
def to_backend
|
|
658
660
|
{
|
|
659
661
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
660
|
-
expiry: @expiry
|
|
662
|
+
expiry: @expiry,
|
|
661
663
|
durability_level: @durability_level,
|
|
662
664
|
cas: @cas,
|
|
663
665
|
}
|
|
@@ -676,7 +678,7 @@ module Couchbase
|
|
|
676
678
|
|
|
677
679
|
# Creates an instance of options for {Collection#mutate_in}
|
|
678
680
|
#
|
|
679
|
-
# @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
|
|
681
|
+
# @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
|
|
680
682
|
# @param [Symbol] store_semantics describes how the outer document store semantics on subdoc should act
|
|
681
683
|
# +:replace+:: replace the document, fail if it does not exist. This is the default
|
|
682
684
|
# +:upsert+:: replace the document or create if it does not exist
|
|
@@ -717,7 +719,7 @@ module Couchbase
|
|
|
717
719
|
client_context: nil,
|
|
718
720
|
parent_span: nil)
|
|
719
721
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
720
|
-
@expiry = expiry
|
|
722
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
721
723
|
@store_semantics = store_semantics
|
|
722
724
|
@cas = cas
|
|
723
725
|
@access_deleted = access_deleted
|
|
@@ -731,7 +733,7 @@ module Couchbase
|
|
|
731
733
|
def to_backend
|
|
732
734
|
{
|
|
733
735
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
734
|
-
expiry: @expiry
|
|
736
|
+
expiry: @expiry,
|
|
735
737
|
durability_level: @durability_level,
|
|
736
738
|
cas: @cas,
|
|
737
739
|
store_semantics: @store_semantics,
|
|
@@ -856,7 +858,7 @@ module Couchbase
|
|
|
856
858
|
#
|
|
857
859
|
# @param [Integer] delta the delta for the operation
|
|
858
860
|
# @param [Integer] initial if present, holds the initial value
|
|
859
|
-
# @param [Integer, #in_seconds] expiry if set, holds the expiration for the operation
|
|
861
|
+
# @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
|
|
860
862
|
# @param [Symbol] durability_level level of durability
|
|
861
863
|
# +:none+::
|
|
862
864
|
# no enhanced durability required for the mutation
|
|
@@ -890,7 +892,7 @@ module Couchbase
|
|
|
890
892
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
891
893
|
@delta = delta
|
|
892
894
|
@initial = initial
|
|
893
|
-
@expiry = expiry
|
|
895
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
894
896
|
@durability_level = durability_level
|
|
895
897
|
yield self if block_given?
|
|
896
898
|
end
|
|
@@ -908,7 +910,7 @@ module Couchbase
|
|
|
908
910
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
909
911
|
delta: @delta,
|
|
910
912
|
initial_value: @initial,
|
|
911
|
-
expiry: @expiry
|
|
913
|
+
expiry: @expiry,
|
|
912
914
|
durability_level: @durability_level,
|
|
913
915
|
}
|
|
914
916
|
end
|
|
@@ -925,7 +927,7 @@ module Couchbase
|
|
|
925
927
|
#
|
|
926
928
|
# @param [Integer] delta the delta for the operation
|
|
927
929
|
# @param [Integer] initial if present, holds the initial value
|
|
928
|
-
# @param [Integer, #in_seconds] expiry if set, holds the expiration for the operation
|
|
930
|
+
# @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
|
|
929
931
|
# @param [Symbol] durability_level level of durability
|
|
930
932
|
# +:none+::
|
|
931
933
|
# no enhanced durability required for the mutation
|
|
@@ -959,7 +961,7 @@ module Couchbase
|
|
|
959
961
|
super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
|
|
960
962
|
@delta = delta
|
|
961
963
|
@initial = initial
|
|
962
|
-
@expiry = expiry
|
|
964
|
+
@expiry = Utils::Time.extract_expiry_time(expiry)
|
|
963
965
|
@durability_level = durability_level
|
|
964
966
|
yield self if block_given?
|
|
965
967
|
end
|
|
@@ -977,7 +979,7 @@ module Couchbase
|
|
|
977
979
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
978
980
|
delta: @delta,
|
|
979
981
|
initial_value: @initial,
|
|
980
|
-
expiry: @expiry
|
|
982
|
+
expiry: @expiry,
|
|
981
983
|
durability_level: @durability_level,
|
|
982
984
|
}
|
|
983
985
|
end
|
|
@@ -1166,6 +1168,7 @@ module Couchbase
|
|
|
1166
1168
|
attr_accessor :readonly # @return [Boolean]
|
|
1167
1169
|
attr_accessor :priority # @return [Boolean]
|
|
1168
1170
|
attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
|
|
1171
|
+
attr_accessor :scope_qualifier # @return [String]
|
|
1169
1172
|
|
|
1170
1173
|
# Creates new instance of options for {Couchbase::Cluster#analytics_query}
|
|
1171
1174
|
#
|
|
@@ -1191,6 +1194,8 @@ module Couchbase
|
|
|
1191
1194
|
# like +$1+, +$2+ in query string
|
|
1192
1195
|
# @param [Hash<String => #to_json>, nil] named_parameters parameters to be used as substitution for named macros
|
|
1193
1196
|
# like +$name+ in query string
|
|
1197
|
+
# @param [String, nil] scope_qualifier Associate scope qualifier (also known as +query_context+) with the query.
|
|
1198
|
+
# The qualifier must be in form +{bucket_name}.{scope_name}+ or +default:{bucket_name}.{scope_name}+.
|
|
1194
1199
|
#
|
|
1195
1200
|
# @param [Integer, #in_milliseconds, nil] timeout
|
|
1196
1201
|
# @param [Proc, nil] retry_strategy the custom retry strategy, if set
|
|
@@ -1207,6 +1212,7 @@ module Couchbase
|
|
|
1207
1212
|
transcoder: JsonTranscoder.new,
|
|
1208
1213
|
positional_parameters: nil,
|
|
1209
1214
|
named_parameters: nil,
|
|
1215
|
+
scope_qualifier: nil,
|
|
1210
1216
|
timeout: nil,
|
|
1211
1217
|
retry_strategy: nil,
|
|
1212
1218
|
client_context: nil,
|
|
@@ -1221,6 +1227,7 @@ module Couchbase
|
|
|
1221
1227
|
@transcoder = transcoder
|
|
1222
1228
|
@positional_parameters = positional_parameters
|
|
1223
1229
|
@named_parameters = named_parameters
|
|
1230
|
+
@scope_qualifier = scope_qualifier
|
|
1224
1231
|
@raw_parameters = {}
|
|
1225
1232
|
yield self if block_given?
|
|
1226
1233
|
end
|
|
@@ -1250,7 +1257,7 @@ module Couchbase
|
|
|
1250
1257
|
end
|
|
1251
1258
|
|
|
1252
1259
|
# @api private
|
|
1253
|
-
def to_backend
|
|
1260
|
+
def to_backend(scope_name: nil, bucket_name: nil)
|
|
1254
1261
|
{
|
|
1255
1262
|
timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
|
|
1256
1263
|
client_context_id: @client_context_id,
|
|
@@ -1260,6 +1267,9 @@ module Couchbase
|
|
|
1260
1267
|
positional_parameters: export_positional_parameters,
|
|
1261
1268
|
named_parameters: export_named_parameters,
|
|
1262
1269
|
raw_parameters: @raw_parameters,
|
|
1270
|
+
scope_qualifier: @scope_qualifier,
|
|
1271
|
+
scope_name: scope_name,
|
|
1272
|
+
bucket_name: bucket_name,
|
|
1263
1273
|
}
|
|
1264
1274
|
end
|
|
1265
1275
|
|
|
@@ -1337,7 +1347,7 @@ module Couchbase
|
|
|
1337
1347
|
# +:request_plus+::
|
|
1338
1348
|
# The indexer will wait until all mutations have been processed at the time of request before returning to
|
|
1339
1349
|
# the query engine.
|
|
1340
|
-
# @
|
|
1350
|
+
# @param [Boolean, nil] flex_index Tells the query engine to use a flex index (utilizing the search service)
|
|
1341
1351
|
# @param [String, nil] scope_qualifier Associate scope qualifier (also known as +query_context+) with the query.
|
|
1342
1352
|
# The qualifier must be in form +{bucket_name}.{scope_name}+ or +default:{bucket_name}.{scope_name}+.
|
|
1343
1353
|
# @param [JsonTranscoder] transcoder to decode rows
|