Class: Couchbase::Management::Options::Query::CreatePrimaryIndex

Inherits:
Options::Base
  • Object
show all
Defined in:
lib/couchbase/management/query_index_manager.rb

Overview

Instance Attribute Summary collapse

Attributes inherited from Options::Base

#client_context, #parent_span, #retry_strategy, #timeout

Instance Method Summary collapse

Constructor Details

#initialize(ignore_if_exists: false, num_replicas: nil, deferred: false, index_name: nil, scope_name: nil, collection_name: nil, timeout: nil, retry_strategy: nil, client_context: nil, parent_span: nil) {|self| ... } ⇒ CreatePrimaryIndex

Creates an instance of options for QueryIndexManager#create_primary_index

Parameters:

  • ignore_if_exists (Boolean) (defaults to: false)

    do not raise error if the index already exist

  • num_replicas (Integer) (defaults to: nil)

    the number of replicas that this index should have

  • deferred (Boolean) (defaults to: false)

    whether the index should be created as a deferred index.

  • index_name (String, nil) (defaults to: nil)

    the custom name of the primary index.

  • scope_name (String, nil) (defaults to: nil)

    the name of the scope

  • collection_name (String, nil) (defaults to: nil)

    the name of the collection

  • timeout (Integer, #in_milliseconds, nil) (defaults to: nil)

    the time in milliseconds allowed for the operation to complete

  • retry_strategy (Proc, nil) (defaults to: nil)

    the custom retry strategy, if set

  • client_context (Hash, nil) (defaults to: nil)

    the client context data, if set

  • parent_span (Span, nil) (defaults to: nil)

    if set holds the parent span, that should be used for this request

Yield Parameters:



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/couchbase/management/query_index_manager.rb', line 143

def initialize(ignore_if_exists: false,
               num_replicas: nil,
               deferred: false,
               index_name: nil,
               scope_name: nil,
               collection_name: nil,
               timeout: nil,
               retry_strategy: nil,
               client_context: nil,
               parent_span: nil)
  super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
  @ignore_if_exists = ignore_if_exists
  @num_replicas = num_replicas
  @deferred = deferred
  @index_name = index_name
  @scope_name = scope_name
  @collection_name = collection_name
  yield self if block_given?
end

Instance Attribute Details

#collection_nameString?

Returns:

  • (String, nil)


126
127
128
# File 'lib/couchbase/management/query_index_manager.rb', line 126

def collection_name
  @collection_name
end

#deferredBoolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/couchbase/management/query_index_manager.rb', line 123

def deferred
  @deferred
end

#ignore_if_existsBoolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/couchbase/management/query_index_manager.rb', line 121

def ignore_if_exists
  @ignore_if_exists
end

#index_nameString. nil

Returns:

  • (String. nil)


124
125
126
# File 'lib/couchbase/management/query_index_manager.rb', line 124

def index_name
  @index_name
end

#num_replicasInteger?

Returns:

  • (Integer, nil)


122
123
124
# File 'lib/couchbase/management/query_index_manager.rb', line 122

def num_replicas
  @num_replicas
end

#scope_nameString?

Returns:

  • (String, nil)


125
126
127
# File 'lib/couchbase/management/query_index_manager.rb', line 125

def scope_name
  @scope_name
end

Instance Method Details

#to_backendObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



164
165
166
167
168
169
170
171
172
173
174
# File 'lib/couchbase/management/query_index_manager.rb', line 164

def to_backend
  {
    timeout: Utils::Time.extract_duration(@timeout),
    ignore_if_exists: @ignore_if_exists,
    deferred: @deferred,
    num_replicas: @num_replicas,
    index_name: @index_name,
    scope_name: @scope_name,
    collection_name: @collection_name,
  }
end