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:



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

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)


128
129
130
# File 'lib/couchbase/management/query_index_manager.rb', line 128

def collection_name
  @collection_name
end

#deferredBoolean

Returns:

  • (Boolean)


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

def deferred
  @deferred
end

#ignore_if_existsBoolean

Returns:

  • (Boolean)


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

def ignore_if_exists
  @ignore_if_exists
end

#index_nameString. nil

Returns:

  • (String. nil)


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

def index_name
  @index_name
end

#num_replicasInteger?

Returns:

  • (Integer, nil)


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

def num_replicas
  @num_replicas
end

#scope_nameString?

Returns:

  • (String, nil)


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

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.



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

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